12.2. タグの書き込み

タグの書き込みは、GstTagSetter インタフェースを使って行います。条件として必要なのは、パイプライン内にタグ設定をサポートするエレメントが存在することだけです。タグの書き込みをサポートするエレメントがパイプライン内にあるかどうかを調べるには、関数 gst_bin_iterate_all_by_interface (pipeline, GST_TYPE_TAG_SETTER) を使用します。調べた結果得られたエレメント (一般にエンコーダまたはマルチプレクサ) では、gst_tag_setter_merge () (タグリストの場合) または gst_tag_setter_add () (個別のタグの場合) を使って、該当するエレメントにタグを設定できます。

GStreamer のタグサポートの優れた特徴の 1 つは、タグがパイプライン内に保存されることです。言い換えると、タグを含むあるファイルを別のメディアの種類に変換する場合、変換先のメディアの種類もタグをサポートしていれば、タグはデータストリームの一部として処理され、新しく書き出されるメディアファイルにもマージされます。