GStreamerのsinkエレメントのsyncプロパティの意味
GStreamerの映像や音声の出力を担当するsinkエレメント (シンクエレメント) には,syncプロパティが存在する。
こちらの意味について調べたので記す。以下の情報源を参考にした。
sinkエレメントには共通でsyncプロパティがある。これらはストリームバッファーに付与されているタイムスタンプの考慮の可否のプロパティになる。
通常,ストリームバッファーにはタイムスタンプが付与されており,この情報を使って,映像・音声の再生タイミングの同期を取る。sync=falseにすると,この同期を無視してデータを受け取り次第再生する。
syncはデフォルトでtrueになっており,通常はそのままで問題ない。タイムスタンプや再生に遅延が発生する場合などで,sync=falseにして同期を無効にすると,改善することがあるようだ。
特に,rtspを用いたネットワーク越しでの通信のエンコーダー側 (発信側) でsync=falseにしている例をみかける。
例えば,NVIDIA Jetsonでは「NVIDIA Jetson Linux Developer Guide : Multimedia | NVIDIA Docs」に,映像の発信時にsync=falseにしている例がある。しかし,sync=falseの指定はマニュアルではここしか指定がない。
やはり,デコード時など通常はデフォルトのsync=true (無指定) でいいだろう。
リンク

