Commit fa4178fe authored by Max Kellermann's avatar Max Kellermann

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.
parent 1af59d31
...@@ -95,14 +95,21 @@ class MPDOpusDecoder { ...@@ -95,14 +95,21 @@ 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?
*/ */
bool IsInitialized() const { bool IsInitialized() const {
...@@ -402,11 +409,7 @@ mpd_opus_stream_decode(Decoder &decoder, ...@@ -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();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment