Commit Graph

287 Commits

Author SHA1 Message Date
Bryce Van Dyk
939ab2b661 Bug 657791 - Update seekable range handling for cueless WebMs. r=kinetik
MediaDecoder previously had 3 states within GetSeekable(), media is either
seekable, seekable but not supported by transport, or not seekable. Due to
changes to make cueless webms playable, a 4th option is needed: a file that is
not fully seekable, but may support seeking from the transport, such as these
webms, should only be seekable in the buffered range.

MozReview-Commit-ID: ISeFkngtrGU
2016-02-04 17:31:21 +13:00
JW Wang
f4472d1237 Bug 1255268 - Replace SeekJob::Steal() with move semantics. r=cpearce.
MozReview-Commit-ID: 3idqNa2MWA9
2016-03-10 15:30:32 +08:00
JW Wang
6788a66e45 Bug 1252767 - Remove MediaDecoderStateMachine::mPendingSeek. r=cpearce. 2016-02-29 17:00:52 +08:00
Bryce Van Dyk
2be9a949c6 Bug 1251460 - MDSM now waits on a promise to enqueue first frame loaded. r=jya
MediaDecoderStateMachine's EnqueueFIrstFrameLoadedEvent would previously call
into MediaDecoderReader to update MDR's buffered ranges and enqueue the frame
loaded event. This commit aims to instead have the buffered update take place,
and only afterwards enqueue the event. This should remove the possibility that
the event will be fired and handled before the update of the buffered ranges has
taken place.

MozReview-Commit-ID: GP8w2nF4xmj

--HG--
extra : transplant_source : %A0m%13%95%E3Gs%ACMd%1F%F4%25%B9qE%28J%21R
2016-03-09 15:32:49 +13:00
JW Wang
2b94f1c475 Bug 1252753. Part 2 - remove MediaDecoderStateMachine::PushFront(). r=kinetik.
MozReview-Commit-ID: 2jtDFI61bGf
2016-03-08 11:20:39 +08:00
JW Wang
1d43d61105 Bug 1253490 - fix the calculation of decodeTime. r=jya.
MozReview-Commit-ID: 6LMH7cQrC02
2016-03-05 09:32:26 +08:00
JW Wang
be803477f3 Bug 1252766 - Remove MediaDecoderStateMachine::mDecodeToSeekTarget which is never read. r=kaku.
MozReview-Commit-ID: KAArYtFqUKQ
2016-03-04 10:47:26 +08:00
JW Wang
96be80d2b7 Bug 1252343. Part 2 - remove null checks for mReader which is const and never null. r=bechen.
MozReview-Commit-ID: GfyvA7Kbrcd
2016-03-01 15:21:11 +08:00
JW Wang
504d12bb95 Bug 1252343. Part 1 - make mReader const. r=bechen.
MozReview-Commit-ID: IL0cCd5aUR1
2016-03-01 10:56:19 +08:00
Alastor Wu
abde274a94 Bug 1238906 - part2 : notify audible state from MDSM to ME. r=jwwang
--HG--
extra : rebase_source : 74629c314b3d828a5d9b514bf6cca87f7c1f57de
2016-01-21 10:27:38 +08:00
Alastor Wu
f8cd6def9a Bug 1238906 - part1 : check whether audio data is audible. r=jwwang
--HG--
extra : rebase_source : 46869a13ba565e0af5413cc2bb387e7c7e0c2df8
2016-01-21 10:19:19 +08:00
Sebastian Hengst
9249e58bdf Backed out 2 changesets (bug 1238906) for bustage in M(2) on OSX and Windows. r=bustage
Backed out changeset e729b30ba7b4 (bug 1238906)
Backed out changeset 1857bca40ac4 (bug 1238906)
2016-01-18 13:11:43 +01:00
Alastor Wu
bbcb84cc7b Bug 1238906 - part2 : notify audible state from MDSM to ME. r=jwwang
--HG--
extra : transplant_source : %A6I%CA%AC%95%AD%0C%7D%40K%8C_%8B%3D%15%BC%F7%FB%86%27
2016-01-18 10:50:47 +08:00
Alastor Wu
45303164df Bug 1238906 - part1 : check whether audio data is audible. r=jwwang
--HG--
extra : transplant_source : I%CC%AD%125%872%94%D5%0A%5E%08t%0E%22%F0%A9%7E%1EK
2016-01-18 10:50:35 +08:00
JW Wang
53796b92aa Bug 948267. Part 3 - remove MDSM::AdjustAudioThresholds() to ensure we have enough data for AudioStream::DataCallback() to consume in the audio-only case. Also increase the amount of prerolling audio to 1s (which is the size of the circular buffer of AudioStream) to ensure a smooth start of playback. r=kinetik. 2016-01-12 21:48:25 +08:00
JW Wang
4627500b49 Bug 1237616 - Remove the aForceBuffering arugment from MediaDecoder::Resume(). r=cpearce. 2016-01-12 08:04:32 +08:00
JW Wang
664bc361ba Bug 1237482 - Remove MediaDecoderStateMachine::mStreamSink. r=kikuo. 2016-01-08 15:52:12 +08:00
JW Wang
93bb6f7b7d Bug 1234424. Part 2 - remove unused code. r=roc. 2016-01-05 21:15:43 +08:00
JW Wang
f7894b21a7 Bug 1233650. Part 3 - move creation of OutputStreamManager from DecodedStream to MDSM. r=roc. 2015-12-24 10:14:16 +08:00
JW Wang
2713c37af6 Bug 1233630 - Remove MediaDecoderStateMachine::AudioDecodedUsecs. r=kikuo. 2015-12-24 10:00:47 +08:00
JW Wang
38684677a2 Bug 1231091. Part 1 - Add mVideoCompleted so MDSM can check when audio/video is done rendering. This removes the only caller of DecodedStream::IsFinished(). r=roc. 2015-12-22 08:42:38 +08:00
JW Wang
84171dfe8c Bug 1230004. Part 2 - have MDSM::BeginShutdown return a promise and remove MDSM::mDecoder. r=cpearce. 2015-12-03 15:59:44 +08:00
JW Wang
a62c25461b Bug 1230004. Part 1 - cache data in MDSM so it won't need to ask MediaDecoder. r=cpearce. 2015-12-03 15:59:30 +08:00
JW Wang
e4cbe0c128 Bug 1228939 - 1. add mSeekable to MediaInfo. 2. use MediaEventSource to notify the decoder when the media is not seekable. 3. remove unused code. r=jya. 2015-12-02 15:42:32 +08:00
JW Wang
f304127126 Bug 1228923 - Merge some MediaEventSource for MDSM. r=jya. 2015-12-01 09:34:02 +08:00
JW Wang
6e21f29356 Bug 1227797 - Use MediaEventSource to publish playback events for MDSM. r=jya. 2015-11-30 13:06:19 +08:00
JW Wang
328ebd72a1 Bug 1226569. Part 1 - Use MediaEventSource to publish MetadataLoaded and FirstFrameLoaded events. r=jya. 2015-11-23 10:35:18 +08:00
JW Wang
518cc44e44 Bug 1219142. Part 2 - remove unused code. r=jya. 2015-11-18 09:01:01 +08:00
sajitk
582e1a55fa Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian 2015-11-15 14:49:01 +01:00
JW Wang
8dedbfa33d Bug 1223599 - Remove the throttling argument from AbstractMediaDecoder::NotifyDataArrived(). r=jya. 2015-11-11 17:59:16 +08:00
Wes Kocher
f3a9eb2a26 Backed out changeset 1e5f3d1151d6 (bug 1219480) for cpp unittest bustage CLOSED TREE
--HG--
extra : commitid : BMVKq6cPeho
2015-11-11 09:36:56 -08:00
sajitk
3cbe348cdd Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian
--HG--
extra : rebase_source : c73098485fa005d914304fb6e7f8eba3c15e66dc
2015-11-11 06:52:00 +01:00
JW Wang
4f2d0e76bc Bug 1220558. Part 1 - remove unused arguments from MediaDecoderReader::DispatchNotifyDataArrived() and its callees/callers. r=jya. 2015-11-11 07:43:38 +08:00
JW Wang
ea5e45da36 Bug 1219169. Part 2 - move MediaDecoderStateMachine::OnTaskQueue() to private. r=jya. 2015-11-02 10:36:50 +08:00
Jean-Yves Avenard
16d89e70eb Bug 1207198: P2. Defer dormant request while ReadMetadata is pending in MDSM. r=sotaro 2015-10-23 23:34:06 +11:00
James Cheng
f01266ed3f Bug 1194606 - Make MediaDecoderStateMachine capable of requesting different kind (decoded/raw) of media data. r=jya 2015-10-20 05:33:00 -04:00
Kilik Kuo
1f68a3c545 Bug 1194918 - Move av-sync and video frame rendering logic from MDSM to VideoSink. r=jwwang. 2015-10-19 18:08:11 +08:00
Kilik Kuo
12f5e4fabf Bug 1194918 - Add VideoSink which contains either AudioSinkWrapper or DecodedStreamSink as a default operating MediaSink in MDSM. r=jwwang. 2015-10-19 17:32:16 +08:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
JW Wang
1cc6677a90 Bug 1214065 - Remove unused arguments from MediaDecoder::Load() and its friends. r=kinetik. 2015-10-14 11:46:27 +08:00
Kilik Kuo
3b7a3980ff Bug 1213897 - Extract DelayedScheduler out of MDSM to a common class. r=jwwang
--HG--
extra : rebase_source : 5408c282a678fe060d24138eccbe34cf99c8c929
2015-10-13 15:39:01 +08:00
JW Wang
701c985137 Bug 1212701. Part 2 - remove MediaDecoderStateMachine::OnDecodeTaskQueue() which is unused. r=jya. 2015-10-12 12:05:52 +08:00
Kilik Kuo
67185f564b Bug 1211364 - Check frame validity earlier when decoded frames arrive in MDSM. r=jwwang
Rebase to currnet truck

--HG--
extra : transplant_source : %EEOW%D8%0D%9B%C8%F5%90%DB0%0E%BFXgX%98%F4%14%A2
2015-10-07 14:52:05 +08:00
JW Wang
39fbfc7425 Bug 1208934 - Remove usage of decoder monitor from MDSM. r=kinetik. 2015-10-06 10:26:33 +08:00
JW Wang
7435f302de Bug 1209864. Part 1 - make all methods run on the main thread and remove usage of the decoder monitor. r=roc. 2015-09-27 21:37:48 +08:00
JW Wang
fd23a5e794 Bug 1208933 - Remove AbstractMediaDecoder::NotifyWaitingForResourcesStatusChanged(). r=jya. 2015-09-27 21:02:18 +08:00
JW Wang
0bb44154c7 Bug 1208932 - Remove ReadMetadataFailureReason::WAITING_FOR_RESOURCES. r=jya. 2015-09-27 20:48:09 +08:00
JW Wang
395e17fb4f Bug 1208922. Part 3 - forward the CDMProxy from MediaDecoder to MediaDecoderReader via MDSM. r=cpearce. 2015-09-27 18:48:59 +08:00
JW Wang
5eb5527e50 Bug 1188643. Buffer more audio in audio capture mode to avoid glitches. r=cpearce. 2015-09-30 10:32:49 +08:00
Nigel Babu
99377b8efb Backed out changeset dcbabf6ce153 (bug 1188643) for linux crashtest bustage 2015-09-24 12:31:20 +05:30