GStreamerを使用するClementineはOGGファイルを再生できません

GStreamerを使用するClementineはOGGファイルを再生できません

最近約2〜3週間前、一部のアップデート以降、ClementineがOGGファイルの再生を停止したようです。他のすべてのフォーマットは問題なく再生されます。同時に、VLCは同じOGGファイルを再生できます。

失敗すると、Clementine は次のメッセージとともにエラーウィンドウを表示します。内部データフローエラーです。

内部データフローエラー

同時に、次のエラーメッセージが端末に出力されます。

(clementine:647736): GStreamer-CRITICAL **: 11:27:26.111: gst_pad_get_range_unchecked: assertion '!*buffer || res_buf == *buffer' failed

(clementine:647736): GStreamer-CRITICAL **: 11:27:26.111: gst_mini_object_unref: assertion 'GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) > 0' failed
11:27:26.186 WARN  unknown                          QTimeLine::start: already running 
11:27:26.691 WARN  unknown                          QTimeLine::start: already running 
11:27:26.691 WARN  unknown                          QTimeLine::start: already running 
11:27:26.695 WARN  unknown                          QTimeLine::start: already running 

バージョン情報:

  • Fedora 33 5.9.11-200.fc33.x86_64
  • clementine.x86_64:1.4.0-3.rc1.20200617gitedb8c3b.fc33.1
  • gstreamer1.x86_64:1.18.2-1.fc33
  • gstreamer1-libav.x86_64:1.18.1-1.fc33
  • gstreamer1-plugin-openh264.x86_64:1.16.2-2.fc33
  • gstreamer1-plugins-bad-free.x86_64:1.18.2-1.fc33
  • gstreamer1-plugins-bad-free-extras.x86_64:1.18.2-1.fc33
  • gstreamer1-plugins-base.x86_64:1.18.2-1.fc33
  • gstreamer1-plugins-good.x86_64:1.18.2-1.fc33
  • gstreamer1-plugin-good-gtk.x86_64:1.18.2-1.fc33
  • gstreamer1-plugin-good-qt.x86_64:1.18.2-1.fc33
  • gstreamer1-plugins-ugly.x86_64:1.18.1-1.fc33
  • gstreamer1-plugins-ugly-free.x86_64:1.18.2-1.fc33

原因と解決策を知っていますか?

ベストアンサー1

Ubuntu 20.10でも同じ問題があるか、少なくとも同じ症状があるようです。これは同じ方法でコマンドラインのClementineとgst-play-1.0に影響します。 20.04からアップグレードした後に問題が発生しました。私の場合、約680個のoggファイルコレクションの一部のアルバムにのみ影響しました。知っていると、特定のエンコーダに欠陥がある可能性があります。 ogginfoがこれらのファイルに対して実行されると、ベンダー文字列は次のように表示されます。

サプライヤー: Xiphophorus libVorbis I 20010813(1.0 rc2)

そして、次のエラーが発生します。

警告:データ(128バイト)の脆弱性は、約5265129バイトのオフセットで発見されました。腐敗したOg。

したがって、以前のバージョンのGStreamerでは無視されていましたが、現在の問題を引き起こしている古いエンコーダのバグが発生する可能性があります。

ffmpegを使用してファイルを再エンコードすると、問題が解決することがわかりました。 ffmpeg -i file.ogg -acodec copy newfile.ogg

また、ここで開いたバグレポートにも基本的に同じ詳細を投稿しました。 https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/848

おすすめ記事