mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-26 00:58:12 +00:00
gst-libs/gst/rtp/gstbasertpdepayload.c: Don't send multiple newsegments with different formats.
Original commit message from CVS: patch by: Kai Vehmanen <kv2004 eca cx> * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_handle_sink_event), (gst_base_rtp_depayload_change_state): Don't send multiple newsegments with different formats. Fixes #348677.
This commit is contained in:
parent
149d818f38
commit
2a872ad81d
2 changed files with 28 additions and 2 deletions
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
||||||
|
2006-07-27 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
|
patch by: Kai Vehmanen <kv2004 eca cx>
|
||||||
|
|
||||||
|
* gst-libs/gst/rtp/gstbasertpdepayload.c:
|
||||||
|
(gst_base_rtp_depayload_chain),
|
||||||
|
(gst_base_rtp_depayload_handle_sink_event),
|
||||||
|
(gst_base_rtp_depayload_change_state):
|
||||||
|
Don't send multiple newsegments with different formats.
|
||||||
|
Fixes #348677.
|
||||||
|
|
||||||
2006-07-26 Wim Taymans <wim@fluendo.com>
|
2006-07-26 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_internal_chain),
|
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_internal_chain),
|
||||||
|
|
|
@ -249,18 +249,33 @@ gst_base_rtp_depayload_handle_sink_event (GstPad * pad, GstEvent * event)
|
||||||
gst_event_unref (event);
|
gst_event_unref (event);
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
|
GstFormat format;
|
||||||
|
|
||||||
|
gst_event_parse_new_segment (event, NULL, NULL, &format, NULL, NULL,
|
||||||
|
NULL);
|
||||||
|
if (format != GST_FORMAT_TIME)
|
||||||
|
goto wrong_format;
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (filter,
|
GST_DEBUG_OBJECT (filter,
|
||||||
"Upstream sent a NEWSEGMENT, passing through.");
|
"Upstream sent a NEWSEGMENT, passing through.");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
/* note: pass through to default if no thread running */
|
/* note: pass through to default if no thread running */
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
/* pass other events forward */
|
/* pass other events forward */
|
||||||
res = gst_pad_push_event (filter->srcpad, event);
|
res = gst_pad_push_event (filter->srcpad, event);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
|
|
||||||
|
/* ERRORS */
|
||||||
|
wrong_format:
|
||||||
|
{
|
||||||
|
GST_DEBUG_OBJECT (filter,
|
||||||
|
"Upstream sent a NEWSEGMENT in wrong format, dropping.");
|
||||||
|
gst_event_unref (event);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static GstFlowReturn
|
static GstFlowReturn
|
||||||
|
|
Loading…
Reference in a new issue