Skip to content
Snippets Groups Projects
Commit 07cec6d2 authored by Tim-Philipp Müller's avatar Tim-Philipp Müller
Browse files

avdemux: fix not-negotiated errors

Drop caps event received on the sink pad, instead of
putting it in the list of cached events to be sent
downstream later. We don't want to send our container
caps downstream to our decoders, that'll give us
nasty not-negotiated errors.

https://bugzilla.gnome.org/show_bug.cgi?id=680464
parent f0d700d5
No related branches found
No related tags found
Loading
......@@ -1000,6 +1000,7 @@ gst_ffmpegdemux_get_stream (GstFFMpegDemux * demux, AVStream * avstream)
gst_pad_push_event (pad, gst_event_new_stream_start (stream_id));
g_free (stream_id);
GST_INFO_OBJECT (pad, "adding pad with caps %" GST_PTR_FORMAT, caps);
gst_pad_set_caps (pad, caps);
gst_caps_unref (caps);
......@@ -1603,6 +1604,11 @@ gst_ffmpegdemux_sink_event (GstPad * sinkpad, GstObject * parent,
/* eat this event for now, task will send eos when finished */
gst_event_unref (event);
goto done;
case GST_EVENT_STREAM_START:
case GST_EVENT_CAPS:
GST_LOG_OBJECT (demux, "dropping %s event", GST_EVENT_TYPE_NAME (event));
gst_event_unref (event);
goto done;
default:
/* for a serialized event, wait until an earlier data is gone,
* though this is no guarantee as to when task is done with it.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment