1. 07 Jan, 2021 1 commit
  2. 06 Oct, 2020 1 commit
  3. 08 May, 2020 1 commit
  4. 01 May, 2020 1 commit
  5. 24 Apr, 2020 1 commit
  6. 07 Apr, 2020 2 commits
  7. 21 Feb, 2020 1 commit
  8. 20 Feb, 2020 1 commit
  9. 19 Feb, 2020 2 commits
  10. 13 Feb, 2020 1 commit
  11. 11 Feb, 2020 1 commit
  12. 12 Feb, 2020 2 commits
  13. 23 Jan, 2020 2 commits
  14. 21 Jan, 2020 1 commit
  15. 20 Dec, 2019 2 commits
  16. 12 Dec, 2019 4 commits
    • Andreas Pehrson's avatar
      Bug 1601034 - Set the MediaPipelineTransmit send track in a dedicated method... · a13470c3
      Andreas Pehrson authored
      Bug 1601034 - Set the MediaPipelineTransmit send track in a dedicated method to enable unit tests. r=bwc
      
      Depends on D56620
      
      Differential Revision: https://phabricator.services.mozilla.com/D57001
      
      --HG--
      extra : moz-landing-system : lando
      a13470c3
    • Andreas Pehrson's avatar
      Bug 1601034 - Add a ProcessedMediaTrack layer in MediaPipelineTransmit to... · d03a022c
      Andreas Pehrson authored
      Bug 1601034 - Add a ProcessedMediaTrack layer in MediaPipelineTransmit to handle replaceTrack of ended tracks. r=dminor,padenot
      
      Before this patch, if a send audio MediaStreamTrack ended, we ended up not
      sending anything over the network. If replaceTrack() at that point replaced the
      ended track with a live one, we'd start sending data again, but the rtp stream
      would continue from where the previous track ended.
      
      Having a gap in audio like that would confuse a receiver's *video* jitter
      buffer, because it's trying to sync to an audio track that just had a massive
      amount of "jitter" (it can't tell the difference).
      
      This patch fixes this by adding a track layer in MediaPipelineTransmit that
      remains active for as long as the MediaPipeline is active. Thus if the send
      audio MediaStreamTrack ends, we continue sending silence over the network, which
      the receiver can understand. If later replaced, the receiver sees real audio
      instead of silence and continues gracefully.
      
      Differential Revision: https://phabricator.services.mozilla.com/D56619
      
      --HG--
      extra : moz-landing-system : lando
      d03a022c
    • Ciure Andrei's avatar
      Backed out 2 changesets (bug 1601034) for causing gtest... · dd135cd3
      Ciure Andrei authored
      Backed out 2 changesets (bug 1601034) for causing gtest mediapipeline_unittest.cpp failures CLOSED TREE
      
      Backed out changeset 6a429cfa6440 (bug 1601034)
      Backed out changeset e17753103d27 (bug 1601034)
      dd135cd3
    • Andreas Pehrson's avatar
      Bug 1601034 - Add a ProcessedMediaTrack layer in MediaPipelineTransmit to... · 02224ebf
      Andreas Pehrson authored
      Bug 1601034 - Add a ProcessedMediaTrack layer in MediaPipelineTransmit to handle replaceTrack of ended tracks. r=dminor,padenot
      
      Before this patch, if a send audio MediaStreamTrack ended, we ended up not
      sending anything over the network. If replaceTrack() at that point replaced the
      ended track with a live one, we'd start sending data again, but the rtp stream
      would continue from where the previous track ended.
      
      Having a gap in audio like that would confuse a receiver's *video* jitter
      buffer, because it's trying to sync to an audio track that just had a massive
      amount of "jitter" (it can't tell the difference).
      
      This patch fixes this by adding a track layer in MediaPipelineTransmit that
      remains active for as long as the MediaPipeline is active. Thus if the send
      audio MediaStreamTrack ends, we continue sending silence over the network, which
      the receiver can understand. If later replaced, the receiver sees real audio
      instead of silence and continues gracefully.
      
      Differential Revision: https://phabricator.services.mozilla.com/D56619
      
      --HG--
      extra : moz-landing-system : lando
      02224ebf
  17. 07 Nov, 2019 1 commit
  18. 06 Nov, 2019 6 commits
  19. 05 Nov, 2019 5 commits
  20. 29 Oct, 2019 1 commit
  21. 02 Oct, 2019 3 commits
    • Andreas Pehrson's avatar
      Bug 1454998 - Rename streams to tracks. r=padenot,karlt,smaug · 1bdb34c6
      Andreas Pehrson authored
      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
      1bdb34c6
    • Andreas Pehrson's avatar
      Bug 1454998 - Remove the notion of streams from MediaStreamGraph. r=padenot,karlt · 8028758d
      Andreas Pehrson authored
      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
      8028758d
    • Gurzau Raul's avatar
      Backed out 7 changesets (bug 1454998) for build bustages at MediaTrackGraph.h on a CLOSED TREE. · 40dae37e
      Gurzau Raul authored
      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
      40dae37e