The basic idea is to write out the signal that came in with the same number of
channels as it had when it came in. Things get a bit more complicated when
one output block may be derived from more than one input block, each having
different numbers of channels. When this happens, the input blocks with fewer
channels are upmixed, so as not to lose (or distort) any signal in the block
with more channels.
HRTFPanner no longer uses exponential decay (with time constant 20ms) for
delay changes, but a smoother linear transition during cross-fade time (~45ms).
--HG--
rename : content/media/webaudio/DelayProcessor.cpp => content/media/webaudio/DelayBuffer.cpp
rename : content/media/webaudio/DelayProcessor.h => content/media/webaudio/DelayBuffer.h
extra : rebase_source : 18453d631779cd7d0672b5325e110b107ab4237d
The subsample alignment of resampled buffers provides seamless playback even
when buffer durations are not an integer number of track ticks.
--HG--
extra : rebase_source : 0fcd52e8a9560de881aa73931cf22a02f984d748
The resampling filter means that the buffer influences a greater number of
samples than indicated by just its length. Including the full influence of
the linear filter means that adjacent buffers aligned appropriately will
behave as if they were one extended buffer.
The buffers are not yet aligned more carefully than track ticks, so buffers
play back seamlessly only if their sample rates and lengths are such that
their duration is an integer number of track ticks.
Knowing how far the filter extends before the start time requires
initializing the resampler before buffer processing.
The patch also includes the input latency in the first resampler input
buffer sample count estimate to reduce the number to calls required
to start the resampler.
--HG--
extra : rebase_source : 16d5af79bc5621be830f5956b51f7ff59d490575
This makes sense since the file no longer contains anything with the
nsTraceRefcnt name in it, and it will allow renaming nsTraceRefcntImpl
back to nsTraceRefcnt.
This test no longer passes, the failure masked by bug 975640.
Since this feature is deprecated and disabled anyway, just
make the test do nothing if the controlling pref is false.
That way we can re-enable tests, but if the feature is
restored the bitrot in the implementation will be flagged.
Also change the channel count back to 6, since we're reporting
the native value again.
As the mpeg and dash tests already knew, canPlayType() returns an
empty string ("") instead of "no" for unsupported formats. The
can_play_no_foo tests have been broken for some time.
Now that support is always enabled, we can remove the conditionals
on the ogg-dependent tests.
The canplay test previously run only if ogg was disabled is updated
to verify that the runtime pref works when set to a non-default
'false' value.