Commit Graph

116 Commits

Author SHA1 Message Date
Jean-Yves Avenard
c5e1eb15d6 Bug 1521370 - Ensure WMF PDM is always initialized on the right thread. r=mattwoodrow,gerald.
And only do it once.

Depends on D22874

Differential Revision: https://phabricator.services.mozilla.com/D23247

--HG--
extra : moz-landing-system : lando
2019-03-13 06:16:52 +00:00
Jean-Yves Avenard
d63e3b0ef0 Bug 1521370 - Always assume we can decode vp8/vp9. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D21478

--HG--
extra : moz-landing-system : lando
2019-03-05 15:01:38 +00:00
Jean-Yves Avenard
4a6552a7d5 Bug 1524890 - P14. Add AudioTrimmer wrapper. r=bryce
A simplistic decoder wrapper that will take decoded frames and truncate them should the originally compressed frame contained trimming information.

Differential Revision: https://phabricator.services.mozilla.com/D20173

--HG--
extra : moz-landing-system : lando
2019-02-24 10:29:52 +00:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Bryce Van Dyk
fa9d86fda5 Bug 1487416 - Replace mValid and mMode with mCryptoScheme for track and sample crypto structs. r=jya
Explicitly store the crypto scheme being used on our crypto structs to let us
differentiate between cenc and cbcs data. In doing so remove mMode and replace
mValid with IsEncrypted() for the following reasons:
- Different modes within the existing schemes are not currently utilized by the
  spec: the scheme implies mode. Having a mode and a scheme could lead to confusion
  between the two. We can return mMode if ever needed by the spec --
  possibly if the isProtected flag which we were tracking with mMode, is
  ever changed to be more than a bool in the spec.
- mValid was typically used to check if these structs contained valid crypto
  data or not. With only one scheme this was often shorthand for 'IsEncrypted',
  but with multiple schemes what is considered valid data for one may not be for
  another. Do away with this and just explicitly have an 'IsEncrypted'.

Differential Revision: https://phabricator.services.mozilla.com/D15874

--HG--
extra : moz-landing-system : lando
2019-01-11 15:29:45 +00:00
Cosmin Sabou
15939f75f2 Backed out 6 changesets (bug 1487416) for causing Android build bustages on RemoteDataDecoder.cpp. CLOSED TREE
Backed out changeset 05bcc598e9fb (bug 1487416)
Backed out changeset b99936efbbc9 (bug 1487416)
Backed out changeset ee55b284223e (bug 1487416)
Backed out changeset d25449127f8f (bug 1487416)
Backed out changeset f7c201b7f9bc (bug 1487416)
Backed out changeset 233aedc8b42e (bug 1487416)
2019-01-10 23:37:20 +02:00
Bryce Van Dyk
1a3a965df3 Bug 1487416 - Replace mValid and mMode with mCryptoScheme for track and sample crypto structs. r=jya
Explicitly store the crypto scheme being used on our crypto structs to let us
differentiate between cenc and cbcs data. In doing so remove mMode and replace
mValid with IsEncrypted() for the following reasons:
- Different modes within the existing schemes are not currently utilized by the
  spec of implementation. Having a mode and a scheme could lead to confusion
  between the two. We can return mMode if ever needed by the spec.
- mValid was typically used to check if these structs contained valid crypto
  data or not. With only one scheme this was often shorthand for 'IsEncrypted',
  but with multiple schemes what is considered valid data for one may not be for
  another. Do away with this and just explicitly have an 'IsEncrypted'.

Differential Revision: https://phabricator.services.mozilla.com/D15874

--HG--
extra : moz-landing-system : lando
2019-01-10 18:37:48 +00:00
Jean-Yves Avenard
b07c3f66ba Bug 1505284 - P3. Ensure gfxVars and gfxPrefs are always initialized when using PDMFactory. r=gerald
While typically those will always be, when using through gtest it won't.

Differential Revision: https://phabricator.services.mozilla.com/D12519

--HG--
extra : moz-landing-system : lando
2018-11-22 16:31:03 +00:00
Sylvestre Ledru
804b8b8883 Bug 1204606 - Reformat of dom/media r=jya
# skip-blame

Differential Revision: https://phabricator.services.mozilla.com/D12251

--HG--
extra : moz-landing-system : lando
2018-11-19 13:25:37 +00:00
Michael Froman
2e78f7f1a1 Bug 1471535 - pt12 - Hook up RDD process and Remote decoding. r=jya,spohl
Depends on D8493

Differential Revision: https://phabricator.services.mozilla.com/D8494

--HG--
extra : moz-landing-system : lando
2018-11-14 18:07:28 +00:00
Michael Froman
a2091796e4 Bug 1471535 - pt1 - Split RemoteVideoDecoder into GpuDecoderModule and RemoteMediaDataDecoder preparing for new RDD decoder work. r=jya
- also makes RemoteMediaDecoder generic so it can work with the remote decoders on the RDD process
- changes VideoDecoderChild to subclass IRemoteDecoderChild

Differential Revision: https://phabricator.services.mozilla.com/D8482

--HG--
rename : dom/media/ipc/RemoteVideoDecoder.cpp => dom/media/ipc/GpuDecoderModule.cpp
rename : dom/media/ipc/RemoteVideoDecoder.h => dom/media/ipc/GpuDecoderModule.h
extra : moz-landing-system : lando
2018-11-14 02:45:39 +00:00
Bogdan Tara
fc8134a16a Backed out 12 changesets (bug 1471535) for VideoDecoderChild failures CLOSED TREE
Backed out changeset 3d8a11458d79 (bug 1471535)
Backed out changeset 2176010bc1fe (bug 1471535)
Backed out changeset dfb4d3462b22 (bug 1471535)
Backed out changeset ea6b73ded74d (bug 1471535)
Backed out changeset 404d760a9e82 (bug 1471535)
Backed out changeset 28ae4b6fab68 (bug 1471535)
Backed out changeset af91e1f04c2d (bug 1471535)
Backed out changeset d39fef4334b3 (bug 1471535)
Backed out changeset a038821cd8ae (bug 1471535)
Backed out changeset 5dcc74a938c6 (bug 1471535)
Backed out changeset 53aff7e699b4 (bug 1471535)
Backed out changeset f3f6abc052f0 (bug 1471535)

--HG--
rename : dom/media/ipc/GpuDecoderModule.cpp => dom/media/ipc/RemoteVideoDecoder.cpp
rename : dom/media/ipc/GpuDecoderModule.h => dom/media/ipc/RemoteVideoDecoder.h
2018-11-13 23:31:56 +02:00
Michael Froman
563ff5b11d Bug 1471535 - pt12 - Hook up RDD process and Remote decoding. r=jya,spohl
Depends on D8493

Differential Revision: https://phabricator.services.mozilla.com/D8494

--HG--
extra : moz-landing-system : lando
2018-11-13 17:36:47 +00:00
Michael Froman
97b1784063 Bug 1471535 - pt1 - Split RemoteVideoDecoder into GpuDecoderModule and RemoteMediaDataDecoder preparing for new RDD decoder work. r=jya
- also makes RemoteMediaDecoder generic so it can work with the remote decoders on the RDD process
- changes VideoDecoderChild to subclass IRemoteDecoderChild

Differential Revision: https://phabricator.services.mozilla.com/D8482

--HG--
rename : dom/media/ipc/RemoteVideoDecoder.cpp => dom/media/ipc/GpuDecoderModule.cpp
rename : dom/media/ipc/RemoteVideoDecoder.h => dom/media/ipc/GpuDecoderModule.h
extra : moz-landing-system : lando
2018-11-13 17:34:10 +00:00
Dorel Luca
a3894a4dcf Backed out 3 changesets (bug 1471535) for Mochitest failures in build/src/dom/media/ipc/VideoDecoderChild.cpp. a=backout
Backed out changeset 27c9f657bf3d (bug 1471535)
Backed out changeset 4a1366419883 (bug 1471535)
Backed out changeset 94fed1a4a43b (bug 1471535)

--HG--
rename : dom/media/ipc/GpuDecoderModule.cpp => dom/media/ipc/RemoteVideoDecoder.cpp
rename : dom/media/ipc/GpuDecoderModule.h => dom/media/ipc/RemoteVideoDecoder.h
2018-11-09 11:52:06 +02:00
Michael Froman
25ac4aee06 Bug 1471535 - pt1 - Split RemoteVideoDecoder into GpuDecoderModule and RemoteMediaDataDecoder preparing for new RDD decoder work. r=jya
- also makes RemoteMediaDecoder generic so it can work with the remote decoders on the RDD process
- changes VideoDecoderChild to subclass IRemoteDecoderChild

Differential Revision: https://phabricator.services.mozilla.com/D8482

--HG--
rename : dom/media/ipc/RemoteVideoDecoder.cpp => dom/media/ipc/GpuDecoderModule.cpp
rename : dom/media/ipc/RemoteVideoDecoder.h => dom/media/ipc/GpuDecoderModule.h
extra : moz-landing-system : lando
2018-11-08 03:45:54 +00:00
Jean-Yves Avenard
a941db77be Bug 1497951 - P5. Add VPXChangeMonitor and detect VPx inband resolution change. r=bryce
Depends on D10911

Differential Revision: https://phabricator.services.mozilla.com/D10912

--HG--
extra : moz-landing-system : lando
2018-11-07 13:49:30 +00:00
Jean-Yves Avenard
374ac7ce16 Bug 1497951 - P1. Abstract H264Converter. r=bryce
So that we can later expand and use it for other codecs.

Differential Revision: https://phabricator.services.mozilla.com/D10907

--HG--
rename : dom/media/platforms/wrappers/H264Converter.cpp => dom/media/platforms/wrappers/MediaChangeMonitor.cpp
rename : dom/media/platforms/wrappers/H264Converter.h => dom/media/platforms/wrappers/MediaChangeMonitor.h
extra : moz-landing-system : lando
2018-11-07 13:48:44 +00:00
Jean-Yves Avenard
cd7563c7fd Bug 1409664 - P19. Don't wrap H264 decoder in H264 converter. r=bryce
Summary:
By default, when creating a H264 decoder it is wrapped into a H264Converter which will only create the actual decoder once a valid SPS/PPS has been seen.
As creating valid SPS/PPS NALs isn't trivial, when all we care about are capabilities of such decoder, we do not wrap the decoder so that it will be immediately created.
We can then test its capabilities.

We only enable this on windows, as on mac we need to generate a SPS/PPS, otherwise the mac decoder always report that HW decoding is not enabled.

Depends on D1632

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1633
2018-07-03 11:45:23 -07:00
Emilio Cobos Álvarez
1e9c395548 Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj
Same approach as the other bug, mostly replacing automatically by removing
'using mozilla::Forward;' and then:

  s/mozilla::Forward/std::forward/
  s/Forward</std::forward</

The only file that required manual fixup was TestTreeTraversal.cpp, which had
a class called TestNodeForward with template parameters :)

MozReview-Commit-ID: A88qFG5AccP
2018-06-02 09:33:26 +02:00
Emilio Cobos Álvarez
fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Takuro Ashie
956ef94c09 Bug 1306529 - Add initial implementation of PureOmxPlatformLayer r=jya
It's a concrete class of OmxPlatformLayer for accessing OpenMAX IL
libraries directly. It will be usable on various embedded linux systems.
Note that it's not enabled by default yet. Add the following config to
your mozconfig.

  ac_add_options --enable-openmax

TODO: Implement zero-copy mode

MozReview-Commit-ID: EMEXAKzzR64

--HG--
extra : rebase_source : ee6acf7d046e8ce6e18a53988a4ea308b8d4d44f
2018-04-18 11:38:12 +09:00
Nicholas Nethercote
51f2b494ea Bug 1448222 - Remove MediaPrefs. r=jya
This patch converts all the prefs in MediaPrefs to the new StaticPrefs system.

Note that the "media.wmf.skip-blacklist" pref was present in both MediaPrefs
and gfxPrefs. The copy in MediaPrefs was never used; this explains why this
patch does not add an entry for it to StaticPrefList.h.

Note also that the patch removes themedia.rust.mp4parser pref, because it's
unused.

MozReview-Commit-ID: IfHP37NbIjY

--HG--
extra : rebase_source : df84ea813b7c366d7be663c696891325610149c8
2018-03-20 09:48:56 +11:00
Coroiu Cristina
fa24350f83 Backed out 2 changesets (bug 1306529) for build bustage on a CLOSED TREE
Backed out changeset 87206102c699 (bug 1306529)
Backed out changeset 7e70a7f597c4 (bug 1306529)
2018-04-09 15:59:58 +03:00
Takuro Ashie
6e0c9d24c2 Bug 1306529 - Add initial implementation of PureOmxPlatformLayer r=jya
It's a concrete class of OmxPlatformLayer for accessing OpenMAX IL
libraries directly. It will be usable on various embedded linux systems.
Note that it's not enabled by default yet. Add the following config to
your mozconfig.

  ac_add_options --enable-openmax

TODO: Implement zero-copy mode

MozReview-Commit-ID: EMEXAKzzR64

--HG--
extra : rebase_source : d7c5b9baf66d87db38723b278c57fd581a3cbf98
extra : intermediate-source : b8c671a02a4fce085433b16db998c9b04ace87db
extra : source : 131b65580e3dd5c9dcb0ba6a05c16ab90c2dcc68
2018-03-28 18:21:04 +09:00
Alfredo.Yang
1691dbc3fd Bug 1417795 - remove mp4_demuxer namespace part6. r=kinetik
MozReview-Commit-ID: FI139lJTTX9

--HG--
extra : rebase_source : 5871e418b7cad1c95976e46535d94d7374629156
2017-11-17 11:57:44 +08:00
Alfredo.Yang
187142dbec Bug 1417794 - move Adts.h, AnnexB.h and H264.h to dom/media/platform/agnostic/bytestreams. r=kinetik
MozReview-Commit-ID: LUqvIdCD2XD

--HG--
rename : dom/media/platforms/agnostic/mp4_demuxer/Adts.cpp => dom/media/platforms/agnostic/bytestreams/Adts.cpp
rename : dom/media/platforms/agnostic/mp4_demuxer/Adts.h => dom/media/platforms/agnostic/bytestreams/Adts.h
rename : dom/media/platforms/agnostic/mp4_demuxer/AnnexB.cpp => dom/media/platforms/agnostic/bytestreams/AnnexB.cpp
rename : dom/media/platforms/agnostic/mp4_demuxer/AnnexB.h => dom/media/platforms/agnostic/bytestreams/AnnexB.h
rename : dom/media/platforms/agnostic/mp4_demuxer/H264.cpp => dom/media/platforms/agnostic/bytestreams/H264.cpp
rename : dom/media/platforms/agnostic/mp4_demuxer/H264.h => dom/media/platforms/agnostic/bytestreams/H264.h
rename : dom/media/platforms/agnostic/mp4_demuxer/moz.build => dom/media/platforms/agnostic/bytestreams/moz.build
extra : rebase_source : 45b73271e0bbd3da897a5c218c35343fd28071a1
2017-11-16 15:05:17 +08:00
Jonathan Watt
60fa0649f2 Bug 1406819 - Remove various bits of dead code from dom/. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D109
2017-10-11 10:09:13 +01:00
Jean-Yves Avenard
2cd8f30633 Bug 1401922 - P2. Only set error when non handled. r=alwu
MozReview-Commit-ID: CF2Iw0i0nD8

--HG--
extra : rebase_source : d95ae83f8e426593200cd15b3ea7d6fd19da3ec8
2017-09-21 13:29:54 +02:00
Jean-Yves Avenard
c59188889b Bug 1397307 - P2. Wrap boolean in structure to prevent unwanted conversion. r=gerald
Automatic conversion (say from int to bool) makes DecoderParam difficult to extend.

MozReview-Commit-ID: G0T7jPogskN

--HG--
extra : rebase_source : 59437fd2b430ccd6be50b18c98b5a5c4ed2c8240
2017-09-08 15:45:38 +02:00
Alastor Wu
1df67c03cc Bug 1397141 - part4 : change mLastError type to MediaResult r=jya
Change mLastError type to MediaResult and send it as parameter to PDM::CreateVideoDecoder
in order to get detailed error description.

MozReview-Commit-ID: 4sIRXTHsrzr

--HG--
extra : rebase_source : 23d72cc72f5683305745024de913f44298d717d5
2017-09-13 15:05:52 +08:00
Sebastian Hengst
f550df3a8e Backed out changeset 9140f22570ea (bug 1397141) 2017-09-13 09:25:44 +02:00
Alastor Wu
6db87eb5d6 Bug 1397141 - part4 : change mLastError type to MediaResult r=jya
Change mLastError type to MediaResult and send it as parameter to PDM::CreateVideoDecoder
in order to get detailed error description.

MozReview-Commit-ID: 4sIRXTHsrzr

--HG--
extra : rebase_source : 23d72cc72f5683305745024de913f44298d717d5
2017-09-13 15:05:52 +08:00
Alastor Wu
a1171573f0 Bug 1396547 - use Supports() in PDMFactory::CreateDecoder() instread of SupportsMimeType(). r=jya
The TrackInfo [1] created in WMFDecoderModule::SupportsMimeType() doesn't contain valid image's width and height, because the TrackInfo is created without width and height [2] and the default width and height are both -1 [3].

Thesefore, we can't correctly check whether this resolution is supported by MFT [4]. We should use Supports() instead of SupportsMimeType().

[1] https://goo.gl/QV8Jgm
[2] https://goo.gl/4siShn
[3] https://goo.gl/BDoXYf
[4] https://goo.gl/BZh4QA

MozReview-Commit-ID: 4dIJ84eaytq

--HG--
extra : rebase_source : 1ac63d25d3c7473f9bfd595432273460649a26f1
2017-09-04 18:50:23 +08:00
Jean-Yves Avenard
9349efba14 Bug 1396515: Fix incorrect && and || operator placements. r=sylvestre
Includes some side 80 columns fix.

MozReview-Commit-ID: IXRoQfM0Hjc

--HG--
extra : rebase_source : 918cf87b2ce82c8de245dcb23cc359289ac5f21f
2017-09-04 11:27:43 +02:00
Kilik Kuo
3d9fbae6bd Bug 1279171 - Do not use WMF when application is in Windows pre-2000 compatibility mode. r=froydnj
MozReview-Commit-ID: BPiz2WWrshF

--HG--
extra : rebase_source : c5e78e94c542a5b00b06e177aa088ad3bb56da57
2017-08-24 11:46:56 +08:00
Eric Rahm
9732475fe0 Bug 1389598 - Part 3: Remove gonk references from dom/ r=bkelly
--HG--
extra : rebase_source : 94a2b34b21cfde0c0ebda1045e9d30c6b88a1557
2017-08-11 17:42:11 -07:00
Bill McCloskey
f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Carsten "Tomcat" Book
8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey
6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book
ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey
4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Bill McCloskey
d6affd5261 Bug 1365098 - Convert NS_GetCurrentThread uses in dom/media (r=cpearce)
MozReview-Commit-ID: DUPt6xj49zz
2017-06-12 20:20:08 -07:00
Chun-Min Chang
ddc78aa48d Bug 1349128 - Remove duplicated AndroidDecoderModule in mCurrentPDMs if both PDMAndroidMediaCodecEnabled and PDMAndroidMediaCodecPreferred are set to true; r=jya
The AndroidDecoderModule will be added into PDM queue twice if both PDMAndroidMediaCodecEnabled and PDMAndroidMediaCodecPreferred are set to true. It should be inserted into the head of the PDM queue in this case, and appended to the tail if only PDMAndroidMediaCodecEnabled is true.

MozReview-Commit-ID: Fj0z0meeb1V

--HG--
extra : rebase_source : 1d7f2b10fd4360d3f641ad6517e9f95afcb99768
2017-03-22 14:14:09 +08:00
Kaku Kuo
7c985e041c Bug 1346120 part 3 - Use NullDecoderModule while suspending a video element's decoder; r=jwwang
MozReview-Commit-ID: L1CsDV5TW5R

--HG--
extra : rebase_source : c7aa851ebdbda6abbf7acb09849b237023d653fe
extra : intermediate-source : 91c5986bef4c236e29deeeca6b14f33405da56a3
extra : source : 2d3146d70fb65da3379dd6a5f126c4caff65e139
2017-03-09 17:12:02 +08:00
Iris Hsiao
7f4987cc26 Backed out 6 changesets (bug 1346120) for autophone Mdm tests failure in test_background_video_drawimage_with_suspended_video.html
Backed out changeset a30c73fc8d69 (bug 1346120)
Backed out changeset f16556658fd9 (bug 1346120)
Backed out changeset 98d212462786 (bug 1346120)
Backed out changeset ba579adbed21 (bug 1346120)
Backed out changeset c0758b9bf7b5 (bug 1346120)
Backed out changeset 94a483ef784e (bug 1346120)
2017-03-13 16:53:14 +08:00
Kaku Kuo
707ca65566 Bug 1346120 part 3 - Use NullDecoderModule while suspending a video element's decoder; r=jwwang
MozReview-Commit-ID: L1CsDV5TW5R

--HG--
extra : rebase_source : e8a47fc99d775c591f6830b042c21717a3e8bced
extra : source : 2d3146d70fb65da3379dd6a5f126c4caff65e139
2017-03-09 17:12:02 +08:00
Jean-Yves Avenard
b3e9c44871 Bug 1334971: P2. Fix coding style. r=gerald
MozReview-Commit-ID: 1xMcYn354NT

--HG--
extra : rebase_source : efa9bfd79cbcc5ea402fbc7e421d35e6168b84cb
2017-02-07 07:57:04 +01:00
Jean-Yves Avenard
6e774a7bcd Bug 1319987: P2. Remove FuzzingWrapper. r=gerald
It is no longer used and in its current state incompatible with promise based decoders.

We'll re-add it later.

MozReview-Commit-ID: DHsyTsFvTZB

--HG--
extra : rebase_source : 4b1a7dba2a001ff32ffe4ef4df63b91f15a43e83
2016-12-21 10:52:01 +11:00
Masatoshi Kimura
942d5c770f Bug 1334870 - Remove useless version check from PDMFactory. r=cpearce
MozReview-Commit-ID: 8Rlwm5XfKxD

--HG--
extra : rebase_source : 33b6ecda334d6b4caf456805ad7a5cb16e26efe1
2017-01-29 16:44:19 +09:00