Commit Graph

234 Commits

Author SHA1 Message Date
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
25805626b7 Bug 1129732: Part3. Assume buffered range starting close enough to 0 to be 0. 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
3b11f22050 Bug 1126052 - Reenable test_SeekTwice.mp4. r=RyanVM 2015-02-05 14:29:32 -08: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
616049ba2a Bug 1125776: Part11. Fix potential crash. r=mattwoodrow.
Under some circumstances, it was possible for shutdown to have completed
right before the initialization task got to run. Resulting in a null
dereference.
2015-02-04 20:20:16 +11:00
Jean-Yves Avenard
00bc1aec0d Bug 1125776: Part10. Handle concurrent aborts. r=mattwoodrow
Under some circumstances, it was possible for a cancelled queued task to run
and the following one would have been cancelled.
Also add more robust handling in cancelling the trackbuffer initialization
task.
2015-02-04 20:20:16 +11:00
Jean-Yves Avenard
882199f026 Bug 1125776: Part9. Always attempt to create a new decoder if we don't have one. r=mattwoodrow
YouTube continues to call appendBuffer even when the previous call failed.
So we attempt to re-create a decoder where we can should it be a temporary
failure.
2015-02-04 20:20:16 +11:00
Jean-Yves Avenard
301b46619a Bug 1125776: Part8. We don't always need an init segment to be ready. r=mattwoodrow
If abort was called on the source buffer, the parser would have been reset.
The content in the Track Buffer is still valid for playback.
2015-02-04 20:20:16 +11:00
Jean-Yves Avenard
fdf83c97db Bug 1125776: Part7. Only notify reader we have data, when we actually do. r=mattwoodrow 2015-02-04 20:20:16 +11:00
Jean-Yves Avenard
04f33309e6 Bug 1122358: Implement partial reset parser. r=cajbir
Only handles resetting parser and incomplete init segments at this stage.
2015-02-04 20:20:16 +11:00
Jean-Yves Avenard
6cef8e5eb0 Bug 1128115: MediaSource.removeSourceBuffer should call SourceBuffer.abort. r=cajbir 2015-02-04 20:20:15 +11:00
Jean-Yves Avenard
2f427e5bbc Bug 1125776: Part4. Add support for partial WebM init segment. r=kinetik 2015-02-04 20:20:15 +11:00
Jean-Yves Avenard
9a54b12b7a Bug 1125776: Part3. Add support for partial init segment. r=cajbir
Now that we rely on appendBuffer to scan the init segment, it has become
imperative to handle partial segments as it could otherwise lead to
appendBuffer never firing update/updateend
2015-02-02 11:41:43 +11: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
Jean-Yves Avenard
9264bf02f5 Bug 1125776: Part1. Fix initialization of variables. r=cajbir
They could be used when non-initialized.
2015-02-04 20:20:14 +11:00
Chris Double
2f52d72651 Bug 1128161 - Fix build error when logging is disabled - r=ajones 2015-02-03 18:19:47 +13:00
Matt Woodrow
93e9b6aa5f Bug 1128179 - Avoiding crash when appending data after decoder initialization failed. r=jya 2015-02-03 09:44:46 +13: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
Jet Villegas
262d24d412 Bug 1125621 - Remove https://* restriction from the YouTube MSE check. r=kinetik 2015-01-30 21:59:35 -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 Double
ee5e1bf2da Bug 1112424 Part 1 - Add moz specific methods to retrieve debug data to media object IDL - r=bz
Bug 1112424 adds an about:media page that gives debug information about HTMLMediaElements
and in particular MediaSource objects that are live inside tabs. This patch adds
methods to the MediaSource and HTMLMediaElement object to return the debug data as a string
that gets displayed directly in the about:media page, inside a <pre> element.
2015-01-29 15:35:55 +13:00
Carsten "Tomcat" Book
78a3a35208 Merge mozilla-central to mozilla-inbound 2015-01-29 16:17:28 +01:00
Carsten "Tomcat" Book
0f739d2c71 merge b2g-inbound to mozilla-central a=merge on a CLOSED TREE 2015-01-29 16:09:31 +01:00
Matt Woodrow
68af8639ac Bug 1127122 - Make ResourceQueue::Evict treat aSizeToEvict as relative to the start of the data instead of 0. r=cajbir,jya 2015-01-29 23:34:18 +13:00
Chris Pearce
98295b4b3a Bug 1123535 - Make MP4Reader and WMFMediaDataDecoder support going dormant. r=kentuckyfriedtakahe 2015-01-29 21:50:48 +13:00
Kai-Zhen Li
b6ee1830fb Bug 1126499 - Move mp4 code into MOZ_FMP4 compile flag. r=jya 2015-01-29 14:08:58 +08: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
Bobby Holley
5b1f402fb3 Bug 1126465 - Use a MediaPromiseConsumerHolder to track subdecoder seeks. r=mattwoodrow 2015-01-28 18:54:11 -08:00
Bobby Holley
51b0f88fd1 Bug 1126465 - Factor out the seeking phases into helper methods. r=mattwoodrow 2015-01-28 18:54:11 -08:00
Bobby Holley
876a02c933 Bug 1126465 - Factor out calls to Request{Audio,Video}Data into a helper method. r=mattwoodrow 2015-01-28 18:54:11 -08:00
Bobby Holley
15d0881593 Bug 1126465 - Pass consistent arguments to RequestVideoData invocations on subdecoders. r=mattwoodrow 2015-01-28 18:54:11 -08:00
Bobby Holley
c6cbaf8bc1 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-28 18:54:11 -08:00
Bobby Holley
74b8e284f0 Bug 1126465 - Introduce machinery to hold onto MediaPromise::Consumer references, and use it for MediaSourceReader subdecoders. r=mattwoodrow 2015-01-28 18:54:11 -08:00