mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
a974ee8086
The logic in this function is mostly around the mLoop variable. mLoop being NotLooping means that the playback of this node is never going to loop, in which case the logic doesn't change compared to the ProduceAudioBlock function before this patch. If the loop mode is turned on when start() is called, mLoop will initially be WillLoop. In that case, we play back until mLoopEnd, and then we will wrap around to mLoopStart, set mLoop to be IsLooping, and start playback again. From that point on, mLoop will always be IsLooping, and we will loop between mLoopStart and mLoopEnd. Where possible, we'll just use BorrowFromInputBuffer to avoid copying the buffer, and if we hit the edges right around the time that we loop, we copy some frames from the end of the input buffer and some from the beginning in the memcpy loops at the end of the ProduceAudioBlock function. |
||
---|---|---|
.. | ||
base | ||
canvas | ||
events | ||
html | ||
mathml | ||
media | ||
smil | ||
svg | ||
test | ||
xbl | ||
xml | ||
xslt | ||
xul | ||
Makefile.in | ||
moz.build |