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

13755 Коммитов

Автор SHA1 Сообщение Дата
Paul Adenot 28fa83d1b5 Bug 1404977 - Part 10 - Make logging uniform, and consistently use GraphImpl() to access the graph impl. r=pehrsons
MozReview-Commit-ID: DZ7zhQsBtvy

--HG--
extra : rebase_source : d44599587cc11dccaecf6672fc4ffbaad1a5c14f
2018-04-17 17:11:13 +02:00
Paul Adenot 6622a3551d Bug 1404977 - Part 9 - Propagate the changes to the GraphDrivers, simplifying them, and brokering all access through the MSG. r=pehrsons
For an AudioCallbackDriver, the number of input channels is immutable, and
passed at construction, so that it's less necessary to rely on global state.

MozReview-Commit-ID: F9TL1H92z3W

--HG--
extra : rebase_source : 5193488592ca97273eb2b6f43d4c7a0e4beb0a33
2018-04-30 16:01:56 +02:00
Paul Adenot 064d4d9b47 Bug 1404977 - Part 8 - Tell the MSG the MediaEngineAudioSource are now independent and that we can have multiple of them, cleanup the MSG-side API for managing them. r=pehrsons
The MSG now can feed microphone data to all its input listeners. This paves the
way for multiple input device, if we feel it's needed at some point, but does
not implement it.

The method for adding/removing inputs are also cleaned up.

MozReview-Commit-ID: 9OX4Da6Gjq2

--HG--
extra : rebase_source : 043c486e53f9220ae61fd788ed86064ba723f1a4
2018-04-30 16:01:38 +02:00
Paul Adenot 9b7c6c96da Bug 1404977 - Part 7 - Make each MediaEngineWebRTCMicrophoneSource independent. r=pehrsons
MozReview-Commit-ID: 1RSsT6AV3iI

--HG--
extra : rebase_source : ed7db6938c46d4c9e716c782f4b04f2438dff9a6
2018-04-30 15:37:18 +02:00
Paul Adenot 959bcfd615 Bug 1404977 - Part 6 - Remove unused include for lock-free FIFO. r=pehrsons
MozReview-Commit-ID: 8gVKlD7lMIX

--HG--
extra : rebase_source : cc5e02d3acb3a46edafe58002ff8e4d1e974b235
2018-04-30 15:33:28 +02:00
Paul Adenot 2ba8afaf4c Bug 1404977 - Part 5 - Allow querying the number of input channels from a WebRTCAudioDataListener. r=pehrsons
MozReview-Commit-ID: JkpEZOJpOTl

--HG--
extra : rebase_source : 055d86792861028c9a998b9731651b7e121f9bb0
2018-04-30 15:30:58 +02:00
Paul Adenot d9bf35a76c Bug 1404977 - Part 3 - Remove global statics, introduce an audio device enumerator r=pehrsons
MozReview-Commit-ID: 55VlpGIAOxp

--HG--
extra : rebase_source : 34b6f83bbb647975d273f900a4f11e25d393f1c4
2018-04-30 15:18:22 +02:00
Paul Adenot 49c1370f2f Bug 1404977 - Part 2 - Augment AudioDeviceInfo with a cubeb device id. r=pehrsons
MozReview-Commit-ID: GrOnxHuN2Oj

--HG--
extra : rebase_source : dc41255b77d49749c77814b62dea0c161873d2f9
2018-04-30 15:24:52 +02:00
Paul Adenot 2062de82ff Bug 1404977 - Part 1 - Add missing lock to the PREF_CUBEB_BACKEND branch of the pref callback in CubebUtils.cpp. r=pehrsons
MozReview-Commit-ID: CBAmQKDq36z

--HG--
extra : rebase_source : 171106da4e662c3514b80b7d83bc0637afc2caab
2018-04-17 16:45:33 +02:00
alwu 6d23d559af Bug 1480281 - part1 : add autoplay debug log module. r=cpearce
Add new log module which allow us to debug by using "MOZ_LOG=Autoplay:5".

MozReview-Commit-ID: 9CG5JyCw21G

--HG--
extra : rebase_source : c71c4bbed88b07a7803d93b661bfeac37cb94035
2018-08-01 17:30:59 -07:00
Andreas Pehrson 0facadf342 Bug 1480161: Fix underrun assert for processed input stream. r=achronop
The logic here intends to (as is written in the comment) append one block of
silence to the track to allow for us to underrun one full scratch buffer.

The code doesn't match this behavior however, because if we are not underrunning
by less than a block, we end up appending *less* than a block. This causes us to
append at a later time as the scratch buffer can swallow more (up to a full
block) than we appended.

Without processing this seems to work because of timing and ordering, but
with processing (aec/agc/ns) we tend to add 71
(512 for an iteration - 441 packed) samples of silence,
leaving us to hit the assert with a 44% ((128-71)/128) chance during subsequent
iterations.

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

--HG--
extra : moz-landing-system : lando
2018-08-02 10:25:05 +00:00
Karl Tomlinson 9687fa6c7d bug 1476231 switch FFTBlock from libav to ffvpx r=jya
This results in a speed improvement of about 6% on the "Convolution reverb"
webaudio-benchmark (measured with Linux x86_64 build on Skylake).

MozReview-Commit-ID: 94W6h3qE1tB

--HG--
extra : rebase_source : f6fe4f3fa0338a90a1e389450134027d9389af09
2018-07-14 14:44:43 +12:00
Karl Tomlinson 146c0a09dd bug 1476231 add accessor for ffvpx real DFT functions r=jya
MozReview-Commit-ID: AF2jl6ZnD4z

--HG--
extra : rebase_source : c7f6c60e3f1b282db5aef2f7b84f23b46734513f
2018-07-14 12:32:20 +12:00
Karl Tomlinson c0bf3f57b9 bug 1476231 link ffmpeg real DFT functions r=jya
MozReview-Commit-ID: 1K5tta51rBB

--HG--
extra : rebase_source : 11355d14e69ca8f79c504274e4cdc78748af1a1d
2018-07-14 11:57:45 +12:00
Chris Pearce 2e3c4bd9af Bug 1478208 - Implement HTMLMediaElement.allowedToPlay. r=alwu,bz
Various web authors have expressed desire to know in advance whether autoplay
will work.

They want this in order to avoid paying the price for downloading media that
won't play. Or they want to take other action such as showing a poster image
instead.

This is of particular interest to Firefox, as we're planning on showing a
prompt to ask the user whether they would like a site to play. If sites want to
determine whether they can autoplay but avoid the prompt showing, they won't be
able to just call play() in Firefox and see whether it works, as that would
likely show the prompt if the user doesn't already have a stored permission.

We've been working out a spec here:
https://github.com/whatwg/html/issues/3617#issuecomment-398613484

This implements what is the consensus to date there;
HTMLMediaElement.allowedToPlay, which returns true when a play() call would not
be blocked with NotAllowedError by autoplay blocking policies.

MozReview-Commit-ID: AkBu0G7uCJ0

--HG--
extra : rebase_source : 3f31db79aa1e570fdd9fc7062d0ddac7c96a8931
2018-07-25 14:25:17 +12:00
alwu 81ae6fd494 Bug 1466926 - part1 : always allow extension background script to autoplay. r=cpearce
In present web extension design (both Firefox and Chrome), background script can autoplay.
We don't want to break this design, so we would always allow it to autoplay.

MozReview-Commit-ID: 9BfWgll7PNx

--HG--
extra : rebase_source : 7996daa06c31a84a2aea9008daa9bddfcde98c74
2018-07-10 10:37:33 -07:00
Mark Banner eb3b37a169 Bug 1478305 - Remove unnecessary ChromeUtils.import calls in dom/media. r=bwc
MozReview-Commit-ID: 63NbLr7wap5

--HG--
extra : rebase_source : 424b9a938fd50965fa0dd29cef186ef189f6fda4
2018-07-30 10:28:11 +01:00
Andreas Pehrson 8b155b06b1 Bug 1479027 - Don't announce existing ended tracks when they have no input r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D2596

--HG--
extra : moz-landing-system : lando
2018-08-01 14:47:46 +00:00
Byron Campen [:bwc] a600a51631 Bug 1476600: Stop reusing mids from stopped transceivers. r=jib
When a transceiver is stopped, its mid should not be reused by a new transceiver.

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

--HG--
extra : moz-landing-system : lando
2018-07-31 20:44:47 +00:00
Jan-Ivar Bruaroey ec94f36a20 Bug 1478367 - Move RTCRtpTransceiver API mochitest to web-platform-tests. r=bwc
MozReview-Commit-ID: JyZMU0BKwVH

--HG--
rename : dom/media/tests/mochitest/test_peerConnection_transceivers.html => testing/web-platform/tests/webrtc/RTCRtpTransceiver.https.html
extra : rebase_source : 48b3c8dc327e257350dc6da6d15f6f860805d713
2018-07-24 23:14:29 -04:00
Kris Maglione 08c58039d9 Bug 1476405: Part 6 - Register AudioIPC threads with the profiler. r=kinetik
Presumably the Rust portion of this will have to land externally first and
then be imported, but I have no idea how or where to submit it.

MozReview-Commit-ID: 2gzQbRKxaZ9

--HG--
extra : rebase_source : 582e41200e69ff3722585c7664ddd122eb0de2fe
extra : intermediate-source : e0a021b27d2c66d46ba973d66d1360678411da26
extra : source : 6d18a8bd5ee351da1a0cdfaa63f49706a2f95ba3
2018-07-18 23:29:16 -07:00
Jan de Mooij 80adc67aba Bug 1478955 part 1 - Rename JSAutoRealm to JSAutoRealmAllowCCW. r=luke 2018-07-28 12:12:26 +02:00
Boris Zbarsky 6748ffcaed Bug 1478890. Stop using ToXPCOMCallback in GetUserMediaDevices. r=jib 2018-07-28 00:40:29 -04:00
Boris Zbarsky 057c310979 Bug 1478890. Stop using ToXPCOMCallback in GetUserMedia code. r=jib
We don't want to expose nsXPCWrappedJS to the web, and this code is doing that.
2018-07-28 00:40:26 -04:00
Cosmin Sabou 778ca4f84f Backed out 8 changesets (bug 1476405) for causing frequent failures in bug 1479022. a=backout
Backed out changeset ad1674e9152d (bug 1476405)
Backed out changeset e0a021b27d2c (bug 1476405)
Backed out changeset 771288dbf852 (bug 1476405)
Backed out changeset aeebad4f2dc3 (bug 1476405)
Backed out changeset 4831cbfd03de (bug 1476405)
Backed out changeset 0b0c243a1827 (bug 1476405)
Backed out changeset 236b366fdf37 (bug 1476405)
Backed out changeset c767b1b618fb (bug 1476405)
2018-07-28 01:25:25 +03:00
Kris Maglione a7ff7da720 Bug 1476405: Part 6 - Register AudioIPC threads with the profiler. r=kinetik
Presumably the Rust portion of this will have to land externally first and
then be imported, but I have no idea how or where to submit it.

MozReview-Commit-ID: 2gzQbRKxaZ9

--HG--
extra : source : 6d18a8bd5ee351da1a0cdfaa63f49706a2f95ba3
extra : histedit_source : aa7995595e2699d53f1dc60410b90cfd0d4a5c4e
2018-07-18 23:29:16 -07:00
Coroiu Cristina 6d037d0cba Backed out 9 changesets (bug 1476405) for causing leaks
Backed out changeset 4113d6fb3c1c (bug 1476405)
Backed out changeset cb7f7cc32687 (bug 1476405)
Backed out changeset 6d18a8bd5ee3 (bug 1476405)
Backed out changeset b2a99f50e642 (bug 1476405)
Backed out changeset b5b9d295545d (bug 1476405)
Backed out changeset f092a32a3639 (bug 1476405)
Backed out changeset 6c154f4d9dd9 (bug 1476405)
Backed out changeset d0ebb3aa8e0f (bug 1476405)
Backed out changeset 06b8093ddc6a (bug 1476405)
2018-07-27 08:56:36 +03:00
Kris Maglione 89c5723e0a Bug 1476405: Part 6 - Register AudioIPC threads with the profiler. r=kinetik
Presumably the Rust portion of this will have to land externally first and
then be imported, but I have no idea how or where to submit it.

MozReview-Commit-ID: 2gzQbRKxaZ9

--HG--
extra : rebase_source : 05924114b7ff1c48ce0c4584469b3b2ef0bc26cb
2018-07-18 23:29:16 -07:00
Paul Adenot cc16352f8d Bug 1414366 - Take into account start and end time when processing ConstantSource output. r=karlt
MozReview-Commit-ID: IA5sjDTP1t5

--HG--
extra : rebase_source : 056c0bd1e67baf0b42b2d3fe3a67a98b4c3c5fa7
2018-07-19 17:59:19 +02:00
Paul Adenot 9fba355645 Bug 1414366 - Don't assume aStart is aligned on block boundary in AudioParamTimeline::GetValuesAtTime. r=karlt
MozReview-Commit-ID: JQoDwVPQ2s6

--HG--
extra : rebase_source : f9d653ca530a54f310c915d8745de1266cabb71a
2018-07-19 17:58:35 +02:00
alwu b586e3d181 Bug 1477415 - part1 : allow video document autoplay. r=cpearce
Allow autoplay for video document when user is directly viewing a video/audio by visiting
its url.

MozReview-Commit-ID: GnSxx32h6hm

--HG--
extra : rebase_source : 0890f7f3e80711b35c65a6f32d7ce960de76d20e
2018-07-23 11:17:00 -07:00
Boris Zbarsky 1312fcd10f Bug 1476145 part 5. Stop using getInterface(nsIDOMWindowUtils) in DOM code. r=mccr8 2018-07-24 19:47:41 -04:00
Boris Zbarsky 1914ffc8ec Bug 1450167. Stop using atom-or-string for event names in the listener manager. r=smaug
Now that we support atoms off the the main thread, we can just use atoms.
2018-07-24 18:15:19 -04:00
Paul Adenot d097a302f8 Bug 1477704 - r=karlt
--HG--
extra : rebase_source : 165ea665512f8119efd4c9b34aa3efb38a8910d6
2018-07-23 16:47:44 +02:00
Gurzau Raul f2e1e857f1 Merge inbound to mozilla-central. a=merge 2018-07-24 12:49:23 +03:00
Brian Hackett 8c8d7af19e Bug 1465294 Part 6 - Don't initialize audio IPC connection in middleman process, r=kinetik.
--HG--
extra : rebase_source : 8a51e8a0785c3724272f826b5023257618d391e9
2018-07-23 14:52:01 +00:00
Brian Hackett ea6ebf1b6e Bug 1207696 Part 6a - Disable media elements when recording or replaying, r=jesup.
--HG--
extra : rebase_source : 10a1178dca996839da8496036196e7018d517787
2018-07-23 14:41:26 +00:00
Chris Pearce ea566d079b Bug 1476456 - Add telemetry to report whether autoplay would be not allowed if autoplay was disabled. r=baku,francois
We'd like to add telemetry to help inform the decision as to how enabling
block autoplay will affect video playback in the wild.

Our data science team would also like some input to help them estimate the
rate at which our shield study would receive pings, and the telemetry
collected here will help them estimate that.

We'd like to collect the following, on a per session basis:
* Count of the number of top level content documents loaded, as denominator for
other stats collected here.
* Count of the number of top level content documents which contained (directly
or in a descendant document) playback of an audible media element.
* Count of the number of top level content documents which contained (directly
or in a descendant document) a muted media element that was paused by the
autoplay policy because it tried to unmute and it wasn't allowed to autoplay
audibly.
* Count of the total number of audible autoplay videos that would have not been
allowed to play if block autoplay was enabled. We'd either prompt for
permission on these videos, or block outright depending on user's settings.
* Count of the total number of audible autoplay videos that would have been
allowed to play if block autoplay was enabled.

MozReview-Commit-ID: vHWJPyqHjT

--HG--
extra : rebase_source : e1f22ec83fda8b65d78f1de9f02cf060d424019c
2018-07-18 15:34:04 +12:00
Nathan Froyd f4ed80c22c Bug 1469399 - remove virtual qualifiers from MediaRawData methods; r=jya
MediaRawData is never subclassed, so it's pointless to have these
methods be virtual.

--HG--
extra : rebase_source : ef55196831f5ff96e75b46f304541e1cb8fafada
extra : source : ccef9e2643a19668dc06426aa0e55ed5d61ae535
2018-07-23 11:19:59 -04:00
Cosmin Sabou aa6a55f066 Backed out changeset ccef9e2643a1 (bug 1469399) for geckoview failures on multiple files. CLOSED TREE 2018-07-23 19:46:01 +03: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
Jean-Yves Avenard 5fca92f302 Bug 1476975 - P2. Add mochitests. r=dminor
--HG--
extra : rebase_source : a24191c0bc355b69d425291a0ebdea21d962866a
2018-07-20 10:59:20 +02:00
Nathan Froyd 4772318978 Bug 1469399 - remove virtual qualifiers from MediaRawData methods; r=jya
MediaRawData is never subclassed, so it's pointless to have these
methods be virtual.
2018-07-23 11:19:59 -04:00
Dan Minor 51cc8fdbb8 Bug 1474684 - Remove unnecessary already_addRefed from return; r=jya
Reviewers: jya

Tags: #secure-revision

Bug #: 1474684

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

--HG--
extra : rebase_source : bfa84755521a4a560a1487971d88cb2e493282d5
2018-07-20 08:39:50 -04:00
Tom Schuster d385a93dfb Bug 1477477 - Add preference for autoplaying muted media. r=cpearce
--HG--
extra : rebase_source : 61589dbd15331d48527c3513e832c6d9e0117941
2018-07-22 15:21:48 +02:00
Cosmin Sabou 0d3874d7d6 Merge mozilla-inbound to mozilla-central. a=merge 2018-07-21 00:42:01 +03: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 c1c073835b Bug 1476975 - P2. Add mochitests. r=dminor 2018-07-20 19:04:46 +02:00
Dan Minor d55ae44eff Bug 1474684 - Use larger stack for media decoder threads; r=jya,froydnj
Summary:
We've hit stack overflows while decoding, in particular for av1. This increases
the thread size for the platform decoder threads, while leaving the others at
their default values.

Reviewers: jya

Tags: #secure-revision

Bug #: 1474684

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

--HG--
extra : rebase_source : d03a91e93910fac5458f18f43398d76b736bbee6
2018-07-18 12:47:45 -04:00
Chris Pearce 33cfb93398 Bug 1476853 - Don't block WebAudio autoplay by default. r=padenot
Pending figuring out how we want to block autoplay of WebAudio content, we
should just not block it by default for the initial release of block autoplay,
and follow up once we've figured out how to not break the web.

MozReview-Commit-ID: ClfdrHcugLs

--HG--
extra : rebase_source : 54f61b0765f1d0ed9c754c90da9c2809a7de8676
2018-07-16 16:08:49 +12:00
Paul Adenot 2f416390fe Bug 1152401 - Augment AudioDeviceInfo with a cubeb device id. r=padenot
MozReview-Commit-ID: 7QOcM5ITrxv

--HG--
extra : rebase_source : 41071cfbccfc22b0c8a3b2d6a5405d4fbf23c16d
2018-07-18 10:38:34 +02:00
Alex Chronopoulos 300cdedf50 Bug 1152401 - Rename SourceSet to MediaDeviceSet to help readability. r=jib
MozReview-Commit-ID: KLXeicyEBFG

--HG--
extra : rebase_source : 02b70606e708d414cfeb3e38a2569c1d85c1d853
2018-07-16 11:30:46 +02:00
Alex Chronopoulos cf8c19c806 Bug 1152401 - Create pref to enable enumeration of output devices. r=jib
MozReview-Commit-ID: G1oB6hlBcsl

--HG--
extra : rebase_source : f966c58496394947094ca66de0079a79b33a745d
2018-07-16 11:30:46 +02:00
Alex Chronopoulos f19a154624 Bug 1152401 - Use mKind member of MediaDevice in MediaDeviceInfo to avoid string comparisons. r=jib
MozReview-Commit-ID: Kfqb7DZlwO2

--HG--
extra : rebase_source : 9e3ec1b4df4d90a20ff270f0e83a789631890cbe
2018-07-16 11:30:46 +02:00
Alex Chronopoulos 075ead24ea Bug 1152401 - Implement enumeration of speaker devices. r=jib
MozReview-Commit-ID: CppImscUcz4

--HG--
extra : rebase_source : aed0355743d547bd7b405a6b834cf9ab50edc4ee
2018-07-16 11:30:46 +02:00
Alex Chronopoulos 9e8bb0c379 Bug 1152401 - Update enumerate methods of MediaManager and MediaEngine to accept audio sink type. r=jib
MozReview-Commit-ID: 1RClh9UNQck

--HG--
extra : rebase_source : 23e3f1b9e4ad42f0cff86d3903e2b0c7e5bc6a01
2018-07-16 11:30:46 +02:00
Alex Chronopoulos 367ccc1325 Bug 1152401 - Add MediaDeviceKind member in MediaDevice to differentiate sink devices. r=jib
MozReview-Commit-ID: E6SGabjpqIA

--HG--
extra : rebase_source : ec79f2f8d949334209c0346e624fa4b16c8732a5
2018-07-16 11:29:12 +02:00
Alex Chronopoulos 5d13851360 Bug 1152401 - Use MediaDevice in MediaEngine to allow enumeration of both sinks and sources. r=jib
MozReview-Commit-ID: 6ntA5YUFSnN

--HG--
extra : rebase_source : d90bc121bc8e4152d76429e2a49f4d4cc1cf439e
2018-07-11 08:59:13 +02:00
Alex Chronopoulos 96fb94d4ab Bug 1152401 - Create MediaSinkEnum for speakers. r=jib
MozReview-Commit-ID: 2FUrm3ZI05S

--HG--
extra : rebase_source : 02552f5ab399f075d5128037a0743b3a7dbb350d
2018-07-11 08:59:13 +02:00
Margareta Eliza Balazs 0cf58ddcab Backed out 9 changesets (bug 1152401) for android gv-junit failures org.mozilla.geckoview.test.PermissionDelegateTest.media on a CLOSED TREE
Backed out changeset 987f2e0b2cb1 (bug 1152401)
Backed out changeset e45630a7c7b1 (bug 1152401)
Backed out changeset 95661c6cd914 (bug 1152401)
Backed out changeset d68ab111809f (bug 1152401)
Backed out changeset 10b039210911 (bug 1152401)
Backed out changeset aebabaa96ad3 (bug 1152401)
Backed out changeset 93457990e40f (bug 1152401)
Backed out changeset 1630f67ac197 (bug 1152401)
Backed out changeset aef64bf5b024 (bug 1152401)
2018-07-19 13:35:58 +03:00
Paul Adenot 5dae77130d Bug 1152401 - Augment AudioDeviceInfo with a cubeb device id. r=padenot
MozReview-Commit-ID: 7QOcM5ITrxv

--HG--
extra : rebase_source : 41071cfbccfc22b0c8a3b2d6a5405d4fbf23c16d
2018-07-18 10:38:34 +02:00
Alex Chronopoulos 9e3e8b757e Bug 1152401 - Rename SourceSet to MediaDeviceSet to help readability. r=jib
MozReview-Commit-ID: KLXeicyEBFG

--HG--
extra : rebase_source : 02b70606e708d414cfeb3e38a2569c1d85c1d853
2018-07-16 11:30:46 +02:00
Alex Chronopoulos fb5a69fe6f Bug 1152401 - Create pref to enable enumeration of output devices. r=jib
MozReview-Commit-ID: G1oB6hlBcsl

--HG--
extra : rebase_source : f966c58496394947094ca66de0079a79b33a745d
2018-07-16 11:30:46 +02:00
Alex Chronopoulos 0237439056 Bug 1152401 - Use mKind member of MediaDevice in MediaDeviceInfo to avoid string comparisons. r=jib
MozReview-Commit-ID: Kfqb7DZlwO2

--HG--
extra : rebase_source : 9e3ec1b4df4d90a20ff270f0e83a789631890cbe
2018-07-16 11:30:46 +02:00
Alex Chronopoulos c893b1d98d Bug 1152401 - Implement enumeration of speaker devices. r=jib
MozReview-Commit-ID: CppImscUcz4

--HG--
extra : rebase_source : aed0355743d547bd7b405a6b834cf9ab50edc4ee
2018-07-16 11:30:46 +02:00
Alex Chronopoulos 0a08cf0372 Bug 1152401 - Update enumerate methods of MediaManager and MediaEngine to accept audio sink type. r=jib
MozReview-Commit-ID: 1RClh9UNQck

--HG--
extra : rebase_source : 23e3f1b9e4ad42f0cff86d3903e2b0c7e5bc6a01
2018-07-16 11:30:46 +02:00
Alex Chronopoulos 0e13e8f104 Bug 1152401 - Add MediaDeviceKind member in MediaDevice to differentiate sink devices. r=jib
MozReview-Commit-ID: E6SGabjpqIA

--HG--
extra : rebase_source : ec79f2f8d949334209c0346e624fa4b16c8732a5
2018-07-16 11:29:12 +02:00
Alex Chronopoulos 43ba614cd9 Bug 1152401 - Use MediaDevice in MediaEngine to allow enumeration of both sinks and sources. r=jib
MozReview-Commit-ID: 6ntA5YUFSnN

--HG--
extra : rebase_source : d90bc121bc8e4152d76429e2a49f4d4cc1cf439e
2018-07-11 08:59:13 +02:00
Alex Chronopoulos 97c47e4336 Bug 1152401 - Create MediaSinkEnum for speakers. r=jib
MozReview-Commit-ID: 2FUrm3ZI05S

--HG--
extra : rebase_source : 02552f5ab399f075d5128037a0743b3a7dbb350d
2018-07-11 08:59:13 +02:00
Nico Grunbaum 49195f43be Bug 1474658 - P3 - Expect RTCRtpStreamStats.ssrc to be an unsigned long in mochitests r=mjf
The PeerConnection mochitest wrapper had checks to make sure that the ssrc was reported as a string.
It is now an unsigned long and those tests needed to reflect that.

MozReview-Commit-ID: b7TzzG0I4J

--HG--
extra : rebase_source : 8c1665b1c8d8e2f0418a0be70d37c8ee10507c35
2018-07-12 13:52:20 -07:00
Andreas Pehrson f78f8582c7 Bug 1471588 - Trace track and stream media consumers. r=padenot
MozReview-Commit-ID: DDkVUEHi0dg

--HG--
extra : rebase_source : d05a30ae43fe1e26d11c6a75a6b47dc6cf8d9b71
2018-06-27 18:25:49 +02:00
Andreas Pehrson ebd2cf6c8c Bug 1471588 - Trace all NotifyPull calls. r=padenot
MozReview-Commit-ID: XlYfZ0CVZM

--HG--
extra : rebase_source : 8c147419731942a35e27d0aab0e2c4a6a9747438
2018-06-27 17:59:19 +02:00
Andreas Pehrson b06b413c9e Bug 1471588 - Add details to SourceMediaStream and TrackUnionStream tracing. r=padenot
MozReview-Commit-ID: 38UoVtXILBk

--HG--
extra : rebase_source : 0665eb25e3717caa6635cfce3d8e028a252d022d
2018-06-27 18:30:13 +02:00
Andreas Pehrson 1957fad6b8 Bug 1471588 - Add macro for tracing with comment on the audio thread. r=padenot
MozReview-Commit-ID: JKr2DfEWAl2

--HG--
extra : rebase_source : 5a6a0da9ee076137f90af23932a144aaaff7dfcc
2018-06-27 17:41:00 +02:00
Andreas Pehrson dee511151e Bug 1471588 - Use format strings for TRACE_COMMENT. r=padenot
MozReview-Commit-ID: 8MJs3YnfdqG

--HG--
extra : rebase_source : bc28f656f95d5a467c7ed91fd190fae993ddd371
2018-06-27 15:35:14 +02:00
Andreas Pehrson a14b817045 Bug 1471588 - Include sample rate in budget comment. r=padenot
MozReview-Commit-ID: Ge74gpH3mFI

--HG--
extra : rebase_source : 6fbcc02c75a2dc1e0e814f8b0f14f8ad75c24c5f
2018-06-27 15:34:21 +02:00
Andreas Pehrson a9b35c1210 Bug 1471588 - Don't pass aComment to PrintBudget, it builds its own comment. r=padenot
MozReview-Commit-ID: KSEEDtDy2kF

--HG--
extra : rebase_source : e2d796225cb0b70a8d6621c3a81c589ff514094c
2018-06-27 15:27:23 +02:00
Margareta Eliza Balazs 9de29c1f5a Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-18 12:40:51 +03:00
Dale Harvey c9e5e7c554 Bug 1470082 - Change autoplay checkbox to combobox. r=cpearce,flod,johannh
MozReview-Commit-ID: E71TxvgfJlJ

--HG--
extra : rebase_source : 30ca63df77e48a44de4d3e90182440c3937ed32f
2018-06-29 14:14:33 +01:00
Kris Maglione 1751fb7124 Bug 1473634: Part 2 - Update some callers to use RegisterCallbacks where appropriate. r=njn
MozReview-Commit-ID: IqUmuOeSbNm

--HG--
extra : rebase_source : 0c742f6ca29456928f2027dcb70ee6dbb130d1f9
2018-07-04 19:06:57 -07:00
Bogdan Tara a8850882a7 Merge autoland to mozilla-central. a=merge 2018-07-17 00:58:15 +03:00
Paul Adenot 1e98c50388 Bug 1456271 - Ajust tests to reflect the alignment to the spec. r=padenot
Both for mochitest (simply an expectation adjustment), and in mochitest (align
with the code).

MozReview-Commit-ID: 2UIq4zrcd02

--HG--
extra : rebase_source : 1858e73b3ad89aade3219ee8556c653c55c85bed
2018-07-16 15:04:11 +02:00
Paul Adenot 788fbbb0f0 Bug 1456271 - Implement new behaviour of PeriodicWave ctor: not passing in any array makes it into a sine wave. r=baku
MozReview-Commit-ID: AbI62hSxZyS

--HG--
extra : rebase_source : 2d6e9ec5bf95fcfe30d964dfc38eb29333a58578
2018-05-30 18:42:29 +02:00
Margareta Eliza Balazs a865255e0e Backed out 2 changesets (bug 1456271) for mda failures in dom/media/webaudio/test/test_periodicWave.html
Backed out changeset b99bd4121181 (bug 1456271)
Backed out changeset b37a0606d6a0 (bug 1456271)
2018-07-16 17:11:14 +03:00
Paul Adenot 15677a0da5 Bug 1456271 - Implement new behaviour of PeriodicWave ctor: not passing in any array makes it into a sine wave. r=baku
MozReview-Commit-ID: AbI62hSxZyS

--HG--
extra : rebase_source : 2d6e9ec5bf95fcfe30d964dfc38eb29333a58578
2018-05-30 18:42:29 +02:00
Chris Pearce 848dee9a6f Bug 1472580 - Ensure we always get a allow/cancel response to an autoplay media permission request. r=smaug
The front end code can't always guarantee to give us an allow/cancel response
to a permission request. In particular in these cases:
* if we close a tab while showing a doorhanger, or
* if we navigate a tab while showing a doorhanger, or
* if the permission prompt requested in a background tab and never shown.

Handling all of these cases is problematic; we don't get events for all of
these where it's easy and cheap to determine that we should cancel the
permission request.

Canceling the permission request is important in the autoplay-media permission
request case as there's objects waiting on the resolution of the permission
request, and they leak in ASan builds while running chrome tests if the Gecko
size of the permission request doesn't get a notification telling it to stop
waiting.

But we can however rely on the doorhanger code to drop its reference to the
nsIContentPermissionRequest object that we pass to it when the doorhanger goes
away. So we can cancel the permission request in our
nsIContentPermissionRequest's implementation's destructor in order to easily
catch all the above cases.

In order to do that, we need to split AutoplayRequest into two; one part being
the implementation of nsIContentPermissionRequest (AutoplayPermissionRequest),
and the other part being the code to own the PromiseHolder and manage the
permission request (AutoplayPermissionManager).

AutoplayPermissionRequest keeps a weak reference to AutoplayPermissionManager,
so that it can tell the AutoplayPermissionManager to reject the request promise
when it's destroyed.

This fixes the ASan leak for which I got backed out from earlier in this bug,
and also fixes the cases above.

MozReview-Commit-ID: KoVkgIqDleW

--HG--
rename : dom/html/AutoplayRequest.cpp => dom/html/AutoplayPermissionManager.cpp
rename : dom/html/AutoplayRequest.h => dom/html/AutoplayPermissionManager.h
extra : rebase_source : dbca520a93d8c416f6d64c2da027630181bb5910
2018-07-06 21:15:20 +12:00
Paul Adenot 1a7517e102 Bug 1421091 - Remove a bit from a gtest that is tested directly in the bindings. r=jya
This cannot happen anymore, because we're using sequence<float> and not
Float32Array in WebIDL, and sequence<float> throws when it contains Infinity or
NaN.

MozReview-Commit-ID: 9ZUbXa0viSk

--HG--
extra : rebase_source : e1783b6873caeefa1f09caf938e342f591da0056
extra : source : 5d0cce417e56935badf1e7a503f348079c8a9435
2018-07-13 14:31:53 +02:00
Paul Adenot 60c64e2118 Bug 1421091 - Update AudioParam.setValueCurveAtTime to take sequence<float> instead of a Float32Array. r=baku
Link to the standard: https://webaudio.github.io/web-audio-api/#dom-audioparam-setvaluecurveattime

MozReview-Commit-ID: 8GwaIbQkfr2

--HG--
extra : rebase_source : aa8dd5e653de51768ff81d855fe1b8b398baa586
extra : intermediate-source : 9d34c85e0ec166fb7a117b2a85ca7cd4e98b1ceb
extra : source : d752fc72a9a35fdc0ce7b8bce94b29149eaf7639
2018-07-03 18:00:27 +02:00
Paul Adenot b752303705 Bug 1472550 - Add a little regression test. r=karlt
A more involved test exists as a web-platform-tests, but we can't run it because
it makes use of AudioListener AudioParam, that we don't have right now.

MozReview-Commit-ID: 8QJ12cGVRbQ

--HG--
extra : rebase_source : 6161e33d7d8ef83eb5e16a4570a770401dd672cd
2018-07-06 18:58:21 +02:00
Paul Adenot 2ecf8157e2 Bug 1472550 - Consistently apply the distance, input and cone gain on all channels when computing the effect of a PannerNode when its AudioParams have been set. r=karlt
In the panning formula, one of the channels is always left untouched by the
panning gain, so the current setup didn't work: it would not apply the gain to
one of the channels.

MozReview-Commit-ID: LjrTlTT2z9r

--HG--
extra : rebase_source : 29aabddc7caf16427330687acbab91f9c3047d32
2018-07-05 18:17:51 +02:00
Paul Adenot cb94e70cef Bug 1472550 - Add Audio{Buffer,Block}InPlaceScale that takes an array of gain values, with SSE and NEON variants. r=dminor
MozReview-Commit-ID: FzfDObKCrEd

--HG--
extra : rebase_source : 4697a44f5369279a060d63ac495fdb034e35202b
2018-07-06 15:18:06 +02:00
Jean-Yves Avenard a33b077ff8 Bug 1474943 - Enable VP9 benchmark logic when using a non intel GPU on mac. r=mattwoodrow
In bug 1404042, we determined that video playback of software based surface was very slow and power hungry when using the intel GPU, but was working okay when using the dGPU (either AMD or nVidia)

So always return false in IsVP9DecodeFast when the current GPU is an Intel, as well as return a benchmark score of 0

Force a new run of the benchmarking by bumping the version number.

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

--HG--
extra : moz-landing-system : lando
2018-07-12 08:52:55 +00:00
Coroiu Cristina 25882d4b33 Backed out changeset 73baf9b38fb8 (bug 1474943) for build bustage at builds/worker/workspace/build/src/dom/media/Benchmark.cpp on a CLOSED TREE 2018-07-12 11:28:41 +03:00
Jean-Yves Avenard 5e29e3ed59 Bug 1474943 - Enable VP9 benchmark logic when using a non intel GPU on mac. r=mattwoodrow
In bug 1404042, we determined that video playback of software based surface was very slow and power hungry when using the intel GPU, but was working okay when using the dGPU (either AMD or nVidia)

So always return false in IsVP9DecodeFast when the current GPU is an Intel, as well as return a benchmark score of 0

Force a new run of the benchmarking by bumping the version number.

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

--HG--
extra : moz-landing-system : lando
2018-07-12 01:03:09 +00:00
Chris Pearce 3bd3559da3 Bug 1470932 - Get principal from nsGlobalWindowInner directly in MediaManaager::IsActivelyCapturingOrHasAPermission(). r=baku
nsGlobalWindowInner::GetExtantDoc() can potentially return null, and
we're not null checking its return value in
MediaManaager::IsActivelyCapturingOrHasAPermission() which I think is the
cause of this crash.

So instead of getting the principal from the window's extant doc, we can
get the principal directly from the nsGlobalWindowInner.

MozReview-Commit-ID: BUwiJGLss2a

--HG--
extra : rebase_source : 5135a2ef524044c44046705f4a7c7516f01f6b34
2018-07-04 12:53:18 +12:00
Karl Tomlinson 22e47fbddd bug 1472925 keep a strong reference to MediaStreamGraph from GraphDriver r=padenot
--HG--
extra : rebase_source : 1db73541027a7b8f40365c6dc7977eb6be88c567
2018-07-03 17:23:09 +12:00
Karl Tomlinson eefb5cc865 bug 1471953 use SystemGroup for ThreadedDriver thread shutdown task r=padenot
The shutdown of the thread is not observable from content, and so its
order wrt other tasks is not important.
2018-07-03 14:26:21 +12:00
Andrea Marchesini a053cf1c15 Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
Aaron Klotz 1a234ade51 Bug 1460022: Part 6 - Update GMP code to work with new DLL interceptor interface; r=cpearce 2018-06-27 11:49:49 -06:00
shindli dd50d1646e Backed out 13 changesets (bug 1460022) for bustages in :/build/build/src/mozglue/tests/interceptor/TestDllInterceptor.cpp(113) on a CLOSED TREE
Backed out changeset b798c3689bbf (bug 1460022)
Backed out changeset c3b3b854affd (bug 1460022)
Backed out changeset ecb1b6fd3134 (bug 1460022)
Backed out changeset 91fed649dd5a (bug 1460022)
Backed out changeset be7032cddad2 (bug 1460022)
Backed out changeset d4a036b976e6 (bug 1460022)
Backed out changeset 5f3dfde41e38 (bug 1460022)
Backed out changeset a16486a6f685 (bug 1460022)
Backed out changeset 69eacc5c3ab8 (bug 1460022)
Backed out changeset 34aa7c29b31e (bug 1460022)
Backed out changeset 00b20c0a7637 (bug 1460022)
Backed out changeset b8e8aea4a01f (bug 1460022)
Backed out changeset 15822d9848d8 (bug 1460022)
2018-07-04 03:37:11 +03:00
Aaron Klotz 6d8cf290f7 Bug 1460022: Part 6 - Update GMP code to work with new DLL interceptor interface; r=cpearce 2018-06-27 11:49:49 -06:00
shindli dcc88f33f9 Backed out 13 changesets (bug 1460022) for bustages in builds/worker/workspace/build/src/dom/plugins/ipc/FunctionHook.h💯24 on a CLOSED TREE
Backed out changeset 0734142a3f35 (bug 1460022)
Backed out changeset 18fbfa7ca685 (bug 1460022)
Backed out changeset 2df129bd5692 (bug 1460022)
Backed out changeset 02a7ed68933f (bug 1460022)
Backed out changeset 221137d1c2de (bug 1460022)
Backed out changeset 9cb0b7a15402 (bug 1460022)
Backed out changeset 18f8f85c0307 (bug 1460022)
Backed out changeset 867a1351efff (bug 1460022)
Backed out changeset 933e0b698f8e (bug 1460022)
Backed out changeset 09da660071e1 (bug 1460022)
Backed out changeset 8bb5142d3f53 (bug 1460022)
Backed out changeset 0ddf581bdaac (bug 1460022)
Backed out changeset 1cd5f9b4a6af (bug 1460022)
2018-07-04 02:49:24 +03:00
Aaron Klotz ee74c34ce2 Bug 1460022: Part 6 - Update GMP code to work with new DLL interceptor interface; r=cpearce
--HG--
extra : rebase_source : 17d7f30e7fc971fd8d2d3729c7d262cdc6a4c343
2018-06-27 11:49:49 -06:00
Jean-Yves Avenard 9442cd0ea8 Bug 1471165 - P2. Add logging facilities. r=bryce
Reviewers: bryce

Tags: #secure-revision

Bug #: 1471165

Differential Revision: https://phabricator.services.mozilla.com/D1834
2018-07-03 11:45:29 -07:00
Jean-Yves Avenard 138b0b299d Bug 1471165 - P1. Simulate required MediaCapabilities members in optional dictionary. r=bz
Summary:
In order to allow for optional dictionaries with required members
See https://github.com/heycam/webidl/issues/76 for more information.

Reviewers: bzbarsky

Tags: #secure-revision

Bug #: 1471165

Differential Revision: https://phabricator.services.mozilla.com/D1833
2018-07-03 11:45:28 -07:00
Jean-Yves Avenard cab83f1874 Bug 1409664 - P28. Extrapolate VP9 benchmark results for requested vp9 configuration. r=bryce
Summary:
Additionally, consider all videos <= 480p to be smooth and power efficient as:
1- Hardware decoding it typically not used for those
2- We can't do any better
3- Any machines should be able to do 480p

Depends on D1794

Reviewers: bryce

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1796
2018-07-03 11:45:28 -07:00
Jean-Yves Avenard a867c82f1e Bug 1409664 - P27. Don't disable webm container for MSE::isTypeSupported when MediaCapabilities is enabled. r=bryce
Summary:
MediaCapabilities provide a finer detail on VP9 being supported or not. YouTube will use that information to determine which resolutions to support when using VP9

Depends on D1772

Reviewers: bryce

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1794
2018-07-03 11:45:27 -07:00
Jean-Yves Avenard 5a3da4d067 Bug 1409664 - P26. Use VP9 benchmark results to determine smoothness. r=bryce
Summary:
If the benchmark task hasn't run yet, we will assume smoothness for now.

Depends on D1771

Reviewers: bryce

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1772
2018-07-03 11:45:26 -07:00
Jean-Yves Avenard 75c2f6b7ce Bug 1409664 - P25. Don't use main thread with Benchmark . r=bryce
Summary:
Instead have it use its own task queue.

Depends on D1767

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1771
2018-07-03 11:45:26 -07:00
Jean-Yves Avenard c6c5f35fa9 Bug 1409664 - P24. Make IsVP9DecodeFast usable on any thread. r=bryce
Summary:
This will allow to be called from the MediaCapabilities taskqueue if we find that a decoder won't be hardware accelerated.

It is still assumed that Benchmark::Init() was called at least once on the main thread.

Depends on D1628

Tags: #secure-revision

Differential Revision: https://phabricator.services.mozilla.com/D1767
2018-07-03 11:45:25 -07:00
Jean-Yves Avenard 1f1e9dbfe9 Bug 1409664 - P22. Create SPS/PPS extradata to better determine decoder capabilities. r=bryce
Summary:
The Apple VT decoder requires SPS+PPS at construction time. If not provided, in earlier macOS it used to give an error. In the current 10.13 it appears to work, however the decoder always report to be software only.

To properly determine the decoder capabilities, we construct a SPS NAL from the codec mimetype provided.

Details on the structure of the mimetype can be found in https://tools.ietf.org/html/rfc6381#section-3.3 and is a 1:1 match with the data found in the SPS.

Depends on D1718

Reviewers: bryce

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1719
2018-07-03 11:45:24 -07: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
Jean-Yves Avenard cafd081573 Bug 1409664 - P20. Add BitWriter class. r=bryce
Summary:

Depends on D1633

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1678
2018-07-03 11:45:23 -07: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
Jean-Yves Avenard f07b7bee8b Bug 1409664 - P18. Properly pass KnowsCompositor object to decoder. r=bryce, r=bz
Summary:
To properly determine if a decoder is hardware accelerated, we must pass information about the compositor to the decoder.

Depends on D1631

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1632
2018-07-03 11:45:22 -07:00
Jean-Yves Avenard 34e1735ed0 Bug 1409664 - P17. Remove unused variables. r=bryce
Summary:
Silence warnings.

Depends on D1630

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1631
2018-07-03 11:45:22 -07:00
Jean-Yves Avenard f278c2be62 Bug 1409664 - P16. Fix typo in variable name. r=bryce
Summary:

Depends on D1629

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1630
2018-07-03 11:45:21 -07:00
Jean-Yves Avenard b763f84cf1 Bug 1409664 - P15. Fix canPlayType so that it checks codecs if provided. r=bryce
Summary:
For flac, mp3 and adts, if a codec was provided but wasn't supported in the container, it would have reported Maybe instead of No

Depends on D1628

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1629
2018-07-03 11:45:21 -07:00
Jean-Yves Avenard 88f93633b1 Bug 1409664 - P14. Provide more details for audio and video configuration. r=bryce, r=baku
Summary:
We now provides more detailed information for audio (check sampling rate and channels if provided).

And check for the power efficient attribute. We directly correlate this information with the decoder being hardware accelerated or not. All audio codecs are deemed to be power efficient.

Depends on D1626

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1627
2018-07-03 11:45:21 -07:00
Jean-Yves Avenard df79cae335 Bug 1409664 - P13. Report the Apple's H264 decoder is hardware accelerated when not yet initialized. r=bryce
Summary:
We can't create a H264 VT decoder until we have all SPS/PPS NALs, which makes it tricky to generate when we only want to check if H264 is supported.
On mac, we can reasonable assume that hardware acceleration is always supported (though on a mac pro 2013 that isn't the case or hackintosh with nvidia cards).

Depends on D1625

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1626
2018-07-03 11:45:20 -07:00
Jean-Yves Avenard 0c1b59ee76 Bug 1409664 - P12. Don't attempt to play non-supported AAC sampling rate. r=padenot
Summary:
We know those sampling rate aren't supported and cause initialization errors later.

Depends on D1624

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1625
2018-07-03 11:45:20 -07:00
Jean-Yves Avenard d346b32eb9 Bug 1409664 - P11. Add GetTracksInfo method to all MediaDecoder instances. r=bryce
Summary:
Allows to build an array ot TrackInfo built from the mimetype provided. This will allow to create dummy decoder to check that if they are supported and how well the decoder will perform.

Depends on D1623

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1624
2018-07-03 11:45:20 -07:00
Jean-Yves Avenard ad801ddb59 Bug 1409664 - P10. Extend MediaExtendedMIMEType to know about audio configuration. r=bryce
Summary:
Addtionally, change the framerate to be of type double and allow to create a MediaExtendedMIMEType based on the new dom VideoConfiguration and AudioConfiguration object.

Depends on D1622

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1623
2018-07-03 11:45:19 -07:00
Jean-Yves Avenard d586f6f943 Bug 1409664 - P9. Remove AutoTaskQueue and its use r=bryce
Summary:
TaskQueue no longer requires an explicit call to BeginShutdown() as such we no longer have a need for AutoTaskQueue.

Depends on D1621

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1622
2018-07-03 11:45:19 -07:00
Jean-Yves Avenard f44bc2efdb Bug 1409664 - P6. Remove flac in ogg preference. r=bryce
Summary:
Let's always enable it.

Depends on D1618

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1619
2018-07-03 11:45:17 -07:00
Jean-Yves Avenard e2c6515b25 Bug 1409664 - P5. Fix comment. r=bryce
Summary:

Depends on D1617

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1618
2018-07-03 11:45:17 -07:00
Jean-Yves Avenard 24fc82476b Bug 1409664 - P4. Provide basic MediaCapabilities support. r=bryce
Summary:
The information returned is identical to
1- canPlayType() for file
2- MediaSource.isTypeSupported for media-source
3- MediaRecorder.isTypeRecorder() for recordings.

Depends on D1616

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1617
2018-07-03 11:45:16 -07:00
Jean-Yves Avenard b3aec00d77 Bug 1409664 - P3. Allow audio/webm container type in MediaRecorder. r=bryce
Summary:

Depends on D1614

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1616
2018-07-03 11:45:16 -07:00
Jean-Yves Avenard 83a8e7725c Bug 1409664 - P1. Add MediaCapabilities skeleton IDL. r=bz
Summary:
As per https://wicg.github.io/media-capabilities/#idl-index

Placed behind user pref media.mediacapabilities.enabled that is disabled by default

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1613
2018-07-03 11:45:15 -07:00
Chris Pearce 21f07622bf Bug 1463919 - Adjust mochitests to pass after changes. r=jya
Prior to the changes in this bug, a document would request autoplay permission
for its own origin, and not use the top level document's origin for the
permission check. Since now we use the top level document's origin for
requesting autoplay permission, some mochitests need to change, namely:

* test_autoplay_policy_permission.html can use
file_autoplay_policy_activation_frame.html directly.

The test was failing because its helper page was loaded same origin and the
helper page was testing if cross origin iframes could play; since we use the
top level document's permission request, this no longer effectively tests
whether the cross origin child can autoplay, as the cross origin child just
uses the top level window's origin for requests.

So we can instead load the helper window cross orgin instead, and remove one
helper layer.

Also an issue here is the way I was waiting for a new window to load was racy,
so now we wait for loading windows to send us a "ready" message.

* test_autoplay_policy_activation.html; this test's helper needs to wait for
loading windows to send it a "ready" message, as its helper is shared with the
above test.

MozReview-Commit-ID: LvRa4G7tqFw

--HG--
extra : rebase_source : 8ecd0e58200d79f0065a6d7b146d1d110d35953d
2018-06-27 16:15:58 +12:00
Chris Pearce ea95e39bc9 Bug 1463919 - Move ask autoplay permission check into AutoplayPolicy. r=jya
MozReview-Commit-ID: KJcVI6gtGXw

--HG--
extra : rebase_source : a2ccd2da32d77708fdeb6ea6361975a7759cb18d
extra : source : 9b1c40f3e61ab351707f2d320ce8f87951e4868e
2018-06-26 14:16:13 +12:00
Chris Pearce bbbdebe6e1 Bug 1463919 - Add AutoplayRequest to encapsulate asking for autoplay permission. r=smaug
Add an implementation of nsIContentPermissionRequest to encapsulate requesting
permission from the user to autoplay audible media.

All documents in the tab request permission using the top level document's
origin, so the AutoplayRequest instance for a tab is stored on the top level
content window of the tab.

AutoplayRequest ensures that there's only a single prompt shown at once.

MozReview-Commit-ID: 2u3aLnEa21z

--HG--
extra : rebase_source : a3db3a1ef87a09442b47ae1b1034b4a0143289fb
extra : source : ae572bf618155a92b136fc5f12c1f8c9ab31f89c
2018-06-22 11:57:24 +12:00
Alex Chronopoulos 8b700896f3 Bug 1460346 - Verify that AudioMixer'callback is removed before the destruction of GraphDriver. r=padenot
MozReview-Commit-ID: Jd0PVw7xHDV

--HG--
extra : rebase_source : 2e50404b08778ceadd76691312861d134d7c1a42
2018-06-29 10:05:56 +02:00
Alex Chronopoulos 9088abf6c9 Bug 1460346 - Remove unnecessary locking on an atomic value. r=pehrsons
MozReview-Commit-ID: 5SPjgHkPwTT

--HG--
extra : rebase_source : eccca9f4359b859c1bf78bf24a33d9620cd63589
2018-05-25 11:59:08 +03:00
Alex Chronopoulos 43f81a73ac Bug 1460346 - Assert in SetCurrentDriver method of MSG that is called from audio thread or when the thread is not running. r=pehrsons
MozReview-Commit-ID: 7JKcFxxDFCt

--HG--
extra : rebase_source : fe8d0b043117f3b5ecfe3ae36addae340c795875
2018-05-25 11:58:58 +03:00
Alex Chronopoulos cd6f5298c4 Bug 1460346 - Fix a case that ThreadedDriver is started when it is already working. r=padenot
MozReview-Commit-ID: 6R6WH3ITw03

--HG--
extra : rebase_source : 0762f709b7b82714f7c3a47ad59984e5bde49238
2018-05-25 11:58:58 +03:00
Alex Chronopoulos 7ab72fe907 Bug 1460346 - Assert that GraphDriver methods are called from graph thread. r=padenot,pehrsons
MozReview-Commit-ID: Kkl7ENMXlJq

--HG--
extra : rebase_source : ccc79b8cfcb1d6d86ced5bc2a5a2931eccd7ff72
2018-05-25 11:58:45 +03:00
Alex Chronopoulos 023dddff06 Bug 1460346 - Assert that driver switch request comes only from audio thread. r=pehrsons
MozReview-Commit-ID: B8ZTPE5qqpY

--HG--
extra : rebase_source : 9001972d910e5089c2c2fb72a912c3d18292094f
2018-05-22 19:51:48 +03:00
Alex Chronopoulos d3b6626bf0 Bug 1460346 - Create a method to check whether GraphDriver's thread is running. r=pehrsons
MozReview-Commit-ID: 8hOXvxDWOIG

--HG--
extra : rebase_source : 838637720c24e08769ea59204bb55da6678e71b4
2018-05-22 19:51:42 +03:00
Alex Chronopoulos 2b26626333 Bug 1460346 - Move checks for NextDriver member in the setter method. r=pehrsons
MozReview-Commit-ID: 906AyL0tEwG

--HG--
extra : rebase_source : 4359724926d9d06919fc911336125f308dfb1d07
2018-05-22 19:31:56 +03:00
Arnaud Bienner e89bd4b6e5 Bug 1470856 - Add AudioWorklet definition. r=baku,karlt
MozReview-Commit-ID: 39eqjisGNTE

--HG--
extra : rebase_source : 97c18e1125c490f3e9aa3b9d5c864f99da6fd265
2018-06-27 11:31:02 +02:00
Arnaud Bienner bd000427cf Bug 1466182 - Add AudioWorkletProcessor definitions. r=baku,karlt
MozReview-Commit-ID: 1KKrUqRY2qf

--HG--
extra : rebase_source : c287e1c4952f0f9a28dd39879d35bf37d6ce50d2
2018-06-24 20:02:47 +02:00
Bryce Van Dyk 7928956283 Bug 1450952 - If TrackBuffersManager is sent the same init segment, reuse same StreamID. r=jya
Some MSE streams will resend the same init segment. In these cases we can treat
the following data as belonging to the already existing stream. We do this by
reusing the same stream id. This stops us tearing down and restarting decoders
in these cases.  This has the benefit of stopping us introducing gaps to audio
and/or video.

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

--HG--
extra : moz-landing-system : lando
2018-06-29 07:33:23 +00:00
Margareta Eliza Balazs 6ff6f954a0 Backed out changeset cfbcac62d08e (bug 1466182) for causing bustage builds/worker/workspace/build/src/dom/media/webaudio/AudioWorkletProcessor.cpp on a CLOSED TREE 2018-06-29 14:45:37 +03:00
Arnaud Bienner a2c3715849 Bug 1466182 - Add AudioWorkletProcessor definitions. r=baku,karlt
MozReview-Commit-ID: 7BLS2iDpFf4

--HG--
extra : rebase_source : 8382347002ad28218ee82b596f3fddc6769e4e9e
2018-06-24 20:02:47 +02:00
sotaro 22c2a053bf Bug 1470386 - Recycle TextureClient at IMFYCbCrImage r=mattwoodrow 2018-06-28 12:56:36 +09:00
Jeff Gilbert 5b753da289 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Emilio Cobos Álvarez c7d35aa526 Bug 1470930: Use enums for passing arguments for event dispatch. r=smaug
MozReview-Commit-ID: DsNuF7GAflJ
2018-06-26 18:22:06 +02:00
Margareta Eliza Balazs c866c30fcf Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-06-26 12:24:32 +03:00