mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
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
This commit is contained in:
parent
5634f30c4a
commit
d99659f0b3
@ -171,7 +171,7 @@ static int oggvorbis_encode_frame(AVCodecContext *avccontext,
|
|||||||
while(vorbis_bitrate_flushpacket(&context->vd, &op)) {
|
while(vorbis_bitrate_flushpacket(&context->vd, &op)) {
|
||||||
/* i'd love to say the following line is a hack, but sadly it's
|
/* 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. */
|
* not, apparently the end of stream decision is in libogg. */
|
||||||
if(op.bytes==1)
|
if(op.bytes==1 && op.e_o_s)
|
||||||
continue;
|
continue;
|
||||||
memcpy(context->buffer + context->buffer_index, &op, sizeof(ogg_packet));
|
memcpy(context->buffer + context->buffer_index, &op, sizeof(ogg_packet));
|
||||||
context->buffer_index += sizeof(ogg_packet);
|
context->buffer_index += sizeof(ogg_packet);
|
||||||
|
Loading…
Reference in New Issue
Block a user