Commit Graph

284 Commits

Author SHA1 Message Date
Sotaro Ikeda
b3535ec3a6 Bug 1128357 Patch 2: Don't dispatch seeking/seeked events when coming out of dormant mode r=cpearce 2015-03-04 17:33:40 -08:00
Bobby Holley
ff83eecae4 Bug 1136399 - Add test_WaitingOnMissingData_mp4.html and disable the webm version for now. r=jya 2015-03-04 16:22:34 -08:00
Jean-Yves Avenard
eabb2adcce Bug 1138922: Fix build bustage. r=mattwoodrow 2015-03-04 18:53:15 +11:00
Anthony Jones
69c0b09ad3 Bug 1138253 - Count dropped frames directly; r=cpearce 2015-03-03 17:46:48 +13:00
Matt Woodrow
1eb445f8ba Bug 1138260 - Add typed Microseconds class and use it for the range removal algorithm. r=jya,kinetik 2015-03-03 17:38:45 +13:00
Karl Tomlinson
14e52f9763 bug 1123492 remove ResetDecode() call from MediaSourceReader::AttemptSeek() r=mattwoodrow
and this was already called before Seek().

--HG--
extra : rebase_source : 784909f9b3b4d41e688cffe8400aa94407bba4f6
2015-02-17 14:35:47 +13:00
Karl Tomlinson
966e90125f bug 1123492 ResetDecode() on subreaders before Seek() r=mattwoodrow
--HG--
extra : rebase_source : 07660462a4d738a9421b4d4c1c808ab0c8fdb9f3
2015-02-28 19:46:22 +13:00
Karl Tomlinson
1e286a6386 bug 1123492 update comment to describe the thread that runs AttemptSeek() r=mattwoodrow
--HG--
extra : rebase_source : 8e653fb20dc53b3a99a3624dd78ba41bbfdba732
2015-02-17 13:58:55 +13:00
Jean-Yves Avenard
7a6731b6cb Bug 1131433: Fix build on a CLOSED TREE r=me 2015-03-03 11:30:06 +11:00
Wes Kocher
6a34cef6e3 Bug 1131433 - Further fixes to SourceBufferDecoder.cpp. DONTBUILD CLOSED TREE
--HG--
extra : amend_source : 0799633171fbbdf88dede997194a7c4ddccc2574
2015-02-27 15:35:23 -08:00
Bobby Holley
ba77f2e511 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
04ed53a51a 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
454c64d2cd Bug 1134387: Prevent crash when decoder couldn't be created. r=edwin 2015-02-27 11:31:46 +11:00
Ryan VanderMeulen
2c0b5514a5 Bug 1131433 - Re-add accidentally-removed GetMediaSourceLog() declarations.
CLOSED TREE

--HG--
extra : amend_source : da9073a4948e74c64bb581735af60953664afa8b
2015-02-27 17:37:52 -05:00
Matt Woodrow
9f4bcd09eb Bug 1136984 - Followup to fix build. 2015-02-27 12:07:05 +13:00
Matt Woodrow
cad9a42886 Bug 1136984 - Use correct units for comparing timestamps in TrackBuffer::RangeRemoval. r=jya 2015-02-27 11:47:46 +13:00
Karl Tomlinson
c8b7996948 back out 6fc9b30bbdd9..232b818847e7 from bug 1123492 for crashes in DoVideoSeek()
--HG--
extra : rebase_source : b1441c907c6729dc49a572b9fe22dbb0744705ee
2015-02-26 19:37:48 +13:00
Karl Tomlinson
7b51f7d4f1 bug 1123492 remove ResetDecode() call from MediaSourceReader::AttemptSeek() r=mattwoodrow
and this was already called before Seek().

--HG--
extra : rebase_source : 4e56ad32c729c39e628b0756b9ffddb7c61951d8
extra : histedit_source : 2ef994d1336e8bdcd35144117107fd34564b135a
2015-02-17 14:35:47 +13:00
Karl Tomlinson
4a9e7e9d5f bug 1123492 ResetDecode() on subreaders when switching to current or seeking r=mattwoodrow
--HG--
extra : rebase_source : 1250d41d2daa7224ef2645eb3e51af3f8f81f237
extra : histedit_source : d2f19cb88cbe6ad9ce4fb93443f03474ccfd9f0b
2015-02-18 19:23:31 +13:00
Karl Tomlinson
ac59ede2ff bug 1123492 update comment to describe the thread that runs AttemptSeek() r=mattwoodrow
--HG--
extra : amend_source : ad0e5aad95d0a2bc637c059774b617abe4012804
2015-02-17 13:58:55 +13:00
Jean-Yves Avenard
51526ba4db Bug 1096089: Make end argument an unrestricted double as per spec. r=cajbir r=bholley
Also, test for updating value before testing for duration and start, as per
spec: http://w3c.github.io/media-source/#widl-SourceBuffer-remove-void-double-start-unrestricted-double-end
2015-02-25 20:35:44 +11:00
Jean-Yves Avenard
991b019ff2 Bug 1136576: Properly align source buffer starts with current decoder. r=cajbir 2015-02-25 20:55:14 +11:00
Jean-Yves Avenard
a133c91e95 Bug 1135532: Allow partial truncation from ResourceQueue. r=cajbir 2015-02-25 20:35:21 +11:00
Jean-Yves Avenard
20b088062d Bug 1096089: Part3. Add trimming support from beginning of source buffer. r=cajbir 2015-02-24 16:38:42 +11:00
Jean-Yves Avenard
ca40a6027a Bug 1134064: Part5. Evict from TrackBuffer's current decoder. r=cajbir
Also evicts all data from inactive decoders once there's nothing left to play
in them.
2015-02-24 16:38:41 +11:00
Jean-Yves Avenard
02099874d8 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
2627d1fd86 Bug 1134064: Part2. Drop current reader when seeking outside range. r=mattwoodrow 2015-02-24 16:38:41 +11:00
Jean-Yves Avenard
bea17edada 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
259aca3f47 Bug 1132342: Handle race should operation be aborted while reading metadata. r=karlt 2015-02-24 16:38:41 +11:00
Jean-Yves Avenard
bd730cc79a Bug 1133625: Part2. Don't accept buffer exceeding our threshold. r=cajbir
YouTube attempts to load data in excess of 8MB when close to the end of the
video, and never attempts to re-append should it error. As such,
the sourcebuffer threshold can't be set to lower than 8MB with this change.
2015-02-20 14:19:14 +13:00
Jean-Yves Avenard
5d262eea0b Bug 1133625: Fix mochitest so it doesn't append data forever. r=cajbir 2015-02-20 14:19:14 +13:00
Jean-Yves Avenard
7d46083b98 Bug 1133625: Return an error when attempting to append too much data. r=cajbir
Implement part 6 of Prepare Append Algorithm:
http://w3c.github.io/media-source/#sourcebuffer-prepare-append
"If the buffer full flag equals true, then throw a QuotaExceededError exception and abort these step."
2015-02-20 14:19:13 +13:00
Jean-Yves Avenard
d3a0d3375e Bug 1132796: Revert incorrect change on A CLOSED TREE. r=me
Revision 355f5e2dee58 got overwritten in dad2b3245457
2015-02-17 22:07:48 +13:00
Jean-Yves Avenard
819f901b7f 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
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