特別なファイル形式を記録して再生するために、GStreamerパイプライン( v 1.0 )を作成しようとしています。
記録の目的で、次のパイプラインを使用します。
gst-launch-1.0 videotestsrc ! video/x-raw-yuv, format=\(fourcc\)I420, width=640, height=480 ! videoconvert ! x264enc byte-stream=1 ! queue ! appsink
appsinkで( new_sample()コールバックを使用)、圧縮メソッドを使用してH264ストリームを圧縮し、最後に出力ファイルに保存します。
次のパイプラインを使用して、記録されたファイルを再生します。
gst-launch-1.0 appsrc ! video/x-h264 ! avdec_h264 ! autovideosink
appsrcで、H264ストリームを解凍し、 appsrcバッファーに送信します(push-bufferを使用)。各バッファのサイズは4095です。
残念ながら、GStreamerは2つのバッファをプッシュした後、次のデバッグメッセージを出力します。
エラー:内部データフローエラー。
問題を解決する方法はありますか?