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

176 Коммитов

Автор SHA1 Сообщение Дата
ctai fd36b32d94 Bug 1266646 - Move group of MediaStreamListener to a new header file. r=pehrsons
This can reduce the include header dependency. MediaStreamVideoSink will inherit from DirectMediaStreamTrackListener. But we can't use forward declaration on MediaStreamListener because the usage of nsTArray<RefPtr<MediaStreamVideoSink>>.

MozReview-Commit-ID: 328s4Kw9NvW

--HG--
extra : transplant_source : %D2%18%E3%3B%0C%D8%F04%F3%EB%EB%A0%A7%8B%B1%A9%AB%97rY
2016-06-30 15:07:48 +08:00
Chris Pearce e0a9078a6f Bug 1267918 - Add GMPCrashHelper to GMPService::GetGMP* functions. r=gerald
This enables callers to specify a way to determine the correct window to
dispatch the PluginCrashed event to should the GMP actor crash.

We need a way to determine the correct window at crash time, as the GMP's
window can change at runtime. For example, if the GMP is being used for
unencrypted decoding, the <video> element can be moved to a new browser window
at runtime.

Note: I don't handle disconnecting the GMPCrashHandlers in this patch; we do
delete the GMPCrashHandlers in this patch when their associated GMP crashes, and
in the next patch we handle disconnecting GMPCrashHandlers in the case where
we don't crash.

MozReview-Commit-ID: DrwcZAB6Ys0

--HG--
extra : rebase_source : 8da188b68456914773e6adae8cbccd6bf6a6e7a7
2016-06-29 11:41:56 +12:00
JW Wang f972c4f7af Bug 1281090. Part 4 - prune disconnected listeners more aggressively to avoid hitting the assertion. r=gerald.
MozReview-Commit-ID: 1Z5L3swKBx6

--HG--
extra : rebase_source : 05c147239fa97d754439ce1154d34d29c22542df
2016-06-21 16:31:03 +08: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
Chris Pearce 375dc51df7 Bug 1271169 - Add gtest to ensure EME device binding works. r=gerald
Call the device binding code in gtests, and have a test GMP which returns the
device ID it was passed in a message, so that we can verify that the id the GMP
was passed is the same as the id generated in the parent.

MozReview-Commit-ID: Gjqvo6dRK1D

--HG--
extra : rebase_source : bea5acc878a639fb819051e19e23533c14c19927
2016-05-10 13:40:05 +12:00
Chris Pearce a7ee9fee8a Bug 1271169 - Move all device binding code into librlz and remove static runtime requirement. r=glandium
I want the EME device binding/nodeId code to be callable from gtests, as well
as in plugin-container. I need this because I want to add a gtest that ensures
that we don't regress the EME/GMP device binding code. I want to call the GMP
device binding code in the gtest and in the GMP process, and compare the
result.

So we need to make it possible to link the device binding code into the gtests
as well as plugin-container. So move all code that device binding calls into
librlz, to make it easier to link against all the code required.

Note: the device binding code needs to be statically linked into
plugin-container so that it's covered by the Adobe CDM's voucher tool.


MozReview-Commit-ID: AvBAe1dh49Z

--HG--
rename : ipc/app/sha256.c => dom/media/gmp/rlz/sha256.c
rename : ipc/app/sha256.h => dom/media/gmp/rlz/sha256.h
extra : rebase_source : f60f1e68649fa90cbe1f2fe09f5f69948444b1df
2016-05-20 16:11:29 +12:00
Chris Peterson 353ee65255 Bug 1272513 - Part 1: Suppress -Wshadow warnings-as-errors in some directories. r=glandium 2016-05-11 00:00:01 -07:00
Jean-Yves Avenard d31cb0499b Bug 1206637: P2. Replace all cached preferences with MediaPrefs ones. r=cpearce
Additionally, clean up stray and unused Preferences.h header.

MozReview-Commit-ID: IcPrD2inkDE

--HG--
extra : rebase_source : c3c6e37767627db3601090c2855a3dfa98cb4368
2016-05-10 11:02:28 +10:00
Chris Pearce 46a1552995 Bug 1271242 - Remove GMPDecryptorCallback::SetCapabilities(). r=jwwang
Now that GMPParent detects whether gmp-clearkey can decode using AAC/H.264
using WMF before reporting gmp-clearkey's GMPParent can decode AAC/H.264, we
don't need the GMPDecryptorCallback::SetCapabilities() callback from the GMP to
signal to the PDMFactory that the GMP can decode. We can now trust what the
GMPService tells us.

So we can remove the "waiting for CDM caps" step in the state machine's startup
sequence. And all the plumbing. :)

If we need more caps, like for an decode-and-render path, we can declare those
as API strings in the info file.


MozReview-Commit-ID: E0QhU4cYhjo

--HG--
extra : rebase_source : 7d15ab6a45bac88c15c053f416d941b5fe0807b0
2016-05-10 10:28:38 +12:00
Gerald Squelart a147091776 Bug 1268434 - Mutex-protect and check GMP abstract thread before uses - c?cpearce r=cpearce
GeckoMediaPluginService::mAbstractThread was not reset as expected from
ShutdownGMPThread, meaning it would retain a reference to the GMP thread, and
it would allow dispatch attempts to the GMP thread after shutdown.

Also mAbstractThread was not protected by a mutex (as mGMPThread was), which is
definitely needed now that it can be reset at shutdown time.

As its prefix implies, GetAbstractThread could return a nullptr, so it should
be checked before every use.
Note that this GetAbstractThread call (and its check) has been moved closer to
the start of functions using it, to avoid unnecessary and potentially invariant-
breaking partial work to take place when we can know in advance that it won't
fully succeed because the GMP thread is not available.

MozReview-Commit-ID: B1drOeM65hr

--HG--
extra : rebase_source : 1d389c663e26a25035bf2aa22b2cca478ef954fe
2016-05-06 21:36:22 +10:00
Alastor Wu 9771068fea Bug 1235612 - Part 5: Rename NotifyAudibleStateChanged. r=jwwang
MozReview-Commit-ID: LRikTbqoOch

--HG--
extra : rebase_source : 1d69b9d55c232d2723cf9f7159087ec6795b6e19
2016-05-03 17:59:43 +08: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
Gerald Squelart ecfb205472 Bug 1248507 - p1. Pass DecoderDoctorDiagnostics to PDMs&more - r=jya
Pass declared-but-yet-undefined DecoderDoctorDiagnostics pointer to various
routines that contribute to deciding if a media format can be played, and
those that create decoders.

Points where a DecoderDoctorDiagnostics can be injected are currently marked
with "/* DecoderDoctorDiagnostics* */ nullptr", and some will be used in
following patches.

MozReview-Commit-ID: 7u37bvY4CpW
2016-04-19 17:36:19 +10:00
Sotaro Ikeda 3b81e9dd7d Bug 1262278 - Rename PlanarYCbCrImage::SetData and PlanarYCbCrImage::SetDataNoCopy r=nical 2016-04-18 20:12:41 -07:00
Chris Pearce 753e89fc45 Bug 1245789 - Expose AsyncAddPluginDirectory on GMPServiceParent. r=gerald
Now that adding GMPs to the GMP service is async under the hood, for safety
the GeckoMediaPluginServiceParent needs to expose when adding a GMP
has finished so that things that depend on GMPs being present can be reliable.
For example, the call to GMPDecoderModule::UpdateUsableCodecs() that happens
at the end of AddPluginDirectory depends on the GMPs being up to date, so it
needs to happen after the add has finished.

MozReview-Commit-ID: Fn8b0GNILNg
2016-04-12 16:12:22 +12:00
Chris Pearce 1286c752d4 Bug 1245789 - Ensure GMP service has added all plugins before running GMP remove tests. r=gerald
MozReview-Commit-ID: 488sYVQbS4x
2016-04-12 16:12:22 +12:00
Andreas Pehrson be74876e25 Bug 1208371 - Add PrincipalHandle to MediaChunks. r=mt,jesup
PrincipalHandle is a thread safe pointer to a holder of (the main-thread-only
nsIPrincipal) that can be passed around the MSG.

A MediaStreamTrack whose source has just updated its principal, sets the new
principal aside (as its "pending principal"), and combines the new principal
into its current principal.

Then the source starts passing the new principal to the MediaStreamGraph as
a PrincipalHandle.

Changes to a track's PrincipalHandle on the MSG will be surfaced through the
MediaStreamTrackListener API. These changes are dispatched to main thread
and compared to a MediaStreamTrack's pending principal. In case of a match
the track knows the correct principal is flowing and can move the pending
principal to be the current principal and update any main thread principal
observers.

MozReview-Commit-ID: D0JXGWhQFFU

--HG--
extra : rebase_source : 296e269bb46fc5a85a9c3f90dfc0dc40e53572bc
2016-04-06 14:56:44 +02:00
bechen 44cf8370f2 Bug 1215115 - part3: Fix gtest. Remove TestVorbisTrackEncoder.cpp. r=rillian
MozReview-Commit-ID: AMwhwD9exsg

--HG--
extra : transplant_source : %BD%0D%D3%8A%C6%94m%ECX/Jm%C5%E2%A1%15%D1%ECfx
2016-04-01 11:04:08 +08:00
Jan Henning 9e046f3ff6 Bug 1256590 - Part 2 - Add a test case for skipping over false positive syncs at the beginning of an MP3 file. r=esawin 2016-03-20 22:08:45 +01:00
JW Wang 4436a4705f Bug 1250829 - add customized assertions for completion promises to facilitate promise chaining. r=bobbyholley.
MozReview-Commit-ID: 5IbbAz0KIBY
2016-03-18 11:27:19 +08:00
Jean-Yves Avenard 0b39ee0085 Bug 1255626: [gtest] Properly shutdown task queue should error occurs. r=gerald
MozReview-Commit-ID: A7Gq4vlmWg1
2016-03-11 11:19:45 +11:00
Jean-Yves Avenard 13e0855c84 Bug 1254858: P6. Add VP9 decoding gtest. r=kentuckyfriedtakahe
MozReview-Commit-ID: 1Xo9B1TGyuc

--HG--
extra : rebase_source : d0d46f730984e2a9cf3e190f3b6e5185b301ed56
2016-03-10 11:53:39 +11:00
Jean-Yves Avenard 0a4ddd9b8d Bug 1254858: P5. Add h264 decoding gtest. r=kentuckyfriedtakahe
MozReview-Commit-ID: 7uD0X9kRjsf

--HG--
extra : rebase_source : b59d13b35a6aa28141e1523f2a34b537a076cda2
2016-03-09 21:31:52 +11:00
Jean-Yves Avenard 93c883b464 Bug 1254858: P4. Allow to pass mimetype in constructor. r=kentuckyfriedtakahe
MozReview-Commit-ID: 1viNCf5quO5

--HG--
extra : rebase_source : 4aa902d26d10dddffb2343cb6cdb8f518a957ebf
2016-03-09 21:21:57 +11:00
Jean-Yves Avenard 722e4fee21 Bug 1246521: P1. Add MediaDecoderOwner::HasError method. r=gerald 2016-02-08 16:31:42 +11:00
Birunthan Mohanathas d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Jean-Yves Avenard 13208cc3e7 Bug 1244523: [mp4] P4. Add gtest. r=kentuckyfriedtakahe 2016-02-02 16:27:49 +11:00
Phil Ringnalda d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas 373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02: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
Jean-Yves Avenard bc55ba93a4 Bug 1240411: P9. Clean up media headers. r=jwwang
Remove redundant virtual keyword and add missing override if any.
2016-01-19 19:47:36 +11: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
Matthew Gregan 693045c49f Bug 1231855 - Avoid inserting out of (timecode) order entries in WebMBufferedParser. r=jya 2016-01-05 14:50:50 +13:00
Chris Pearce f212540c95 Bug 1232527 - Remove GMPVideoDecoderTrialCreator and friends. r=jwwang
Remove GMPVideoDecoderTrialCreator, and the tests and IPC/IDL supporting it.

--HG--
extra : commitid : HlbJPl2gPAl
extra : rebase_source : fe1773014e5d09da264f85d464e408aca46a60c4
2015-12-15 15:17:22 +13:00
Gerald Squelart 11f4bfc291 Bug 1224361 - Added vp8/ivf test case - r=rillian 2015-12-03 14:14:46 +11:00
Gerald Squelart 47c3a5245c Bug 1224369 - p2: Added vp8/ivf test case - r=rillian 2015-12-03 14:14:46 +11:00
Gerald Squelart 5000716d11 Bug 1224369 - p1: Test cases given as list - r=rillian
No actual test changes from before. This will help with this bug and future
ones, to easily add more test cases.
2015-12-03 14:14:46 +11:00
Gerald Squelart 090cd0d548 Bug 1224363 - Added vp8/ivf test case - r=rillian 2015-12-03 14:14:45 +11:00
Jean-Yves Avenard c8c275cee2 Bug 1227396: P7. Replace nsTArray<MediaByteRange> with dedicated MediaByteRangeSet object. r=cpearce 2015-11-30 11:29:34 +11:00
Chris Pearce 537e205dfc Bug 1228215 - Store each GMP's storage and nodeId salt in separate directories. r=jwwang 2015-11-27 10:53:32 +13:00
Chris Pearce 6818d3ec67 Bug 1228215 - Add a 'gmpName' parameter to GMPService::GetNodeId(), so each GMP can see a different nodeId for the same origin. r=jwwang 2015-11-27 10:53:31 +13:00
Eugen Sawin 334574ba77 Bug 1219178 - [7.1] Add out-of-bounds seeking test. r=jya 2015-11-24 15:02:34 +01:00
Eugen Sawin 1d6552cfbe Bug 1219178 - [6.1] Add small test file case. r=jya 2015-11-24 15:02:34 +01:00
Eugen Sawin 3cb42afa72 Bug 1219178 - [5.1] Return invalid resource length when mock resource is uninitialized instead of crashing. r=jya 2015-11-24 15:02:34 +01:00
Andrea Marchesini f44bf80ff9 Bug 1213154 - tab-sound-icon should be supported by bfcache, r=roc 2015-11-23 11:35:14 +00:00