Commit Graph

129 Commits

Author SHA1 Message Date
Jean-Yves Avenard
befe07bd6d Bug 1143971: Part1. Come out of waiting mode when mediasource is ended. r=mattwoodrow 2015-03-23 21:08:05 +11:00
Jean-Yves Avenard
5805d0fdc7 Bug 1141333: Mark reader has ended when EndOfStream explicit. r=mattwoodrow 2015-03-23 21:08:05 +11:00
Edwin Flores
3b999ebf25 Bug 1134434 - Fix bustage on a CLOSED TREE - r=bustage 2015-03-23 16:44:20 +13:00
Edwin Flores
b6f093015a Bug 1134434 - Fire loadedmetadata before encrypted event on encrypted MP4s - r=cpearce 2015-03-23 15:31:15 +13:00
Jean-Yves Avenard
4c48e379a5 Bug 1128332: Part3. Re-attempt to decode from last failed position. r=mattwoodrow 2015-03-18 14:10:58 +11:00
Jean-Yves Avenard
a6ad87ea37 Bug 1128332: Part2. Don't consider decoding error as fatal. r=mattwoodrow
A decoding error may be temporary. In particular should the range removal
algorithm be called while attempting to demux frames about to be evicted.
2015-03-18 14:10:58 +11:00
Jean-Yves Avenard
8154405d16 Bug 1128332: Part1. Add useful informations to logging. r=mattwoodrow 2015-03-18 14:10:58 +11:00
Jean-Yves Avenard
aff59a70fb Bug 1139380: Ensure all queued tasks are aborted when shutting down. r=cpearce 2015-03-06 16:49:00 +11:00
Bobby Holley
f3b219533c 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
Karl Tomlinson
923c8ade86 bug 1123492 remove ResetDecode() call from MediaSourceReader::AttemptSeek() r=mattwoodrow
and this was already called before Seek().
2015-02-17 14:35:47 +13:00
Karl Tomlinson
d470aca6b6 bug 1123492 ResetDecode() on subreaders before Seek() r=mattwoodrow 2015-02-28 19:46:22 +13:00
Karl Tomlinson
a491c4381b bug 1123492 update comment to describe the thread that runs AttemptSeek() r=mattwoodrow 2015-02-17 13:58:55 +13:00
Bobby Holley
3481a5fcb8 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
Jean-Yves Avenard
66008382dc Bug 1128397: Work around EOS detection in MSE. r=mattwoodrow
This attempts to handle video and audio sourcebuffer not having exactly the
same duration, so the ended event is properly fired.
2015-03-02 10:47:54 +11:00
Jean-Yves Avenard
0a3586dfb9 Bug 1134387: Prevent crash when decoder couldn't be created. r=edwin 2015-02-27 11:31:46 +11:00
Ryan VanderMeulen
1bcd8aa6f1 Bug 1131433 - Re-add accidentally-removed GetMediaSourceLog() declarations.
CLOSED TREE
2015-02-27 17:37:52 -05:00
Karl Tomlinson
f447869d7f back out 6fc9b30bbdd9..232b818847e7 from bug 1123492 for crashes in DoVideoSeek() 2015-02-26 19:37:48 +13:00
Karl Tomlinson
6afea1ad14 bug 1123492 remove ResetDecode() call from MediaSourceReader::AttemptSeek() r=mattwoodrow
and this was already called before Seek().
2015-02-17 14:35:47 +13:00
Karl Tomlinson
e7a479b9aa bug 1123492 ResetDecode() on subreaders when switching to current or seeking r=mattwoodrow 2015-02-18 19:23:31 +13:00
Karl Tomlinson
750d67cbd2 bug 1123492 update comment to describe the thread that runs AttemptSeek() r=mattwoodrow 2015-02-17 13:58:55 +13:00
Jean-Yves Avenard
2c4cc92b83 Bug 1134064: Part4. Fix racing condition should data get evicted. r=mattwoodrow
Should required data get evicted between the time we checked for availability
and the time we started seeking, it would have caused the seek to fail. Instead
cancel current seek and go back waiting for more data.
2015-02-24 16:38:41 +11:00
Jean-Yves Avenard
7c9260ddd3 Bug 1134064: Part2. Drop current reader when seeking outside range. r=mattwoodrow 2015-02-24 16:38:41 +11:00
Jean-Yves Avenard
7d129db315 Bug 1134064: Part1. Don't hold on reader when we stop needing it. r=mattwoodrow 2015-02-24 16:38:41 +11:00
Jean-Yves Avenard
43f860dc7e Bug 1132796: Evict data we likely previously read. r=cajbir
Also attempt to evict future data, the furthest away from playback position.
2015-02-13 16:52:42 +11:00
Jean-Yves Avenard
aae7b08535 Bug 1131487: Part3. Fix stall when switching decoders. r=mattwoodrow 2015-02-17 16:22:51 +13:00
Jean-Yves Avenard
51ab550327 Bug 1131433: Show codec/container type in MSE logs. r=cajbir
Also rationalize MSE debugging logs, so they all follow the same format.
2015-02-12 18:52:13 +11:00
Jean-Yves Avenard
1e96adcc55 Bug 1125469: Part3. Make sure we stop dropping frames from previous operation after seeking. r=mattwoodrow 2015-02-09 23:29:01 +11:00
Jean-Yves Avenard
0727bfba77 Bug 1125469: Part2. Ensure discontinuity flag is set after seeking. r=mattwoodrow
Under some circumstances, the discontinuity flag value would be lost, leading
the state machine to drop all frames being decoded.
2015-02-09 23:29:01 +11:00
Jean-Yves Avenard
4edcc1c24b Bug 1125469: Part1. Don't attempt to seek on time found with fuzz search. r=mattwoodrow
Instead seek to the actual time available.
2015-02-06 23:51:46 +11:00
Jean-Yves Avenard
875b221058 Bug 1129732: Part4. Use sourcebufferdecoder's end time. r=mattwoodrow 2015-02-09 23:29:00 +11:00
Jean-Yves Avenard
fb71392d00 Bug 1129732: Part1. Dynamically adjust calculations using timestampoffset. r=mattwoodrow
Timestamp Offset calculations are now done exclusively by the Media Source
components which allow to recalculate them on the fly. By abstracting those
offsets it remove the need for the sub-decoders to handle them (which allows
to add WebM support).
2015-02-09 23:28:59 +11:00
Bobby Holley
9388e420b4 Bug 1128811 - Reject data wait promises when we seek. r=cpearce 2015-02-04 17:33:40 -08:00
Bobby Holley
16acf82831 Bug 1129247 - Use MOZ_DIAGNOSTIC_ASSERT instead of MOZ_RELEASE_ASSERT in media code. r=mattwoodrow 2015-02-04 13:13:59 -08:00
Jean-Yves Avenard
5a8ea7fce0 Bug 1125776: Part2. appendBuffer scanning the data before firing updateend. r=mattwoodrow 2015-02-04 20:20:15 +11:00
Naoki Hirata
4ea46eb077 Bug 1128113 - Skip mSharedDecoderManager which is part of MozMP4. r=jya, a=bustage 2015-01-31 02:22:38 -08:00
Bobby Holley
b8cefec2b4 Bug 1127203 - Use the tolerance value in TrackBuffersContainTime so that seeking operates with tolerance too. r=mattwoodrow 2015-01-30 17:45:49 -08:00
Bobby Holley
f9cd69df6e Bug 1127203 - Be more consistent about when and how we apply the fuzz factor. r=mattwoodrow 2015-01-30 17:45:49 -08:00
Bobby Holley
bc10ba2ce6 Bug 1127203 - Rename aError to aTolerance. r=mattwoodrow
aError is a really misleading name.
2015-01-30 17:45:49 -08:00
Bobby Holley
05a5c1facc Bug 1126465 - Use a MediaPromiseConsumerHolders to track subdecoder seeks. r=mattwoodrow
This combines part 10 and part 10.5 in the bug.
2015-01-29 22:11:12 -08:00
Bobby Holley
4266f6aab4 Bug 1126465 - Factor out the seeking phases into helper methods. r=mattwoodrow 2015-01-29 22:11:11 -08:00
Bobby Holley
caff9d581b Bug 1126465 - Factor out calls to Request{Audio,Video}Data into a helper method. r=mattwoodrow 2015-01-29 22:11:11 -08:00
Bobby Holley
5d7499a6e3 Bug 1126465 - Pass consistent arguments to RequestVideoData invocations on subdecoders. r=mattwoodrow 2015-01-29 22:11:11 -08:00
Bobby Holley
c278929f00 Bug 1126465 - Cancel sample requests when seeks start, disallow them while seeks are happening, and assert against seeks when samples arrive. r=mattwoodrow
The duplication of the IsSeeking() checks before all the Request{Audio,Video}Data
callsites is ugly. We'll fix this in the next patch by applying the same disconnect
treatment to the seek promise.
2015-01-29 22:11:11 -08:00
Bobby Holley
26025b8ba0 Bug 1126465 - Introduce machinery to hold onto MediaPromise::Consumer references, and use it for MediaSourceReader subdecoders. r=mattwoodrow 2015-01-29 22:11:11 -08:00
Bobby Holley
0caec3f16d Bug 1126465 - Don't leave stale value in mPendingSeek when there's no audio track. r=mattwoodrow 2015-01-29 22:11:11 -08:00
Bobby Holley
ab598e783e Bug 1126465 - Stop invoking On*NotDecoded when we didn't actually go through the promise. r=mattwoodrow
This isn't right, and it means that we can't assume at the top of
On{Audio,Video}{,Not}Decoded() that we're fresh out of promise dispatch, which
we want to do.
2015-01-29 22:11:11 -08:00
Chris Double
e60ef82770 Bug 1112424 Part 3 - Adds size of the resource to the output a=ajones 2015-01-29 15:36:02 +13:00
Chris Double
53340761b8 Bug 1112424 Part 2 - Implement MediaSource methods to return debug information for about:media - r=ajones 2015-01-29 15:35:58 +13:00
Chris Pearce
98295b4b3a Bug 1123535 - Make MP4Reader and WMFMediaDataDecoder support going dormant. r=kentuckyfriedtakahe 2015-01-29 21:50:48 +13:00
Wes Kocher
6297d58550 Backed out 10 changesets (bug 1126465) for b2g osx build bustage on a CLOSED TREE
Backed out changeset a0a572ab4614 (bug 1126465)
Backed out changeset c96bac2df9a4 (bug 1126465)
Backed out changeset ebe589cc0d92 (bug 1126465)
Backed out changeset 96e70a10440c (bug 1126465)
Backed out changeset 47301816c705 (bug 1126465)
Backed out changeset dd957ede2d36 (bug 1126465)
Backed out changeset d8045d89bfda (bug 1126465)
Backed out changeset 22aff1448376 (bug 1126465)
Backed out changeset 212c4e3377f8 (bug 1126465)
Backed out changeset 408b00141b82 (bug 1126465)
2015-01-28 19:54:34 -08:00