Commit Graph

111 Commits

Author SHA1 Message Date
Sotaro Ikeda
aef8cc58bd Bug 1158448 Part 2 - Remove ApplyStateToStateMachine and PLAY_STATE_SEEKING r=jwwang,bwu 2015-05-07 08:19:46 -07:00
Sotaro Ikeda
1c5c106f78 Bug 1158448 Part 1 - Replace MDSM::Play with a state-watcher on mPlayState and eliminate ApplyStateToStateMachine. r=sotaro 2015-05-07 08:19:33 -07:00
Bobby Holley
7e4411d3ff Bug 1159974 - Dispatch SetMinimizePrerollUntilPlabackStarts. r=jww 2015-05-04 11:04:48 -07:00
Bobby Holley
598c3289ab Bug 1159974 - Dispatch SetAudioCaptured. r=jww
While we're at it, I figured it was time to experiment with lambdas. :-)
2015-05-04 11:04:47 -07:00
Bobby Holley
d4519a33a2 Bug 1159974 - Mirror mPreservesPitch. r=jww 2015-05-04 11:04:47 -07:00
Bobby Holley
d594a72f36 Bug 1159974 - Mirror mPlaybackRate. r=jww 2015-05-04 11:04:46 -07:00
Bobby Holley
49578f1914 Bug 1159974 - Mirror mVolume. r=jww 2015-05-04 11:04:45 -07:00
Bobby Holley
75cd0709f1 Bug 1160064 - Give WatchManager an owner thread and make sure everything happens there. r=jww 2015-04-30 21:29:50 -07:00
Bobby Holley
1779f7bdee Bug 1160064 - Switch mirror/canonical initialization to happen in the constructor. r=jww
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.
2015-04-30 21:29:48 -07:00
Bobby Holley
987b0f6994 Bug 1160064 - Explicitly initialize logging at the right time. r=jww
The patches in this bug can cause us to log things before some of the Ensure*Log
macros are called. Let's just do this right.
2015-04-30 21:29:42 -07:00
Bobby Holley
7ed6ae7327 Bug 1159558 - Redesign watching to use a manager. r=jww 2015-04-30 12:46:40 -07:00
Bobby Holley
cd25ae6fac Bug 1157803 - Mirror mPlayState and mNextState to the state machine task queue and eliminate cross-thread access. r=jww 2015-04-28 21:56:20 -07:00
Bobby Holley
67746258d9 Bug 1158916 - Revert change to NotifyDataArrived. r=me 2015-04-28 09:21:48 -07:00
Bobby Holley
ae9e12fd47 Bug 1158916 - Stop manually notifying MediaDecoder::mReadyStateWatchTarget. r=jww
If we've got our state graph set up properly, the watch target should be
notified automatically whenever anything relevant changes.
2015-04-27 21:20:10 -07:00
L. David Baron
0984efab4d Bug 1157654 - Back out changeset e73f7d6a138d (bug 1140995) for frequent failures in dom/media/test/test_mediarecorder_getencodeddata.html . 2015-04-25 11:10:37 -07:00
Bobby Holley
fbc2c98020 Bug 1144481 - Use state mirroring for NextFrameStatus. r=jww 2015-04-23 11:55:14 -07:00
Bobby Holley
8d23ca9359 Bug 1144481 - Force state machine setting to go through a setter. r=jww
We need this so that we can hook up the state mirroring in the subsequent patch.
2015-04-23 11:55:13 -07:00
Benjamin Chen
74d5ffb032 Bug 1140995 - part1: At end of stream, send the last video frame to decoded stream with deviation usec if the last video frame's duration is 0. r=jwwang 2015-04-22 18:19:19 +08:00
Bobby Holley
0867953797 Bug 1144486 - Use state watching machinery for mReadyState updates. r=jww 2015-04-22 21:38:11 -07:00
Bobby Holley
49eb65cfec Bug 1154805 - Hoist the GetCurrent TLS logic into AbstractThread. r=jww 2015-04-16 09:28:55 -07:00
Sotaro Ikeda
76f7064cc7 Bug 1139206 - Update AudioOffloadPlayer seek r=bholley,bwu 2015-04-15 14:00:41 -07:00
Jean-Yves Avenard
a7c51ce020 Bug 1153049: Part1. Merge MediaInfo and mp4_demuxer::TrackConfig. r=cpearce
--HG--
extra : rebase_source : 5387f4dbab91f354700361ff14daea33f3b56e2e
2015-04-14 15:15:46 +10:00
Bobby Holley
9839891059 Bug 1151656 - Implement the ability to get the currently running task queue. r=mattwoodrow
I think this will generally be useful for asserting things. If we're concerned
about the TLS overhead we could make it debug-only, but my sense is that it's
negligible.
2015-04-08 21:33:19 -07:00
Bobby Holley
1571be1aab Bug 1151656 - Do static initialization explicitly. r=mattwoodrow 2015-04-08 21:33:18 -07:00
Bobby Holley
2350ad3591 Bug 1148571 - Dispatch AudioSink notifications asynchronously. r=jww 2015-04-08 11:37:18 -07:00
Bobby Holley
9abe3c0ae3 Bug 1150687 - Have callers pass an AbstractThread directly to promise APIs and remove wrapper-style AbstractThreads for MediaTaskQueue. r=jww 2015-04-06 11:09:27 -07:00
Bobby Holley
e28ae4c2f7 Bug 1150687 - Add a convenience/efficiently routine to get an AbstractThread for the main thread. r=jww 2015-04-06 11:09:26 -07:00
Naoki Hirata
e791f12581 Backed out changeset 1f5a169f0476 (bug 1139206) due to it causing bug 1150716 2015-04-02 18:17:36 -07:00
Ryan VanderMeulen
ab26b260cd Merge m-c to inbound. a=merge
CLOSED TREE
2015-03-31 15:01:26 -04:00
Alastor Wu
5f4ff6530f Bug 1107534 - Using audio channels type to capture different stream. r=roc 2015-03-31 10:14:00 +08:00
Sotaro Ikeda
1255918bb8 Bug 1139206 - Update AudioOffloadPlayer seek r=bholley,bwu 2015-03-31 10:02:22 -07:00
Bobby Holley
01705d6512 Bug 1145686 - Make MDSM::StartBuffering happen on the state machine thread. r=jww 2015-03-27 16:26:02 -07:00
Bobby Holley
896a455d03 Bug 1145686 - Make MDSM::Shutdown happen on the state machine thread. r=jww 2015-03-27 16:26:02 -07:00
Bobby Holley
70685709f1 Bug 1144519 - Rename MediaDecoder::OnDecodeThread to MediaDecoder::OnDecodeTaskQueue. r=jya 2015-03-27 11:50:21 -07:00
Bobby Holley
bf4c9334cc Bug 1144519 - Rename MDSM::OnDecodeThread to MDSM::OnDecodeTaskQueue. r=jya 2015-03-27 11:50:19 -07:00
Bobby Holley
aa048233f5 Bug 1144519 - Rename OnStateMachineThread-like functions to reflect the fact that it's a task queue. r=jya 2015-03-27 11:50:19 -07:00
Bobby Holley
9487e1743a Bug 1136873 - Deliver NotifyWaitingForResourcesStatusChanged asynchronously on the state machine task queue. r=mattwoodrow
The previous setup is wacky, and can cause the notification to reach the state
machine before the promise rejection, which causes us to stall intermittently.
We also take the opportunity to be a bit less trigger happy when we fire it
in MediaSourceReader.cpp.
2015-03-23 13:17:52 -07:00
Bobby Holley
40a80320a6 Bug 1136873 - Use promises for metadata decoding. r=mattwoodrow 2015-03-23 13:17:51 -07:00
Ehsan Akhgari
883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Daniel Holbert
082fd9cd7f Bug 1142841: Convert all nsRefPtr<nsIRunnable> to nsCOMPtr<nsIRunnable>. r=ehsan
This patch was generated by a script.  Here's the source of the script for
future reference:

find . \( -iname "*.cpp" -o -iname "*.h" \) | \
  xargs -n 1 sed -i "s/nsRefPtr<nsIRunnable>/nsCOMPtr<nsIRunnable>/g"
2015-03-17 09:29:17 -07:00
Bobby Holley
53ad5b2a9c Bug 1135424 - Switch the MDSM to a task queue. r=mattwoodrow 2015-03-16 14:38:44 -07:00
Phil Ringnalda
345a4eca93 Back out 3 changesets (bug 1135424) on suspicion of causing frequent hangs in test_playback.html on mochitest-e10s
CLOSED TREE

Backed out changeset 584d91ffdf88 (bug 1135424)
Backed out changeset d86806ea63f4 (bug 1135424)
Backed out changeset e52401d30a67 (bug 1135424)
2015-03-12 23:05:11 -07:00
Bobby Holley
0563f41ef7 Bug 1135424 - Switch the MDSM to a task queue. r=mattwoodrow 2015-03-12 17:54:35 -07:00
Chris Double
17b0191dec Bug 1131884 - Video buffering calculation fails for some MP4 videos - r=jya
Playback position used in calculating buffering time is set
during metadata reading. This is at end of file for the
video in the bug. As a result the buffering data is always
wrong.

Changed to not setting position during metadata - it is set
during frame playback anyway.

Also changes buffering timeout to 15s from 30s.
2015-03-13 13:45:51 +13:00
Karl Tomlinson
96611b45a9 bug 1139874 check for shutdown before asking the reader for buffered r=bholley
--HG--
extra : rebase_source : cbc7f06a89dfbaf22eb590c51ba709a4757296d0
2015-03-10 09:53:31 +13:00
Bobby Holley
578cad549e Bug 1135170 - Rewrite the MediaDecoder-to-MediaDecoderStateMachine interface to be Promise-based. r=mattwoodrow 2015-03-06 19:17:07 -08:00
Bobby Holley
e02c011cd4 Bug 1135170 - Move some work from MDSM::Seek to MDSM::InitiateSeek. r=mattwoodrow
This has two implications:
* We no longer need to pipe mQueuedSeekTarget through MDSM::Seek to get the
  appropriate clamping.
* MDSM::Seek doesn't _need_ to be called on the main thread anymore.
2015-03-06 19:17:04 -08:00
Bobby Holley
845ad750dc Bug 1135170 - Stop updating playback position from Ogg seek and remove MediaDecoder::UpdatePlaybackPosition. r=mattwoodrow
The ogg reader makes two adjustments to the seek time - the first is to clamp it
between start and end time, which MDSM already does. The second is to subtract
SEEK_OPUS_PREROLL from the target. If we wanted to, we could return this as the
resolve value in the seek promise and handle the update in the MDSM. But I think
DropVideoUpToSeekTarget should actually handle this just fine.
2015-03-06 19:17:00 -08:00
Sotaro Ikeda
8268179262 Bug 1128357 patch 4: Asynchronize SetDormant() r=cpearce,bobbyholley 2015-03-04 17:34:46 -08:00
Sotaro Ikeda
b3535ec3a6 Bug 1128357 Patch 2: Don't dispatch seeking/seeked events when coming out of dormant mode r=cpearce 2015-03-04 17:33:40 -08:00