mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 19:51:11 +00:00
gst/qtdemux/gstrtpxqtdepay.*: Fail if we don't know the quicktime format.
Original commit message from CVS: * gst/qtdemux/gstrtpxqtdepay.c: (gst_rtp_xqt_depay_process), (gst_rtp_xqt_depay_change_state): * gst/qtdemux/gstrtpxqtdepay.h: Fail if we don't know the quicktime format.
This commit is contained in:
parent
56ff7ee1ae
commit
23eeb89a16
3 changed files with 20 additions and 2 deletions
|
@ -1,3 +1,10 @@
|
|||
2007-09-26 Wim Taymans <wim.taymans@gmail.com>
|
||||
|
||||
* gst/qtdemux/gstrtpxqtdepay.c: (gst_rtp_xqt_depay_process),
|
||||
(gst_rtp_xqt_depay_change_state):
|
||||
* gst/qtdemux/gstrtpxqtdepay.h:
|
||||
Fail if we don't know the quicktime format.
|
||||
|
||||
2007-09-26 Tim-Philipp Müller <tim at centricular dot net>
|
||||
|
||||
* ext/flac/gstflacenc.c:
|
||||
|
|
|
@ -282,6 +282,7 @@ gst_rtp_xqt_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
|
|||
/* discont, clear adapter and try to find a new packet start */
|
||||
gst_adapter_clear (rtpxqtdepay->adapter);
|
||||
rtpxqtdepay->need_resync = TRUE;
|
||||
GST_DEBUG_OBJECT (rtpxqtdepay, "we need resync");
|
||||
}
|
||||
|
||||
m = gst_rtp_buffer_get_marker (buf);
|
||||
|
@ -435,7 +436,9 @@ gst_rtp_xqt_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
|
|||
switch (tlv_type) {
|
||||
case TLV_sd:
|
||||
/* Session description */
|
||||
gst_rtp_quicktime_parse_sd (rtpxqtdepay, payload, tlv_len);
|
||||
if (!gst_rtp_quicktime_parse_sd (rtpxqtdepay, payload, tlv_len))
|
||||
goto unknown_format;
|
||||
rtpxqtdepay->have_sd = TRUE;
|
||||
break;
|
||||
case TLV_qt:
|
||||
case TLV_ti:
|
||||
|
@ -665,6 +668,12 @@ wrong_length:
|
|||
("Wrong payload length."), (NULL));
|
||||
return NULL;
|
||||
}
|
||||
unknown_format:
|
||||
{
|
||||
GST_ELEMENT_WARNING (rtpxqtdepay, STREAM, DECODE,
|
||||
("Unknown payload format."), (NULL));
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -710,7 +719,8 @@ gst_rtp_xqt_depay_change_state (GstElement * element, GstStateChange transition)
|
|||
gst_adapter_clear (rtpxqtdepay->adapter);
|
||||
rtpxqtdepay->previous_id = -1;
|
||||
rtpxqtdepay->current_id = -1;
|
||||
rtpxqtdepay->need_resync = FALSE;
|
||||
rtpxqtdepay->need_resync = TRUE;
|
||||
rtpxqtdepay->have_sd = FALSE;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -49,6 +49,7 @@ struct _GstRtpXQTDepay
|
|||
gboolean need_resync;
|
||||
guint16 previous_id;
|
||||
guint16 current_id;
|
||||
gboolean have_sd;
|
||||
};
|
||||
|
||||
struct _GstRtpXQTDepayClass
|
||||
|
|
Loading…
Reference in a new issue