qtdemux: Use upstream's StreamFlags if there are
When multiple demuxer's are used, upstream might want to indicate default streams using GST_STREAM_FLAG_{SELECT, UNSELECT} https://bugzilla.gnome.org/show_bug.cgi?id=775440
This commit is contained in:
parent
af47e93b97
commit
d3f5aa2689
@ -7769,12 +7769,13 @@ gst_qtdemux_configure_stream (GstQTDemux * qtdemux, QtDemuxStream * stream)
|
|||||||
if (stream->new_stream) {
|
if (stream->new_stream) {
|
||||||
gchar *stream_id;
|
gchar *stream_id;
|
||||||
GstEvent *event;
|
GstEvent *event;
|
||||||
GstStreamFlags stream_flags;
|
GstStreamFlags stream_flags = GST_STREAM_FLAG_NONE;
|
||||||
|
|
||||||
event =
|
event =
|
||||||
gst_pad_get_sticky_event (qtdemux->sinkpad, GST_EVENT_STREAM_START,
|
gst_pad_get_sticky_event (qtdemux->sinkpad, GST_EVENT_STREAM_START,
|
||||||
0);
|
0);
|
||||||
if (event) {
|
if (event) {
|
||||||
|
gst_event_parse_stream_flags (event, &stream_flags);
|
||||||
if (gst_event_parse_group_id (event, &qtdemux->group_id))
|
if (gst_event_parse_group_id (event, &qtdemux->group_id))
|
||||||
qtdemux->have_group_id = TRUE;
|
qtdemux->have_group_id = TRUE;
|
||||||
else
|
else
|
||||||
@ -7792,11 +7793,13 @@ gst_qtdemux_configure_stream (GstQTDemux * qtdemux, QtDemuxStream * stream)
|
|||||||
event = gst_event_new_stream_start (stream_id);
|
event = gst_event_new_stream_start (stream_id);
|
||||||
if (qtdemux->have_group_id)
|
if (qtdemux->have_group_id)
|
||||||
gst_event_set_group_id (event, qtdemux->group_id);
|
gst_event_set_group_id (event, qtdemux->group_id);
|
||||||
stream_flags = GST_STREAM_FLAG_NONE;
|
|
||||||
if (stream->disabled)
|
if (stream->disabled)
|
||||||
stream_flags |= GST_STREAM_FLAG_UNSELECT;
|
stream_flags |= GST_STREAM_FLAG_UNSELECT;
|
||||||
if (stream->sparse)
|
if (stream->sparse) {
|
||||||
stream_flags |= GST_STREAM_FLAG_SPARSE;
|
stream_flags |= GST_STREAM_FLAG_SPARSE;
|
||||||
|
} else {
|
||||||
|
stream_flags &= ~GST_STREAM_FLAG_SPARSE;
|
||||||
|
}
|
||||||
gst_event_set_stream_flags (event, stream_flags);
|
gst_event_set_stream_flags (event, stream_flags);
|
||||||
gst_pad_push_event (stream->pad, event);
|
gst_pad_push_event (stream->pad, event);
|
||||||
g_free (stream_id);
|
g_free (stream_id);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user