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

1391 Коммитов

Автор SHA1 Сообщение Дата
Jeff Walden 62a130ba0a Bug 1602882 - Move array operations to a new js/Array.h header. r=sfink,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D56595

--HG--
extra : moz-landing-system : lando
2019-12-11 06:17:44 +00:00
Karl Tomlinson 1457fcc07d Bug 1599952 initialize AudioWorkletProcessor.port r=baku
Differential Revision: https://phabricator.services.mozilla.com/D53135

--HG--
extra : moz-landing-system : lando
2019-12-11 00:24:09 +00:00
Karl Tomlinson 2b63e70947 Bug 1587872 ensure one output channel when input is null r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D54675

--HG--
extra : moz-landing-system : lando
2019-11-26 16:53:37 +00:00
Karl Tomlinson 115ab06aac Bug 1587872 call process() on active AudioWorkletProcessor even with no active inputs r=padenot
and don't call process() on inactive AudioWorkletProcessor when inputs are null.

AudioNodeTrack::mIsActive, which determines when ProcessBlocksOnPorts() is
called, differs slightly from "actively processing" in the spec.
"An AudioScheduledSourceNode is actively processing if and only if it is
playing for at least part of the current rendering quantum" but
AudioNodeTrack::mIsActive is set even before the source node has started
playing.
Null input blocks provide a better indication of inputs that are not actively
processing.

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

--HG--
extra : moz-landing-system : lando
2019-12-10 15:11:16 +00:00
Gabriele Svelto ace6d1063f Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

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

--HG--
extra : moz-landing-system : lando
2019-12-06 09:24:56 +00:00
Dorel Luca a381d5c96d Backed out changeset f6e53d1c6518 (bug 1600545) for Android build bustage. CLOSED TREE 2019-12-04 17:32:27 +02:00
Gabriele Svelto bc9290f767 Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

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

--HG--
extra : moz-landing-system : lando
2019-12-04 15:01:19 +00:00
Karl Tomlinson 9631373efa Bug 1599952 pass MessagePort to AudioWorkletGlobalScope r=baku
Differential Revision: https://phabricator.services.mozilla.com/D53134

--HG--
extra : moz-landing-system : lando
2019-12-03 00:37:28 +00:00
Karl Tomlinson aaf899d471 Bug 1599952 initialize AudioWorkletNode.port r=baku
Differential Revision: https://phabricator.services.mozilla.com/D53133

--HG--
extra : moz-landing-system : lando
2019-12-03 01:11:13 +00:00
Coroiu Cristina 679f321343 Backed out 5 changesets (bug 1599952) for failures at webaudio/the-audio-api/the-audioworklet-interface/audioworklet-messageport.https.html.ini
Backed out changeset 78adc22d922a (bug 1599952)
Backed out changeset b07c89cbc212 (bug 1599952)
Backed out changeset 7768d524d914 (bug 1599952)
Backed out changeset 7012927838fe (bug 1599952)
Backed out changeset dbf476d4eab6 (bug 1599952)
2019-12-03 02:33:23 +02:00
Karl Tomlinson 5d8f14ddef Bug 1599952 pass MessagePort to AudioWorkletGlobalScope r=baku
Differential Revision: https://phabricator.services.mozilla.com/D53134

--HG--
extra : moz-landing-system : lando
2019-12-02 11:30:39 +00:00
Karl Tomlinson 816db578f9 Bug 1599952 initialize AudioWorkletNode.port r=baku
Differential Revision: https://phabricator.services.mozilla.com/D53133

--HG--
extra : moz-landing-system : lando
2019-12-03 00:07:33 +00:00
Karl Tomlinson f85045e1eb Bug 1599356 correct math in AudioWorkletGlobalScope.currentTime r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D54676

--HG--
extra : moz-landing-system : lando
2019-11-26 16:42:10 +00:00
alwu 54b8cc7893 Bug 1593843 - part8 : move helper functions out from 'AutoplayPolicy'. r=bryce
Move helper functions out from `AutoplayPolicy`, makes us clearly know which one could really be used to determine the blocking autoplay result. It also give other classes an ability to use those helper functions if they have a need.

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

--HG--
extra : moz-landing-system : lando
2019-11-25 11:00:13 +00:00
Noemi Erli 23395b20e2 Backed out 13 changesets (bug 1593843) for bustages in Logging.h CLOSED TREE
Backed out changeset b6e3fa6363bd (bug 1593843)
Backed out changeset 3db512256b0d (bug 1593843)
Backed out changeset f67081ea84ee (bug 1593843)
Backed out changeset ad02bb934459 (bug 1593843)
Backed out changeset 1a79176d3f7b (bug 1593843)
Backed out changeset 486c8562b816 (bug 1593843)
Backed out changeset 0d4313c436c5 (bug 1593843)
Backed out changeset 0c7e831d11bf (bug 1593843)
Backed out changeset 02ac8c39f46d (bug 1593843)
Backed out changeset 80895462dddf (bug 1593843)
Backed out changeset 4ab855869725 (bug 1593843)
Backed out changeset 5a24fc933cd6 (bug 1593843)
Backed out changeset f1c50ee60a78 (bug 1593843)
2019-11-23 05:18:17 +02:00
alwu f789ab1d90 Bug 1593843 - part8 : move helper functions out from 'AutoplayPolicy'. r=bryce
Move helper functions out from `AutoplayPolicy`, makes us clearly know which one could really be used to determine the blocking autoplay result. It also give other classes an ability to use those helper functions if they have a need.

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

--HG--
extra : moz-landing-system : lando
2019-11-22 09:17:35 +00:00
Karl Tomlinson 2a599ccaf2 Bug 1572627 implement currentFrame, currentTime, and sampleRate members on AudioWorkletGlobalScope r=padenot
Depends on D54084

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

--HG--
extra : moz-landing-system : lando
2019-11-21 13:42:49 +00:00
Paul Adenot 6f573300ae Bug 1567949 - Expose the number of input channels of an AudioNode, on the audio rendering thread side. r=pehrsons
This is in line with the meaning of channelCount in the Web Audio API
specification.

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

--HG--
extra : moz-landing-system : lando
2019-11-19 18:22:55 +00:00
Paul Adenot ad2a2521c9 Bug 1567949 - Don't use a global for the key in AudioDestinationNode.cpp, nullptr is fine. r=pehrsons
This was initialized to 0 anyways.

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

--HG--
extra : moz-landing-system : lando
2019-11-19 18:22:51 +00:00
Paul Adenot c4aa2ac956 Bug 1567949 - Don't change the channel count when it's not necessary. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D50059

--HG--
extra : moz-landing-system : lando
2019-11-19 18:22:41 +00:00
Paul Adenot 8ee0c89da8 Bug 1567949 - Default to 2 channels when creating an AudioContext. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D50057

--HG--
extra : moz-landing-system : lando
2019-11-19 18:22:37 +00:00
Paul Adenot 131751c9fd Bug 1595823 - Fix the AudioContext's sample-rate if privacy.resistFingerprinting is enabled. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D53810

--HG--
extra : moz-landing-system : lando
2019-11-19 16:52:18 +00:00
Andreas Pehrson 99a2c25dbc Bug 1596433 - Mark MediaStreamTrackAudioSourceNode active when set up with a live input track. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D53025

--HG--
extra : moz-landing-system : lando
2019-11-15 15:25:05 +00:00
Karl Tomlinson 5f10fac9dd Bug 1565956 updated quoted AudioWorkletProcessor instantiation steps r=padenot
Depends on D53129

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

--HG--
extra : moz-landing-system : lando
2019-11-15 13:34:01 +00:00
Karl Tomlinson 98a669ee97 Bug 1565956 reorder AudioWorkletNode constructor parameter verification to align with spec r=padenot
and update quoted steps.

Depends on D53128

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

--HG--
extra : moz-landing-system : lando
2019-11-17 21:21:31 +00:00
Michael Froman 76c71c37b1 Bug 1568058 - pt 4 - Use batch decoding in MediaBufferDecoder. r=jya
- Add a pref for controlling the batch size when doing webaudio decoding
  on RDD.
- If batch size is greater than 1 and the decoder is capable of batch
  decoding, send raw sample batches to decoder.

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

--HG--
extra : moz-landing-system : lando
2019-11-14 16:06:54 +00:00
Michael Froman 39d8e90a04 Bug 1568058 - pt 3 - Remove MediaFormatReader from MediaBufferDecoder. r=jya
Stop using MediaFormatReader and use a demuxer and decoder directly in
MediaBufferDecoder.  This will allow us to do batch decoding calls for
webaudio that will improve performance by reducing the number of IPC
calls to the RDD process.

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

--HG--
extra : moz-landing-system : lando
2019-11-14 16:06:46 +00:00
Andreas Pehrson cdbd8a12f8 Bug 1172394 - Always mark a MediaStreamAudioSourceNode attached to a live track as active. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D52049

--HG--
extra : moz-landing-system : lando
2019-11-14 14:33:44 +00:00
Andreas Pehrson 56c675fa60 Bug 1172394 - Ignore video tracks in autoplay checks in MediaStreamAudioSourceNode. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D52048

--HG--
extra : moz-landing-system : lando
2019-11-13 22:39:53 +00:00
Andreas Pehrson 7fac8df54d Bug 1172394 - Merge MediaStream and MediaDecoder track sources. r=padenot
This reworks how media element captureStream works by removing the differences
between MediaStream and MediaDecoder capture. MediaDecoder capture will be
refactored so that ownership of MediaStreamTracks lies with the media element
instead of the OutputStreamManager. The internal MediaDecoder parts happen in a
later patch.

The new API for capturing a MediaDecoder involves a boolean on/off toggle, the
output tracks the decoder pipes data to, and the principal that data is tagged
with. If capturing is on but there are no output tracks, playback will not
happen, to ensure that no data gets accidentally skipped in the output tracks
while captured.

This also changes the logic for setting up MediaElementTrackSources in
HTMLMediaElement so it's triggered by the WatchManager and thus run in tail
dispatched runnables.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 22:40:09 +00:00
Csoregi Natalia 6ba30843e8 Backed out 15 changesets (bug 1500049, bug 1172394, bug 1546756, bug 1302379) for failures on browser_disabledForMediaStreamVideos.js. CLOSED TREE
Backed out changeset 355f090421a6 (bug 1500049)
Backed out changeset 306341d0b586 (bug 1302379)
Backed out changeset 3ff0d72d23a2 (bug 1546756)
Backed out changeset a4f256e68cef (bug 1172394)
Backed out changeset d0aa43657e8c (bug 1172394)
Backed out changeset edff95b6f724 (bug 1172394)
Backed out changeset 94bd21d9b396 (bug 1172394)
Backed out changeset 7e7baa73e1ef (bug 1172394)
Backed out changeset c3bd415507e8 (bug 1172394)
Backed out changeset 1c45b135318d (bug 1172394)
Backed out changeset c57c41e8c39e (bug 1172394)
Backed out changeset a796541fe5ef (bug 1172394)
Backed out changeset 89ad0b553b0f (bug 1172394)
Backed out changeset 744fb77a5833 (bug 1172394)
Backed out changeset afb4b226ff04 (bug 1172394)
2019-11-14 00:32:51 +02:00
Andreas Pehrson 7e0c927800 Bug 1172394 - Always mark a MediaStreamAudioSourceNode attached to a live track as active. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D52049

--HG--
extra : moz-landing-system : lando
2019-11-13 08:58:25 +00:00
Andreas Pehrson 2eaffe564d Bug 1172394 - Ignore video tracks in autoplay checks in MediaStreamAudioSourceNode. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D52048

--HG--
extra : moz-landing-system : lando
2019-11-13 08:58:21 +00:00
Andreas Pehrson 5b1bea60b3 Bug 1172394 - Merge MediaStream and MediaDecoder track sources. r=padenot
This reworks how media element captureStream works by removing the differences
between MediaStream and MediaDecoder capture. MediaDecoder capture will be
refactored so that ownership of MediaStreamTracks lies with the media element
instead of the OutputStreamManager. The internal MediaDecoder parts happen in a
later patch.

The new API for capturing a MediaDecoder involves a boolean on/off toggle, the
output tracks the decoder pipes data to, and the principal that data is tagged
with. If capturing is on but there are no output tracks, playback will not
happen, to ensure that no data gets accidentally skipped in the output tracks
while captured.

This also changes the logic for setting up MediaElementTrackSources in
HTMLMediaElement so it's triggered by the WatchManager and thus run in tail
dispatched runnables.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 08:55:29 +00:00
Paul Adenot f7f11a5637 Bug 1595819 - Limit the audio output channel count maximum reported value if RFP is enabled. r=tjr
Stereo output is what the immense majority of mobile and desktop users have.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 12:24:11 +00:00
Andreas Pehrson 67b601ce95 Bug 1594136 - Check for ended track in MediaStreamTrackAudioSourceNode. r=padenot
Depends on D52521

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

--HG--
extra : moz-landing-system : lando
2019-11-13 13:13:48 +00:00
Karl Tomlinson c8963484d2 Bug 1591254 set WorkletNodeEngine input and output span lengths appropriately for zero inputs and outputs r=padenot
AudioNodeTrack::ProcessInput() uses ProcessBlock() when input and output
counts are <= 1.

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

--HG--
extra : moz-landing-system : lando
2019-10-25 12:57:46 +00:00
Geoff Brown de6c41dd8a Bug 1585119 - Re-enable yet more mochitests on android; r=geckoview-reviewers,snorp
Most of these tests have been disabled for a long time; they run well
in the current test environment.
This completes my review of skipped Android tests.

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

--HG--
extra : moz-landing-system : lando
2019-10-22 20:10:27 +00:00
Paul Adenot 772872cd0e Bug 1587244 - Allow NaN in IIR filter output. r=karlt
It's perfectly possible to create unstable filter, that can easily go to
infinity, so this assert is not valid.

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

--HG--
extra : moz-landing-system : lando
2019-10-20 21:52:31 +00:00
Paul Adenot 415ad2bbdc Bug 1499597 - Don't clamp the Q of a BiquadFilterNode when in low-pass and high-pass mode. r=karlt
Bug 1265395 implemented the new filter equations from
a6842f2f73,
but missed removing the clamping.

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

--HG--
extra : moz-landing-system : lando
2019-10-18 01:52:39 +00:00
Razvan Maries bbfcab1552 Backed out changeset 239ff6e79980 (bug 1572884) for causing perma fails on audionode-channel-rules.html. CLOSED TREE 2019-10-18 12:41:02 +03:00
Alex Chronopoulos 3131adff9f Bug 1572884 - Upmix mono webaudio channels to stereo when the output configuration is 3 and 5 channels. r=padenot
WebAudio upmix layout is defined in the spec for the channel configurations mono, stereo, quad and 5.1. Layouts with 3 and 5 channels are not defined yet. For those undefined layouts firefox provided upmix to a single channel (left). This has been updated to upmix to the two stereo channels (left, right).

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

--HG--
extra : moz-landing-system : lando
2019-10-18 07:46:07 +00:00
Andreas Pehrson 1bdb34c6ec Bug 1454998 - Rename streams to tracks. r=padenot,karlt,smaug
This renames the following (in alphabetical order, non-exhaustive):

AudioCaptureStream -> AudioCaptureTrack
AudioNodeStream -> AudioNodeTrack
AudioNodeExternalInputStream -> AudioNodeExternalInputTrack
DirectMediaStreamTrackListener -> DirectMediaTrackListener
MediaStream -> MediaTrack
  - Note that there's also dom::MediaTrack. Namespaces differentiate them.
MediaStreamGraph -> MediaTrackGraph
MediaStreamTrackListener -> MediaTrackListener
MSG -> MTG (in comments)
ProcessedMediaStream -> ProcessedMediaTrack
SharedDummyStream -> SharedDummyTrack
SourceMediaStream -> SourceMediaTrack
StreamTime -> TrackTime
TrackUnionStream -> ForwardedInputTrack
  - Because this no longer takes a union of anything, but only a single track
    as input.

Other minor classes, members and comments have been updated to reflect these
name changes.

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

--HG--
rename : dom/media/AudioCaptureStream.cpp => dom/media/AudioCaptureTrack.cpp
rename : dom/media/AudioCaptureStream.h => dom/media/AudioCaptureTrack.h
rename : dom/media/TrackUnionStream.cpp => dom/media/ForwardedInputTrack.cpp
rename : dom/media/TrackUnionStream.h => dom/media/ForwardedInputTrack.h
rename : dom/media/MediaStreamGraph.cpp => dom/media/MediaTrackGraph.cpp
rename : dom/media/MediaStreamGraph.h => dom/media/MediaTrackGraph.h
rename : dom/media/MediaStreamGraphImpl.h => dom/media/MediaTrackGraphImpl.h
rename : dom/media/MediaStreamListener.cpp => dom/media/MediaTrackListener.cpp
rename : dom/media/MediaStreamListener.h => dom/media/MediaTrackListener.h
rename : dom/media/webaudio/AudioNodeExternalInputStream.cpp => dom/media/webaudio/AudioNodeExternalInputTrack.cpp
rename : dom/media/webaudio/AudioNodeExternalInputStream.h => dom/media/webaudio/AudioNodeExternalInputTrack.h
rename : dom/media/webaudio/AudioNodeStream.cpp => dom/media/webaudio/AudioNodeTrack.cpp
rename : dom/media/webaudio/AudioNodeStream.h => dom/media/webaudio/AudioNodeTrack.h
extra : moz-landing-system : lando
2019-10-02 10:23:02 +00:00
Andreas Pehrson 0ef0cab288 Bug 1454998 - Remove AudioNodeStream::SampleRate(). r=karlt
AudioNodeStream is a subclass of MediaStream, which now exposes a
public const mSampleRate member.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 10:22:55 +00:00
Andreas Pehrson 8028758d0e Bug 1454998 - Remove the notion of streams from MediaStreamGraph. r=padenot,karlt
This change mainly removes the `mTracks` member from MediaStream and moves all
associated members up a level, so that a MediaStream in practice represents a
single track.

Classes will be renamed in a future patch to reflect this.

Other changes include:

The new `mEnded` member of MediaStream changes meaning to only become true when
all data in the stream has been processed. It stems from
StreamTracks::Track::mEnded which used to become true as soon as the last bit of
data had been added to a track, and there could still be data in the track that
would get processed in future iterations. We are moving towards not having any
future data in tracks, which is why this change is ok to make -- keeping the old
behavior will soon not make sense.

TrackUnionStream is changed to no longer take a list of streams as input and
forward the union of their tracks to itself. Instead it's limited to having one
track as input at a time.

The autofinishing functionality that TrackUnionStream had before has been
transformed into an autoending functionality to allow it to defer ending until
its been told that it's ok to end through the control API. This lets a single
TrackUnionStream span the lifetime of multiple inputs, which will be useful for
making DecodedStream spec compliant with HTMLMediaElement::CaptureStream(), and
for implementing the currently discussed MediaRecorder::ReplaceTrack(), to name
a few potential use cases.

AudioNodeStreams used to only have a track (and thus an AudioSegment) if the
EXTERNAL_OUTPUT flag was enabled on them. With all MediaStreams now representing
a track, AudioNodeStreams inherently have an AudioSegment as a member. It is
however only used with data if the EXTERNAL_OUTPUT flag is enabled.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 10:22:53 +00:00
Andreas Pehrson a639f42a0e Bug 1454998 - Remove track blocking from MediaInputPort. r=karlt
This functionality is not used since we moved to only having a single track per
MediaStream (bug 1493613).

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

--HG--
extra : moz-landing-system : lando
2019-10-02 10:22:49 +00:00
Gurzau Raul 40dae37e00 Backed out 7 changesets (bug 1454998) for build bustages at MediaTrackGraph.h on a CLOSED TREE.
Backed out changeset 80417bdfa721 (bug 1454998)
Backed out changeset 8ff03f2f4ca2 (bug 1454998)
Backed out changeset ae6056b748d1 (bug 1454998)
Backed out changeset ab721cb2066b (bug 1454998)
Backed out changeset d0e8d413cd1c (bug 1454998)
Backed out changeset 3ce4dc7e9ae2 (bug 1454998)
Backed out changeset 6105a4176729 (bug 1454998)

--HG--
rename : dom/media/AudioCaptureTrack.cpp => dom/media/AudioCaptureStream.cpp
rename : dom/media/AudioCaptureTrack.h => dom/media/AudioCaptureStream.h
rename : dom/media/MediaTrackGraph.cpp => dom/media/MediaStreamGraph.cpp
rename : dom/media/MediaTrackGraph.h => dom/media/MediaStreamGraph.h
rename : dom/media/MediaTrackGraphImpl.h => dom/media/MediaStreamGraphImpl.h
rename : dom/media/MediaTrackListener.cpp => dom/media/MediaStreamListener.cpp
rename : dom/media/MediaTrackListener.h => dom/media/MediaStreamListener.h
rename : dom/media/ForwardedInputTrack.cpp => dom/media/TrackUnionStream.cpp
rename : dom/media/ForwardedInputTrack.h => dom/media/TrackUnionStream.h
rename : dom/media/webaudio/AudioNodeExternalInputTrack.cpp => dom/media/webaudio/AudioNodeExternalInputStream.cpp
rename : dom/media/webaudio/AudioNodeExternalInputTrack.h => dom/media/webaudio/AudioNodeExternalInputStream.h
rename : dom/media/webaudio/AudioNodeTrack.cpp => dom/media/webaudio/AudioNodeStream.cpp
rename : dom/media/webaudio/AudioNodeTrack.h => dom/media/webaudio/AudioNodeStream.h
2019-10-02 11:46:23 +03:00
Andreas Pehrson 36d89d91c8 Bug 1454998 - Rename streams to tracks. r=padenot,karlt,smaug
This renames the following (in alphabetical order, non-exhaustive):

AudioCaptureStream -> AudioCaptureTrack
AudioNodeStream -> AudioNodeTrack
AudioNodeExternalInputStream -> AudioNodeExternalInputTrack
DirectMediaStreamTrackListener -> DirectMediaTrackListener
MediaStream -> MediaTrack
  - Note that there's also dom::MediaTrack. Namespaces differentiate them.
MediaStreamGraph -> MediaTrackGraph
MediaStreamTrackListener -> MediaTrackListener
MSG -> MTG (in comments)
ProcessedMediaStream -> ProcessedMediaTrack
SharedDummyStream -> SharedDummyTrack
SourceMediaStream -> SourceMediaTrack
StreamTime -> TrackTime
TrackUnionStream -> ForwardedInputTrack
  - Because this no longer takes a union of anything, but only a single track
    as input.

Other minor classes, members and comments have been updated to reflect these
name changes.

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

--HG--
rename : dom/media/AudioCaptureStream.cpp => dom/media/AudioCaptureTrack.cpp
rename : dom/media/AudioCaptureStream.h => dom/media/AudioCaptureTrack.h
rename : dom/media/TrackUnionStream.cpp => dom/media/ForwardedInputTrack.cpp
rename : dom/media/TrackUnionStream.h => dom/media/ForwardedInputTrack.h
rename : dom/media/MediaStreamGraph.cpp => dom/media/MediaTrackGraph.cpp
rename : dom/media/MediaStreamGraph.h => dom/media/MediaTrackGraph.h
rename : dom/media/MediaStreamGraphImpl.h => dom/media/MediaTrackGraphImpl.h
rename : dom/media/MediaStreamListener.cpp => dom/media/MediaTrackListener.cpp
rename : dom/media/MediaStreamListener.h => dom/media/MediaTrackListener.h
rename : dom/media/webaudio/AudioNodeExternalInputStream.cpp => dom/media/webaudio/AudioNodeExternalInputTrack.cpp
rename : dom/media/webaudio/AudioNodeExternalInputStream.h => dom/media/webaudio/AudioNodeExternalInputTrack.h
rename : dom/media/webaudio/AudioNodeStream.cpp => dom/media/webaudio/AudioNodeTrack.cpp
rename : dom/media/webaudio/AudioNodeStream.h => dom/media/webaudio/AudioNodeTrack.h
extra : moz-landing-system : lando
2019-10-02 08:18:16 +00:00
Andreas Pehrson 05d6bfa0c1 Bug 1454998 - Remove AudioNodeStream::SampleRate(). r=karlt
AudioNodeStream is a subclass of MediaStream, which now exposes a
public const mSampleRate member.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 08:17:59 +00:00
Andreas Pehrson 1bc37d8ea4 Bug 1454998 - Remove the notion of streams from MediaStreamGraph. r=padenot,karlt
This change mainly removes the `mTracks` member from MediaStream and moves all
associated members up a level, so that a MediaStream in practice represents a
single track.

Classes will be renamed in a future patch to reflect this.

Other changes include:

The new `mEnded` member of MediaStream changes meaning to only become true when
all data in the stream has been processed. It stems from
StreamTracks::Track::mEnded which used to become true as soon as the last bit of
data had been added to a track, and there could still be data in the track that
would get processed in future iterations. We are moving towards not having any
future data in tracks, which is why this change is ok to make -- keeping the old
behavior will soon not make sense.

TrackUnionStream is changed to no longer take a list of streams as input and
forward the union of their tracks to itself. Instead it's limited to having one
track as input at a time.

The autofinishing functionality that TrackUnionStream had before has been
transformed into an autoending functionality to allow it to defer ending until
its been told that it's ok to end through the control API. This lets a single
TrackUnionStream span the lifetime of multiple inputs, which will be useful for
making DecodedStream spec compliant with HTMLMediaElement::CaptureStream(), and
for implementing the currently discussed MediaRecorder::ReplaceTrack(), to name
a few potential use cases.

AudioNodeStreams used to only have a track (and thus an AudioSegment) if the
EXTERNAL_OUTPUT flag was enabled on them. With all MediaStreams now representing
a track, AudioNodeStreams inherently have an AudioSegment as a member. It is
however only used with data if the EXTERNAL_OUTPUT flag is enabled.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 08:17:51 +00:00