decodebin: Don't add a children to a decode group twice

This can happen if a demuxer does not provide fixed caps from the
beginning but only sets them later.
This commit is contained in:
Sebastian Dröge 2013-03-30 10:25:45 +01:00
parent ba33f4fd7d
commit 9ce0818c7d
2 changed files with 5 additions and 1 deletions

View file

@ -1433,7 +1433,7 @@ analyze_new_pad (GstDecodeBin * dbin, GstElement * src, GstPad * pad,
* start a new chain for it */
CHAIN_MUTEX_LOCK (oldchain);
group = gst_decode_chain_get_current_group (chain);
if (group) {
if (group && !g_list_find (group->children, chain)) {
chain = gst_decode_chain_new (dbin, group, pad);
group->children = g_list_prepend (group->children, chain);
}

View file

@ -1,5 +1,6 @@
EXPORTS
_gst_video_decoder_error
gst_buffer_add_video_gl_texture_upload_meta
gst_buffer_add_video_meta
gst_buffer_add_video_meta_full
gst_buffer_add_video_overlay_composition_meta
@ -137,6 +138,9 @@ EXPORTS
gst_video_frame_map
gst_video_frame_map_id
gst_video_frame_unmap
gst_video_gl_texture_upload_meta_api_get_type
gst_video_gl_texture_upload_meta_get_info
gst_video_gl_texture_upload_meta_upload
gst_video_info_align
gst_video_info_convert
gst_video_info_from_caps