summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/faac/gstfaac.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/ext/faac/gstfaac.c b/ext/faac/gstfaac.c
index 9adc11fb8..a4a7c36ae 100644
--- a/ext/faac/gstfaac.c
+++ b/ext/faac/gstfaac.c
@@ -341,6 +341,22 @@ gst_faac_enc_generate_sink_caps (void)
return caps;
}
+static void
+gst_faac_set_tags (GstFaac * faac)
+{
+ GstTagList *taglist;
+
+ /* create a taglist and add a bitrate tag to it */
+ taglist = gst_tag_list_new_empty ();
+ gst_tag_list_add (taglist, GST_TAG_MERGE_REPLACE,
+ GST_TAG_BITRATE, faac->bitrate, NULL);
+
+ gst_audio_encoder_merge_tags (GST_AUDIO_ENCODER (faac), taglist,
+ GST_TAG_MERGE_REPLACE);
+
+ gst_tag_list_unref (taglist);
+}
+
static gboolean
gst_faac_set_format (GstAudioEncoder * enc, GstAudioInfo * info)
{
@@ -375,6 +391,8 @@ gst_faac_set_format (GstAudioEncoder * enc, GstAudioInfo * info)
if (!result)
goto done;
+ gst_faac_set_tags (faac);
+
/* report needs to base class */
gst_audio_encoder_set_frame_samples_min (enc, faac->samples);
gst_audio_encoder_set_frame_samples_max (enc, faac->samples);