Skipped frames when displaying RTP / H.264 stream

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

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

> I attach the relevant packets captured by Wireshark.
> 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

> --
> Sent from:
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list