mirror of
https://github.com/xenia-project/xenia.git
synced 2025-12-06 07:12:03 +01:00
[APU] Check if splitted frame length is valid
This commit is contained in:
parent
1451ca4266
commit
12005acc98
|
|
@ -492,10 +492,20 @@ void XmaContext::Decode(XMA_CONTEXT_DATA* data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (frame_count > 0) {
|
if (frame_count > 0) {
|
||||||
assert_true(xma::GetPacketFrameOffset(packet) - 32 ==
|
//assert_true(xma::GetPacketFrameOffset(packet) - 32 ==
|
||||||
split_frame_len_ - split_frame_len_partial_);
|
// split_frame_len_ - split_frame_len_partial_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (split_frame_len_partial_ > split_frame_len_) {
|
||||||
|
XELOGAPU(
|
||||||
|
"XmaContext {}: Invalid split frame lengths {}! frame_length: {} "
|
||||||
|
"partial_length: {}",
|
||||||
|
id(), split_frame_len_, split_frame_len_partial_);
|
||||||
|
split_frame_len_ = 0;
|
||||||
|
split_frame_len_partial_ = 0;
|
||||||
|
SwapInputBuffer(data);
|
||||||
|
return;
|
||||||
|
}
|
||||||
auto offset = stream.Copy(
|
auto offset = stream.Copy(
|
||||||
xma_frame_.data() + 1 +
|
xma_frame_.data() + 1 +
|
||||||
((split_frame_len_partial_ + split_frame_padding_start_) / 8),
|
((split_frame_len_partial_ + split_frame_padding_start_) / 8),
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue