Commit Graph

205 Commits

Author SHA1 Message Date
Bobby Holley
dc8cc8f105 Bug 1159558 - Redesign watching to use a manager. r=jww 2015-04-30 12:46:40 -07:00
Bobby Holley
af73e74f6d Bug 1159558 - Eliminate initial notifies. r=jww
They've proven themselves to be a hassle, and I think we can live without them.
2015-04-30 12:46:38 -07:00
Bobby Holley
859433f1b7 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
e613167523 Bug 1157797 - Use state-watching machinery for UpdateNextFrameStatus. r=jww
The ergonomics here aren't ideal. I'm going to file a bug to improve them.
2015-04-27 21:20:41 -07:00
Bobby Holley
96bc3efe2c Bug 1157797 - Be more disciplined about where we call UpdateNextFrameStatus. r=jww
This value depends on mState and the audio/video queue states. Given that, we can
just stick these calls in a few choke points.
2015-04-27 21:20:38 -07:00
L. David Baron
a0129b4a8a 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
1e4f8d4df5 Bug 1144481 - Use state mirroring for NextFrameStatus. r=jww 2015-04-23 11:55:14 -07:00
Bobby Holley
e29dc7039e Bug 1144481 - Invoke SeekCompleted synchronously. r=jww
The current behavior is a holdover from when this some of this tuff was happening
on the decode thread. It's problematic because nothing guarantees that we don't
call CheckIfSeekComplete twice, and queue up two SeekCompleted events.
2015-04-23 11:55:12 -07:00
Benjamin Chen
ffeba9d5b7 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
1ba645d625 Bug 1154805 - Stop manually passing TaskDispatchers everywhere. r=jww 2015-04-16 09:28:56 -07:00
Bobby Holley
5f6ad25612 Bug 1154805 - Remove MaybeTailDispatch. r=jww
This is now the default behavior.
2015-04-16 09:28:56 -07:00
Jean-Yves Avenard
84b9d11448 Bug 1153049: Part1. Merge MediaInfo and mp4_demuxer::TrackConfig. r=cpearce 2015-04-14 15:15:46 +10:00
Blake Wu
b6e593501d Bug 1152218 - Have a larger tolerance to decide if video data is low or not. r=cpearce. 2015-04-08 17:57:18 +08:00
Bobby Holley
df317017f6 Bug 1151656 - Use TailDispatch for the MDSM's task queue. r=mattwoodrow 2015-04-08 21:33:21 -07:00
Bobby Holley
c39072cb1d Bug 1151656 - Stop doing sync dispatch of PlaybackEnded. r=mattwoodrow 2015-04-08 21:33:18 -07:00
Bobby Holley
09e9d15248 Bug 1151656 - Add some more assertions. r=mattwoodrow 2015-04-08 21:33:17 -07:00
Bobby Holley
b05615f72f Bug 1148571 - Dispatch AudioSink notifications asynchronously. r=jww 2015-04-08 11:37:18 -07:00
Bobby Holley
99f551b545 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
Kilik Kuo
9c2dc545dc Bug 1146304 - Touch slider bar or tap forward button, the video got stuck 1s then resume playing. r=cpearce 2015-04-02 16:19:37 +08:00
Alastor Wu
f604a1f723 Bug 1107534 - Using audio channels type to capture different stream. r=roc 2015-03-31 10:14:00 +08:00
Nicolas Silva
a1b30cee6c Bug 1132854 - Remove useless ThebesIntSize conversion helper. r=Bas 2015-03-29 16:59:15 +02:00
Bobby Holley
b40cc2cc05 Bug 1145686 - Assert state machine thread for SetState. r=jww
We assert in CheckInDecodeComplete as well for good measure, since that's the
last caller of SetState that doesn't already assert it.
2015-03-27 16:26:03 -07:00
Bobby Holley
74a27060ba Bug 1145686 - Make MDSM::StartBuffering happen on the state machine thread. r=jww 2015-03-27 16:26:02 -07:00
Bobby Holley
003447cd59 Bug 1145686 - Make MDSM::Shutdown happen on the state machine thread. r=jww 2015-03-27 16:26:02 -07:00
Bobby Holley
70d83b7bb5 Bug 1144519 - Rename MDSM::OnDecodeThread to MDSM::OnDecodeTaskQueue. r=jya 2015-03-27 11:50:19 -07:00
Bobby Holley
93603b16a4 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
3b6a9a17c7 Bug 1142336 - Create one unified thread pool for media code and run the MDSM task queues on it. r=mattwoodrow
This allows for parallel MDSM execution. \o/
2015-03-25 17:46:26 -07:00
Bobby Holley
11a8421bd8 Bug 1147495 - Add missing string to state list. r=me 2015-03-25 11:59:46 -07:00
Bobby Holley
20cb62800b Bug 1136827 - Stop synchronously dispatching MediaDecoder::DecodeError from MDSM::DecodeError. r=mattwoodrow
MediaDecoder::DecodeError invokes MediaDecoder::Shutdown, which shuts down the
state machine. Given the sync dispatch, this means that this is basically already
what's happening.
2015-03-24 22:02:43 -07:00
Bobby Holley
550e4090b3 Bug 1136827 - Stop proxying DecodeError to the decode thread. r=mattwoodrow
At this point, all the callers actually call it on the state machine thread,
where it belongs.
2015-03-24 22:02:36 -07:00
Bobby Holley
94ca019546 Bug 1136827 - Call OnAudioSinkError on state machine thread. r=jww 2015-03-24 22:02:02 -07:00
Wes Kocher
ee26ad4815 Backed out 2 changesets (bug 1136827) for crashtest assertions CLOSED TREE
Backed out changeset 998f44ed19fb (bug 1136827)
Backed out changeset 3eb419228c1f (bug 1136827)
2015-03-24 17:21:21 -07:00
Bobby Holley
7428e97be8 Bug 1136827 - Stop synchronously dispatching MediaDecoder::DecodeError from MDSM::DecodeError. r=mattwoodrow
MediaDecoder::DecodeError invokes MediaDecoder::Shutdown, which shuts down the
state machine. Given the sync dispatch, this means that this is basically already
what's happening.
2015-03-24 15:01:48 -07:00
Bobby Holley
e894cd71ac Bug 1136827 - Stop proxying DecodeError to the decode thread. r=mattwoodrow
At this point, all the callers actually call it on the state machine thread,
where it belongs.
2015-03-24 15:01:47 -07:00
Bobby Holley
177218094a Bug 1145203 - Unify FlushDecoding, ResetDecode, and ResetPlayback into a single Reset() method. r=mattwoodrow 2015-03-23 17:07:10 -07:00
Bobby Holley
9d68ce72e1 Bug 1145203 - Remove the AwaitIdle call in FlushDecoding. r=mattwoodrow
There are two callers of FlushDecoding - One is shutdown (where we already use
promises to wait for the queue to go idle via BeginShutdown), and the other is
dormant (see the comment).
2015-03-23 17:07:09 -07:00
Bobby Holley
17c0fc3735 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
0595234323 Bug 1136873 - Use promises for metadata decoding. r=mattwoodrow 2015-03-23 13:17:51 -07:00
Jean-Yves Avenard
884bf4f490 Bug 1144617: Part1. Add MediaResource::IsLiveStream() API. r=cpearce
We can't just rely on the MediaResource size to be -1 with MSE. It needs a
dedicated method.
2015-03-23 21:08:05 +11:00
Edwin Flores
e53ddec380 Bug 1134434 - Fire loadedmetadata before encrypted event on encrypted MP4s - r=cpearce 2015-03-23 15:31:15 +13:00
Phil Ringnalda
5b2fd51990 Back out 59fd15407a79 (bug 1142336) for shutdown hangs
CLOSED TREE
2015-03-18 20:38:43 -07:00
Bobby Holley
8e3a1eb01e Bug 1142336 - Create one unified thread pool for media code and run the MDSM task queues on it. r=mattwoodrow
This allows for parallel MDSM execution. \o/
2015-03-18 18:00:49 -07:00
Bobby Holley
d2d228eac0 Bug 1135424 - Run MDSM disposal off the MediaPromise returned by initiating shutdown on the task queue. r=mattwoodrow 2015-03-16 14:38:45 -07:00
Bobby Holley
70a43b602e Bug 1135424 - Switch the MDSM to a task queue. r=mattwoodrow 2015-03-16 14:38:44 -07:00
Sotaro Ikeda
30f492a6c2 Bug 1142527 - Always call ReleaseMediaResources() when entering dormant r=cpearce 2015-03-15 20:51:02 -07:00
Phil Ringnalda
125bfb9a0d 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
df2a904e12 Bug 1135424 - Switch the MDSM to a task queue. r=mattwoodrow 2015-03-12 17:54:35 -07:00
Chris Double
1fd7cca483 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
Matt Woodrow
2ad0ff228a Bug 1131638 - Disable hardware decoding if too many frames are invalid. r=cpearce 2015-03-12 22:14:51 +13:00
Matt Woodrow
a14106a07b Bug 1131638 - Record invalid frames as dropped for video playback stats. r=ajones 2015-03-12 22:14:04 +13:00