Commit Graph

84 Commits

Author SHA1 Message Date
Bobby Holley
381a1aaa8c Backed out changeset 47c97b8b490c (bug 1097823) 2014-12-07 17:09:04 -08:00
Bobby Holley
2b801e0711 Backed out changeset 1ea671313ad3 (bug 1097823) 2014-12-07 17:09:03 -08:00
Bobby Holley
2fef819cad Backed out changeset 979bec024c07 (bug 1097823) 2014-12-07 17:08:19 -08:00
Bobby Holley
3c42f295f7 Bug 1097823 - Followup to remove the assertions cpearce asked for because they don't hold. rpending=cpearce 2014-12-07 15:41:46 -08:00
Bobby Holley
d3c268c694 Bug 1097823 - Followup to avoid null-derefing when promises have already been rejected during shutdown. rpending=cpearce 2014-12-07 15:08:47 -08:00
Bobby Holley
edb57bed1b Bug 1097823 - Followup fix to ensure that the borrowed task queue doesn't get destroyed before subdecoders shut down. rpending=cpearce 2014-12-07 13:25:11 -08:00
Bobby Holley
552d93e0d7 Bug 1097823 - Use MediaPromises for RequestAudioData and RequestVideoData. r=cpearce 2014-12-07 11:21:35 -08:00
Bobby Holley
8cb0b52e57 Bug 1097823 - Move NotDecodedReason from RequestSampleCallback to MediaDecoderReader. r=cpearce 2014-12-07 11:21:34 -08:00
Bobby Holley
b0443be2c5 Bug 1104964 - Make MediaDecoderReader own the task queue. r=cpearce 2014-12-01 21:51:03 -08:00
Bobby Holley
308de0f9c2 Bug 1104964 - Split shutdown initiatation and queue-drain-waiting into separate pieces. r=cpearce
This patch shouldn't change any behavior. The upcoming patch takes advantage of
these separate pieces.
2014-12-01 21:51:02 -08:00
Matt Woodrow
5568608bf7 Bug 1102647 - Always call Shutdown when removing decoders from TrackBuffer. r=karlt 2014-11-28 13:20:09 +13:00
Matt Woodrow
6f8543ba2b Bug 1105553 - Handle 'CANCELLED' NotDecodedReason in MediaSourceReader. r=ajones 2014-11-28 13:17:32 +13:00
Trevor Saunders
dfe4aecd6f bug 1105074 - make more stuff final r=froydnj 2014-11-25 13:56:07 -05:00
Matt Woodrow
7b1be70446 Bug 1098678 - Implement TimestampsFuzzyEqual for mp4. r=ajones 2014-11-26 16:50:29 +13:00
Kai-Zhen Li
09b47aa1a2 Bug 1102144 - Move MOZ_FMP4 code into related compiled flag. r=ajones,bwu 2014-11-21 11:48:22 +08:00
Chris Double
6b47b33388 Bug 1065215 - MSE endOfStream() called within an 'updateend' event can fail with 'object no longer usable' - r=karlt
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 : d4c96b982ffa9f5cd0b24e6e3a4ef5dffe9be6f6
2014-11-19 17:16:41 +13:00
Bobby Holley
bc859c949e Bug 1100776 - Reference-count MediaData. r=cpearce 2014-11-19 13:01:10 -08:00
Jean-Yves Avenard
f76301c128 Bug 1100913 - Fix incorrect playback of MSE with HE-AAC audio streams. r=cajbir 2014-11-18 23:23:00 +11:00
Chris Double
a49d3e67b7 Backout e62c37b8e6b5 for Mulet test failure 2014-11-19 16:00:09 +13:00
Chris Double
0301b80e44 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 : e718144ba2c36b4fa0194719e7f06fe6e931e292
2014-11-19 10:58:51 +13:00
Anthony Jones
4b72865ad1 Bug 1036849 - Create SharedDecoderManager and SharedDecoderProxy; r=blakewu 2014-11-05 02:14:00 +13:00
Bobby Holley
cd6cf79b76 Bug 1099187 - Use fuzz factor for currentTime in addition to duration. r=karlt 2014-11-18 09:58:53 -08:00
Wes Kocher
f4f3fe8778 Backed out changeset 46b6cb002a34 (bug 1036849) for leaks on a CLOSED TREE 2014-11-17 17:16:25 -08:00
Anthony Jones
11d0047b73 Bug 1036849 - Create ShareDecoderManager and SharedDecoderProxy; r=blakewu 2014-11-05 02:14:00 +13:00
Matt Woodrow
e068f37a5f Bug 1098022 - Use Maybe<T> for mLastEndTimestamp in TrackBuffer to differentiate between 0 and unset. r=ajones 2014-11-14 17:12:48 +13:00
Jean-Yves Avenard
03f94b0676 Bug 1097260 - Ensure video dimensions are known when loadedmetadata is fired. r=cajbir 2014-11-12 20:19:29 +11:00
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