decoder/opus: change return types to void
This commit is contained in:
@@ -127,8 +127,8 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
DecoderCommand HandlePacket(const ogg_packet &packet);
|
DecoderCommand HandlePacket(const ogg_packet &packet);
|
||||||
DecoderCommand HandleBOS(const ogg_packet &packet);
|
void HandleBOS(const ogg_packet &packet);
|
||||||
DecoderCommand HandleEOS();
|
void HandleEOS();
|
||||||
DecoderCommand HandleTags(const ogg_packet &packet);
|
DecoderCommand HandleTags(const ogg_packet &packet);
|
||||||
DecoderCommand HandleAudio(const ogg_packet &packet);
|
DecoderCommand HandleAudio(const ogg_packet &packet);
|
||||||
};
|
};
|
||||||
@@ -172,12 +172,15 @@ MPDOpusDecoder::HandlePackets()
|
|||||||
inline DecoderCommand
|
inline DecoderCommand
|
||||||
MPDOpusDecoder::HandlePacket(const ogg_packet &packet)
|
MPDOpusDecoder::HandlePacket(const ogg_packet &packet)
|
||||||
{
|
{
|
||||||
if (packet.e_o_s)
|
if (packet.e_o_s) {
|
||||||
return HandleEOS();
|
HandleEOS();
|
||||||
|
return decoder_get_command(decoder);
|
||||||
|
}
|
||||||
|
|
||||||
if (packet.b_o_s)
|
if (packet.b_o_s) {
|
||||||
return HandleBOS(packet);
|
HandleBOS(packet);
|
||||||
else if (opus_decoder == nullptr)
|
return decoder_get_command(decoder);
|
||||||
|
} else if (opus_decoder == nullptr)
|
||||||
throw std::runtime_error("BOS packet expected");
|
throw std::runtime_error("BOS packet expected");
|
||||||
|
|
||||||
if (IsOpusTags(packet))
|
if (IsOpusTags(packet))
|
||||||
@@ -237,7 +240,7 @@ LoadEOSGranulePos(InputStream &is, Decoder &decoder, int serialno)
|
|||||||
return packet.granulepos;
|
return packet.granulepos;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline DecoderCommand
|
inline void
|
||||||
MPDOpusDecoder::HandleBOS(const ogg_packet &packet)
|
MPDOpusDecoder::HandleBOS(const ogg_packet &packet)
|
||||||
{
|
{
|
||||||
assert(packet.b_o_s);
|
assert(packet.b_o_s);
|
||||||
@@ -273,7 +276,7 @@ MPDOpusDecoder::HandleBOS(const ogg_packet &packet)
|
|||||||
/* decoder was already initialized by the previous
|
/* decoder was already initialized by the previous
|
||||||
stream; skip the rest of this method */
|
stream; skip the rest of this method */
|
||||||
LogDebug(opus_domain, "Found another stream");
|
LogDebug(opus_domain, "Found another stream");
|
||||||
return decoder_get_command(decoder);
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
eos_granulepos = LoadEOSGranulePos(input_stream, decoder,
|
eos_granulepos = LoadEOSGranulePos(input_stream, decoder,
|
||||||
@@ -292,11 +295,9 @@ MPDOpusDecoder::HandleBOS(const ogg_packet &packet)
|
|||||||
|
|
||||||
output_buffer = new opus_int16[opus_output_buffer_frames
|
output_buffer = new opus_int16[opus_output_buffer_frames
|
||||||
* audio_format.channels];
|
* audio_format.channels];
|
||||||
|
|
||||||
return decoder_get_command(decoder);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline DecoderCommand
|
inline void
|
||||||
MPDOpusDecoder::HandleEOS()
|
MPDOpusDecoder::HandleEOS()
|
||||||
{
|
{
|
||||||
if (eos_granulepos < 0 && IsInitialized()) {
|
if (eos_granulepos < 0 && IsInitialized()) {
|
||||||
@@ -306,10 +307,7 @@ MPDOpusDecoder::HandleEOS()
|
|||||||
|
|
||||||
opus_decoder_destroy(opus_decoder);
|
opus_decoder_destroy(opus_decoder);
|
||||||
opus_decoder = nullptr;
|
opus_decoder = nullptr;
|
||||||
|
} else
|
||||||
return decoder_get_command(decoder);
|
|
||||||
}
|
|
||||||
|
|
||||||
throw StopDecoder();
|
throw StopDecoder();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user