Commit Graph

2039 Commits

Author SHA1 Message Date
Andreas Pehrson
883166e5ba Bug 1129263 - Part 1. Add an event to MediaStreamListener for handling atomically added tracks. r=roc,jesup 2015-02-06 17:38:11 +08:00
Matt Woodrow
2af8d4bf77 Bug 1131638 - Followup to fix bustage. CLOSED TREE 2015-03-03 18:31:20 +13:00
Jean-Yves Avenard
1109a9b646 Bug 1137100: Don't skip audio samples with a negative presentation time. r=cpearce
This allows for having the same decoding behavior across all platforms.
2015-03-03 16:29:28 +11:00
Anthony Jones
fa86250384 Bug 1138253 - Count dropped frames directly; r=cpearce 2015-03-03 17:46:48 +13:00
Anthony Jones
355e1787db Bug 1138253 - Clean up AutoNotifyDecoded; r=cpearce 2015-03-03 17:46:46 +13:00
Matt Woodrow
3d7cc5b1c1 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
Anthony Jones
cb8ffc5ee9 Bug 1131638 - Discard DXVA frames that don't complete YUV->RGB conversion. r=cpearce 2015-02-20 16:27:42 +13:00
Edwin Flores
a76a4d52fd Bug 1131392 - Remove unused test code after disabling non-MSE EME - r=cpearce 2015-03-03 11:02:36 +13:00
Edwin Flores
cdb7718806 Bug 1131392 - Fix EME tests after disable non-MSE EME - r=cpearce 2015-03-03 11:02:36 +13:00
Karl Tomlinson
cf7b4f65c5 bug 1123492 remove ResetDecode() call from MediaSourceReader::AttemptSeek() r=mattwoodrow
and this was already called before Seek().
2015-02-17 14:35:47 +13:00
Karl Tomlinson
ccdb088d7b bug 1123492 ResetDecode() on subreaders before Seek() r=mattwoodrow 2015-02-28 19:46:22 +13:00
Karl Tomlinson
e2c5c103e6 bug 1123492 update comment to describe the thread that runs AttemptSeek() r=mattwoodrow 2015-02-17 13:58:55 +13:00
Karl Tomlinson
ac6c6affb1 bug 1137076 mark some methods as private r=edwin 2015-02-28 14:44:07 +13:00
Karl Tomlinson
2590a61d75 bug 1137076 handle null mDecoder during Reader shutdown r=edwin 2015-02-28 14:32:19 +13:00
Karl Tomlinson
2928656386 bug 1137076 remove declaration of undefined OmxDecoder::ProcessCachedData() r=edwin 2015-02-28 10:32:27 +13:00
Jean-Yves Avenard
aa07e76223 Bug 1131433: Fix build on a CLOSED TREE r=me 2015-03-03 11:30:06 +11:00
Wes Kocher
739de2c043 Bug 1131433 - Further fixes to SourceBufferDecoder.cpp. DONTBUILD CLOSED TREE 2015-02-27 15:35:23 -08:00
Nigel Babu
fb1b5043d5 Backed out changeset a622dbe33efb (bug 1135544) for ASAN mochitest-3 bustage on CLOSED TREE 2015-03-02 18:13:39 +05:30
Anthony Jones
7dea01a959 Bug 1135544 - Create an abstract base class for a track demuxer; r=kinetik 2015-03-02 16:34:44 +13:00
Bobby Holley
aa3b26a74c Bug 1135785 - Hoist some work onto the state machine thread and tighten down our assertions. r=cpearce 2015-03-01 19:33:53 -08:00
Bobby Holley
4bd9040eca Bug 1135785 - Stop manually resetting mCurrentSeekTarget in MDSM::SeekCompleted and rely on the AutoSetOnScopeExit instead. r=cpearce
For some reason the current code is resetting it twice - once explicitly and
once with the AutoSetOnScopeExit. To make matters worse, we have a monitor drop
between the two. So when DecodeSeek runs on the decode task queue but SeekCompleted
runs on the state machine thread, we can start another DecodeSeek during the monitor
drop, and then clobber it with the AutoSeetOnScopeExit, causing us to hang.

This is a non-issue with the patches in bug 1135170, but necessary to make the
patches in this bug independently green.
2015-03-01 19:33:52 -08:00
Bobby Holley
68ac0259e2 Bug 1135785 - Stop invoking StopPlayback in SetDormant. r=cpearce
This already gets incoded in the DECODER_STATE_DORMANT case of RunStateMachine,
which will run momentarily on the state machine thread. Doing this allows us to
avoid calling StopPlayback on the main thread.
2015-03-01 19:33:50 -08:00
Bobby Holley
4ffe849a5a 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
Bobby Holley
887b211fd3 Bug 1135785 - Make DecodeError safe to run on any thread. r=cpearce
This is necessary so that we can make On{Audio,Video}{,Not}Decoded run on the
state machine thread in the next patch.
2015-03-01 19:33:48 -08:00
Bobby Holley
0e2adf3284 Bug 1135785 - Make MediaTaskQueue::IsCurrentThreadIn actually do the right thing on release builds. r=cpearce
The current situation is really dangerous because it compiles on release builds,
but just lies. This bit me when I tried to use it for non-assertion purposes.

My reading of the reasoning for the current setup in bug 968016 is that we didn't
trust nsIEventTarget::IsCurrentThreadOn or thought it might be slow. But the
implementation of MediaTaskQueue::IsCurrentThreadIn doesn't actually use that, and
indeed currently does all of the work for this feature in release builds anyway.
2015-03-01 19:33:46 -08:00
Bobby Holley
2c6b1b64e3 Bug 1135785 - Introduce a 1-argument overload of ProxyMediaCall. r=cpearce 2015-03-01 19:33:45 -08:00
Bobby Holley
40c1074481 Bug 1138072 - Don't defer reading to a closed stream. r=roc
Other streams in the list bail out of the servicing loop if they're closed, so
we can wait indefinitely.
2015-03-01 19:33:44 -08:00
Chris Pearce
4d3879ec6c Bug 1138240 - Fail faster if a CDM tries to resolve a resolved promise. r=edwin 2015-03-02 14:13:47 +13:00
Jean-Yves Avenard
43eec98395 Bug 1137529: Prefer Apple's VDA hardware acceleration for Hi-Def videos. r=rillian
With some GPUs (such as Intel HD-x000), Apple VideoTool box provides poor
decoding speed, causing us to drop frames for most HD videos.
VDA is around 50 times faster on those machines (31ms average to decode a 4K
frame with VT, while 0.6ms average with VDA)
2015-03-02 10:48:28 +11:00
Jean-Yves Avenard
091f2ff1f0 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
89b13c783a Bug 1134387: Prevent crash when decoder couldn't be created. r=edwin 2015-02-27 11:31:46 +11:00
Chris Pearce
7c56165d01 Bug 1137957 - Fix non-unified build failure in GMPVideoDecoder. r=kinetik 2015-02-28 16:15:29 +13:00
Bobby Holley
ce02722142 Bug 1137511 - Account for audio frames already pushed to audio hardware but not yet played when computing OutOfDecodedAudio. r=kinetik 2015-02-27 16:07:44 -08:00
Ryan VanderMeulen
0c89924c1b Bug 1131433 - Re-add accidentally-removed GetMediaSourceLog() declarations.
CLOSED TREE
2015-02-27 17:37:52 -05:00
Chris Pearce
5a274caae7 Bug 1136986 - Fix unthreadsafe uses of GMPVideoHost in gmp-clearkey. r=edwin 2015-02-28 10:23:33 +13:00
Chris Pearce
a0fed72e46 Bug 1136986 - Disable SharedDecoderManager for EME video. r=kentuckyfriedtakahe 2015-02-28 10:23:29 +13:00
Matt Woodrow
302e802646 Bug 1136984 - Followup to fix build. 2015-02-27 12:07:05 +13:00
Matt Woodrow
d854c9ca30 Bug 1136984 - Use correct units for comparing timestamps in TrackBuffer::RangeRemoval. r=jya 2015-02-27 11:47:46 +13:00
Matt Woodrow
f36fb93e54 Bug 1136984 - Always call DrainComplete in response to Drain, even if it wasn't called on the active decoder. r=cpearce 2015-02-27 11:47:12 +13:00
Matt Woodrow
f70602a599 Bug 1132757 - Don't crash if we call WMFVideoMFTManager after we've initiated shutdown. r=cpearce 2015-02-27 11:46:10 +13:00
Blake Wu
9b544b72de Bug 1133955 - Record the last seek time to decide the direction to seek. r=sotaro 2015-02-24 11:19:54 +08:00
Jan-Ivar Bruaroey
a25f0412b2 Bug 1136871 - PeerConnection typo in replaceTrackFailure. r=docfaraday 2015-02-25 19:11:15 -05:00
Karl Tomlinson
36c07b2385 back out 6fc9b30bbdd9..232b818847e7 from bug 1123492 for crashes in DoVideoSeek() 2015-02-26 19:37:48 +13:00
Karl Tomlinson
6ea96662a5 bug 1123492 remove ResetDecode() call from MediaSourceReader::AttemptSeek() r=mattwoodrow
and this was already called before Seek().
2015-02-17 14:35:47 +13:00
Karl Tomlinson
16ad66eef2 bug 1123492 ResetDecode() on subreaders when switching to current or seeking r=mattwoodrow 2015-02-18 19:23:31 +13:00
Karl Tomlinson
d39d2824f6 bug 1123492 update comment to describe the thread that runs AttemptSeek() r=mattwoodrow 2015-02-17 13:58:55 +13:00
Wes Kocher
88578aaba9 Merge m-c to inbound a=merge 2015-02-25 17:51:44 -08:00
Wes Kocher
3e8159d4e0 Merge fx-team to m-c a=merge 2015-02-25 17:39:55 -08:00
Jean-Yves Avenard
f54b6683e5 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
Mark Banner
6958d1c018 Bug 1110973 - Add a preference for enabling fake streams for tests, and use it in the Loop functional tests. r=smaug 2015-02-25 07:36:50 +00:00