decoder/opus: remove ogg_page parameter from constructor
Initialize the OggStreamState as soon as the first page is seen; no special code needed in the caller.
This commit is contained in:
@@ -95,13 +95,20 @@ class MPDOpusDecoder {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
MPDOpusDecoder(Decoder &_decoder,
|
MPDOpusDecoder(Decoder &_decoder,
|
||||||
InputStream &_input_stream,
|
InputStream &_input_stream)
|
||||||
ogg_page &first_page)
|
|
||||||
:decoder(_decoder), input_stream(_input_stream),
|
:decoder(_decoder), input_stream(_input_stream),
|
||||||
os(first_page) {}
|
os(0) {}
|
||||||
|
|
||||||
~MPDOpusDecoder();
|
~MPDOpusDecoder();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Has the OggStreamState been initialized with the first
|
||||||
|
* serial?
|
||||||
|
*/
|
||||||
|
bool HasSerial() const {
|
||||||
|
return os.GetSerialNo() != 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Has decoder_initialized() been called yet?
|
* Has decoder_initialized() been called yet?
|
||||||
*/
|
*/
|
||||||
@@ -402,11 +409,7 @@ mpd_opus_stream_decode(Decoder &decoder,
|
|||||||
DecoderReader reader(decoder, input_stream);
|
DecoderReader reader(decoder, input_stream);
|
||||||
OggSyncState oy(reader);
|
OggSyncState oy(reader);
|
||||||
|
|
||||||
ogg_page page;
|
MPDOpusDecoder d(decoder, input_stream);
|
||||||
if (!oy.ExpectPage(page))
|
|
||||||
return;
|
|
||||||
|
|
||||||
MPDOpusDecoder d(decoder, input_stream, page);
|
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
auto cmd = d.HandlePackets();
|
auto cmd = d.HandlePackets();
|
||||||
|
Reference in New Issue
Block a user