Commit Graph

101 Commits

Author SHA1 Message Date
roytam1 4ac9bef80d import changes from `dev' branch of rmottola/Arctic-Fox:
- Bug 936092, initial DnD support for e10s, r=enndeakin,karlt (3cde556cf)
- Bug 1152066 - Remove ugly dynamic loading code now that we can assume this symbol exists. r=roc (04813dd18)
- Bug 966395 - Correctly propagate the input language's direction on OSX. r=masayuki/mrbkap (14a21fa0c)
- Bug 1158791 - Try harder to avoid Gtk-Critical errors in xpcshell tests. r=karlt (f6cec3b99)
- Bug 1153922 - Add a SandboxOptions option for creating the sandbox in a fresh JS::Zone. r=mrbkap (f99b17726)
- Bug 968520 - Always use fallible allocator with nsTArray_base::ShrinkCapacity. r=froydnj (b7cf63063)
- Bug 1160027 - Move ResourceQueue implementation from header file - r=cpearce (5fabd8c8f)
- Bug 1119277 - Remove the process CPU priority parameter and simplify all the associated code. r=khuey, r=dhylands (32d2b0df2)
- Goanna -> Gecko (2b16bec4c)
- Bug 892371 - Adjust oom_score_adj values for foreground processes according to an LRU policy. r=dhylands, r=khuey (61cdfc3db)
- Bug 892371 - Add mochitests covering LRU priority adjustments for both foreground and background processes. r=khuey (46676e34f)
- Bug 1164297 - tweaks to logging modules of MediaDecoderStateMachine to remove accessing to env vars. r=cpearce. (e9dc910da)
- Bug 1150539: log getUserMedia constraints used in MediaManager:5. r=jesup (161853b66)
- Bug 1139027 - Permit running of camera mochitests on B2G desktop. r=mikeh (8bb265db2)
- Bug 1145403 - Don't open MediaManager on shutdown. r=jesup (9338eef82)
- Bug 1046245 - enumerateDevices w/non-blocking e10s, nsICryptoHMAC, clear cookies, lambdas. r=keeler, florian, billm, jesup (ce9d684a0)
- remove StopWebRtcLoc() to be readded in Bug 1219339 - Part2 (7a0c901fc)
- Bug 1046245 - IO on STS thread + cleanup BackgroundChild on shutdown r=jesup (e85dd7716)
- Bug 579517 follow-up: Remove NSPR types that crept in (35aee15a6)
- Bug 1152443 - Fix broken validation which prevented reading of enumerate_devices.txt. r=jesup (4e135355b)
- Bug 1143562 - use /data/b2g/mozilla/gmp as the gmp storage folder on B2G. r=cpearce. (ddc07f09a)
- Bug 1143562. Part2 - only init |mStorageBaseDir| in the chrome process. r=cpearce (3039a4f44)
- remove specific hack, this code is going away anyway (34aed4d6b)
- Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Part 0 - Make mozIGeckoMediaPluginService::GetPluginVersionForAPI return whether we even have the plugin. r=cpearce. (e6ac61630)
- Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Part 1 - split GeckoMediaPluginService into a part for chrome and a part for both content and chrome. r=jwwang. (09f8c4a83)
- Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Part 2 - support asynchronous GMP API getters. r=jwwang,rjesup. (e33266976)
- Bug 1143532 - Include pid in the log messages of GMPParent. r=edwin (8486ebc50)
- Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Part 3 - split the GMP IPDL actors in 2 parts (and use opens to open the second in non-e10s). r=billm. (d17fa36ff)
- Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Part 4 - make GetNodeId asynchronous. r=jwwang. (db7a21e4a)
- Bug 1150049 - tidy up nsImageBoxFrame::Init a little bit; r=dholbert (41c258a71)
- Bug 1150266 - fix IPDL thinko for never-inline method declarations; r=bent (445d3420b)
- Bug 1150207 - Convert a focus() call to use SpecialPowers to avoid out-of-order focusing behaviour. r=mwargers (4d134848c)
- Bug 1148641 - Guard against null parameters to SendSetTargetAPZCNotification. r=botond (8c5f4bb6d)
- Bug 1096172 - Fix position reporting of bad charrefs in RCDATA. r=hsivonen. (77100d26d)
- Bug 1149971 Part 2: Cet rid of kCurrentProcessId as it makes lots of static initializers. r=dvander (3efaefdba)
- remove android widgets (0c2565418)
- Bug 1129991 - Remove QuotaManager::SetCurrentWindow(); r=bent (7ccabf88c)
- Bug 1133748 - Fix ipdl code for bridged protocols that are also opened. r=billm. (402751d09)
- Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Part 5 - use bridging for GMP in e10s. r=billm. (e45a87c5f)
- Bug 1057908 followup: Add missing 'override' annotation on GMPServiceParent::ActorDestroy method decl. rs=ehsan (48f53b28a)
- Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Add nsServiceManagerUtils.h include to WMFDecoderModule.cpp. (67cddb4da)
- kill android widgets better (bec243c8d)
2020-05-30 12:49:01 +08:00
trav90 e98562dc6d Rework MediaDecoder::AddOutputStream and move related code to the MDSM 2018-07-25 09:25:32 +08:00
trav90 73a091c648 Move MediaDecoder::UpdateStreamBlockingForPlayState to the MDSM 2018-07-25 09:25:25 +08:00
trav90 72bcf79f70 Move MediaDecoder::UpdateStreamBlockingForStateMachinePlaying to the MDSM 2018-07-25 09:25:18 +08:00
trav90 39b1ff0f06 Guard against early states in UpdateNextFrameStatus 2018-07-25 09:23:01 +08:00
trav90 ce59f3b191 Move MediaDecoder::DecodedStreamData and related code to its own file 2018-07-25 09:22:25 +08:00
Moonchild 1464a0eeb2 Revert "Media mirroring/task queue improvements" 2018-07-25 08:02:45 +08:00
trav90 4f1d5e3605 Enable tail dispatch for the decode task queue 2018-07-25 08:01:03 +08:00
trav90 fd93b917ec Initialize reader task queue in the constructor
This is a necessary step towards having mirrored/canonical values, since those need to know the task queue in their constructor.
2018-07-25 08:00:56 +08:00
trav90 43875b6b1f Drop Support for Content-Duration
This code is racey, extremely difficult to debug, and there is nothing that says its use must be enforced. The few sites that care about getting a duration without seeking to the end of the stream can index their Ogg files.
2018-07-25 07:50:34 +08:00
trav90 44d5199751 Move post-duration-change seeking into MediaDecoder where it belongs 2018-07-25 07:50:19 +08:00
trav90 cf35cc45a2 Clarify the semantics of when we fire DurationChanged 2018-07-25 07:50:12 +08:00
trav90 f319e95fd1 Clean up SetDuration and remove negative duration case 2018-07-25 07:50:05 +08:00
trav90 f3666a1dc9 Track observed duration separately 2018-07-25 07:49:57 +08:00
trav90 10f8792a37 Track demuxer-estimated duration separately 2018-07-25 07:49:50 +08:00
trav90 cf3312970e Track explicit (MSE) duration separately 2018-07-25 07:49:43 +08:00
trav90 30a4725667 Make MediaDecoder::DurationChanged take a duration argument rather than reading it back synchronously from the MDSM 2018-07-25 07:49:36 +08:00
trav90 4db9fb1d37 Track "metadata duration" separately and mirror it to MediaDecoderReader 2018-07-25 07:49:21 +08:00
trav90 2fbf35f99a Track "network duration" separately and mirror it to the MDSM 2018-07-25 07:49:14 +08:00
trav90 e8a4024fa7 Remove ApplyStateToStateMachine and PLAY_STATE_SEEKING 2018-07-25 07:48:53 +08:00
trav90 a18f275a4d Replace MDSM::Play with a state-watcher on mPlayState and eliminate ApplyStateToStateMachine 2018-07-25 07:48:46 +08:00
trav90 372e93e081 Remove wrong mCurrentPosition update 2018-07-25 07:48:38 +08:00
trav90 67d488872c Use StateMirroring for playback position 2018-07-25 07:48:31 +08:00
trav90 e1cffc8281 Rename mCurrentFrameTime to mCurrentPosition to better match the naming in the spec
This field corresponds to the "current playback position" in HTML5.
2018-07-25 07:48:24 +08:00
trav90 03673556a3 Revert Mozilla change "Make newCurrentFrameTime more accurate while seeking by checking audio & video timestamp boundary in addition"
This was landed by Mozilla to work around an issue with seeking on Firefox OS.
2018-07-25 07:45:03 +08:00
trav90 eba13a9563 Use separate thread pool for platform decoder task queues
So that platform decoder tasks will run when their readers wait and block their thread pool.
2018-07-25 07:35:32 +08:00
trav90 3cbf3e5e8a Fix indentation
No code changes. Followup to 2c9ac59.
2018-07-25 07:14:05 +08:00
trav90 759486911b Get rid of RefableThen and make Then return an nsRefPtr<Consumer> 2018-07-25 07:13:05 +08:00
trav90 6c19defcd4 Use lambdas for Seek 2018-07-25 07:12:14 +08:00
trav90 805023876f Use lambdas for WaitForData 2018-07-25 07:12:10 +08:00
trav90 d7c268b018 Include mStartTime when calculating endPosition 2018-07-25 07:11:46 +08:00
trav90 079b1b63a6 Reset the value to AUDIO_DURATION_USECS or re-calculate if the remainingTime is negtive. Schedule the state machine at the first video sample pushed into the queue 2018-07-25 07:11:02 +08:00
trav90 2cae9fb888 Dispatch SetMinimizePrerollUntilPlabackStarts 2018-07-25 07:07:32 +08:00
trav90 fa32ae47df Dispatch SetAudioCaptured 2018-07-25 07:07:28 +08:00
trav90 7d4520f94f Mirror mPreservesPitch 2018-07-25 07:07:26 +08:00
trav90 05d14bdb99 Mirror mPlaybackRate 2018-07-25 07:07:23 +08:00
trav90 1aefd63963 Mirror mVolume 2018-07-25 07:07:20 +08:00
trav90 49424b811e Assert that we're on the state machine thread for most remaining MDSM methods 2018-07-25 07:07:15 +08:00
trav90 659022b636 Give WatchManager an owner thread and make sure everything happens there 2018-07-25 07:07:12 +08:00
trav90 d54dbfa0b9 Do watching/mirroring initialization on the state machine task queue
We take this as an opportunity to remove connect-during-initialization.
2018-07-25 07:07:08 +08:00
trav90 032f6f5dc7 Switch mirror/canonical initialization to happen in the constructor
The goal here is to hoist all meaningful watcher/mirror/canonical manipulation onto the owner thread. But since that must necessarily happen asynchronously, we need to make sure that canonicals are in a sane state immediately upon creation, since otherwise a mirror from another thread may attempt to connect to a not-yet-initialized canonical.
2018-07-25 07:07:05 +08:00
trav90 02e984bce2 Initialize the state machine task queue in the initializer list 2018-07-25 07:07:01 +08:00
trav90 e640efcded Redesign state watching to use a manager 2018-07-25 07:05:53 +08:00
trav90 d77ea08468 Eliminate initial notifies
Not really needed or helpful for our use.
2018-07-25 07:05:51 +08:00
trav90 a5b5468889 Use state-watching machinery for UpdateNextFrameStatus 2018-07-25 07:05:45 +08:00
trav90 b415ed83c6 Be more disciplined about where we call UpdateNextFrameStatus
This value depends on mState and the audio/video queue states. Given that, we can just stick these calls in a few choke points.
2018-07-25 07:05:43 +08:00
trav90 41c67a91d8 Mirror mPlayState and mNextState to the state machine task queue and eliminate cross-thread access 2018-07-25 07:05:41 +08:00
trav90 6fa240db4e Re-land "Dispatch AudioSink notifications asynchronously"
Turns out that this is needed after all.
2018-07-25 07:04:46 +08:00
Moonchild 54c849b63d Revert "Re-land "Dispatch AudioSink notifications asynchronously" + fixes" 2018-07-25 07:04:08 +08:00
trav90 1a2fea0658 Re-land "Dispatch AudioSink notifications asynchronously"
This is needed by some new code that I am working on.
2018-07-25 07:03:56 +08:00