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
Jean-Yves Avenard
3f595a99db
Bug 1128380: Make AmpleVideoFrames calculation dynamic. r=cpearce
2015-03-09 14:17:30 +11:00
Jean-Yves Avenard
1125bc1df7
Bug 1139380: Ensure all queued tasks are aborted when shutting down. r=cpearce
2015-03-06 16:49:00 +11:00
Bobby Holley
6ad0f8d6af
Bug 1135170 - Rewrite the MediaDecoder-to-MediaDecoderStateMachine interface to be Promise-based. r=mattwoodrow
2015-03-06 19:17:07 -08:00
Bobby Holley
18f55f5190
Bug 1135170 - Move the RenderVideoFrame call to the end of SeekCompleted. r=mattwoodrow
...
This means that we can get rid of the code to recheck state after dropping the
monitor. We'll remove the other monitor drop from this method in a subsequent
patch.
2015-03-06 19:17:06 -08:00
Bobby Holley
995c4315c0
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
06bc6bbee6
Bug 1135170 - Reap some cleanup and assertions that were waiting on this bug. r=mattwoodrow
2015-03-06 19:17:01 -08:00
Bobby Holley
d3fdee2a44
Bug 1135170 - Streamline seek initiation logic and abolish manual seek cancels and retries. r=mattwoodrow
...
The model we're moving towards is one where the MDSM can just disconnect all of
its promises, send a ResetDecode down the pipe, and start doing something
unrelated.
2015-03-06 19:16:59 -08:00
Bobby Holley
a7e51c4ba3
Bug 1135170 - Stop doing sync dispatch for SeekingStarted. r=mattwoodrow
...
I can't see any reason why this should be necessary, and cursory archaeology
suggests that this too is a hand-me-down from previous threading models.
2015-03-06 19:16:57 -08:00
Bobby Holley
3a5daf79e0
Bug 1135170 - Remove silly special case for seeking to exactly the current time. r=mattwoodrow
...
I traced this back to something 2011 or earlier and then gave up. Given that we're
doing an exact microsecond comparison here this is almost certainly dead code in
every case except for the one where the media is paused and JS does
|el.currentTime = el.currentTime|. And in that case, I think running through the
regular seek machinery is probably fine.
2015-03-06 19:16:56 -08:00
Bobby Holley
545f9293f5
Bug 1135170 - Route queued seeks back through MDSM::Seek and eliminate MDSM::StartSeek. r=mattwoodrow
2015-03-06 19:16:54 -08:00
Carsten "Tomcat" Book
34a4cedda2
Backed out changeset 5d97bad42411 (bug 1128380)
2015-03-05 08:38:47 +01:00
Jean-Yves Avenard
7e2e009741
Bug 1128380: Make AmpleVideoFrames calculation dynamic. r=cpearce
2015-03-05 16:53:47 +11:00
Sotaro Ikeda
4578dd1889
Bug 1128357 patch 4: Asynchronize SetDormant() r=cpearce,bobbyholley
2015-03-04 17:34:46 -08:00
Sotaro Ikeda
dda4707d35
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
JW Wang
b31e140a2f
Bug 1128417 - handle playback ended in a consistent way for both file and stream case. r=roc.
2015-03-03 11:08:50 +08:00
JW Wang
6fae44a3df
Bug 1127235 - refactor stream clock calculation in MediaDecoderStateMachine. r=roc.
2015-03-03 10:43:38 +08:00
Andreas Pehrson
649f8b0b4f
Bug 1129263 - Part 3. Add tracks atomically when capturing from decoder. r=roc,jesup
2015-02-24 13:11:32 +08:00
Andreas Pehrson
0ec5a7d891
Bug 1129263 - Part 2. Put hardcoded numeric TrackIDs in MediaInfo instead of DOMMediaStream. r=roc,jesup
2015-02-24 13:06:54 +08:00
Anthony Jones
bf665307e1
Bug 1138253 - Count dropped frames directly; r=cpearce
2015-03-03 17:46:48 +13:00