1. 16 Jun, 2022 6 commits
  2. 15 Jun, 2022 13 commits
  3. 14 Jun, 2022 4 commits
  4. 13 Jun, 2022 5 commits
  5. 10 Jun, 2022 1 commit
  6. 09 Jun, 2022 11 commits
    • Check targetSdkVersion for frame dropping workaround. · a105d033
      Based on
      https://developer.android.com/reference/android/media/MediaCodec#using-an-output-surface,
      frame dropping behaviour depends on the target SDK version.
      After this change transformer will only use
      MediaFormat#KEY_ALLOW_FRAME_DROP if both the target and system SDK
      version are at least 29 and default to its pre 29 behaviour where each
      decoder output frame must be processed before a new one is rendered
      to prevent frame dropping otherwise.
      
      Also remove deprecated Transformer.Builder constructor without a
      context and the context setter.
      
      PiperOrigin-RevId: 453971097
      hschlueter committed
    • Make GlUtil.GlException checked and remove flag to disable it. · cc1f32d0
      Transformer always enabled glAssertionsEnabled, so there should
      be no functional change.
      
      ExoPlayer previously disabled glAssertionsEnabled, so GlUtil logged
      GlExceptions instead of throwing them. The GlExceptions are now
      caught and logged by the callers so that there should also be no
      functional change overall.
      
      This change also replaces EGLSurfaceTexture#GlException with
      GlUtil#GlException.
      
      PiperOrigin-RevId: 453963741
      hschlueter committed
    • Check targetSdkVersion for frame dropping workaround. · 3f718b0d
      Based on
      https://developer.android.com/reference/android/media/MediaCodec#using-an-output-surface,
      frame dropping behaviour depends on the target SDK version.
      After this change transformer will only use
      MediaFormat#KEY_ALLOW_FRAME_DROP if both the target and system SDK
      version are at least 29 and default to its pre 29 behaviour where each
      decoder output frame must be processed before a new one is rendered
      to prevent frame dropping otherwise.
      
      Also remove deprecated Transformer.Builder constructor without a
      context and the context setter.
      
      PiperOrigin-RevId: 453971097
      hschlueter committed
    • Make GlUtil.GlException checked and remove flag to disable it. · dc668f2b
      Transformer always enabled glAssertionsEnabled, so there should
      be no functional change.
      
      ExoPlayer previously disabled glAssertionsEnabled, so GlUtil logged
      GlExceptions instead of throwing them. The GlExceptions are now
      caught and logged by the callers so that there should also be no
      functional change overall.
      
      This change also replaces EGLSurfaceTexture#GlException with
      GlUtil#GlException.
      
      PiperOrigin-RevId: 453963741
      hschlueter committed
    • DefaultTrackSelector: Constrain audio channel count · 9f3c595e
      The track selector will select multi-channel formats when those can be
      spatialized, otherwise the selector will prefer stereo/mono audio
      tracks. When the device supports audio spatialization (Android 12L+),
      the DefaultTrackSelector will monitor for changes in the platform
      Spatializer and trigger a new track selection upon a
      Spatializer change event.
      
      Devices with a `television` UI mode are excluded from audio channel
      count constraints.
      
      #minor-release
      
      PiperOrigin-RevId: 453957269
      christosts committed
    • DefaultTrackSelector: Constrain audio channel count · e2f0fd76
      The track selector will select multi-channel formats when those can be
      spatialized, otherwise the selector will prefer stereo/mono audio
      tracks. When the device supports audio spatialization (Android 12L+),
      the DefaultTrackSelector will monitor for changes in the platform
      Spatializer and trigger a new track selection upon a
      Spatializer change event.
      
      Devices with a `television` UI mode are excluded from audio channel
      count constraints.
      
      #minor-release
      
      PiperOrigin-RevId: 453957269
      christosts committed
    • Fix bug: playback is frozen with HLS chunkless preparation · 9221eeb2
      This change fixes a bug where the player is frozen with HLS chunkless
      preparation because the audio stream wrappers are not marked as master
      timestamp sources before preparation.
      
      #minor-release
      
      PiperOrigin-RevId: 453941815
      christosts committed
    • Ensure re-encode on performance tests · 12d775f0
      PiperOrigin-RevId: 453933854
      claincly committed
    • Add session URI to Intent used with the notification · 8b592fc7
      The service handles three different types of `Intents`. Custom command and media
      command Intents created by the library and media button event Intents from other
      sources.
      
      Media commands from the library as well as from external sources have the action
      set to `android.intent.action.MEDIA_BUTTON`. If the data URI is set and can be
      used to identify a session then it is a library Intent. If the Intent is coming
      from an external KeyEvent, the service implementation is asked which session to use
      by calling `onGetSession(controllerInfo)` with the controller info being an
      anonymous legacy controller info.
      
      Intents representing a custom command are always coming from the library and hence
      always have a data URI.
      
      Issue: androidx/media#82
      PiperOrigin-RevId: 453932972
      bachinger committed
    • Merge pull request #69 from ittiam-systems:rtp_amr_test · 58f7ac25
      PiperOrigin-RevId: 453905355
      Marc Baechinger committed
    • Add COMMAND_SET_MEDIA_ITEM to Player.Commands · 5333c67d
      Some Player implementations have no playlist capability but can still
      set a MediaItem for playback. Examples are a MediaController connected
      to a legacy MediaSession, ExoPlayer up to 2.12 or MediaPlayer.
      
      To indicate this capability, we need an allowed command in addition
      to COMMAND_CHANGE_MEDIA_ITEMS that just allows to set a single item
      that replaces everything that is currently played.
      
      #minor-release
      
      PiperOrigin-RevId: 453879626
      tonihei committed