Browse Source

Merge pull request #12058 from liamwhite/opus-again

opus: fix stereo stream count check in multistream decoder object
nce_cpp
liamwhite 2 years ago
committed by GitHub
parent
commit
fa2efaf78e
  1. 2
      src/audio_core/adsp/apps/opus/opus_multistream_decode_object.cpp
  2. 2
      src/audio_core/opus/decoder.cpp

2
src/audio_core/adsp/apps/opus/opus_multistream_decode_object.cpp

@ -12,7 +12,7 @@ bool IsValidChannelCount(u32 channel_count) {
}
bool IsValidStreamCounts(u32 total_stream_count, u32 stereo_stream_count) {
return total_stream_count > 0 && stereo_stream_count > 0 &&
return total_stream_count > 0 && static_cast<s32>(stereo_stream_count) >= 0 &&
stereo_stream_count <= total_stream_count && IsValidChannelCount(total_stream_count);
}
} // namespace

2
src/audio_core/opus/decoder.cpp

@ -148,7 +148,7 @@ Result OpusDecoder::DecodeInterleavedForMultiStream(u32* out_data_size, u64* out
auto* header_p{reinterpret_cast<const OpusPacketHeader*>(input_data.data())};
OpusPacketHeader header{ReverseHeader(*header_p)};
LOG_ERROR(Service_Audio, "header size 0x{:X} input data size 0x{:X} in_data size 0x{:X}",
LOG_TRACE(Service_Audio, "header size 0x{:X} input data size 0x{:X} in_data size 0x{:X}",
header.size, input_data.size_bytes(), in_data.size_bytes());
R_UNLESS(in_data.size_bytes() >= header.size &&

Loading…
Cancel
Save