encoder/vorbis: reset the Ogg stream after flush

Without the ogg_stream_reset() call, the "e_o_s" flag never gets
reset, and libogg writes EOS packets over and over.
This commit is contained in:
Max Kellermann 2011-03-16 19:13:46 +01:00
parent 84d0fd39a3
commit a28449a123
2 changed files with 4 additions and 0 deletions

2
NEWS
View File

@ -1,4 +1,6 @@
ver 0.15.17 (2011/??/??) ver 0.15.17 (2011/??/??)
* encoder:
- vorbis: reset the Ogg stream after flush
ver 0.15.16 (2011/03/13) ver 0.15.16 (2011/03/13)

View File

@ -274,6 +274,8 @@ vorbis_encoder_flush(struct encoder *_encoder, G_GNUC_UNUSED GError **error)
vorbis_analysis_init(&encoder->vd, &encoder->vi); vorbis_analysis_init(&encoder->vd, &encoder->vi);
vorbis_block_init(&encoder->vd, &encoder->vb); vorbis_block_init(&encoder->vd, &encoder->vb);
ogg_stream_reset(&encoder->os);
encoder->flush = true; encoder->flush = true;
return true; return true;
} }