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

15149 Коммитов

Автор SHA1 Сообщение Дата
Dan Minor 4d0f83f387 Bug 1497559 - Remove Application from mediaCaptureWindowState; r=jib
Differential Revision: https://phabricator.services.mozilla.com/D28093

--HG--
extra : moz-landing-system : lando
2019-04-30 15:06:23 +00:00
Dan Minor 522725a730 Bug 1497559 - Remove application capture support; r=ng
This removes all references to application capture except from MediaSourceEnum.
That was left in place so as to not change the enumerated values used
for WEBRTC_GET_USER_MEDIA_TYPE telemetry.

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

--HG--
extra : moz-landing-system : lando
2019-04-26 16:35:39 +00:00
Sylvestre Ledru e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

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

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
Andreas Pehrson e8b6f83dce Bug 1538727 - Move TrackListener and track-PrincipalChangeObserver removal to Stop(). r=bryce
These are added in start, and we get into unexpected state if they notify us
after Stop() (when MediaEncoder shuts down and internally removes the tracks
it is encoding) but before Shutdown() when we remove the listeners. This is not
symmetrical. The proper thing to do is to remove these listeners in Stop() as
well.

Depends on D29080

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

--HG--
extra : moz-landing-system : lando
2019-04-30 18:39:21 +00:00
Andreas Pehrson 7485192753 Bug 1538727 - Add crashtest. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D29080

--HG--
extra : moz-landing-system : lando
2019-04-30 18:39:11 +00:00
Jan-Ivar Bruaroey 6b8d3b7ad8 Bug 1335740 - Update wpt & mochitests to work w/[SecureContext] navigator.mediaDevices. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D20425

--HG--
rename : testing/web-platform/meta/mediacapture-streams/MediaDevices-getSupportedConstraints.html.ini => testing/web-platform/meta/mediacapture-streams/MediaDevices-getSupportedConstraints.https.html.ini
rename : testing/web-platform/tests/mediacapture-streams/MediaDevices-getSupportedConstraints.html => testing/web-platform/tests/mediacapture-streams/MediaDevices-getSupportedConstraints.https.html
extra : moz-landing-system : lando
2019-04-30 15:20:53 +00:00
Jan-Ivar Bruaroey 51b1caf0cd Bug 1335740 - getUserMedia() Add 2 prefs to control A) NotAllowedError in http (pref'd on), and B) [SecureContext] navigator.mediaDevices (pref'd off) r=bzbarsky,pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D19549

--HG--
extra : moz-landing-system : lando
2019-04-30 15:20:59 +00:00
Bryce Van Dyk 11a3061e0d Bug 1540580 - Add crashtest for WebM with 0 sized samples. r=jya
Depends on D25846

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

--HG--
extra : moz-landing-system : lando
2019-04-30 15:12:49 +00:00
Bryce Van Dyk 378a61073b Bug 1540580 - WebM demuxer skips empty samples. r=jya
The mp4 demuxer already does this, so have the WebM case follow suit. This
avoids asserts with creating 0 size shmems in the case where the demuxer is
being used with the remote data decoder.

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

--HG--
extra : moz-landing-system : lando
2019-04-30 15:12:30 +00:00
Byron Campen [:bwc] f28444a083 Bug 1531803 - Part 6: Fire track events when that track has been added to a stream. r=jib,smaug
Differential Revision: https://phabricator.services.mozilla.com/D25799

--HG--
extra : moz-landing-system : lando
2019-04-29 15:52:03 +00:00
Byron Campen [:bwc] fc0aece742 Bug 1531803 - Part 5: Rework local track checking in our mochitests to ignore track ids, and decruft. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D25798

--HG--
extra : moz-landing-system : lando
2019-04-29 15:52:00 +00:00
Byron Campen [:bwc] c95b46bd72 Bug 1531803 - Part 4: Remove some track-id-centric ChromeOnly API on RTCRtpTransceiver. r=jib,smaug
Differential Revision: https://phabricator.services.mozilla.com/D25797

--HG--
extra : moz-landing-system : lando
2019-04-29 15:52:00 +00:00
Byron Campen [:bwc] 02c4274c5e Bug 1546691: Avoid the PCObserver going away spontaneously when network is lost. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D28839

--HG--
extra : moz-landing-system : lando
2019-04-27 16:29:21 +00:00
Cosmin Sabou b756e6d007 Backed out 2 changesets (bug 1540748) for causing more crashes (bug 1547604). a=backout
Backed out changeset 57b12599afe2 (bug 1540748)
Backed out changeset 8c9fc50e48c2 (bug 1540748)
2019-04-29 12:55:04 +03:00
Alastor Wu 31a6a91d20 Bug 1540748 - part2 : add warning for negative adjusted time. r=jolin
As the purpose of adjusting time is to make the start of the playback to align to zero, so the result should not be negative.

However, we can't always ensure the demuxed start time is correct, the decoded first frame sample time might be different with the time demuxer provides.

Even if we try to update the start time when we get the first decoded sample, there is still a problem because a decoder might return samples with different order, which means the first frame the decoder returns is probably not a real first frame.

Therefore, using warning to help us knows how many this situaion would be.

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

--HG--
extra : moz-landing-system : lando
2019-04-26 22:30:06 +00:00
Alastor Wu 285ab3ee11 Bug 1540748 - part1 : Android decoder should throw an error when the decoded sample's time is smaller than the time of first demuxed sample. r=jolin
Considering that the audio sample's time is always increased, the decoded sample's time decoder returns should always be equal or larger than its demuxed time.

When the decoded sample's time is smaller than the time of first demuxed sample, that time would probably cause a problem so we should  throw an error for that.

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

--HG--
extra : moz-landing-system : lando
2019-04-25 21:47:53 +00:00
Byron Campen [:bwc] 67bd1aa6e8 Bug 1531894: Throw TypeError if both maxRetransmits and maxPacketLifeTime are set, and re-enable test case. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D28252

--HG--
extra : moz-landing-system : lando
2019-04-26 15:56:15 +00:00
Byron Campen [:bwc] fd880e95f8 Bug 1545827: Use TabId instead of PBrowserOrId, use LoadInfoArgs to avoid using the system principal on the socket process, and use PSocketProcess for the WebrtcProxyChannel when on the socket process. r=kershaw,mjf
Differential Revision: https://phabricator.services.mozilla.com/D28239

--HG--
extra : moz-landing-system : lando
2019-04-26 14:46:26 +00:00
Dorel Luca b82106b756 Backed out changeset 8c4a85bb16bc (bug 1531894) for WPT failures in /webrtc/RTCPeerConnection-createDataChannel.html 2019-04-26 05:24:22 +03:00
Emilio Cobos Álvarez 11ea945833 Bug 1546697 - Use a consistent style for enum classes in layout. r=dholbert
Per the discussion in:

  https://groups.google.com/d/msg/mozilla.dev.platform/P79pwa9z5m8/iPYPAWPHCAAJ

They should be CamelCase, and that's what most of them already do. This converts
the rest, which are a few.

For the ones that already used `e` or `k` prefixes, I've mostly done:

 for file in $(rg Type::e layout | cut -d : -f 1 | sort | uniq); do sed -i 's#Type::e#Type::#g' $file; done

For the ones that used uppercase, I've removed the prefix if it was already in
the type name, and turn them into CamelCase.

Depends on D28680

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

--HG--
extra : moz-landing-system : lando
2019-04-25 23:03:04 +00:00
Byron Campen [:bwc] 1963cd0a3a Bug 1531894: Throw TypeError if both maxRetransmits and maxPacketLifeTime are set, and re-enable test case. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D28252

--HG--
extra : moz-landing-system : lando
2019-04-25 20:59:45 +00:00
Byron Campen [:bwc] 79f14c2299 Bug 1529595: Remove "token" from RTCIceCredentialType, re-enable a web-platform-test, and fix a mochitest. r=smaug,jib
Differential Revision: https://phabricator.services.mozilla.com/D28496

--HG--
extra : moz-landing-system : lando
2019-04-25 20:58:12 +00:00
Bryce Van Dyk 2862090894 Bug 1545108 - Use a diagnostic assert to check for nullptr when pushing into MediaQueue. r=alwu
We're rarely getting nullptrs out of MediaQueues. It's not clear where these are
coming from, as we have many guards against them. Upgrade this assert to a
diagnostic to help us track the source and determine if the value is null before
entering the queue.

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

--HG--
extra : moz-landing-system : lando
2019-04-25 17:08:27 +00:00
Andreas Pehrson cef48c8ec4 Bug 1545133 - Avoid trying to double-suspend a MediaStream if external code makes the suspendCount negative. r=padenot
We don't currently know any ways in which external code can make the
suspendCount negative, but this will keep us safe should a future bug enable it.

Depends on D28805

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

--HG--
extra : moz-landing-system : lando
2019-04-25 16:41:15 +00:00
Andreas Pehrson b53e315572 Bug 1545133 - Add crashtest. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D28805

--HG--
extra : moz-landing-system : lando
2019-04-25 16:41:33 +00:00
Masayuki Nakano 2933c032e7 Bug 1545342 - part 3: Move remaining public enum of nsIPresShell to mozilla namespace in mozilla/PresShellForwards.h and make them enum class r=smaug
This patch moves remaining public `enum` of `nsIPresShell` to `mozilla`
namespace in `mozilla/PresShellForwards.h` and make them `enum class`es.

Additionally, some methods which use the moving `enum`s from `nsIPresShell`
to `PresShell`.

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

--HG--
extra : moz-landing-system : lando
2019-04-25 05:04:23 +00:00
shindli ff6b6815f1 Backed out 2 changesets (bug 1540748) for causing perma assertion failure !mTime.IsNegative(), at /builds/worker/workspace/build/src/dom/media/MediaData.h:303 CLOSED TREE
Backed out changeset d8cb636260a0 (bug 1540748)
Backed out changeset 27bcf73686ed (bug 1540748)
2019-04-24 21:07:15 +03:00
Alastor Wu 1df4ea356e Bug 1546324 - use TimeUnit version modular. r=bryce
The value of `mAudioDecodedDuration` can be larger than `int32`, so we should use the modular function which accepts `TimeUnit`as a input.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 17:21:01 +00:00
Alastor Wu f9ae0149f6 Bug 1546506 - Add an assertion to ensure that we won't construct SeekTarget with invalid time. r=bryce
We should only use valid time to construct a `SeekTarget`, because we can't get the value from the invalid time.

This can help us to prevent having a crash when request data value from an invalid time.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 17:07:40 +00:00
Michael Froman 9563f008ce Bug 1545575 - stop RDD process cleanly if linux sandbox fails to init. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D28663

--HG--
extra : moz-landing-system : lando
2019-04-24 16:55:03 +00:00
Alastor Wu 57885dc99c Bug 1540748 - part2 : adjusted time should always be non-negative. r=jolin
As the purpose of adjusting time is to make the start of the playback to align to zero, so the result should not be negative.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 15:05:39 +00:00
Alastor Wu 4e0420416f Bug 1540748 - part1 : Android decoder should throw an error when the decoded sample's time is smaller than the time of first demuxed sample. r=jolin
Considering that the audio sample's time is always increased, the decoded sample's time decoder returns should always be equal or larger than its demuxed time.

When the decoded sample's time is smaller than the time of first demuxed sample, that time would probably cause a problem so we should  throw an error for that.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 15:16:58 +00:00
Andreas Pehrson 4021f52e46 Bug 1546655 - Fix test filtering in test_streams_element_capture.html. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D28666

--HG--
extra : moz-landing-system : lando
2019-04-24 14:49:23 +00:00
Andreas Pehrson b3f586c723 Bug 1546655 - Skip ambisonics.mp4 in test_streams_element_capture.html. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D28651

--HG--
extra : moz-landing-system : lando
2019-04-24 14:00:53 +00:00
Andreas Pehrson 1e4382f9fb Bug 1544650 - Always pre-create MediaStreamTracks for DecodedStream in MediaDecoder. r=padenot
This moves the responsibility for creating MediaStreamTracks from
DecodedStream::Start to MediaDecoder. This let's MediaDecoder create them as
soon as metadata is known. This gives the application guarantees on when tracks
can be expected to exist, and aligns with the spec that says they should be
created when metadata is known.

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

--HG--
extra : moz-landing-system : lando
2019-04-23 16:46:30 +00:00
Andreas Pehrson eaf1537b05 Bug 1544650 - Add mochitest. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D28472

--HG--
extra : moz-landing-system : lando
2019-04-23 16:46:45 +00:00
Andreas Pehrson 2cab1f445f Bug 1536766 - End a track only after the graph has reported reaching its end time in DecodedStream. r=jya,padenot
This gives us a guarantee that the first frame of a media file can be rendered
with a second media element and mozCaptureStream(), even if the file is very
very short.

With longer video-only files there were also cases where nothing ended up being
rendered. Probably because the MediaStreamGraph ended up switching from an
AudioCallbackDriver to a SystemClockDriver and this took enough time to put the
SourceMediaStream::EndTrack and the SourceMediaStream::AddTrackListener calls
for this video track to be processed in the same iteration. The listener would
then always lose to the ending track and update main thread state too late,
leading to its media element not rendering any frames and nasty intermittent
failures.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 10:56:16 +00:00
Andreas Pehrson 8734620d4d Bug 1536766 - Drop frames more accurately when ending and interrupting video track playback. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D27269

--HG--
extra : moz-landing-system : lando
2019-04-24 10:56:11 +00:00
Andreas Pehrson 58af5d4443 Bug 1536766 - Make NotifyOutput from SourceMediaStream tracks reflect amount of data in the track. r=padenot
`streamCurrentTime` is relative to the start of the stream, as is the track's
segment. We need to account for the track's start time in the stream when
notifying of output.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 10:56:04 +00:00
Andreas Pehrson 977b049e15 Bug 1536766 - Better handle overlapping video frames in DecodedStream::SendVideo. r=jya
A case where this wasn't working was bipbop-lateaudio.mp4, where the last frame
has duration 0 and starts and ends before the previous frame has ended. The
VideoSink still renders this frame at the end of playback, so this patch
brings DecodedStream closer to that behavior by rendering all frames with a
start time after the previous frame's start time. The track's duration is still
based on absolute times so things don't blow up.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 10:55:55 +00:00
Andreas Pehrson 39580a0cf7 Bug 1536766 - Remove unused MediaStream::HasCurrentData. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D27266

--HG--
extra : moz-landing-system : lando
2019-04-24 10:55:50 +00:00
Andreas Pehrson fc3f15c331 Bug 1536766 - Assert that time always goes forward in DecodedStream. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D27265

--HG--
extra : moz-landing-system : lando
2019-04-24 10:55:48 +00:00
Andreas Pehrson 2c9b92be1f Bug 1536766 - Handle DecodedStream's resets when calculating VideoChunk durations in the MSG. r=padenot
This is necessary to get an accurate total track duration in case DecodedStream
does a lot of seeking and pausing.

This also removes previous code for avoiding blocking a video track, as this new
code handles that case too.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 10:55:46 +00:00
Andreas Pehrson 19834afbea Bug 1536766 - Don't ignore null frames in MediaStreamGraph. r=padenot
Null frames could still be valid. It's how DecodedStream signals a pause. They
could also be valid and have an intrinsic size and the force-black flag set.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 10:55:41 +00:00
Andreas Pehrson cc6262e7c7 Bug 1536766 - Fix a rounding error in DecodedStream. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D27262

--HG--
extra : moz-landing-system : lando
2019-04-24 10:55:37 +00:00
Andreas Pehrson ee433bc6ed Bug 1536766 - Send a black dummy frame out when a video track that contained no frames ends. r=jya
This is similar to what VideoSink does, and is required for us to end playback
on HAVE_CURRENT_DATA (a frame for currentTime must be available).

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

--HG--
extra : moz-landing-system : lando
2019-04-24 10:55:35 +00:00
Andreas Pehrson 93d09c009d Bug 1536766 - Follow the video clock when audio ends early in DecodedStream. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D27260

--HG--
extra : moz-landing-system : lando
2019-04-24 10:53:52 +00:00
Andreas Pehrson 232e24cd08 Bug 1536766 - Re-label two files in gPlayTests as video, since they contain video tracks. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D27258

--HG--
extra : moz-landing-system : lando
2019-04-24 10:53:31 +00:00
Andreas Pehrson 89b1d846dc Bug 1536766 - Switch test_streams_element_capture.html to test all gPlayTests. r=jya
This tests HTMLMediaElement::MozCaptureStream on all of our play-tests, rather
than just a single test, in order to test more corner cases in the capture code.

Because this test checks that the media element that's playing the
mozCaptureStream()-stream ends after at least the duration of the original media
file, and because media elements playing a MediaStream have a `currentTime`
based on the MediaStreamGraph's monotonically increasing clock, we need to have
accurate metadata for how long the duration of the content of the original media
file is. There are several cases among the play-tests where the duration
metadata doesn't match what the decoder gives us -- the reason is often preroll
or corrupt containers. This patch updates manifest.js with `contentDuration` for
the tests among `gPlayTests` where try detected mismatches.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 10:53:24 +00:00
Razvan Maries 98d200e4b4 Backed out changeset 7b326aa4930c (bug 1545416) for causing multiple perma failures. CLOSED TREE 2019-04-23 22:29:36 +03:00