mpegtsmux: Quieten "missed PCR" warnings in VBR mode.
authorJan Schmidt <jan@centricular.com>
Fri, 28 May 2021 20:03:26 +0000 (06:03 +1000)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Thu, 15 Jul 2021 04:46:03 +0000 (04:46 +0000)
When the muxer is operating in VBR mode, it's kind of expected
for now that we might not put the PCR in exactly the right place,
because the muxer doesn't schedule packets that way. In that case
don't warn constantly about the PCR ending up a few ms off target.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2295>

gst/mpegtsmux/tsmux/tsmux.c

index 632f9f8f446e1219c380a66fc8ac3ac9c34b09af..d0e0eb1ee72a2637eaf087d956a607bce47231bb 100644 (file)
@@ -1369,7 +1369,7 @@ write_new_pcr (TsMux * mux, TsMuxStream * stream, gint64 cur_pcr,
         TSMUX_PACKET_FLAG_ADAPTATION | TSMUX_PACKET_FLAG_WRITE_PCR;
     stream->pi.pcr = cur_pcr;
 
-    if (stream->next_pcr != -1 && cur_pcr >= stream->next_pcr) {
+    if (mux->bitrate && stream->next_pcr != -1 && cur_pcr >= stream->next_pcr) {
       GST_WARNING ("Writing PCR %" G_GUINT64_FORMAT " missed the target %"
           G_GUINT64_FORMAT " by %f ms", cur_pcr, stream->next_pcr,
           (double) (cur_pcr - stream->next_pcr) / 27000.0);