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

105 Коммитов

Автор SHA1 Сообщение Дата
Chris Pearce f428ea02a7 Bug 1554075 - Move MediaDecoderStateMachine to its own thread pool. r=jya
The MDSM currently uses the "MediaPlayback" thread pool. This is the same
thread pool used by the demuxers. If all the threads in the pool are in
use demuxing, we can end up not being able to run the A/V sync logic in
the MDSM's VideoSink. This means we end up not presenting frames we could
have potentially presented.

So move the MDSM's TaskQueue to its own SharedThreadPool of size 1. This
should allow the state transition tasks to run more independently from
the demuxing tasks.

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

--HG--
extra : moz-landing-system : lando
2019-06-11 07:36:29 +00:00
Oana Pop Rus 9fdfa8a955 Backed out 9 changesets (bug 1554075) for reftest failures in Intervals.h and MP4Interval.h on a CLOSED TREE
Backed out changeset d5543a60f833 (bug 1554075)
Backed out changeset 1ea15f85c789 (bug 1554075)
Backed out changeset a76688ee5b8a (bug 1554075)
Backed out changeset 85482315a53c (bug 1554075)
Backed out changeset c3f3e9e00279 (bug 1554075)
Backed out changeset ac24ec2e0349 (bug 1554075)
Backed out changeset b04fc8b0c07a (bug 1554075)
Backed out changeset 2cce329d894d (bug 1554075)
Backed out changeset 347b7b4eaab1 (bug 1554075)
2019-06-11 09:52:43 +03:00
Chris Pearce c8602db996 Bug 1554075 - Move MediaDecoderStateMachine to its own thread pool. r=jya
The MDSM currently uses the "MediaPlayback" thread pool. This is the same
thread pool used by the demuxers. If all the threads in the pool are in
use demuxing, we can end up not being able to run the A/V sync logic in
the MDSM's VideoSink. This means we end up not presenting frames we could
have potentially presented.

So move the MDSM's TaskQueue to its own SharedThreadPool of size 1. This
should allow the state transition tasks to run more independently from
the demuxing tasks.

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

--HG--
extra : moz-landing-system : lando
2019-06-11 05:08:36 +00:00
Chris Pearce f0243bf126 Bug 1540573 - P3. Expose network link type on ContentChild for use in content process. r=snorp
In GeckoView the nsINetworkLinkService doesn't work in the content process, as
we don't seem to have an AndroidBridge there, so just maintain the network
connection type on the ContentChild.

(I had considered keeping this on the NeckoChild, but the creation of that is
initiated from the content process side, and there's not an easy and clean way
to have the parent process send us the connection type after construction of
the NeckoParent, other than have the NeckoChild request it either
synchronously, or doing it async and hoping it's not asked for the value before
the response comes in.)

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

--HG--
extra : moz-landing-system : lando
2019-05-06 22:41:25 +00:00
Andreea Pavel e2388edd9f Backed out 7 changesets (bug 1540573) for causing bug 1548441
Backed out changeset dd882b8cd73e (bug 1540573)
Backed out changeset b10d2cae45f2 (bug 1540573)
Backed out changeset 270a8917377f (bug 1540573)
Backed out changeset 3db059b34e40 (bug 1540573)
Backed out changeset fe196b2dfc62 (bug 1540573)
Backed out changeset 1bde5042e507 (bug 1540573)
Backed out changeset 4ff116b9d729 (bug 1540573)
2019-05-03 20:35:27 +03:00
Chris Pearce 693f25ad50 Bug 1540573 - P3. Expose network link type on ContentChild for use in content process. r=snorp
In GeckoView the nsINetworkLinkService doesn't work in the content process, as
we don't seem to have an AndroidBridge there, so just maintain the network
connection type on the ContentChild.

(I had considered keeping this on the NeckoChild, but the creation of that is
initiated from the content process side, and there's not an easy and clean way
to have the parent process send us the connection type after construction of
the NeckoParent, other than have the NeckoChild request it either
synchronously, or doing it async and hoping it's not asked for the value before
the response comes in.)

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

--HG--
extra : moz-landing-system : lando
2019-05-03 02:43:47 +00:00
Noemi Erli 54a0234766 Backed out 6 changesets (bug 1540573) for failures in test_CSP.html
Backed out changeset 599e6e06599d (bug 1540573)
Backed out changeset bf725b7daa5b (bug 1540573)
Backed out changeset 814c94b26028 (bug 1540573)
Backed out changeset 3496ca48f6e0 (bug 1540573)
Backed out changeset 2c4303b175ec (bug 1540573)
Backed out changeset b49cd2b191ae (bug 1540573)
2019-05-02 06:41:33 +03:00
Chris Pearce 8ad76b6460 Bug 1540573 - P3. Expose network link type on ContentChild for use in content process. r=snorp
In GeckoView the nsINetworkLinkService doesn't work in the content process, as
we don't seem to have an AndroidBridge there, so just maintain the network
connection type on the ContentChild.

(I had considered keeping this on the NeckoChild, but the creation of that is
initiated from the content process side, and there's not an easy and clean way
to have the parent process send us the connection type after construction of
the NeckoParent, other than have the NeckoChild request it either
synchronously, or doing it async and hoping it's not asked for the value before
the response comes in.)

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

--HG--
extra : moz-landing-system : lando
2019-05-01 23:46:23 +00:00
Khyati Agarwal 296a6514a0 bug 1520711 - EME key system constants are used with UTF-8 functions where ASCII functions would do r=hsivonen,jya
EME key system constants are used with UTF-8 functions where ASCII functions would do

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

--HG--
extra : moz-landing-system : lando
2019-04-09 08:02:24 +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
Jean-Yves Avenard d7eb320e7a Bug 1476975 - P3. Fix canPlayType/isTypeSupported for AV1 content. r=dminor
AV1 support is behind a pref, as such, the result of canPlayType should depends on the value of that pref.

Additionally to this change we remove AOMDecoder::IsSupportedCodec as it implied confusion on what a codec mimetype is. There are two type of codec mimetype: the one describing the container content ("av1") and the one describing the codec itself "video/av1")
AOMDecoder shouldn't know anything about containers (e.g. mp4 or webm)

--HG--
extra : rebase_source : 72ebe662f76fb6c9d8be1f753890601aac440061
2018-07-20 10:24:56 +02:00
Noemi Erli 76fe049448 Backed out 3 changesets (bug 1476975) for mochitest failures on test_can_play_type_webm.html
Backed out changeset 91585d095420 (bug 1476975)
Backed out changeset 798f4894ffd5 (bug 1476975)
Backed out changeset b5377ceef34f (bug 1476975)
2018-07-20 21:27:01 +03:00
Jean-Yves Avenard 4d4b32ccf8 Bug 1476975 - P3. Fix canPlayType/isTypeSupported for AV1 content. r=dminor
AV1 support is behind a pref, as such, the result of canPlayType should depends on the value of that pref.

Additionally to this change we remove AOMDecoder::IsSupportedCodec as it implied confusion on what a codec mimetype is. There are two type of codec mimetype: the one describing the container content ("av1") and the one describing the codec itself "video/av1")
AOMDecoder shouldn't know anything about containers (e.g. mp4 or webm)
2018-07-20 19:04:46 +02:00
Jean-Yves Avenard c5bbea93f3 Bug 1409664 - P21. Retrieve H264 constraint flags with ExtractH264CodecDetails. r=bryce
Summary:
We'll need it to properly build a SPS/PPS extradata later. Also, change the types used. The original data is stored on two bytes ASCII, it will always fit in a uint8_t. Additionally, this is how those values are stored in a SPS.

Depends on D1678

Reviewers: bryce

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1718
2018-07-03 11:45:24 -07:00
Andi-Bogdan Postelnicu 60732a90a5 Bug 1453795 - DOM/Media - Initialize member fields in classes/ structures. r=jyavenard
--HG--
extra : rebase_source : 0c785260497fadf98cf3cff8b9fcae8ea699c2c1
2018-06-15 10:25:02 +03:00
Sebastian Hengst 0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Alex Chronopoulos 16d2b965f6 Bug 1451781 - Check if output device is mono and remove stereo check in order to disable opus channel inversion. r=jya
MozReview-Commit-ID: 3x27rBs5Ika

--HG--
extra : rebase_source : 0b7232a0705edceda8793444c140aa947cc99d51
2018-04-09 13:07:58 +03:00
Alex Chronopoulos 851a3ee589 Bug 1431810 - Disable Opus phase inversion on stereo to mono downmix. r=rillian
MozReview-Commit-ID: 5eaSPQzUu9o

--HG--
extra : rebase_source : 126d9faa2824d29fc73cf040b033ca585dfdbcee
2018-03-15 18:28:14 +02:00
Jean-Yves Avenard 130acc845f Bug 1447124 - Use int64_t for SaferMultDiv. r=gerald
This prevent potential division by zero should the cast on the argument cause an overflow.
We still limit the mul and div arguments to INT64_MAX.

MozReview-Commit-ID: gHkv6m4zq0

--HG--
extra : rebase_source : 1c27f9a2ecc4c8bf6a763dedf2859e64bf79ea85
2018-03-27 11:27:08 +02:00
Gurzau Raul 1368521911 Backed out 3 changesets (bug 1431810) for failing test_bug1431810_opus_downmix_to_mono.html on Windows
Backed out changeset a01c1941a829 (bug 1431810)
Backed out changeset 43eb1c01c67f (bug 1431810)
Backed out changeset 3fe9d85d684a (bug 1431810)
2018-03-26 12:09:42 +03:00
Alex Chronopoulos 85119eac26 Bug 1431810 - Disable Opus phase inversion on stereo to mono downmix. r=rillian
MozReview-Commit-ID: 5eaSPQzUu9o

--HG--
extra : rebase_source : 126d9faa2824d29fc73cf040b033ca585dfdbcee
2018-03-15 18:28:14 +02:00
Jean-Yves Avenard 19542f34d4 Bug 1404997 - P25. Add MSG and WebRTC MediaThreadType. r=gerald
Additionally, remove no longer relevant MediaThreadType documentation as all MediaDataDecoder API are now asynchronous and we no longer have cancellable taskqueues.

MozReview-Commit-ID: 1F0YUhNniAn

--HG--
extra : rebase_source : 7b93ef24f91ccc21537e78bbb8a2d82bafacd29e
2017-12-15 18:39:33 +01:00
Jean-Yves Avenard 998881b06e Bug 1404997 - P24. Make AutoTaskQueue deliver runnables to nsIEventTarget. r=gerald
Similar to bug 1300118 for TaskQueue.

MozReview-Commit-ID: 8jIifvs2r4U

--HG--
extra : rebase_source : f1c8ab791fa853c4d69cfb8791a418654a5d4142
2017-12-15 18:14:02 +01:00
JW Wang 3fef1cee8e Bug 1411476. P4 - rewrite GetDebugInfo() functions to make string concatenation easier. r=gerald
MozReview-Commit-ID: V9cxIZGl8M

--HG--
extra : rebase_source : 10afe3e0e4c7d3d6153ea820d869e192345d755c
2017-10-25 13:13:30 +08:00
James Cheng 86e88e8319 Bug 1407919 - Part1 - Add an extraction function to parse the RFC-6381 VP9 codec string. r=gerald,jya
MozReview-Commit-ID: Ii0L4IPtzJJ

--HG--
extra : rebase_source : 9d1780e76908095a234a4eed13e792d75a714596
2017-10-13 13:55:05 +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
Chris Pearce ec0ac75c45 Bug 1394648 - Switch from nsInt{Point,Rect,Size} to gfx::Int{Point,Rect,Size} in dom/media. r=jwwang
The nsRect.h and nsSize.h headers typedef nsIntRect to gfx::IntRect etc, so the
rect/size objects we use will be the same, just under a different name.
However the old headers #include a bunch of things we don't use, so we if we
use the gfx objects directly we end up with a smaller include graph.

MozReview-Commit-ID: 7S4OSqBJK9m

--HG--
extra : rebase_source : 7cc48507356ce754e8395af957fa68a28711e00a
2017-08-29 14:00:33 +12:00
Bevis Tseng 95b18d794e Bug 1382172 - Name nsITimerCallback instances in native implementation. r=billm
--HG--
extra : rebase_source : 84de1abfcc30a6964144c2e6718a508c71027b65
2017-07-27 02:18:20 +08:00
JW Wang 87a7705558 Bug 1316211. P16 - remove MediaDecoderReader completely and fix includes. r=gerald
MozReview-Commit-ID: AGNyyh4kt3e

--HG--
extra : rebase_source : 48bfd7c681693a965848078c19ac81707ac19540
extra : source : 093ff5fe2ab6dd7551453b10b480fa3553ec135d
2017-07-20 09:56:08 +08: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
Jean-Yves Avenard 10d2da1b08 Bug 1374596: P7. Fix includes as per coding style. r=padenot
MozReview-Commit-ID: 5WfOWcOoxg0

--HG--
extra : rebase_source : 988c09623e83a0d9188d9ff5d705314e2c43e756
2017-06-20 17:56:55 +02:00
Bill McCloskey c85ab6308c Bug 1366072 - Change promises to take nsISerialEventTarget instead of AbstractThread (r=jwwang)
MozReview-Commit-ID: 4azUhSB6whu
2017-06-13 14:51:01 -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
Chris Pearce 12f8d2203e Bug 1352556 - Validate output of MFGetAttributeSize. r=gerald
MozReview-Commit-ID: J1NirhKfTK6
2017-05-01 16:12:27 +12:00
JW Wang aab9f27e0f Bug 1359309. P1 - give mozilla::TaskQueue a name which will be useful in debugging Dispatch() failures. r=jya
MozReview-Commit-ID: 5FAVNo32fl7

--HG--
extra : rebase_source : 761fca752429d95e97be699976283baa35c64abb
extra : intermediate-source : 83282a7a5adbe7046212da85f9d16e39faa4bd5c
extra : source : 924af3ea0aa86888fd2745020be7900e6eb614f0
2017-04-25 14:57:55 +08:00
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