Armadilloフォーラム

acmh264decのSIGSEGV

kes-konishi

2016年1月6日 10時44分

お世話になっております。
KES)小西です。

gstreamerのプラグイン(エレメント)について、不具合らしい動作が発生します。
対象はacmh264decのエレメントと思われます。

以下に再現手順を記述いたします。

gst-launch-1.0 filesrc location=big-buck-bunny-30sec-800x480.mp4 !
qtdemux ! acmh264dec ! videoconvert ! navseek seek-offset=5 ! ximagesink

※big-buck-bunny-30sec-800x480.mp4はアットマーク様のサンプル動画となります。

上記でシークを行った場合、SEGVで落ちます。
また、acmh264decをavdec_h264に変更すると正常にシークできるため、
acmh264decプラグインが原因ではないかと思われます。

発生時のコンソールログを添付いたします。
なお、coreダンプしてますが、coreのサイズは大きいので添付いたしません。

回避としてはavdec_h264で動作はしますが、エレメントがacmh264decではないので、
SH側のデコーダではなく、ARM側のCPU負荷になると思われます。

まだ、追いかけ切れていませんが、根本原因がacmh264decのエレメントの不具合の場合はソース変更で修正可能ですが、
ファーム側のデコーダでの不具合の場合は、こちらで修正不可となるため、対策をお願いしたいと思います。

ファイル ファイルの説明
seek.log
コメント

> 上記でシークを行った場合、SEGVで落ちます。

ごめんさい、現状ではシーク非対応です。ドキュメントへの記載もれですので、修正します。

もしよければ、シークが必要なユースケースを教えていただけますか?

gtkからgstreamerをつないでメディア再生を行う条件で、
スライダ等で再生位置指定や、時間指定での再生位置指定に使用する予定でした。
(簡易メディアプレイヤーと思っていただいて問題ありません。)