This prevent a bug where the graph would be using a SystemClockDriver even if it
was rendering Web Audio API content.
It went like this:
- An AudioContext was created.
- Some AudioNodeStream (Web Audio API MediaStreams) were created, but their
MediaStreamTrack was not added yet
- During the stream ordering, we would see that we were running an
AudioCallbackDriver (because the MSG was created using an AudioContext, and we
pass in hints regarding the type of MediaStreams that will be added in the
future, to open the audio stream as early as we can, because it can take some
time, the MSG was created directly using an AudioCallbackDriver)
- Also during the stream ordering, we see that none of our MediaStream have an
MediaStreamTrack with an audio track. This triggers a switch to a
SystemClockDriver, because the graph thinks there is no audio.
- During CreateAndDestroyAudioNode, we would not switch to an
AudioCallbackDriver on the first iteration (right after the UpdateStreamOrder
call), because we would be switching, and not during the iteration after,
because we thought we already switched (the first patch makes this more robust).
This basically forces an AudioCallbackDriver if there is an AudioNodeStream,
which prevents unnecessary GraphDriver switches (and save threads creation
destruction, audio stream create and destruction, and all other resources
associated with a GraphDriver).
--HG--
extra : rebase_source : 3c79c64a5dffee4c059d286125f0446c04a07a01
SPDY/http2 connections get a ping and be allowed N seconds to respond.
Active HTTP connections will be allowed N seconds to get traffic, if they
don't afer N seconds they get closed to avoid risking stalled transfers.
N is 5 by default: pref is "network.http.network-changed.timeout"
Now supports IPv6 as well if a new enough windows version is used.
Which notification function to use is detect at run-time.
Now sends CHANGED event if the online interface(s) are different in any
way since it was previously checked and considered UP. CHANGED is sent
before UP in case both are detected.
nIOService: split up the network event receiver function from the
network status init function and have the event receiver act on the
incoming event.
DNSservice: acts on network changes (flushes the host cache)
HttpHandler: acts on network changes
This introduces a debugging pref, "services.sync.debug.ignoreCachedAuthCredentials".
This flag allows testers to disable caching of authentication credentials
to make debugging of expired and revoked credentials easier. This will
help expedite any visble auth errors resulting from a expired or revoked
FxA session token, e.g., from resetting or changing the FxA password.
This pref is not set by default.