Use the sample rate passed to the OfflineAudioContext constructor in
MediaStreamGraph::CreateOfflineInstance, and pass the preferred mixer sample
rate to the (real time) MediaStreamGraph constructor.
Then, always use this sample rate for the lifetime of the graph.
This patch needed to pass the sample rate to the AudioMixer class to avoid
relying on globals like it was done before.
--HG--
extra : rebase_source : 2802208819887605fe26a7040998fc328b3c9a57
This ensures a test can make such a request, receive the event that the
load has been suspended, and cancel the request, all before the load has
completed.
--HG--
extra : rebase_source : c7ea934a1745004872d8529bb99241e2e376759c
If nsTextEditorState::SetValue is allowed to rebuild the editor DOM even when
the new value is the same as the old value, then during PrepareEditor we can
remove the content that's the current target of the event triggering the
PrepareEditor, which prevents important code from running such as the code that
focuses the text input. Normally this isn't a problem but
nsTextEditorState::SetValue's code for getting the current value is broken
for password controls when !mEditorInitialized. So we remove that broken code
path.
We have to make sure that the password text, if any, is set on the edit-rules
during their initialization so the regular path for getting the current
value returns the right thing.
--HG--
extra : rebase_source : 81a01a957b4b1e0cf868505a1b23c9110a2f4b3a
Update YuvStamper utility. Add a CRC32 to the encoded
payload and have the decode method us this to verify reception.
Wrap encoded values across multiple lines in the frame buffer
when necessary. Use YuvStamper to encode a timestamp in each fake video frame.
Extract the value in VideoConduit to calculate the video latency
and add this to a running average latency when enabled via config.
This is effectively a policy decision based on the kind of code we expect to be
running somewhere. This is in contrast to lazy source, which is often a practical
per-script consideration of whether or not we can retrieve the source if requested.
More importantly, tracking this information on the global is much easier to
get right than tracking it on the script.
- When only the transform is changed,
SVGTransformableElement::GetAttributeChangeHint returns
nsChangeHint_UpdatePostTransformOverflow to avoid extraneous calls to
UpdateOverflow in OverflowChangedTracker::Flush.
- nsSVGElement::DidAnimateTransformList now receives a modType parameter
that is set by callers to either nsIDOMMutationEvent::ADDITION,
nsIDOMMutationEvent::REMOVAL, or nsIDOMMutationEvent::MODIFICATION.
- SVGTransformableElement::GetAttributeChangeHint uses the passed modType
to accurately select when to return nsChangeHint_UpdatePostTransformOverflow.
This is effectively a policy decision based on the kind of code we expect to be
running somewhere. This is in contrast to lazy source, which is often a practical
per-script consideration of whether or not we can retrieve the source if requested.
More importantly, tracking this information on the global is much easier to
get right than tracking it on the script.