x264enc: Handle codec/encoder tags

Make x264enc drop video-codec and codec tags and replace
encoder/encoder-version with x264 and its build number

Fixes #621465
This commit is contained in:
Thiago Santos 2011-01-04 10:32:05 -03:00
parent 9a2de96836
commit 7b97c2de6a

View file

@ -1495,6 +1495,18 @@ gst_x264_enc_sink_event (GstPad * pad, GstEvent * event)
case GST_EVENT_EOS:
gst_x264_enc_flush_frames (encoder, TRUE);
break;
case GST_EVENT_TAG:{
GstTagList *tags = NULL;
gst_event_parse_tag (event, &tags);
/* drop codec/video-codec and replace encoder/encoder-version */
gst_tag_list_remove_tag (tags, GST_TAG_VIDEO_CODEC);
gst_tag_list_remove_tag (tags, GST_TAG_CODEC);
gst_tag_list_add (tags, GST_TAG_MERGE_REPLACE, GST_TAG_ENCODER, "x264",
GST_TAG_ENCODER_VERSION, X264_BUILD, NULL);
/* push is done below */
}
break;
/* no flushing if flush received,
* buffers in encoder are considered (in the) past */
case GST_EVENT_CUSTOM_DOWNSTREAM:{