Skipped frames when displaying RTP / H.264 stream

Nicolas Dufresne nicolas at ndufresne.ca
Wed Feb 19 00:44:34 UTC 2020


Le mar. 18 févr. 2020 13 h 30, jean-philippe <jean_philippe_arnaud at yahoo.fr>
a écrit :

> I attach the relevant packets captured by Wireshark.
> Filler_RTP_H264.pcapng
> <
> http://gstreamer-devel.966125.n4.nabble.com/file/t379103/Filler_RTP_H264.pcapng>
>
>
> Also, the code in rtph264pay confirms my supposition that the Marker bit is
> not set for Filler NALUs:
>       if (IS_ACCESS_UNIT (nalType)) {
>         gst_rtp_buffer_set_marker (&rtp, end && end_of_au);
>       }
>

Setting marker on AUD is wrong, I thought I had fixed that already. What
GST version is this ?


> and #define IS_ACCESS_UNIT(x) (((x) > 0x00) && ((x) < 0x06))
>
> The Filler NALU type is 12.
>
> Anyone know if this should be modified to set the Marker bit to Filler
> NALUs?
>

Markers should be set on the last packet of a AU. That was completely
broken in GStreamer so far. What it should be doing now, but I don't know
if it was in 1.16 material or for future releases, is that if the payloader
receives the marker, it keeps it, if the input has alignment=au, it will
add it, otherwise there is no marker and that even if the AUD is present.
The AUD is the first NAL of a AU, so placing marker on it is wrong, it
would mean the AUD represent a AU by itself.

On the depaylaoder, if the marker is present in RTP packet, we pass it, if
the output requested is alignment=au, we set it, otherwise it won't be
there.


>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200218/d09922a5/attachment.htm>


More information about the gstreamer-devel mailing list