gecko-dev/dom/media/encoder
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
..
ContainerWriter.h Bug 1014393 - Remove EncodedFrameContainer. r=pehrsons 2019-08-03 17:27:16 +00:00
EncodedFrame.h Bug 1014393 - Update EncodedFrame class to more closely resemble MediaData class. r=pehrsons 2019-08-03 17:27:17 +00:00
MediaEncoder.cpp Bug 1454998 - Remove the notion of streams from MediaStreamGraph. r=padenot,karlt 2019-10-02 10:22:53 +00:00
MediaEncoder.h Backed out 7 changesets (bug 1454998) for build bustages at MediaTrackGraph.h on a CLOSED TREE. 2019-10-02 11:46:23 +03:00
Muxer.cpp Bug 1014393 - Break out muxing and queueing of track data from MediaEncoder to new Muxer class. r=bryce 2019-08-03 17:27:14 +00:00
Muxer.h Bug 1014393 - Break out muxing and queueing of track data from MediaEncoder to new Muxer class. r=bryce 2019-08-03 17:27:14 +00:00
OpusTrackEncoder.cpp Backed out 7 changesets (bug 1454998) for build bustages at MediaTrackGraph.h on a CLOSED TREE. 2019-10-02 11:46:23 +03:00
OpusTrackEncoder.h Bug 1014393 - Remove EncodedFrameContainer. r=pehrsons 2019-08-03 17:27:16 +00:00
TrackEncoder.cpp Backed out 7 changesets (bug 1454998) for build bustages at MediaTrackGraph.h on a CLOSED TREE. 2019-10-02 11:46:23 +03:00
TrackEncoder.h Bug 1454998 - Remove the notion of streams from MediaStreamGraph. r=padenot,karlt 2019-10-02 10:22:53 +00:00
TrackMetadataBase.h Bug 1204606 - Reformat of dom/media r=jya 2018-11-19 13:25:37 +00:00
VP8TrackEncoder.cpp Backed out 7 changesets (bug 1454998) for build bustages at MediaTrackGraph.h on a CLOSED TREE. 2019-10-02 11:46:23 +03:00
VP8TrackEncoder.h Backed out 7 changesets (bug 1454998) for build bustages at MediaTrackGraph.h on a CLOSED TREE. 2019-10-02 11:46:23 +03:00
moz.build Bug 1014393 - Remove EncodedFrameContainer. r=pehrsons 2019-08-03 17:27:16 +00:00