mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
mpegtsenc: Take max_delay into account when buffering multiple audio packets into one PES packet
Make sure we don't buffer up more than max_delay worth of data before writing a PES packet, even if pes_payload_size is set to a larger value. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
e3ec6fe7bb
commit
7d097a0fc5
@ -1128,7 +1128,10 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (ts_st->payload_size + size > ts->pes_payload_size) {
|
||||
if (ts_st->payload_size + size > ts->pes_payload_size ||
|
||||
(dts != AV_NOPTS_VALUE && ts_st->payload_dts != AV_NOPTS_VALUE &&
|
||||
av_compare_ts(dts - ts_st->payload_dts, st->time_base,
|
||||
s->max_delay, AV_TIME_BASE_Q) >= 0)) {
|
||||
if (ts_st->payload_size) {
|
||||
mpegts_write_pes(s, st, ts_st->payload, ts_st->payload_size,
|
||||
ts_st->payload_pts, ts_st->payload_dts,
|
||||
|
Loading…
Reference in New Issue
Block a user