Commit Graph

643622 Commits

Author SHA1 Message Date
Andreas Pehrson
42aff0e053 Bug 1423253 - Remove superfluous character from test_mr_pause_resume_video.html. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D22920

--HG--
extra : moz-landing-system : lando
2019-03-22 11:44:10 +00:00
Andreas Pehrson
d3c6249d6d Bug 1423253 - Disallow direct track listeners for audio tracks. r=padenot
Audio tracks are real-time-only.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:44:07 +00:00
Andreas Pehrson
1b901d5e29 Bug 1423253 - Remove unused SourceMediaStream::GetEndOfAppendedData. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D22917

--HG--
extra : moz-landing-system : lando
2019-03-22 11:44:00 +00:00
Andreas Pehrson
4c4a721106 Bug 1423253 - Disallow pulling of video. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D22916

--HG--
extra : moz-landing-system : lando
2019-03-22 11:43:52 +00:00
Andreas Pehrson
309b7a1eb8 Bug 1423253 - Make a VideoTrackEncoder gtest more explicit. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D22915

--HG--
extra : moz-landing-system : lando
2019-03-22 11:43:40 +00:00
Andreas Pehrson
e57962eea8 Bug 1423253 - Remove durations from VideoSegment::AppendFrame. r=padenot
VideoSegments still have durations, and they are still needed by the
MediaStreamGraph as it shuffles MediaSegments around.
They do not have a say in the wall-clock duration of video frames however.
Removing this should prevent any producers starting to add video chunks with
durations in the future.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:43:40 +00:00
Andreas Pehrson
0bb89b2b34 Bug 1423253 - Remove pulling (and mutex) from MediaPipelineReceiveVideo. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D22912

--HG--
extra : moz-landing-system : lando
2019-03-22 11:43:32 +00:00
Andreas Pehrson
9abc2ffdf4 Bug 1423253 - Remove pulling (and mutex) from the default video source. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D22911

--HG--
extra : moz-landing-system : lando
2019-03-22 11:43:23 +00:00
Andreas Pehrson
198ca9c5c6 Bug 1423253 - Remove pulling from MediaEngineTabVideoSource and fix thread safety. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D22910

--HG--
extra : moz-landing-system : lando
2019-03-22 11:43:15 +00:00
Andreas Pehrson
04fb07dce9 Bug 1423253 - Disregard VideoChunk durations in VideoTrackEncoder. r=padenot
Long-term we want to lift durations out of video altogether, and only use
wall-clock timestamps. This patch achieves this in VideoTrackEncoder.

When the MediaStreamGraph is audio-only, the equivalent for video will be
completely duration-less. Until we have that, some pieces around the MSG will
still need durations for track-bookkeeping reasons.

This also integrates the DriftCompensator into VideoTrackEncoder, by
compensating for drift when frames are moved from mIncomingBuffer to
mOutgoingBuffer, i.e., when we recalculate time stamps into durations for the
underlying encoder to use.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:43:08 +00:00
Andreas Pehrson
154c803c91 Bug 1423253 - Route MediaEncoder::Suspend/Resume through the graph thread for less drift. r=padenot
Because we sync video frames to audio time before encoding, we suspend and
resume on the audio thread because that's the only place we have acccess to
both clocks at the same time;
- A dispatch to the audio encoder puts the event in the right place in the
  audio encoder buffer.
- TimeStamp::Now() is the current video time, and since we capture it on the
  audio thread these are in sync. This timestamp needs drift compensation too -
  this happens in a later patch on this bug.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:42:55 +00:00
Andreas Pehrson
e5ffaa1966 Bug 1423253 - Remove support for direct audio listeners from AudioTrackEncoder. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D22906

--HG--
extra : moz-landing-system : lando
2019-03-22 11:42:49 +00:00
Andreas Pehrson
3cac7c4765 Bug 1423253 - Automatically progress a pushed video track to avoid blocking its stream. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D22905

--HG--
extra : moz-landing-system : lando
2019-03-22 11:42:45 +00:00
Andreas Pehrson
097ee23c9e Bug 1423253 - Add drift compensation to MediaEncoder. r=padenot
This plumbs the DriftCompensator into the AudioTrackListener and
VideoTrackEncoder. The VideoTrackEncoder is however only finally integrated in
the future patch "Disregard VideoChunk durations in VideoTrackEncoder".

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:42:38 +00:00
Andreas Pehrson
a5346ec96d Bug 1423253 - Add a drift compensator to reclock video timestamps. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D22902

--HG--
extra : moz-landing-system : lando
2019-03-22 11:42:31 +00:00
Andreas Pehrson
78c790ab2a Bug 1423253 - Change MediaEngineRemoteVideoSource to push instead of pull. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D22901

--HG--
extra : moz-landing-system : lando
2019-03-22 11:42:23 +00:00
Andreas Pehrson
1b9ef949cd Bug 1423253 - Change CanvasCaptureMediaStream's driver to push instead of pull. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D22900

--HG--
extra : moz-landing-system : lando
2019-03-22 11:42:10 +00:00
Andreas Pehrson
9ca802f154 Bug 1423253 - Use a timer to make sure we keep sending video over a peer connection when there's no input. r=dminor
The webrtc-pc spec says:
> If track is ended, or if the track's output is disabled, i.e. the track is
> disabled and/or muted, the RTCRtpSender MUST send silence (audio),
> black frames (video) or a zero-information-content equivalent.
> In the case of video, the RTCRtpSender SHOULD send one black frame per second.

This patch covers the case when the output is disabled, and the case when no
frames reach the MediaPipeline, for both direct and non-direct video listeners.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:42:11 +00:00
Andreas Pehrson
5fa61e274d Bug 1423253 - Remove mMutex from VideoFrameConverter. r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D23708

--HG--
extra : moz-landing-system : lando
2019-03-22 11:42:04 +00:00
Andreas Pehrson
ee54652d16 Bug 1506093 - Fix DecodedStream A/V sync. r=padenot
DecodedStream sends video to its video tracks by initially buffering a set
of images, then appending future ones by adding them one by one.

A long time ago we refactored how MediaStreamGraph sends images to the screen,
i.e., to an ImageContainer. It used to send all future frames to
ImageContainer::SetCurrentFrames each time it sent something. After the
refactor we just forward any new frame from a direct listener to
ImageContainer::SetCurrentFrames.

So in case DecodedStream has already sent 10 future frames to its track,
and sends another, we end up calling ImageContainer::SetCurrentFrames(frame11).
However, this is not how ImageContainer works. The refactor was wrong.

Even though the timestamp for frame11 is after a previously buffered frame,
it will be ignored. SetCurrentFrames wipes any previously set frames. Hence
the word "Current" in its name.

This patch largely restores the old behaviour by adding a thin buffering layer
between the MSG (in a direct listener) and the ImageContainer.

This does not give 100% identical frame sync to VideoSink (how we normally
render video), because VideoSink can update the timestamps of already-pushed
images by pushing them again. We can't do that here because the SourceMediaStream
API only allows appending. It does however get in sync for frames appended after
the first frame has been rendered.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:41:48 +00:00
Andreas Pehrson
e0b244ec9e Bug 1506093 - Remove StreamTracksStartTimeStamp. r=padenot
DecodedStream has been basing video timestamps on something called
StreamTracksStartTimeStamp in MediaStreams, which call through all the way
down to the GraphDriver.

This removes the entire timestamp mechanism, except for a bit of legit
usage internally in the SystemClockDriver. Video timestamps are instead
based on the audio clock through GetPosition(), the same way the VideoSink
operates.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:41:46 +00:00
Andreas Pehrson
a8f25bd13a Bug 1506093 - Remove MediaStreamVideoSink. r=padenot
The way it's implemented it only adds plumbing and overhead, no value.
This patch moves it to a thin wrapper around DirectMediaStreamTrackListener,
managed by VideoStreamTrack, instead.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:41:39 +00:00
Mike Hommey
49a0cbadc9 Bug 1524396 - Unify how target/host linker/flags are passed to rust. r=chmanchester
The current setup uses different ways for different platforms, with
different workarounds, even using extra configuration items for Windows.

Now that there can't be a difference between the host per the build
system and the host per rust, we can get rid of those configuration
items, and use a more common infrastructure.

We cannot, however, avoid using wrapper scripts, because per-target rust
link-arg flags don't work up great.

The downside is that multiplies the number of wrappers, as we now have
to have a different one for host and target, and then we have .bat files
and shell scripts for, respectively, Windows hosts, and other hosts.

Depends on D24321

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:05:18 +00:00
Mike Hommey
46318ccb91 Bug 1524396 - Replace RUST_TARGET_ENV_NAME with make substitutions. r=chmanchester
While the substitution pattern is kind of awful in make, it will allow
to more straightforwardly deal with the difference between target and
host.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:06:11 +00:00
Andreea Pavel
9bdad35860 No bug - delete conflict marker 2019-03-22 12:46:22 +02:00
Andreea Pavel
74a4769236 Merge mozilla-central to autoland 2019-03-22 12:37:25 +02:00
Andreea Pavel
c1f948c75f Backed out 2 changesets (bug 1527463) for bustages a=backout
Backed out changeset 74b3bf36f5e8 (bug 1527463)
Backed out changeset 235af3330b73 (bug 1527463)
2019-03-22 12:09:57 +02:00
Lars T Hansen
7168bebad5 Bug 1531662 - Rename get_local/set_local/get_global/set_global to local.get/local.get/global.get/global.set throughout test suite. patch=1.1nathaniel1.1, r=lth
--HG--
extra : rebase_source : aca5b1f178f12d5c749851f685d708fa8a342390
2019-03-22 10:59:22 +01:00
Andreea Pavel
4eaf7c637a Merge mozilla-inbound to mozilla-central. a=merge 2019-03-22 11:57:35 +02:00
Andreea Pavel
a7a4c4c9df Merge autoland to mozilla-central. a=merge 2019-03-22 11:55:04 +02:00
Daniel Holbert
81b2c439b0 Bug 1537588: Add crashtest to verify that pagehide is fired, even if there's a sync XHR during pageload. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D24450

--HG--
extra : moz-landing-system : lando
2019-03-22 06:15:49 +00:00
Florian Quèze
7e0cdacd75 Bug 1538188 - display '—' instead of garbage in the tooltip when there's no previous sample for a tab, r=zbraniecki.
Differential Revision: https://phabricator.services.mozilla.com/D24504

--HG--
extra : moz-landing-system : lando
2019-03-22 16:38:37 +00:00
Andreea Pavel
0360d48ce3 Bug 1478134 - disabled wrapper.html?pal8os2sp.bmp on all platforms r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D24516

--HG--
extra : moz-landing-system : lando
2019-03-22 16:04:49 +00:00
Tom Prince
dafb7d27e6 Bug 1536882: Stop specifying installer to download in windows L10n jobs; r=Callek
The code that actually downloads it is behind a condition that isn't set
anywhere.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 13:44:05 +00:00
Matthew Gaudet
3216d162ab Bug 1505574 - Remove anyNewScript r=iain
Differential Revision: https://phabricator.services.mozilla.com/D24251

--HG--
extra : moz-landing-system : lando
2019-03-22 15:34:36 +00:00
Matthew Gaudet
bae9a44b34 Bug 1505574 - Clean out MObjectState r=iain
Differential Revision: https://phabricator.services.mozilla.com/D24250

--HG--
extra : moz-landing-system : lando
2019-03-22 15:34:23 +00:00
Matthew Gaudet
a7b9e454e7 Bug 1505574 - Remove unused parameters from Unboxed Objects r=iain
Differential Revision: https://phabricator.services.mozilla.com/D24249

--HG--
extra : moz-landing-system : lando
2019-03-22 16:00:00 +00:00
Matthew Gaudet
5e43292174 Bug 1505574 - Prohibit class changes on groups r=iain
This is possible now that we no longer have unboxed objects

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

--HG--
extra : moz-landing-system : lando
2019-03-22 15:34:03 +00:00
Matthew Gaudet
e362d557a6 Bug 1505574 - Remove now extraneous template parameter r=iain
Differential Revision: https://phabricator.services.mozilla.com/D24247

--HG--
extra : moz-landing-system : lando
2019-03-22 15:33:49 +00:00
Matthew Gaudet
07b46436bd Bug 1505574 - Remove UnboxedObjects ObjectGroup addendum r=iain
Differential Revision: https://phabricator.services.mozilla.com/D24093

--HG--
extra : moz-landing-system : lando
2019-03-22 15:33:37 +00:00
Matthew Gaudet
0f83342537 Bug 1505574 - Remove Unboxed Objects Test code r=iain
Differential Revision: https://phabricator.services.mozilla.com/D24049

--HG--
extra : moz-landing-system : lando
2019-03-22 15:33:24 +00:00
Matthew Gaudet
872e0839a3 Bug 1505574 - Remove Unboxed Objects Option Code r=iain
Differential Revision: https://phabricator.services.mozilla.com/D24048

--HG--
extra : moz-landing-system : lando
2019-03-22 15:33:12 +00:00
Matthew Gaudet
606aedd53f Bug 1505574 - Remove Unboxed Objects from vm/ - Part 3 r=iain
Differential Revision: https://phabricator.services.mozilla.com/D24047

--HG--
extra : moz-landing-system : lando
2019-03-22 15:32:59 +00:00
Matthew Gaudet
92a1360bbb Bug 1505574 - Remove Unboxed Objects from jit/ - Part 3 r=iain
Differential Revision: https://phabricator.services.mozilla.com/D24046

--HG--
extra : moz-landing-system : lando
2019-03-22 15:32:47 +00:00
Matthew Gaudet
eb0619d3c4 Bug 1505574 - Remove Unboxed Objects from jit/ - Part 2 r=iain
Differential Revision: https://phabricator.services.mozilla.com/D24045

--HG--
extra : moz-landing-system : lando
2019-03-22 15:32:34 +00:00
Matthew Gaudet
991590f001 Bug 1505574 - Remove Unboxed Objects from vm/ - Part 2 r=iain
Differential Revision: https://phabricator.services.mozilla.com/D24044

--HG--
extra : moz-landing-system : lando
2019-03-22 15:32:21 +00:00
Matthew Gaudet
af687ff821 Bug 1505574 - Remove Unboxed Objects from jit/ - Part 1 r=iain
Differential Revision: https://phabricator.services.mozilla.com/D24043

--HG--
extra : moz-landing-system : lando
2019-03-22 15:32:07 +00:00
Matthew Gaudet
223fc1602a Bug 1505574 - Remove Unboxed Objects from vm/ Part 1 r=iain
Differential Revision: https://phabricator.services.mozilla.com/D24042

--HG--
extra : moz-landing-system : lando
2019-03-22 15:31:54 +00:00
Matthew Gaudet
4c775c0e92 Bug 1505574 - Remove Unboxed Objects support from Iteration.cpp r=iain
Differential Revision: https://phabricator.services.mozilla.com/D24041

--HG--
extra : moz-landing-system : lando
2019-03-22 15:31:47 +00:00
Matthew Gaudet
2fe65313f1 Bug 1505574 - Remove Unboxed Objects support from GC r=jandem
Also fixes Bug 1536460.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 15:31:39 +00:00