1. 05 Apr, 2023 6 commits
    • Fix and simplify timestamps handling · 3a5c4277
      Handling of the stream offset and start position was unnecessarily
      complex and even incorrect. It was going to be an issue for
      concatenation of video and image input.
      
      The stream offset is the offset added before decoding/encoding to
      make sure it doesn’t fail in case of negative timestamps (which do
      rarely occur).
      The start position is equal to the stream offset, plus the clipping
      start time if the media is clipped.
      
      Before this change:
      - Samples were offset by the start position before decoding, and this
      offset was removed before muxing.
      - The startPosition of the first MediaItem in a sequence was used for
      all the MediaItems in this sequence (which is incorrect).
      - The stream offset was removed before applying the GL effects and
      added back before encoding so that it was not visible to the OpenGL
      processing.
      
      After this change:
      - The start position is subtracted in the AssetLoader, so that the
      downstream components don’t have to deal with the stream offsets and
      start positions.
      - Decoded samples with negative timestamps are not passed to the
      SamplePipelines. The MediaMuxer doesn’t handle negative timestamps
      well. If a stream is 10 secondes long and starts at timestamp -2
      seconds, the output will only contain the samples corresponding to the
      first 8 (10 - 2) seconds. It won’t contain the last 2 seconds of the
      stream. It seems acceptable to remove the first 2 seconds instead.
      
      PiperOrigin-RevId: 520916464
      kimvde committed
    • Remove adjustable ftyp functionality from Mp4Muxer · bf2d311b
      PiperOrigin-RevId: 520886975
      sheenachhabra committed
    • Fix emulator tests flakiness · 9cdf60d7
      Releasing the player once a sequence has ended seems to make our
      emulator tests flaky. Comment out until we find the cause. The player
      will still be released from TransformerInternal, when the export ends.
      
      PiperOrigin-RevId: 520886181
      kimvde committed
    • Add warning logs if `DefaultDrmSessionManager` is used on wrong thread · 7ca96684
      Issue: google/ExoPlayer#11008
      PiperOrigin-RevId: 520864579
      ibaker committed
    • ...Suppress `MissingSuperCall` warnings on onBackPressed()... · 5af28a98
      PiperOrigin-RevId: 520709134
      Googler committed
    • Remove mediaTimeOffsetMs from EventDispatcher · d7010da6
      The `DashMediaSource` wrongly added an offset to the media times set
      to the `MediaLoadData`. With this the `startTimeMS` and `endTimeMs`
      don't represent the positions in the period but in the stream.
      
      `DashMediaSource` was the only call site that was setting the offset
      to a non-zero value. So if we are using 0 for the `DashMediaSource`
      as well, the offset is redundant and we can remove it everywhere.
      
      PiperOrigin-RevId: 520682026
      bachinger committed
  2. 30 Mar, 2023 34 commits