Commit Graph

129 Commits

Author SHA1 Message Date
JW Wang
114ec342ad Bug 1315631 - Don't dispatch |this| in the constructor. r=jya
Because it will change the ref-count which might cause destructor to run before exiting the constructor.

MozReview-Commit-ID: MMIea970Dv

--HG--
extra : rebase_source : faf898a3107706bc0ea750e738d8c3a7a3824264
2016-11-08 23:09:34 +08:00
Kaku Kuo
73e0bee6d2 Bug 1313635 part 1 - don't go through MediaDecoderReaderWrapper to set start time; r=jwwang,jya
MozReview-Commit-ID: KXz1veb7x1i

--HG--
extra : rebase_source : e11247aba37a9edaf9276b7cbbc70c9e867e4dcd
2016-11-25 16:47:02 +08:00
JW Wang
9be13f02e3 Bug 1312337. Part 4 - remove ReaderQueue and its friends. r=jya
MozReview-Commit-ID: Gg4IOPdjEeS

--HG--
extra : rebase_source : 318feb3ce9f84761925c705bfdddbc03a20b10bb
extra : intermediate-source : afd483164d7e4801d320683fe87404284a972f4f
extra : source : bea439fcb268af70b1cbcde7169d9184df167242
2016-10-27 16:06:05 +08:00
Jean-Yves Avenard
a3d152a719 Bug 1299072: P7. Use MediaResult with MetadataPromise. r=jwwang
MozReview-Commit-ID: KrRr8wDuPNT

--HG--
extra : rebase_source : 3df3763890a55c898ca3f00dd914e3c78fe714b1
2016-09-10 19:56:50 +10:00
Jean-Yves Avenard
c590867926 Bug 1299072: P6. Pass decoding error details to MDSM and relatives. r=jwwang
MozReview-Commit-ID: 4ow2nF6Syz

--HG--
extra : rebase_source : d8cc561f42ca774b3a2865042392fb4a6aea82fa
2016-09-10 16:48:53 +10:00
Wes Kocher
08fbeaaf2e Merge m-c to autoland, a=merge 2016-08-29 17:57:01 -07:00
Kaku Kuo
a863ce05a0 Bug 1286454 part 3 - remove MediaDecoderReader::mVideoDiscontinuity since it leads to nothing now; r=jwwang
MozReview-Commit-ID: 1JMngmA61Bd

--HG--
extra : rebase_source : 10e74faa50c897f130006014956d85f4c3886020
2016-08-25 18:16:05 +08:00
Kaku Kuo
4000b4f2ab Bug 1286454 part 2 - remove MediaDecoderReader::mAudioDiscontinuity since it leads to nothing now; r=jwwang
MozReview-Commit-ID: DjOXLa5aDm1

--HG--
extra : rebase_source : 1ada8cb696ffdd884723a2c75634a3edfcad1815
2016-08-25 18:14:17 +08:00
Kaku Kuo
fcd9df9127 Bug 1286454 part 1 - remove MediaData::mDiscontinuity; r=jwwang
This member is only assigned but never used now.

MozReview-Commit-ID: IbuAbRaXzc4

--HG--
extra : rebase_source : 166bd3bc7478f725b64b5b2a0e8e258980674d06
2016-08-25 20:30:02 +08:00
Michael Layzell
b258dfaa89 Bug 1297802 - Remove unused RefPtr<> and COMPtr<> types in dom/, r=baku
MozReview-Commit-ID: CLUJZdbN7sW
2016-08-29 11:40:02 -04:00
JW Wang
ecaa7b7a0d Bug 1295901 - Change the semantics/naming of MediaDecoderReader::ReleaseMediaResources(). r=jya
MozReview-Commit-ID: DyOwNcC2JK5

--HG--
extra : rebase_source : 5b14dfe1df7ed9eab1783fba64ff4a481e520339
2016-08-17 15:03:30 +08:00
Nicholas Nethercote
e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10:00
JW Wang
b67ae659b3 Bug 1291185 - Remove the DECODER_WARN_HELPER trick. r=bechen
MozReview-Commit-ID: 7U1p0VOvmY3

--HG--
extra : rebase_source : 207a2a5546b780c3173644becb961cf0f96ecc54
2016-08-02 16:45:28 +08:00
Eugen Sawin
442f5a19e6 Bug 1289016 - [1.2] Don't initialize suspended decoders and fix removing readers from the queue. 2016-08-02 14:55:31 +02:00
Matt Woodrow
c1e385739e Bug 1283144 - Make sure we shut down the ReaderQueue before AbstractThread::MainThread is destroyed since some implementations rely on it. r=jya 2016-07-18 15:24:43 +12:00
Eugen Sawin
bbee0cfc68 Bug 1278574 - [1.3] Allow only a single media decoder (pair) on Android 4.2 and earlier. r=jya,snorp 2016-06-23 15:26:11 +02:00
Phil Ringnalda
94e97ec88d Back out changeset 87d0b9d9da94 (bug 1278574) for WinXP debug failures in services/sync/ tests related to SingletonExists() assertion failures 2016-06-20 13:38:40 -07:00
Eugen Sawin
7948d9d8d0 Bug 1278574 - [1.3] Allow only a single media decoder (pair) on Android 4.2 and earlier. r=jya,snorp 2016-06-20 16:14:30 +02:00
Eugen Sawin
778760ed81 Bug 1214710 - [2.5] Recover decode seek position when resuming suspended playback. r=jwwang 2016-06-08 18:04:33 +02:00
Eugen Sawin
a368c596cb Bug 1214710 - [1.11] Implement ReaderQueue for simultaneous decoder limit enforcement. r=jya,jwwang 2016-06-08 18:04:32 +02:00
Carsten "Tomcat" Book
d8feaef998 Backed out changeset 74a7d364f5a3 (bug 1214710) for bustage on a CLOSED TREE 2016-06-08 12:08:53 +02:00
Carsten "Tomcat" Book
6a323f91ff Backed out changeset d64ca44c11ce (bug 1214710) 2016-06-08 12:08:40 +02:00
Eugen Sawin
590ee15d1a Bug 1214710 - [2.4] Recover decode seek position when resuming suspended playback. r=jwwang 2016-06-08 11:31:20 +02:00
Eugen Sawin
5a015f6bec Bug 1214710 - [1.11] Implement ReaderQueue for simultaneous decoder limit enforcement. r=jya,jwwang 2016-06-08 11:29:11 +02:00
Dan Glastonbury
eaa1d08d90 Bug 1276570: Replace TargetQueues enum with bitwise-or flags. r=jwwang
MozReview-Commit-ID: 95rnjumeBf

--HG--
extra : rebase_source : bffaaa632cbe2f9d27f82746a85f2089ede6301a
2016-05-31 14:32:37 +10:00
Dan Glastonbury
526fdd85f6 Bug 1224973 - Part 5: Implement suspend decoding for background video. r=cpearce,jwwang,jya
Implemented by short-circuiting calls to RequestVideoData in MDSM so no
frames are decoded. Resuming playback when video moves to foreground by
using the SeekTask/SeekJob/Seek in MDSM with result of GetMediaTime().

Special consideration is made to only seek the video part of Seek() to
remove an audible glitch in the audio playback when the video becomes
visible again.

MozReview-Commit-ID: 7YFDTanslXu
2016-05-12 09:54:15 +10:00
Dan Glastonbury
78730160f5 Bug 1224973 - Part 3: Plumb element visibility into MDSM. r=jya,jwwang
change MediaDecoder::mIsVisible to be a Canonical<bool> and plumb through to
the MediaDecoderStateMachine.  This will be used to trigger suspending the
decoding of video frames.

MozReview-Commit-ID: F3Dpf0ogE7c
2016-05-12 09:53:51 +10:00
Kyle Huey
941ab1f522 Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Carsten "Tomcat" Book
ba3fe0975c Backed out changeset 85ce8cb0639a (bug 1268313)
--HG--
extra : rebase_source : 56d1cf41a2dc4959b67f834e07192a5c772176a8
2016-04-29 14:21:16 +02:00
Kyle Huey
48a594a09e Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-04-28 14:08:25 -07:00
Kyle Huey
c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
JW Wang
69b738fc15 Bug 1266304. Part 1 - Merge MediaDecoderReader::AudioDataPromise and MediaDecoderReader::VideoDataPromise. r=kaku.
MozReview-Commit-ID: BhhA7sjCTtQ
2016-04-22 14:16:49 +08:00
JW Wang
e7a6f22684 Bug 1265629 - Remove unused MediaDecoderReader::BreakCycles(). r=kaku. 2016-04-20 14:45:19 +08:00
JW Wang
fbb85ac25a Bug 1219142. Part 1 - add AbstractMediaDecoder::DataArrivedEvent() to publish events. r=jya. 2015-11-18 09:00:56 +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
Robert O'Callahan
db9b81ec66 Bug 1214506. Ensure OggReader sets proper IDs for its tracks. r=jya
--HG--
extra : commitid : 2JuSaQfoTyz
extra : rebase_source : b70bef26e511216e13cddc27bcff8c81ae71c0a3
2015-10-31 00:59:26 +13:00
JW Wang
8cbe3a5118 Bug 1216850. Part 1 - backout bug 1215003. r=me. 2015-10-21 10:59:56 +08:00
JW Wang
03cffdfd24 Bug 1215439 - Don't call ResetDecode() in the destructor of MediaDecoderReader. r=gerald. 2015-10-19 13:57:53 +08:00
JW Wang
9e488683b4 Bug 1215003. Part 2 - rename AsyncReadMetadata and move it to the private section. r=gerald. 2015-10-19 10:52:15 +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
Nathan Froyd
583afa0965 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Jean-Yves Avenard
6db8b43cba Bug 1213176: P1. Remove most MediaFormatReader dependencies on its MediaDecoder parent. r=jwwang
The LayersBackend can be defined at construction time, however if a parent MediaDecoder exists, the value will be overwritten by the MediaDecoderOwner value.

--HG--
extra : rebase_source : fefad83560d5bfa2aee9f665fe138397eb390019
2015-10-15 02:04:00 +02:00
JW Wang
146f761ff8 Bug 1212246. Part 2 - remove mTaskQueueIsBorrowed and unnecessary checks for mTaskQueue is never null. r=jya. 2015-10-09 09:25:43 +08:00
JW Wang
32c513290f Bug 1212246. Part 1 - remove the aBorrowedTaskQueue parameter from the MediaDecoderReader constructor. r=jya. 2015-10-09 09:25:23 +08:00
JW Wang
ec3022bd58 Bug 1211327 - Remove unnecessary usage of decoder monitor from MediaDecoderReader and sub-classes. r=jya. 2015-10-05 14:06:14 +08:00
JW Wang
93c354616a Bug 1208931 - Remove MediaDecoderReader::IsWaitingMediaResources(). r=jya. 2015-09-27 20:38:43 +08:00