Jean-Yves Avenard
cd2aae8295
Bug 1132825: Don't evict partial segments. r=cajbir
...
Evicting a partial segment can leave the entire sourcebuffer in unplayable
state.
2015-02-17 16:24:19 +13:00
Jean-Yves Avenard
31151f0376
Bug 1131487
: Part3. Fix stall when switching decoders. r=mattwoodrow
2015-02-17 16:22:51 +13:00
Karl Tomlinson
e60c5ee086
bug 1132328 make ReleaseDecoderTask conversion constructor explicit r=fix
2015-02-16 18:20:56 +13:00
Karl Tomlinson
1d41559e74
bug 1095251 clear mDecoder on reader during Shutdown() r=cpearce
...
--HG--
extra : rebase_source : 7bd0c13ca1aa821998f6ec46ba578c6ed8a0d8f9
2015-02-10 15:50:02 +13:00
Karl Tomlinson
3ecf1f0bcf
bug 1132328 remove mCurrentDecoder handling from RemoveDecoder() r=jya
...
--HG--
extra : rebase_source : 606b250875900916431115791d3bd0ad723fe4f0
2015-02-12 15:57:40 +13:00
Jean-Yves Avenard
b1c9833790
Bug 1130839: mochitest ensuring element seeks to end of media when truncated. r=cajbir
...
Test that truncating the media when changing mediasource.duration attribute
immediately adjusts the buffered range and cause seek to the end of the new
media duration (adjusting currentTime).
2015-02-12 18:53:53 +11:00
Jean-Yves Avenard
fb8fc9e241
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
e12bdb0e21
Bug 1130948: Part2. Ensure we don't overflow when setting duration. r=cajbir
2015-02-12 18:52:12 +11:00
Jean-Yves Avenard
164b744ccd
Bug 1130948: Part1. Use mediasource duration to determine media element duration. r=cajbir
2015-02-12 18:52:12 +11:00
Jean-Yves Avenard
5ceb7474c4
Bug 1130826: Run range removal algorithm when setting mediasource duration. r=cajbir
2015-02-12 18:52:12 +11:00
Karl Tomlinson
f4c26f919f
bug 1092915 document that mCurrentDecoder is modified on main thread only r=mattwoodrow
...
--HG--
extra : rebase_source : 5b69453209f5fcb181c9586783435836031213ba
2015-02-11 11:30:39 +13:00
Matt Woodrow
c5084c566b
bug 1092915 modify mCurrentDecoder on main thread after RemoveDecoder r=karlt
...
--HG--
extra : rebase_source : e183dd309ad391119967804a2e388b4a1e91df79
2015-02-11 11:12:39 +13:00
Jean-Yves Avenard
90b61d5576
Bug 1130913: Only create a new decoder if we have a new media segment. r=mattwoodrow
2015-02-11 17:40:10 +11:00
Jean-Yves Avenard
967797cbd8
Bug 1131487
: Adjust negative start time near 0 to 0. r=mattwoodrow
2015-02-11 17:40:06 +11:00
Jean-Yves Avenard
0942fe7950
Bug 1131487
: Fix time calculations when segment doesn't start at 0. r=mattwoodrow
2015-02-11 17:40:03 +11:00
Bobby Holley
8919ee56bb
Bug 1120030 - Test for timestampOffset. r=jya
2015-02-09 17:29:13 -08:00
Jean-Yves Avenard
0a376c1d06
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
d0fcfbe806
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
173a0c1120
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
72355abc0d
Bug 1129732: Part4. Use sourcebufferdecoder's end time. r=mattwoodrow
2015-02-09 23:29:00 +11:00
Jean-Yves Avenard
5f935a5b97
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
67411f1d5e
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
b472f52bed
Bug 1126052 - Reenable test_SeekTwice.mp4. r=RyanVM
2015-02-05 14:29:32 -08:00
Bobby Holley
41a5994f7f
Bug 1128811 - Reject data wait promises when we seek. r=cpearce
2015-02-04 17:33:40 -08:00
Bobby Holley
8f668dcd13
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
48957f6bed
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
5d1d3d69ba
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
ddfc051736
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
a28eaa9992
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
e2f51fe35f
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
bf8e4f0b72
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
a3bb11c20d
Bug 1128115: MediaSource.removeSourceBuffer should call SourceBuffer.abort. r=cajbir
2015-02-04 20:20:15 +11:00
Jean-Yves Avenard
723701aeca
Bug 1125776: Part4. Add support for partial WebM init segment. r=kinetik
2015-02-04 20:20:15 +11:00
Jean-Yves Avenard
80c7f80672
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
a7911540c6
Bug 1125776: Part2. appendBuffer scanning the data before firing updateend. r=mattwoodrow
2015-02-04 20:20:15 +11:00
Jean-Yves Avenard
80732517a0
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
6af7f0e65b
Bug 1128161 - Fix build error when logging is disabled - r=ajones
2015-02-03 18:19:47 +13:00
Matt Woodrow
11cfd64eba
Bug 1128179 - Avoiding crash when appending data after decoder initialization failed. r=jya
...
--HG--
extra : rebase_source : 42d3c13c175cbe6a6e81bc56e3d61f596eae970f
2015-02-03 09:44:46 +13:00
Naoki Hirata
38de5e6e5f
Bug 1128113 - Skip mSharedDecoderManager which is part of MozMP4. r=jya, a=bustage
2015-01-31 02:22:38 -08:00
Jet Villegas
ea3d579f8e
Bug 1125621 - Remove https://* restriction from the YouTube MSE check. r=kinetik
2015-01-30 21:59:35 -08:00
Bobby Holley
dfc8573cd8
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
9acf6dac10
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
419b834c80
Bug 1127203 - Rename aError to aTolerance. r=mattwoodrow
...
aError is a really misleading name.
2015-01-30 17:45:49 -08:00
Bobby Holley
44f5d170a6
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
f98dfa3c8f
Bug 1126465 - Factor out the seeking phases into helper methods. r=mattwoodrow
2015-01-29 22:11:11 -08:00
Bobby Holley
ab4d30db7c
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
a5507351d3
Bug 1126465 - Pass consistent arguments to RequestVideoData invocations on subdecoders. r=mattwoodrow
2015-01-29 22:11:11 -08:00
Bobby Holley
c10c436f32
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
7c0de4212e
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
f4717da70a
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