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:
parent
6dcec36621
commit
b6303313f0
2
NEWS
2
NEWS
|
@ -4,6 +4,8 @@ ver 0.16.2 (2011/??/??)
|
||||||
* decoder:
|
* decoder:
|
||||||
- tremor: fix configure test
|
- tremor: fix configure test
|
||||||
- gme: detect end of song
|
- gme: detect end of song
|
||||||
|
* encoder:
|
||||||
|
- vorbis: reset the Ogg stream after flush
|
||||||
* output:
|
* output:
|
||||||
- httpd: fix uninitialized variable
|
- httpd: fix uninitialized variable
|
||||||
- httpd: include sys/socket.h
|
- httpd: include sys/socket.h
|
||||||
|
|
|
@ -276,6 +276,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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue