1. 05 Apr, 2023 11 commits
    • Remove edit box functionality from Mp4Muxer · f2639cc6
      PiperOrigin-RevId: 521731485
      sheenachhabra committed
    • Use SKIPPED ad status when a playing ad period has been removed · 1124b180
      PiperOrigin-RevId: 521476767
      bachinger committed
    • Propagate audio capabilities changes out from the audio renderers · e85924bf
      * Add a new event `onAudioCapabilitiesChanged` in `AudioSink.Listener` interface.
      * Add an interface `RendererCapabilities.Listener`, which will listen to `onRendererCapabilitiesChanged` events from the renderer.
      * Add `getRendererCapabilitiesReceiver` method for `TrackSelector`, and register/unregister the `TrackSelector` as the `RendererCapabilitiesReceiver` (if implemented) when the `ExoPlayer` is initialized/released.
      * Trigger the `AudioSink.Listener.onAudioCapabilitiesChanged` and further `RendererCapabilities.Listener.onRendererCapabilitiesChanged` events when the audio capabilities changes are detected in `DefaultAudioSink`.
      
      PiperOrigin-RevId: 521427567
      tianyifeng committed
    • HDR: Fix exportUnexpectedColorInfo. · 0e50c5cf
      PiperOrigin-RevId: 521427239
      huangdarwin committed
    • Add test for clipped media items concatenation · c1227328
      This was broken and has been fixed in <unknown commit>.
      
      PiperOrigin-RevId: 521380415
      kimvde committed
    • Add live ad breaks for DASH multi-period streams · 0767cb97
      This includes:
      
      - Add an ad for each LOADED event of the SDK by taking the duration
        of the ad from the media structure to exactly match the start position
        of ads and then use `addLiveAdBreak()` that is used for HLS live already.
      - When the refreshed content timeline arrives, possibly correct
        the duration of an ad that has been inserted while the period duration was
        still unknown (last period of the live timeline).
      - When an ad period is removed the ad group needs to be put into a condition
        that allows continuing playback.
      
      PiperOrigin-RevId: 520919236
      bachinger committed
    • Fix and simplify timestamps handling · b18fb368
      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 · c82a6fcd
      PiperOrigin-RevId: 520886975
      sheenachhabra committed
    • Fix emulator tests flakiness · c52d155b
      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 · 1ac7f3cd
      Issue: google/ExoPlayer#11008
      PiperOrigin-RevId: 520864579
      ibaker committed
    • Remove mediaTimeOffsetMs from EventDispatcher · f28a151a
      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 29 commits