Commit Graph

72 Commits

Author SHA1 Message Date
Daniel Holbert
2c24121797 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
5d75d51dac Bug 1135424 - Switch the MDSM to a task queue. r=mattwoodrow 2015-03-16 14:38:44 -07:00
Phil Ringnalda
449b70840e 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
fb69461e18 Bug 1135424 - Switch the MDSM to a task queue. r=mattwoodrow 2015-03-12 17:54:35 -07:00
Chris Double
99f7bdd3a1 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
c3c1281c42 bug 1139874 check for shutdown before asking the reader for buffered r=bholley 2015-03-10 09:53:31 +13:00
Bobby Holley
be7c55afa1 Bug 1135170 - Rewrite the MediaDecoder-to-MediaDecoderStateMachine interface to be Promise-based. r=mattwoodrow 2015-03-06 19:17:07 -08:00
Bobby Holley
05dfa7b904 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
46d76b41ab 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
bf0c769d58 Bug 1128357 patch 4: Asynchronize SetDormant() r=cpearce,bobbyholley 2015-03-04 17:34:46 -08:00
Sotaro Ikeda
796ca98bba 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
Sotaro Ikeda
dad8dee2fb Bug 1128357 Patch 1 - Add extra dormant logging r=bobbyholley 2015-03-04 17:32:54 -08:00
JW Wang
ff97a317c8 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
3bf536b866 Bug 1127235 - refactor stream clock calculation in MediaDecoderStateMachine. r=roc. 2015-03-03 10:43:38 +08:00
Bobby Holley
4ffe849a5a Bug 1135785 - Return samples on state machine thread. r=cpearce
This is necessary because we're going to want to start disconnecting sample
and seek requests directly from the state machine thread, and the machinery
asserts that disconnection happens on the same thread as resolution.

More generally, this is the right thing to do architecturally, and will help
wean us off the monitor.
2015-03-01 19:33:49 -08:00
Chris Double
44c110fd82 Bug 1119947 - Add telemetry for MSE video playback - r=cpearce,bsmedberg
This adds telemetry to record the state of the video playback
when the user exits. We are interested in knowing if the video
was buffering, paused, seeking, ended or other.

More telemetry will be added in bug 1127646.
2015-02-20 13:46:56 +13:00
JW Wang
043cefc4e3 Bug 1128420 - remove finished output streams from MediaDecoder::mOutputStreams. r=roc. 2015-02-10 10:45:41 +08:00
Nicholas Nethercote
6ee3666899 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 488e401ff87e31a2074c4108c4df0572d9536667
2015-02-09 14:34:50 -08:00
Matthew Gregan
001efce8d3 Bug 1130923 - Remove some DASHDecoder remnants: RestrictedAccessMonitor and GetByteRangeForSeek. r=cpearce 2015-02-10 11:59:20 +13:00
Andrew McCreight
8413cc973c Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote
3629781b69 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo.
--HG--
extra : rebase_source : 99182e70335d2b5ff95f8c528ae992d37294be3a
2015-02-04 20:05:36 -08:00
JW Wang
026fbc7563 Bug 1128411. Part 1 - fix some bugs in MediaDecoderStateMachine::SendStreamData(). r=roc. 2015-02-02 13:53:54 +08:00
JW Wang
1047aa9988 Bug 1127171 - Put mozCaptureStream operations in the same lock. r=roc 2015-01-28 18:57:00 -05:00
Bobby Holley
4f52f7dfa2 Bug 1120241 - Schedule the state machine when setting logical decoder state. r=cpearce 2015-01-29 22:16:28 -08:00
Sotaro Ikeda
6354675424 Bug 1123452 - Try to enter dormant state when document is hidden r=cpearce 2015-01-28 06:31:31 -08:00
Ryan VanderMeulen
fc7e02c5d8 Backed out changeset fad4fd21ab1d (bug 1123452) for Windows w-p-t failures and Linux mochitest orange.
CLOSED TREE
2015-01-27 22:00:41 -05:00
Sotaro Ikeda
9c64ff755d Bug 1123452 - Make Mp4Reader enter dormant state when it is idle and its document is hidden. r=cpearce 2015-01-28 13:56:58 +13:00
Carsten "Tomcat" Book
fea13146a2 Backed out changeset 304e3ccaf533 (bug 1123452) for windows crashtest bustage on a CLOSED TREE 2015-01-27 09:39:41 +01:00
Sotaro Ikeda
efc9bfa75d Bug 1123452 - Make Mp4Reader enter dormant state when it is idle and its document is hidden. r=cpearce 2015-01-27 19:30:11 +13:00
Sotaro Ikeda
b2ce9ce4fc Bug 1124957 - Fix typo of Dormant r=cpearce 2015-01-23 07:00:39 -08:00
Sotaro Ikeda
b224ae7358 Bug 1122228 - Use document's status change to trigger MediaDecoderStateMachine's dormant status change r=cpearce 2015-01-21 20:01:12 -08:00
Karl Tomlinson
82ccbfca64 bug 1123189 Queue "durationchange" instead of dispatching synchronously r=cpearce
http://www.w3.org/TR/2014/REC-html5-20141028/embedded-content-0.html#offsets-into-the-media-resource

"When the length of the media resource changes to a known value (e.g. from
being unknown to known, or from a previously established length to a new
length) the user agent must queue a task to fire a simple event named
durationchange at the media element."

--HG--
extra : rebase_source : 531ed14a241546613cf810cd6bf9b4a8c88d2d9e
extra : histedit_source : 86253e972d1dbb8f95af5167eb7487c1ddf6da14
2015-01-19 17:11:43 +13:00
Bobby Holley
044e47fe28 Bug 1121692 - Make seeks cancelable. r=cpearce,r=mattwoodrow 2015-01-16 10:58:00 -08:00
Sotaro Ikeda
6e6fd50450 Bug 1110343 - Suppress redundant loadedmetadata event when dormant exit r=cpearce 2015-01-16 07:56:19 -08:00
Sotaro Ikeda
af8104c475 Bug 1121658 - Remove DestroyDecodedStream() from MediaDecoder::SetDormantIfNecessary() r=roc 2015-01-16 06:56:14 -08:00
Jonathan Hao
cdbaddc55e Bug 1080461 - Part 2: Fix RTSP autoplay. r=bechen, r=jwwang 2015-01-06 09:58:04 +08:00
Karl Tomlinson
56fa1403ba bug 975782 bring media resource loads out of background while they delay the load event r=cpearce
This will happen after a stalled load doesn't delay the load event but such a
load then delays the load event again when it receives progress.

--HG--
extra : rebase_source : a04dd7416f86306cfc62aabba20fb30415572d98
2014-12-23 14:16:05 +13:00
Alastor Wu
5b3d4967e2 Bug 1105913 - [b2g] video can't playback after waking up from the dormant state, part 2 : revert changeset. r=roc. 2014-12-23 15:03:15 +08:00
Alastor Wu
eedc46cd68 Bug 1105913 - [b2g] video can't playback after waking up from the dormant state, part 1 : avoid blocking. r=roc. 2014-12-23 15:04:20 +08:00
Jonathan Hao
52faaa6614 Bug 1111518 - Fix the logic in MediaDecoder::CanPlayThrough(). r=jwwang 2014-12-17 15:05:40 +08:00
Alastor Wu
aede0b5682 Bug 1100803 - Re-create a decoded media stream if necessary. r=roc 2014-12-15 09:22:15 +08:00
Alastor Wu
879436436c Bug 1100803 - Avoid repeated deletion of media ports. r=roc 2014-12-11 10:53:00 +08:00
Sotaro Ikeda
ca2e2e5c88 Bug 1108728 - Remove dormant related state from MediaDecoder r=cpearce 2014-12-12 17:29:24 -08:00
Karl Tomlinson
edf785a07c bug 1108838 move stalled/progress timing from MediaDecoder to HTMLMediaElement r=cpearce
This provides that mNetworkState is available for determining whether progress
notification from the resource/MediaCache after stalled should resume progress
events.  The timer will be stopped while stalled in a subsequent patch, and
should not be restarted unless NETWORK_LOADING.

--HG--
extra : rebase_source : e335555de404f6a899762be3c05b8f5444c357e3
2014-11-28 12:17:18 +13:00
Karl Tomlinson
01db7a2b8e bug 1108787 use NowLoRes() for progress event timing r=cpearce
Precision is not required, and is more costly on some platforms.

--HG--
extra : rebase_source : de36a0d249a89e579a7433f40c89b339f7db5b49
2014-11-21 15:45:29 +13:00
Karl Tomlinson
63b2b899ae bug 1108787 dispatch progress even when timer runs late r=cpearce
avoiding skipping progress events when data is received only soon after the
previous progress event.

--HG--
extra : rebase_source : 5108ae7d91bac613ed67f85c0963c6ca020bee07
2014-11-21 17:37:44 +13:00
Bobby Holley
2123ec5be1 Bug 1097823 - Implement Media Promises. r=cpearce 2014-12-08 14:45:37 -08:00
Ryan VanderMeulen
8b716a35b2 Backed out changesets ae63e2dda6e0, a9ca0113db3c, and d0a6757e24bd (bug 1097823) for bustage.
DONTBUILD CLOSED TREE
2014-12-08 15:00:02 -05:00
Bobby Holley
081dbd1936 Bug 1097823 - Implement Media Promises. r=cpearce 2014-12-08 11:34:50 -08:00
Andreas Pehrson
9110cac5c4 Bug 1106963 - Resync media stream clock before destroying decoded stream. r=roc 2014-12-04 19:29:00 +01:00