[FFmpeg-devel,3/4] avformat/mpegtsenc: move some code around and simplify a bit

Submitted by Marton Balint on Aug. 14, 2019, 11:51 p.m.

Details

Message ID 20190814235130.5973-3-cus@passwd.hu
State Accepted
Commit 5c119bf189c3a8806991e6909f9dfc2686189e5e
Headers show

Commit Message

Marton Balint Aug. 14, 2019, 11:51 p.m.
PCR does not need to be recalcualted for CBR when inserting a NULL or PCR only
packet.

Signed-off-by: Marton Balint <cus@passwd.hu>
---
 libavformat/mpegtsenc.c | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

Patch hide | download patch | download mbox

diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
index 9dee5fa1d0..04da081ac0 100644
--- a/libavformat/mpegtsenc.c
+++ b/libavformat/mpegtsenc.c
@@ -1221,6 +1221,15 @@  static void mpegts_write_pes(AVFormatContext *s, AVStream *st,
                 }
                 ts->next_pcr = next_pcr;
             }
+            if (dts != AV_NOPTS_VALUE && (dts - pcr / 300) > delay) {
+                /* pcr insert gets priority over null packet insert */
+                if (write_pcr)
+                    mpegts_insert_pcr_only(s, st);
+                else
+                    mpegts_insert_null_packet(s);
+                /* recalculate write_pcr and possibly retransmit si_info */
+                continue;
+            }
         } else if (ts_st->pcr_period && dts != AV_NOPTS_VALUE) {
             pcr = (dts - delay) * 300;
             if (pcr - ts_st->last_pcr >= ts_st->pcr_period && is_start) {
@@ -1229,17 +1238,6 @@  static void mpegts_write_pes(AVFormatContext *s, AVStream *st,
             }
         }
 
-        if (ts->mux_rate > 1 && dts != AV_NOPTS_VALUE &&
-            (dts - get_pcr(ts, s->pb) / 300) > delay) {
-            /* pcr insert gets priority over null packet insert */
-            if (write_pcr)
-                mpegts_insert_pcr_only(s, st);
-            else
-                mpegts_insert_null_packet(s);
-            /* recalculate write_pcr and possibly retransmit si_info */
-            continue;
-        }
-
         /* prepare packet header */
         q    = buf;
         *q++ = 0x47;