Граф коммитов

69 Коммитов

Автор SHA1 Сообщение Дата
JW Wang eac0286baf Bug 1345314. P1 - move DeleteOnMainThread() to WMFVideoMFTManager.cpp to discourage the use of nsAutoPtr. r=jya
MozReview-Commit-ID: LxIQcdZtVx7

--HG--
extra : rebase_source : bb413ff39c8a6f0767a3085c6329aee0f7ebe4e2
extra : intermediate-source : 37015a40e525c1192c64dbb5d4bc5cf5fa95ba28
extra : source : e69d2868bfe38092bcc8f6c431439098a4a2afe3
2017-03-07 15:19:29 +08:00
Kaku Kuo f4e408e2d6 Bug 1345339 - Label runnables in dom/media/VideoUtils.h;r=jwwang
MozReview-Commit-ID: KqaHyMBTSBq

--HG--
extra : rebase_source : 7a29685ae3f93f7713924977a1723f915827a585
2017-03-08 11:58:15 +08:00
Gerald Squelart 5745998021 Bug 1331770 - Rename 'MediaContentType' to 'MediaContainerType' - r=jya
MozReview-Commit-ID: F0BWai8vPyo

--HG--
rename : dom/media/MediaContentType.cpp => dom/media/MediaContainerType.cpp
rename : dom/media/MediaContentType.h => dom/media/MediaContainerType.h
extra : rebase_source : 640ada96750b4496055087e80ae3f600c9df31c9
2017-01-18 11:59:03 +11:00
Chris Pearce 95c18b7326 Bug 1329543 - Remove kEMEKeySystemPrimetime. r=gerald
MozReview-Commit-ID: FNvnpZVPMMt

--HG--
extra : rebase_source : c65d007a9894830bd3b85638dcc8c37b5f36fed5
2017-01-14 11:26:37 +08:00
Gerald Squelart 9dcc40aa5f Bug 1329568 - Simple IsMediaMIMEType checker for strings - r=jya
Inside dom/media, we really only deal with audio and video MIME types.
IsMediaMIMEType will help check for that.

Note that 'application' is an acceptable MIME major type, as some A/V contents
do use it! E.g.: "application/ogg".

IsMediaMIMEType is constexpr to allow its use in static_assert's, so we will be
able to verify string literals at compile time.

MozReview-Commit-ID: InBicRRUeiP

--HG--
extra : rebase_source : 53796c130846763e979cea2757121fadc0e7b88d
2017-01-01 08:46:34 +11:00
Wes Kocher 48f75e3c03 Backed out 13 changesets (bug 1329568) for wpt-11 failures in mediasource-addsourcebuffer.html a=backout CLOSED TREE
Backed out changeset 8f37ee96bd78 (bug 1329568)
Backed out changeset 706da9f85272 (bug 1329568)
Backed out changeset c316c8d24d32 (bug 1329568)
Backed out changeset 90a091e65db3 (bug 1329568)
Backed out changeset da855d6a78bb (bug 1329568)
Backed out changeset 3a49367220e3 (bug 1329568)
Backed out changeset 453851b40e3e (bug 1329568)
Backed out changeset 662529436cc4 (bug 1329568)
Backed out changeset 7c62078beb88 (bug 1329568)
Backed out changeset 99758b5f7918 (bug 1329568)
Backed out changeset 2ce9dcf0c274 (bug 1329568)
Backed out changeset 644f206d06d6 (bug 1329568)
Backed out changeset e1ed12f057c8 (bug 1329568)

MozReview-Commit-ID: FhJlySehxHi
2017-01-12 15:10:52 -08:00
Gerald Squelart 8558ce5e5e Bug 1329568 - Simple IsMediaMIMEType checker for strings - r=jya
Inside dom/media, we really only deal with audio and video MIME types.
IsMediaMIMEType will help check for that.

Note that 'application' is an acceptable MIME major type, as some A/V contents
do use it! E.g.: "application/ogg".

IsMediaMIMEType is constexpr to allow its use in static_assert's, so we will be
able to verify string literals at compile time.

MozReview-Commit-ID: InBicRRUeiP

--HG--
extra : rebase_source : f10355e7570b163473cee2548c04c6be11d9120f
2017-01-01 08:46:34 +11:00
Gerald Squelart cea9ab4dfb Bug 1329564 - StringListRange::begin/end() can be const - r=jya
The StringListRange iterator does not modify the list, and cannot be used to
modify the list, so we can make the begin&end functions const.

MozReview-Commit-ID: 4uNf6CWQ767

--HG--
extra : rebase_source : e4992a8c7e6b686004c90a335194617d2f77ca7b
2016-12-16 19:03:20 +11:00
Gerald Squelart c0cf767767 Bug 1329564 - Option to process empty items in StringListRange - r=jya
By default StringListRange skips empty items.
Two new template options allow handling empty items:
- ProcessEmptyItems: Process all, *except* if string is empty.
- ProcessAll: Process all, including 1 empty item in an empty string.

MozReview-Commit-ID: WNRHU5iCHt

--HG--
extra : rebase_source : 994bf1364a705c8280473635a2a6a685d267ec44
2016-11-28 22:45:58 +11:00
Sylvestre Ledru caf1487b6c Bug 1317430 - Avoid a unnecessary copy by passing a const & in dom/media/ r=jya,pehrsons
MozReview-Commit-ID: 9MDVY9mgui0

--HG--
extra : rebase_source : d077c3f4d39e9914c591a0ef671a7db99679c608
2016-11-14 23:15:53 +01:00
Gerald Squelart c1e9d969fe Bug 1176218 - p10. VideoUtils' CreateTrackInfo*() - r=jya
Create a TrackInfo (VideoInfo or AudioInfo) from a codec MIME type, and
optionally with extra parameters from a MediaContentType.

MozReview-Commit-ID: JfDMQjVgCNT

--HG--
extra : rebase_source : 10eb8f14ce28a74883752c536b2312658bc0cb4d
2016-10-07 17:39:32 +11:00
Nathan Froyd 0269018b2e Bug 1304722 - don't define nsCString constants in VideoUtils.h; r=mattwoodrow
Doing this causes a separate copy of each string to be included in each
compilation unit that includes VideoUtils.h, and since global
nsLiteralCString objects require a static constructor, injects static
constructors into all those compilation units as well.  Moving the
object definitions to a source file and leaving the declarations in the
header makes everything work as expected.
2016-10-04 16:38:52 -04:00
JW Wang d13f41c2a0 Bug 1294616 - Somewhat improve the string performance by defining string literals whose length is known at compile time. r=cpearce
MozReview-Commit-ID: LAlqMDtGQN7

--HG--
extra : rebase_source : 4f2cdc9cb9ee7e4dd024d47dad329304f6ba70ae
extra : source : 6db22a524b1452fc50bf56535e7c619a8441dcfe
2016-08-15 15:41:53 +08:00
James Cheng 0593e89ea0 Bug 1293194 - Building with --disable-eme fails with GMPDecoderModule.cpp:15:30: fatal error: mozilla/EMEUtils.h: No such file or directory. r=cpearce
MozReview-Commit-ID: VUGdiaLqkV

--HG--
extra : rebase_source : 3439ba2f7a81ad80f9db514f21c6091cc3e5711a
2016-08-09 12:13: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
Chris Pearce 1ec646af14 Bug 1278198 - Implement "Get Supported Configuration" algorithm in MediaKeySystemAccess. r=gerald
MozReview-Commit-ID: KiJMOm5HgHe

--HG--
extra : rebase_source : 0c60b76ad38cb9c5513e6618c8d8f4bc6f43b168
2016-07-01 13:36:57 +12:00
Bryce Van Dyk 3e3f638e3e Bug 1257716 - Handle clearkey encrypted WebMs. r=cpearce
Handle encrypted WebM streams for the clearkey case. Add checking for the
widevine case, though these should currently fail, as not all of the plumping
is in place for widevine.

MozReview-Commit-ID: 5d9fvc5IkZF

--HG--
extra : rebase_source : 9baad2afd7778c350c404c72dcd81426092aa908
2016-06-08 14:07:09 +12:00
Gerald Squelart 2035e18855 Bug 1271483 - p16. gtest for list-string functions - r=cpearce
Moved templated code to VideoUtils.h, so it can more easily be reused, and
tested.

MozReview-Commit-ID: 3vOvaj5VVhm
2016-05-26 19:24:35 +10:00
Jonathan Watt b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
JW Wang 1f7b60118b Bug 1275807 - Remove remaining use of FlushableTaskQueue. r=cpearce.
MozReview-Commit-ID: L12wxh7GPIr

--HG--
extra : rebase_source : 745ae8240326246050513c96300eba1e32d84130
2016-05-24 16:48:26 +08:00
Jean-Yves Avenard a9c347c652 Bug 1264199: P0.1. Export SaferMultDiv method. r=gerald
MozReview-Commit-ID: CzewhPB1Nod

--HG--
extra : rebase_source : e6c18d94ab7bcf1106e7027378ca2d8a494b6058
2016-04-26 11:16:23 +10: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
Jean-Yves Avenard 266289f844 Bug 1262746: P3. Remove DownmixAudioToStereo method. r=rillian
Functionality is now provided through AudioConverter class.

MozReview-Commit-ID: 5MchZT1XRoO

--HG--
extra : rebase_source : 270581b49043f102a89e5eea97195379a937da22
2016-04-08 17:42:00 +10:00
Ralph Giles 201f8e53ab Bug 1222145 - Bump maximum video size to 8k. r=jya
YouTube and WebVR have been experimenting with 8k video for
immersive applications, where you need more than 4k resolution
even on a mid-resolution display because you're not looking
at the whole scene simultaneously.

We were rejecting video frames larger than 4000x3000,
or 16k in any one dimension, to limit resource exhaustion
attacks. Bump this to accept 8k video now that there's
a demand for it.
2015-11-05 13:45:00 -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
Chris Pearce aaf1f72ba5 Bug 1211339 Part 2 - Make MP4Decoder::CanHandleMediaType() check all codecs are supported by a PDM before reporting support. r=jya 2015-10-06 16:52:58 +13:00
Carsten "Tomcat" Book 239ba800f1 Backed out 2 changesets (bug 1211339) for m3 test failures on a CLOSED TREE
Backed out changeset 91bff7bc67d7 (bug 1211339)
Backed out changeset d34f694b13cf (bug 1211339)
2015-10-05 14:34:44 +02:00
Chris Pearce 83d11d9363 Bug 1211339 Part 2 - Make MP4Decoder::CanHandleMediaType() check all codecs are supported by a PDM before reporting support. r=jya 2015-10-05 22:39:10 +13:00
Chris Pearce d4ed7efef9 Bug 1207019 - Remove WMF availability check in MediaKeySystemAccess requests. r=edwin 2015-10-05 15:03:48 +13:00
Mantaroh Yoshinaga df06088026 Bug 1180589 part 3 - Rename shadowed variable name; r=bholley 2015-09-30 14:32:32 +09:00
Chris Pearce d565fd2492 Bug 1208289 - Log outstanding frames in GMP DrainComplete() and detect dropped ResetComplete. r=jwwang
* * *
Bug 1208289 - Yet another bustage fix. r=bustage
2015-09-29 13:06:14 +13:00
Chris Pearce e85e9eca24 Bug 1208289 - Add SimpleTimer to make setting timeouts in C++ easy. r=jwwang 2015-09-29 13:06:11 +13:00
Nigel Babu b8f64f3b1e Backed out changeset 967c555a595c (bug 1208289) for B2G build bustage 2015-09-28 12:22:43 +05:30
Chris Pearce 8493a808b6 Bug 1208289 - Add SimpleTimer to make setting timeouts in C++ easy. r=jwwang 2015-09-28 17:57:10 +13:00
Chris Pearce e30c6e5fa9 Bug 1208289 - Backout. r=backout 2015-09-28 15:37:18 +13:00
Chris Pearce 771aa6c979 Bug 1208289 - Yet another-another bustage fix. r=bustage 2015-09-28 15:16:13 +13:00
Chris Pearce 3b2e225a56 Bug 1208289 - Yet another bustage fix. r=bustage 2015-09-28 14:26:44 +13:00
Chris Pearce 4e35212ee5 Bug 1208289 - Add SimpleTimer to make setting timeouts in C++ easy. r=jwwang 2015-09-28 14:03:15 +13:00
Hayden Huang 997857d190 Bug 1175447 - mono audio support. r=padenot, r=sotaro
This patch is to enable mono audio option for those who has full hearing loss in one ear.
With this feature, they can get the complete audio with using one ear.

--HG--
extra : transplant_source : %EC%27%97%1Ai%0D%E3%BC%D0%12%97-K%0Ek%BD%8A%C8%A9%85
2015-08-06 14:30:22 +08:00
Bobby Holley 3d7a75d98d Bug 1190495 - Followup #include fix. r=me 2015-08-11 09:40:02 -04:00
Bobby Holley de2bb0bad9 Bug 1190496 - Remove dependency on VideoUtils.h for stack size. r=cpearce 2015-08-04 14:00:19 -07:00
Jan Gerber ade97e5996 Bug 1148102: P3. Add TimeUnitToFrames method. r=jya 2015-07-20 17:27:06 +10:00
Bobby Holley 04eaf4c167 Bug 1184634 - Move various includes into the mozilla namespace. r=gerald
I did my a quick best-effort pass to fix up the most egregious ordering
problems. I left some big pre-existing messes alone.
2015-07-16 22:23:18 -07:00
Bobby Holley 997543e6ba Bug 1184634 - Rename MediaTaskQueue to TaskQueue. r=gerald 2015-07-16 22:23:06 -07:00
Bobby Holley 407d2c5f90 Bug 1184634 - Rename MediaPromise to MozPromise. r=gerald 2015-07-16 22:21:56 -07:00
Jean-Yves Avenard c7b6fa505d Bug 1179094: Use TimeUnit in PlatformDecoderModule. r=cpearce 2015-07-08 10:56:16 +10:00
Bobby Holley 2da9f4c415 Bug 1178938 - Introduce a new mechanism for iterative work and prototype it with RawReader. r=jww
The current model can hog the task queue indefinitely, and relies on synchronously
reading cross-thread state in order to detect shutdown conditions. In order to stop
doing that, we need a different model. Thankfully, MediaPromises/closures make this
a lot more concise than it could be.
2015-07-02 12:38:43 -07:00
Nathan Froyd 974d8120f2 Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
Bobby Holley bcb8dfea10 Bug 1160695 - Miscellaneous changes to TimeUnit. r=jww
I contemplated using the mIsValid bit on CheckedInt for nullability, but
eventually decided that it's too much of an overload. typedef-ing a Maybe<>
solves things nicely.

The current clash between the constants makes it impossible to do using
|using namespace mozilla::media;| in most cpp files. It would be nice to
put the constants in mozilla::media, but that requires updating a bunch of
files, so I'm not doing it now.
2015-06-08 09:21:19 -07:00