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
(無指定) でいいだろう。
リンク