diff options
-rw-r--r-- | ext/libav/gstavaudenc.c | 17 | ||||
-rw-r--r-- | ext/libav/gstavvidenc.c | 17 |
2 files changed, 34 insertions, 0 deletions
diff --git a/ext/libav/gstavaudenc.c b/ext/libav/gstavaudenc.c index f783292..64d7011 100644 --- a/ext/libav/gstavaudenc.c +++ b/ext/libav/gstavaudenc.c @@ -386,6 +386,23 @@ gst_ffmpegaudenc_set_format (GstAudioEncoder * encoder, GstAudioInfo * info) gst_audio_encoder_set_frame_max (GST_AUDIO_ENCODER (ffmpegaudenc), 0); } + /* Store some tags */ + { + GstTagList *tags = gst_tag_list_new_empty (); + const gchar *codec; + + gst_tag_list_add (tags, GST_TAG_MERGE_REPLACE, GST_TAG_NOMINAL_BITRATE, + ffmpegaudenc->context->bit_rate, NULL); + + if ((codec = + gst_ffmpeg_get_codecid_longname (ffmpegaudenc->context->codec_id))) + gst_tag_list_add (tags, GST_TAG_MERGE_REPLACE, GST_TAG_AUDIO_CODEC, codec, + NULL); + + gst_audio_encoder_merge_tags (encoder, tags, GST_TAG_MERGE_REPLACE); + gst_tag_list_unref (tags); + } + /* success! */ ffmpegaudenc->opened = TRUE; diff --git a/ext/libav/gstavvidenc.c b/ext/libav/gstavvidenc.c index a434261..f95215c 100644 --- a/ext/libav/gstavvidenc.c +++ b/ext/libav/gstavvidenc.c @@ -476,6 +476,23 @@ gst_ffmpegvidenc_set_format (GstVideoEncoder * encoder, output_format = gst_video_encoder_set_output_state (encoder, icaps, state); gst_video_codec_state_unref (output_format); + /* Store some tags */ + { + GstTagList *tags = gst_tag_list_new_empty (); + const gchar *codec; + + gst_tag_list_add (tags, GST_TAG_MERGE_REPLACE, GST_TAG_NOMINAL_BITRATE, + ffmpegenc->context->bit_rate, NULL); + + if ((codec = + gst_ffmpeg_get_codecid_longname (ffmpegenc->context->codec_id))) + gst_tag_list_add (tags, GST_TAG_MERGE_REPLACE, GST_TAG_VIDEO_CODEC, codec, + NULL); + + gst_video_encoder_merge_tags (encoder, tags, GST_TAG_MERGE_REPLACE); + gst_tag_list_unref (tags); + } + /* success! */ ffmpegenc->opened = TRUE; |