avformat/mpegtsenc: move some code around and simplify a bit
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>
This commit is contained in:
parent
8bf732cda6
commit
5c119bf189
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user