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 632f9f8..d0e0eb1 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);