mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-18 04:05:34 +00:00
rtpgstpay: Enable hdrext aggregation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4979>
This commit is contained in:
parent
a97d3acb90
commit
09045da073
1 changed files with 10 additions and 0 deletions
|
@ -103,6 +103,9 @@ gst_rtp_gst_depay_class_init (GstRtpGSTDepayClass * klass)
|
||||||
static void
|
static void
|
||||||
gst_rtp_gst_depay_init (GstRtpGSTDepay * rtpgstdepay)
|
gst_rtp_gst_depay_init (GstRtpGSTDepay * rtpgstdepay)
|
||||||
{
|
{
|
||||||
|
gst_rtp_base_depayload_set_aggregate_hdrext_enabled (GST_RTP_BASE_DEPAYLOAD
|
||||||
|
(rtpgstdepay), TRUE);
|
||||||
|
|
||||||
rtpgstdepay->adapter = gst_adapter_new ();
|
rtpgstdepay->adapter = gst_adapter_new ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -409,6 +412,7 @@ gst_rtp_gst_depay_process (GstRTPBaseDepayload * depayload, GstRTPBuffer * rtp)
|
||||||
if (GST_BUFFER_IS_DISCONT (rtp->buffer)) {
|
if (GST_BUFFER_IS_DISCONT (rtp->buffer)) {
|
||||||
GST_WARNING_OBJECT (rtpgstdepay, "DISCONT, clear adapter");
|
GST_WARNING_OBJECT (rtpgstdepay, "DISCONT, clear adapter");
|
||||||
gst_adapter_clear (rtpgstdepay->adapter);
|
gst_adapter_clear (rtpgstdepay->adapter);
|
||||||
|
gst_rtp_base_depayload_flush (depayload, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
payload = gst_rtp_buffer_get_payload (rtp);
|
payload = gst_rtp_buffer_get_payload (rtp);
|
||||||
|
@ -525,24 +529,28 @@ empty_packet:
|
||||||
{
|
{
|
||||||
GST_ELEMENT_WARNING (rtpgstdepay, STREAM, DECODE,
|
GST_ELEMENT_WARNING (rtpgstdepay, STREAM, DECODE,
|
||||||
("Empty Payload."), (NULL));
|
("Empty Payload."), (NULL));
|
||||||
|
gst_rtp_base_depayload_dropped (depayload);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
wrong_frag:
|
wrong_frag:
|
||||||
{
|
{
|
||||||
gst_adapter_clear (rtpgstdepay->adapter);
|
gst_adapter_clear (rtpgstdepay->adapter);
|
||||||
GST_LOG_OBJECT (rtpgstdepay, "wrong fragment, skipping");
|
GST_LOG_OBJECT (rtpgstdepay, "wrong fragment, skipping");
|
||||||
|
gst_rtp_base_depayload_dropped (depayload);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
no_caps:
|
no_caps:
|
||||||
{
|
{
|
||||||
GST_WARNING_OBJECT (rtpgstdepay, "failed to parse caps");
|
GST_WARNING_OBJECT (rtpgstdepay, "failed to parse caps");
|
||||||
gst_buffer_unref (outbuf);
|
gst_buffer_unref (outbuf);
|
||||||
|
gst_rtp_base_depayload_dropped (depayload);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
no_event:
|
no_event:
|
||||||
{
|
{
|
||||||
GST_WARNING_OBJECT (rtpgstdepay, "failed to parse event");
|
GST_WARNING_OBJECT (rtpgstdepay, "failed to parse event");
|
||||||
gst_buffer_unref (outbuf);
|
gst_buffer_unref (outbuf);
|
||||||
|
gst_rtp_base_depayload_dropped (depayload);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
missing_caps:
|
missing_caps:
|
||||||
|
@ -554,6 +562,8 @@ missing_caps:
|
||||||
gst_video_event_new_upstream_force_key_unit (GST_CLOCK_TIME_NONE,
|
gst_video_event_new_upstream_force_key_unit (GST_CLOCK_TIME_NONE,
|
||||||
TRUE, 0));
|
TRUE, 0));
|
||||||
|
|
||||||
|
gst_rtp_base_depayload_dropped (depayload);
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue