mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 874952 - Always create enough last chunks for an engine, even if we don't end up calling into its ProduceAudioBlock function; r=roc
This commit is contained in:
parent
ff55db5503
commit
03aface63f
@ -394,13 +394,19 @@ AudioNodeStream::ProduceOutput(GraphTime aFrom, GraphTime aTo)
|
|||||||
|
|
||||||
AudioSegment* segment = track->Get<AudioSegment>();
|
AudioSegment* segment = track->Get<AudioSegment>();
|
||||||
|
|
||||||
mLastChunks.SetLength(1);
|
uint16_t outputCount = std::max(uint16_t(1), mEngine->OutputCount());
|
||||||
mLastChunks[0].SetNull(0);
|
mLastChunks.SetLength(outputCount);
|
||||||
|
|
||||||
if (mInCycle) {
|
if (mInCycle) {
|
||||||
// XXX DelayNode not supported yet so just produce silence
|
// XXX DelayNode not supported yet so just produce silence
|
||||||
mLastChunks[0].SetNull(WEBAUDIO_BLOCK_SIZE);
|
for (uint16_t i = 0; i < outputCount; ++i) {
|
||||||
|
mLastChunks[i].SetNull(WEBAUDIO_BLOCK_SIZE);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
|
for (uint16_t i = 0; i < outputCount; ++i) {
|
||||||
|
mLastChunks[i].SetNull(0);
|
||||||
|
}
|
||||||
|
|
||||||
// We need to generate at least one input
|
// We need to generate at least one input
|
||||||
uint16_t maxInputs = std::max(uint16_t(1), mEngine->InputCount());
|
uint16_t maxInputs = std::max(uint16_t(1), mEngine->InputCount());
|
||||||
OutputChunks inputChunks;
|
OutputChunks inputChunks;
|
||||||
|
11
content/media/test/crashtests/874952.html
Normal file
11
content/media/test/crashtests/874952.html
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<script>
|
||||||
|
var Context0= new AudioContext()
|
||||||
|
var ChannelSplitter0=Context0.createChannelSplitter();
|
||||||
|
var BiquadFilter0=Context0.createBiquadFilter();
|
||||||
|
var WaveShaper0=Context0.createWaveShaper();
|
||||||
|
|
||||||
|
ChannelSplitter0.connect(BiquadFilter0,3,0);
|
||||||
|
ChannelSplitter0.connect(WaveShaper0);
|
||||||
|
BiquadFilter0.disconnect();
|
||||||
|
WaveShaper0.connect(ChannelSplitter0);
|
||||||
|
</script>
|
@ -18,3 +18,4 @@ load 852838.html
|
|||||||
load 874869.html
|
load 874869.html
|
||||||
load 874915.html
|
load 874915.html
|
||||||
load 874934.html
|
load 874934.html
|
||||||
|
load 874952.html
|
||||||
|
Loading…
Reference in New Issue
Block a user