From d99659f0b3ca873776ca7de4625534b2d8cb6c67 Mon Sep 17 00:00:00 2001 From: Martin Storsjö Date: Tue, 22 Jun 2010 06:53:06 +0000 Subject: libvorbis: Only drop 1-byte packets at end of stream This fixes handling of totally silent packets during the encoding, that also are 1 byte in size. This fixes issue 2013 Originally committed as revision 23693 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/libvorbis.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libavcodec/libvorbis.c') diff --git a/libavcodec/libvorbis.c b/libavcodec/libvorbis.c index a7044a23b5..5926d98fbe 100644 --- a/libavcodec/libvorbis.c +++ b/libavcodec/libvorbis.c @@ -171,7 +171,7 @@ static int oggvorbis_encode_frame(AVCodecContext *avccontext, while(vorbis_bitrate_flushpacket(&context->vd, &op)) { /* i'd love to say the following line is a hack, but sadly it's * not, apparently the end of stream decision is in libogg. */ - if(op.bytes==1) + if(op.bytes==1 && op.e_o_s) continue; memcpy(context->buffer + context->buffer_index, &op, sizeof(ogg_packet)); context->buffer_index += sizeof(ogg_packet); -- cgit v1.2.3