Commit Graph

58 Commits

Author SHA1 Message Date
Chris Double
ee08ebd793 Back out ea9e204bc97a for test failure on Android. 2014-11-13 15:38:56 +13:00
Chris Double
1087dc3ef7 Bug 1065215 - MSE endOfStream() called within an 'updateend' event can fail with 'object no longer usable' - r=karl
Reopens the MediaSource when SourceBuffer::Remove is called on an Ended
MediaSource.
Only run the Range Removal algorithm when MediaSource duration is changed
instead of calling Remove on SourceBuffers.
Updates tests for the fact that update{start,end} can now be called
more than once due to DurationChange.

--HG--
extra : rebase_source : efe01de2f7c6be09b29e2e19d69d9943c9ab5e52
2014-11-13 10:47:31 +13:00
Matt Woodrow
b370384d2c Bug 1097375 - Implement MediaSource::setDuration. r=kinetik
--HG--
extra : rebase_source : 7e5f5387de5db3deccc6e74222b32f461359beb2
2014-11-12 17:11:33 +13:00
David Major
8b1e686a51 Bug 1091008 bustage fix - the second parameter was unused and removed by changeset 6907c1cb8bc0 CLOSED TREE
--HG--
extra : amend_source : 70685616cb814de1f0d8fc641b626682905075e3
2014-11-12 18:24:29 +13:00
Bobby Holley
ff63cbb03b Bug 1093020 - Tests. r=karlt 2014-11-11 20:50:22 -08:00
Bobby Holley
f248cc3c6d Bug 1093020 - Don't use a buffering wait for MSE. r=cpearce 2014-11-11 20:50:22 -08:00
Bobby Holley
794e823290 Bug 1063323 - Tests. r=cajbir 2014-11-11 20:50:22 -08:00
Bobby Holley
3a1a42690d Bug 1091008 - Remove special handling for MSE in HTMLMediaElement::Buffered. r=cajbir
The same code will now be reached by invoking this method on the decoder.
2014-11-11 20:50:21 -08:00
Bobby Holley
632d34e5ea Bug 1091008 - Implement a sensible GetBuffered override for MediaSourceReader using the existing GetBuffered on MediaSource. r=cajbir 2014-11-11 20:50:21 -08:00
Bobby Holley
f9ac6505ff Bug 1091008 - Remove the aStartTime argument from MediaDecoderReader::GetBuffered. r=cpearce
We now have this stashed on the superclass.
2014-11-11 20:50:21 -08:00
Bobby Holley
64ca5577a7 Bug 1091008 - Teach MediaDecoderReader about its start time. r=cpearce
Duplicating state is never great, but this lets the reader make calculations
using this immutable state variable without involving the state machine. We
could alternatively punch a hole from MediaDecoderReader to
MediaDecoderStateMachine and access it there, but that would create tighter
coupling, and weird relationships for MSE.
2014-11-11 20:50:20 -08:00
Bobby Holley
e96e6ef4cf Bug 1091008 - Factor out IsDataCachedToEndOfResource() into a higher-level question and answer it sensibly for MSE. r=cpearce 2014-11-11 20:50:20 -08:00
Chris Double
ff63002ff5 Backout 471009c10ae0 for web platform test failure on CLOSED TREE 2014-11-12 17:13:10 +13:00
Anthony Jones
325004d7f1 Bug 1096157 - Add IsMediaSegmentPresent() for MP4; r=mattwoodrow 2014-11-12 16:37:43 +13:00
Chris Double
c96fe9bb18 Bug 1065215 - MSE endOfStream() called within an 'updateend' event can fail with 'object no longer usable' - r=karl
Reopens the MediaSource when SourceBuffer::Remove is called on an Ended
MediaSource. Only run the Range Removal algorithm when MediaSource
duration is changed instead of calling Remove on SourceBuffers.
Updates tests for the fact that update{start,end} can now be called more than once due to DurationChange.
2014-11-12 15:53:43 +13:00
Chris Double ext:(%20with%20tweaks%20by%20Karl%20Tomlinson%20%3Ckarlt%2B%40karlt.net%3E)
ade13ac0f9 Bug 1089937 Add a fuzz time to end times for MSE reader switching on EOS r=karl,mattwoodrow
mLast{Audio,Video}Time differs from the actual end time because of
Bug 1065207 - the duration of a WebM fragment is an estimate not the
actual duration. In the case of audio time an example of where they
differ would be the actual sample duration being small but the
previous sample being large. The buffered end time uses that last
sample duration as an estimate of the end time duration giving an end
time that is greater than mLastAudioTime, which is the actual sample
end time.

Reader switching is based on the buffered end time though so we can't use
the actual sample end time for switching comparison.

For this reason we use the end time from the buffers to compare if we
should switch readers in this patch. We also add an EOS_FUZZ_US to allow
for the fact that it is an estimate and can differ slightly from actual times.

--HG--
extra : rebase_source : 47149609119c5dcd1ca7374501dd7c1e285469ef
2014-11-12 12:12:21 +13:00
Anthony Jones
356e211d26 Bug 1091976 - Process MP4Reader::NotifyDataArrived() immediately; r=edwin 2014-11-10 13:32:09 +13:00
Jean-Yves Avenard
b410499417 Bug 1093654 - Fix various memory leaks in MediaDecoders. r=jwwang
Change various function prototyping to make object ownership more explicit.
2014-11-06 19:17:05 +11:00
Jean-Yves Avenard
d0eca337fb Bug 1092979 - Add mochitest to ensure loadedmetada is emitted as early as possible. r=cajbir 2014-11-06 21:03:39 +11:00
Jean-Yves Avenard
059f6cb92c Bug 1065827 - Do not always wait to decode frames to emit loadedmetadata. r=jwwang 2014-11-06 20:52:44 +11:00
Anthony Jones
78593a44e5 Bug 1092096 - Separate MSE prefs for MP4 and WebM on a CLOSED TREE. r=cajbir 2014-10-31 23:09:49 +13:00
Carsten "Tomcat" Book
f1c2d2d177 Backed out changeset 44f27b3c35d4 (bug 1065827) 2014-11-06 14:59:04 +01:00
Carsten "Tomcat" Book
2d554aff1d Backed out changeset 1c969fba2f64 (bug 1092979) 2014-11-06 14:58:56 +01:00
Carsten "Tomcat" Book
849e69e9cb Backed out changeset 70a72a19cb4b (bug 1093654) 2014-11-06 14:58:53 +01:00
Carsten "Tomcat" Book
44a2701a1d Backed out changeset 1d058cefd04f (bug 1092096) for m2 test failures 2014-11-06 13:19:59 +01:00
Jean-Yves Avenard
672df71b67 Bug 1093654 - Fix various memory leaks in MediaDecoders. r=jwwang
Change various function prototyping to make object ownership more explicit.
2014-11-06 19:17:05 +11:00
Jean-Yves Avenard
7ab0220b27 Bug 1092979 - Add mochitest to ensure loadedmetada is emitted as early as possible. r=cajbir 2014-11-06 21:03:39 +11:00
Jean-Yves Avenard
cb1ecfbc37 Bug 1065827 - Do not always wait to decode frames to emit loadedmetadata. r=jwwang 2014-11-06 20:52:44 +11:00
Carsten "Tomcat" Book
c087fe9adc Backed out changeset 04d5a617450f (bug 1092979) for needed checkin of another bug first 2014-11-06 10:27:10 +01:00
Anthony Jones
590adad85e Bug 1092096 - Separate MSE prefs for MP4 and WebM; r=cajbir 2014-10-31 23:09:49 +13:00
Jean-Yves Avenard
08dd5d0602 Bug 1093880 - Delay decoder initialization until data has been appended. r=cajbir 2014-11-06 15:09:19 +11:00
Jean-Yves Avenard
2d48a8f7f8 Bug 1092996 - MSE/WebM: limit size read to what is available. r=kinetik 2014-11-06 19:08:04 +11:00
Jean-Yves Avenard
9d91f7c5c1 Bug 1092979 - Add mochitest to ensure loadedmetada is emitted as early as possible. r=cajbir 2014-11-04 10:58:56 +11:00
Matt Woodrow
f2179de021 Bug 1056441 - Make MediaSourceReader seeking asynchronous. r=kinetik 2014-11-05 13:32:26 +13:00
Matt Woodrow
1be573b7cb Bug 1062661 - Part 1: Discard decoders that don't have any data in them. r=karlt 2014-11-04 11:16:34 +13:00
Matt Woodrow
b6cbee546f Bug 1062661 - Part 1: Fix ResourceQueue::Evict so that it tries to remove enough data to get us under the threshold. r=kinetik 2014-11-04 11:16:31 +13:00
Carsten "Tomcat" Book
c26db049b1 Backed out 10 changesets (bug 1091008, bug 1093020, bug 1063323) for windows m2 permanent test failures on a CLOSED TREE
Backed out changeset 21ddb8a58fea (bug 1093020)
Backed out changeset fe9e11333c7d (bug 1093020)
Backed out changeset bba774c54652 (bug 1063323)
Backed out changeset 16f58d7e1e17 (bug 1091008)
Backed out changeset 649bfc6dad4d (bug 1091008)
Backed out changeset 6f270b2d90f4 (bug 1091008)
Backed out changeset 966093bbc26a (bug 1091008)
Backed out changeset 9de4746aa59a (bug 1091008)
Backed out changeset 856016c0118a (bug 1091008)
Backed out changeset 8aaa10a8d956 (bug 1091008)
2014-11-05 12:57:43 +01:00
Bobby Holley
cb74152f7f Bug 1093020 - Tests. r=karlt 2014-11-05 10:09:00 +01:00
Bobby Holley
c897c019c1 Bug 1093020 - Don't use a buffering wait for MSE. r=cpearce 2014-11-05 10:09:00 +01:00
Bobby Holley
c82196727f Bug 1063323 - Tests. r=cajbir 2014-11-05 10:08:59 +01:00
Bobby Holley
d3266de598 Bug 1091008 - Remove special handling for MSE in HTMLMediaElement::Buffered. r=cajbir
The same code will now be reached by invoking this method on the decoder.
2014-11-05 10:08:59 +01:00
Bobby Holley
e1fdd341c3 Bug 1091008 - Implement a sensible GetBuffered override for MediaSourceReader using the existing GetBuffered on MediaSource. r=cajbir 2014-11-05 10:08:59 +01:00
Bobby Holley
898cc7bcbf Bug 1091008 - Remove the aStartTime argument from MediaDecoderReader::GetBuffered. r=cpearce
We now have this stashed on the superclass.
2014-11-05 10:08:58 +01:00
Bobby Holley
28095a34a2 Bug 1091008 - Teach MediaDecoderReader about its start time. r=cpearce
Duplicating state is never great, but this lets the reader make calculations
using this immutable state variable without involving the state machine. We
could alternatively punch a hole from MediaDecoderReader to
MediaDecoderStateMachine and access it there, but that would create tighter
coupling, and weird relationships for MSE.
2014-11-05 10:08:58 +01:00
Bobby Holley
e9df7f43c5 Bug 1091008 - Factor out IsDataCachedToEndOfResource() into a higher-level question and answer it sensibly for MSE. r=cpearce 2014-11-05 10:08:57 +01:00
Karl Tomlinson
0b2cf3d9a5 bug 1092932 detach MediaSource before initiating MDStateMachine shutdown r=bholley
to avoid races between the detach process and decoder task queue shutdown.

--HG--
extra : rebase_source : 91761d9594c53a7ccb974caf4931bcac90533e5a
2014-11-04 17:24:52 +13:00
Carsten "Tomcat" Book
e4637ba3f3 Backed out changeset 221ca54f4df0 (bug 1092096) for m2 test failures 2014-11-04 10:32:32 +01:00
Anthony Jones
022ab62ce0 Bug 1092096 - Separate MSE prefs for MP4 and WebM; r=cajbir 2014-11-04 15:22:26 +08:00
Bobby Holley
56a6b50f23 Bug 1090991 - Introduce a new NotDecodedReason WAITING_FOR_DATA and use it for MSE. r=cpearce,r=cajbir 2014-11-03 09:20:15 +01:00
Bobby Holley
1ae09ed427 Bug 1090991 - Refactor RequestSampleCallback to use a single callback for all "not decoded" message. r=cpearce,r=cajbir
I'm going to add another one, and want this API to scale better than it does.
2014-11-03 09:20:14 +01:00