1. 16 Jun, 2022 2 commits
  2. 15 Jun, 2022 7 commits
  3. 14 Jun, 2022 2 commits
  4. 13 Jun, 2022 2 commits
    • Use correct placeholder PlayerID value in test · c1f1eb78
      The default constructor is only allowed to be called on
      API < 32 and the test should use the defined UNSET constant
      to be API independent.
      
      #minor-release
      
      PiperOrigin-RevId: 454568893
      (cherry picked from commit 0ed53215)
      tonihei committed
    • Ensure `DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION` is always executed · 31e6ba9c
      `codecDrainAction` is set to `DRAIN_ACTION_NONE` in 3 places in
      `MediaCodecRenderer`:
      * The constructor (so there's no prior state to worry about)
      * `updateDrmSessionV23()`: Where `mediaCrypto` is reconfigured based
        on `sourceDrmSession` and `codecDrmSession` is also updated to
        `sourceDrmSession`.
      * `resetCodecStateForFlush()`: Where (before this change) the action
        is unconditionally set back to `DRAIN_ACTION_NONE` and so any
        required updated implied by
        `DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION` is not done.
      
      This change ensures that `flushOrReleaseCodec()` handles
      `DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION` before calling .
      
      This probably also resolves Issue: google/ExoPlayer#10274
      
      #minor-release
      
      PiperOrigin-RevId: 454114428
      (cherry picked from commit c736a72c)
      ibaker committed
  5. 09 Jun, 2022 8 commits
  6. 07 Jun, 2022 4 commits
  7. 31 May, 2022 7 commits
  8. 30 May, 2022 8 commits
    • Update the Gradle Wrapper and Android Gradle Plugin · 10a7e755
      The current verion of AGP warns it doesn't support Android API 32 [1].
      
      The wrapper was upgraded with ([instructions](https://docs.gradle.org/current/userguide/gradle_wrapper.html#sec:upgrading_wrapper)):
      ```shell
      $ ./gradlew wrapper --gradle-version 7.4.2 --distribution-type all
      ```
      
      [1]
      ```
      WARNING:We recommend using a newer Android Gradle plugin to use compileSdk = 32
      
      This Android Gradle plugin (7.0.3) was tested up to compileSdk = 31
      
      This warning can be suppressed by adding
          android.suppressUnsupportedCompileSdk=32
          to this project's gradle.properties
      
          The build will continue, but you are strongly encouraged to update your project to
          use a newer Android Gradle Plugin that has been tested with compileSdk = 32
      ```
      
      #minor-release
      
      PiperOrigin-RevId: 451893214
      (cherry picked from commit 7fc9bb9c)
      ibaker committed
    • Use fluent assertions · d1c3b051
      Gives a bit more information upon failures
      
      PiperOrigin-RevId: 451882968
      aquilescanta committed
    • Skip BitrateAnalysisTest if device is incapable. · d411461d
      Add bitrate check to the "can encode" criteria.
      
      PiperOrigin-RevId: 451868042
      claincly committed
    • Remove MediaMetadata.mediaUrl · 8e015c4f
      This value only existed to allow setting media URLs from external sources
      (e.g. in a MediaController) so that a player can start playing this item.
      Now that we have MediaItem.RequestMetadata.mediaUrl we can remove this value
      from MediaMetadata because it's request metadata, not media metadata.
      
      PiperOrigin-RevId: 451857413
      tonihei committed
    • Add RequestMetadata to MediaItem · 38248af5
      These fields can be used to transport additional request properties
      when the requester doesn't know the details needed for the actual
      playback (i.e. the LocalConfiguration).
      
      PiperOrigin-RevId: 451857093
      tonihei committed
    • Retain stream time offsets through codecs · 84efc5e8
      ExoPlayer applies a large time offset to buffers so that, if the input has negative timestamps, generally buffers seen by the decoders should have positive timestamps. Modify how the offset is handled in `Transformer` so that decoders and encoders generally see positive timestamps, by leaving the offset on samples when reading them in the base renderer (remove the code that removed the offset), and then removing the offset when muxing. Also update the frame processor chain and slow motion flattening code to retain the existing behavior after this change (these both need original media presentation timestamps)
      
      Tested via existing end-to-end tests and manually verified that the overlay frame processor shows the expected original media timestamps.
      
      Aside: we don't need the same logic as ExoPlayer to track stream offsets across the decoder yet, because we don't try to handle stream changes during playback in single asset editing. (There is an edge case of multi-period DASH that may not work but I doubt anyone will use that as input to `Transformer` before we change the code to handle multi-asset properly.) In future we should try to refactor interaction with the decoder to use the same code for Transformer and ExoPlayer.
      PiperOrigin-RevId: 451846055
      andrewlewis committed
    • Wrap framework AudioAttributes in new AudioAttributesV21 class · 6dd065a1
      PiperOrigin-RevId: 451831531
      ibaker committed