mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-26 02:00:33 +00:00
rtpsv3vdepay: Only output buffers once we're configured.
This commit is contained in:
parent
1743763c0b
commit
65a2871e90
2 changed files with 19 additions and 9 deletions
|
@ -197,6 +197,10 @@ gst_rtp_sv3v_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
|
||||||
S = (payload[0] & 0x20) == 0x20;
|
S = (payload[0] & 0x20) == 0x20;
|
||||||
E = (payload[0] & 0x10) == 0x10;
|
E = (payload[0] & 0x10) == 0x10;
|
||||||
|
|
||||||
|
GST_DEBUG ("M:%d, C:%d, S:%d, E:%d", M, C, S, E);
|
||||||
|
|
||||||
|
GST_MEMDUMP ("incoming buffer", payload, payload_len);
|
||||||
|
|
||||||
if (C) {
|
if (C) {
|
||||||
GstCaps *caps;
|
GstCaps *caps;
|
||||||
GstBuffer *codec_data;
|
GstBuffer *codec_data;
|
||||||
|
@ -235,21 +239,25 @@ gst_rtp_sv3v_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
|
||||||
gst_caps_unref (caps);
|
gst_caps_unref (caps);
|
||||||
g_value_unset (&value);
|
g_value_unset (&value);
|
||||||
|
|
||||||
|
rtpsv3vdepay->configured = TRUE;
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* store data in adapter, stip off 2 bytes header */
|
if (G_LIKELY (rtpsv3vdepay->configured)) {
|
||||||
outbuf = gst_rtp_buffer_get_payload_subbuffer (buf, 2, -1);
|
/* store data in adapter, stip off 2 bytes header */
|
||||||
gst_adapter_push (rtpsv3vdepay->adapter, outbuf);
|
outbuf = gst_rtp_buffer_get_payload_subbuffer (buf, 2, -1);
|
||||||
|
gst_adapter_push (rtpsv3vdepay->adapter, outbuf);
|
||||||
|
|
||||||
if (M) {
|
if (M) {
|
||||||
/* frame is completed: push contents of adapter */
|
/* frame is completed: push contents of adapter */
|
||||||
guint avail;
|
guint avail;
|
||||||
|
|
||||||
avail = gst_adapter_available (rtpsv3vdepay->adapter);
|
avail = gst_adapter_available (rtpsv3vdepay->adapter);
|
||||||
outbuf = gst_adapter_take_buffer (rtpsv3vdepay->adapter, avail);
|
outbuf = gst_adapter_take_buffer (rtpsv3vdepay->adapter, avail);
|
||||||
|
|
||||||
return outbuf;
|
return outbuf;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
|
@ -46,6 +46,8 @@ struct _GstRtpSV3VDepay
|
||||||
|
|
||||||
GstAdapter *adapter;
|
GstAdapter *adapter;
|
||||||
|
|
||||||
|
gboolean configured;
|
||||||
|
|
||||||
guint16 nextseq;
|
guint16 nextseq;
|
||||||
guint width;
|
guint width;
|
||||||
guint height;
|
guint height;
|
||||||
|
|
Loading…
Reference in a new issue