[FFmpeg-cvslog] mpegmux: add stuffing to avoid incomplete PCM frames

Janne Grunau git at videolan.org
Sun May 6 22:18:59 CEST 2012


ffmpeg | branch: master | Janne Grunau <janne-libav at jannau.net> | Tue Mar 13 18:12:06 2012 +0100| [29d27b54251fe250f6fe512b7759a1405362ae67] | committer: Janne Grunau

mpegmux: add stuffing to avoid incomplete PCM frames

Fixes https://bugzilla.libav.org/show_bug.cgi?id=244

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=29d27b54251fe250f6fe512b7759a1405362ae67
---

 libavformat/mpegenc.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/libavformat/mpegenc.c b/libavformat/mpegenc.c
index bda8d83..7bcf289 100644
--- a/libavformat/mpegenc.c
+++ b/libavformat/mpegenc.c
@@ -832,6 +832,12 @@ static int flush_packet(AVFormatContext *ctx, int stream_index,
 
         if (stuffing_size < 0)
             stuffing_size = 0;
+
+        if (startcode == PRIVATE_STREAM_1 && id >= 0xa0) {
+            if (payload_size < av_fifo_size(stream->fifo))
+                stuffing_size += payload_size % stream->lpcm_align;
+        }
+
         if (stuffing_size > 16) {    /*<=16 for MPEG-1, <=32 for MPEG-2*/
             pad_packet_bytes += stuffing_size;
             packet_size      -= stuffing_size;



More information about the ffmpeg-cvslog mailing list