Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update media3 to v1.2.0 - autoclosed #405

Closed
wants to merge 1 commit into from
Closed

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 20, 2023

Mend Renovate logo banner

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
androidx.media3:media3-cast 1.1.1 -> 1.2.0 age adoption passing confidence
androidx.media3:media3-session 1.1.1 -> 1.2.0 age adoption passing confidence
androidx.media3:media3-datasource-okhttp 1.1.1 -> 1.2.0 age adoption passing confidence
androidx.media3:media3-exoplayer-hls 1.1.1 -> 1.2.0 age adoption passing confidence
androidx.media3:media3-ui 1.1.1 -> 1.2.0 age adoption passing confidence
androidx.media3:media3-exoplayer 1.1.1 -> 1.2.0 age adoption passing confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

androidx/media (androidx.media3:media3-cast)

v1.2.0

Compare Source

This release includes the following changes since the
1.1.1 release:

  • Common Library:
    • Add a @Nullable Throwable parameter to the methods in the Log.Logger
      interface. The message parameter to these methods no longer contains
      any information about the Throwable passed to the Log.{d,i,w,e}()
      methods, so implementations will need to manually append this
      information if desired (possibly using
      Logger.appendThrowableString(String, Throwable)).
    • Fix Kotlin compatibility issue where nullable generic type parameters
      and nullable array element types are not detected as nullable. Examples
      are TrackSelectorResult and SimpleDecoder method parameters
      (#​6792).
    • Change default UI and notification behavior in
      Util.shouldShowPlayButton to show a "play" button while playback is
      temporarily suppressed (e.g. due to transient audio focus loss). The
      legacy behavior can be maintained by using
      PlayerView.setShowPlayButtonIfPlaybackIsSuppressed(false) or
      MediaSession.Builder.setShowPlayButtonIfPlaybackIsSuppressed(false)
      (#​11213).
    • Upgrade androidx.annotation:annotation-experimental to 1.3.1 to fix
      https://issuetracker.google.com/251172715.
    • Move ExoPlayer.setAudioAttributes to the Player interface.
  • ExoPlayer:
    • Fix seeking issues in AC4 streams caused by not identifying decode-only
      samples correctly
      (#​11000).
    • Add suppression of playback on unsuitable audio output devices (e.g. the
      built-in speaker on Wear OS devices) when this feature is enabled via
      ExoPlayer.Builder.setSuppressPlaybackOnUnsuitableOutput. The playback
      suppression reason will be updated as
      Player.PLAYBACK_SUPPRESSION_REASON_UNSUITABLE_AUDIO_OUTPUT if playback
      is attempted when no suitable audio outputs are available, or if all
      suitable outputs are disconnected during playback. The suppression
      reason will be removed when a suitable output is connected.
    • Add MediaSource.canUpdateMediaItem and MediaSource.updateMediaItem
      to accept MediaItem updates after creation via
      Player.replaceMediaItem(s).
    • Allow MediaItem updates for all MediaSource classes provided by the
      library via Player.replaceMediaItem(s)
      (#​33,
      #​9978).
    • Rename MimeTypes.TEXT_EXOPLAYER_CUES to
      MimeTypes.APPLICATION_MEDIA3_CUES.
    • Add PngExtractor that sends and reads a whole PNG file into the
      TrackOutput as one sample.
    • Enhance SequenceableLoader.continueLoading(long) method in the
      SequenceableLoader interface to
      SequenceableLoader.continueLoading(LoadingInfo loadingInfo).
      LoadingInfo contains additional parameters, including playbackSpeed
      and lastRebufferRealtimeMs in addition to the existing
      playbackPositionUs.
    • Enhance ChunkSource.getNextChunk(long, long, List, ChunkHolder) method
      in the ChunkSource interface to ChunkSource.getNextChunk(LoadingInfo, long, List, ChunkHolder).
    • Add additional fields to Common Media Client Data (CMCD) logging: buffer
      starvation (bs), deadline (dl), playback rate (pr) and startup
      (su) (#​8699).
    • Add luma and chroma bitdepth to ColorInfo
      (#​491).
    • Add additional fields to Common Media Client Data (CMCD) logging: next
      object request (nor) and next range request (nrr)
      (#​8699).
    • Add functionality to transmit Common Media Client Data (CMCD) data using
      query parameters (#​553).
    • Fix ConcurrentModificationException in ExperimentalBandwidthMeter
      (#​612).
    • Add MediaPeriodId parameter to
      CompositeMediaSource.getMediaTimeForChildMediaTime.
    • Support ClippingMediaSource (and other sources with period/window time
      offsets) in ConcatenatingMediaSource2
      (#​11226).
    • Change BaseRenderer.onStreamChanged() to also receive a
      MediaPeriodId argument.
  • Transformer:
    • Parse EXIF rotation data for image inputs.
    • Remove TransformationRequest.HdrMode annotation type and its
      associated constants. Use Composition.HdrMode and its associated
      constants instead.
    • Simplify the OverlaySettings to fix rotation issues.
    • Changed frameRate and durationUs parameters of
      SampleConsumer.queueInputBitmap to TimestampIterator.
  • Track Selection:
    • Add DefaultTrackSelector.Parameters.allowAudioNonSeamlessAdaptiveness
      to explicitly allow or disallow non-seamless adaptation. The default
      stays at its current behavior of true.
  • Extractors:
    • MPEG-TS: Ensure the last frame is rendered by passing the last access
      unit of a stream to the sample queue
      (#​7909).
    • Fix typo when determining rotationDegrees. Changed
      projectionPosePitch to projectionPoseRoll
      (#​461).
    • Remove the assumption that Extractor instances can be directly
      inspected with instanceof. If you want runtime access to the
      implementation details of an Extractor you must first call
      Extractor.getUnderlyingInstance.
    • Add BmpExtractor.
    • Add WebpExtractor.
    • Add HeifExtractor.
    • Add
      QuickTime classic
      support to Mp4Extractor.
  • Audio:
    • Add support for 24/32-bit big-endian PCM in MP4 and Matroska, and parse
      PCM encoding for lpcm in MP4.
    • Add support for extracting Vorbis audio in MP4.
    • Add AudioSink.getFormatOffloadSupport(Format) that retrieves level of
      offload support the sink can provide for the format through a
      DefaultAudioOffloadSupportProvider. It returns the new
      AudioOffloadSupport that contains isFormatSupported,
      isGaplessSupported, and isSpeedChangeSupported.
    • Add AudioSink.setOffloadMode() through which the offload configuration
      on the audio sink is configured. Default is
      AudioSink.OFFLOAD_MODE_DISABLED.
    • Offload can be enabled through setAudioOffloadPreference in
      TrackSelectionParameters. If the set preference is to enable, the
      device supports offload for the format, and the track selection is a
      single audio track, then audio offload will be enabled.
    • If audioOffloadModePreference is set to
      AUDIO_OFFLOAD_MODE_PREFERENCE_REQUIRED, then the
      DefaultTrackSelector will only select an audio track and only if that
      track's format is supported in offload. If no audio track is supported
      in offload, then no track will be selected.
    • Disabling gapless support for offload when pre-API level 33 due to
      playback position issue after track transition.
    • Remove parameter enableOffload from
      DefaultRenderersFactory.buildAudioSink method signature.
    • Remove method DefaultAudioSink.Builder.setOffloadMode.
    • Remove intdef value
      DefaultAudioSink.OffloadMode.OFFLOAD_MODE_ENABLED_GAPLESS_DISABLED.
    • Add support for Opus gapless metadata during offload playback.
    • Allow renderer recovery by disabling offload if failed at first write
      (#​627).
    • Enable Offload Scheduling by default for audio-only offloaded playback.
    • Delete ExoPlayer.experimentalSetOffloadSchedulingEnabled and
      AudioOffloadListener.onExperimentalOffloadSchedulingEnabledChanged.
    • Renamed onExperimentalSleepingForOffloadChanged as
      onSleepingForOffloadChanged and onExperimentalOffloadedPlayback as
      onOffloadedPlayback.
    • Move audio offload mode related TrackSelectionParameters interfaces
      and definitions to an inner AudioOffloadPreferences class.
    • Add onAudioTrackInitialized and onAudioTrackReleased callbacks to
      AnalyticsListener, AudioRendererEventListener and
      AudioSink.Listener.
    • Fix DTS Express audio buffer underflow issue
      (#​650).
    • Fix bug where the capabilities check for E-AC3-JOC throws an
      IllegalArgumentException
      (#​677).
  • Video:
    • Allow MediaCodecVideoRenderer to use a custom
      VideoFrameProcessor.Factory.
    • Fix bug where the first frame couldn't be rendered if the audio stream
      starts with negative timestamps
      (#​291).
  • Text:
    • Remove ExoplayerCuesDecoder. Text tracks with sampleMimeType = application/x-media3-cues are now directly handled by TextRenderer
      without needing a SubtitleDecoder instance.
  • Metadata:
    • MetadataDecoder.decode will no longer be called for "decode-only"
      samples as the implementation must return null anyway.
  • Effect:
    • Add VideoFrameProcessor.queueInputBitmap(Bitmap, Iterator<Long>)
      queuing bitmap input by timestamp.
    • Change VideoFrameProcessor.registerInputStream() to be non-blocking.
      Apps must implement
      VideoFrameProcessor.Listener#onInputStreamRegistered().
    • Changed frameRate and durationUs parameters of
      VideoFrameProcessor.queueInputBitmap to TimestampIterator.
  • IMA extension:
    • Fix bug where a multi-period DASH live stream that is not the first item
      in a playlist can throw an exception
      (#​571).
    • Release StreamManager before calling AdsLoader.destroy()
    • Bump IMA SDK version to 3.31.0.
  • Session:
    • Set the notifications foreground service behavior to
      FOREGROUND_SERVICE_IMMEDIATE in DefaultMediaNotificationProvider
      (#​167).
    • Use only
      android.media.session.MediaSession.setMediaButtonBroadcastReceiver()
      above API 31 to avoid problems with deprecated API on Samsung devices
      (#​167).
    • Use the media notification controller as proxy to set available commands
      and custom layout used to populate the notification and the platform
      session.
    • Convert media button events that are received by
      MediaSessionService.onStartCommand() within Media3 instead of routing
      them to the platform session and back to Media3. With this, the caller
      controller is always the media notification controller and apps can
      easily recognize calls coming from the notification in the same way on
      all supported API levels.
    • Fix bug where MediaController.getCurrentPosition() is not advancing
      when connected to a legacy MediaSessionCompat.
    • Add MediaLibrarySession.getSubscribedControllers(mediaId) for
      convenience.
    • Override MediaLibrarySession.Callback.onSubscribe() to assert the
      availability of the parent ID for which the controller subscribes. If
      successful, the subscription is accepted and notifyChildrenChanged()
      is called immediately to inform the browser
      (#​561).
    • Add session demo module for Automotive OS and enable session demo for
      Android Auto.
    • Do not set the queue of the framework session when
      COMMAND_GET_TIMELINE is not available for the media notification
      controller. With Android Auto as the client controller reading from the
      framework session, this has the effect that the queue button in the UI
      of Android Auto is not displayed
      (#​339).
    • Use DataSourceBitmapLoader by default instead of SimpleBitmapLoader
      (#​271,
      #​327).
    • Add MediaSession.Callback.onMediaButtonEvent(Intent) that allows apps
      to override the default media button event handling.
  • UI:
    • Add a Player.Listener implementation for Wear OS devices that handles
      playback suppression due to
      Player.PLAYBACK_SUPPRESSION_REASON_UNSUITABLE_AUDIO_OUTPUT by
      launching a system dialog to allow a user to connect a suitable audio
      output (e.g. bluetooth headphones). The listener will auto-resume
      playback if a suitable device is connected within a configurable timeout
      (default is 5 minutes).
  • Downloads:
    • Declare "data sync" foreground service type for DownloadService for
      Android 14 compatibility. When using this service, the app also needs to
      add dataSync as foregroundServiceType in the manifest and add the
      FOREGROUND_SERVICE_DATA_SYNC permission
      (#​11239).
  • HLS Extension:
    • Refresh the HLS live playlist with an interval calculated from the last
      load start time rather than the last load completed time
      (#​663).
  • DASH Extension:
    • Allow multiple of the same DASH identifier in segment template url.
    • Add experimental support for parsing subtitles during extraction. This
      has better support for merging overlapping subtitles, including
      resolving flickering when transitioning between subtitle segments. You
      can enable this using
      DashMediaSource.Factory.experimentalParseSubtitlesDuringExtraction()
      (#​288).
  • RTSP Extension:
    • Fix a race condition that could lead to IndexOutOfBoundsException when
      falling back to TCP, or playback hanging in some situations.
    • Check state in RTSP setup when returning loading state of
      RtspMediaPeriod
      (#​577).
    • Ignore custom Rtsp request methods in Options response public header
      (#​613).
    • Use RTSP Setup Response timeout value in time interval of sending
      keep-alive RTSP Options requests
      (#​662).
  • Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
    • Release the MIDI decoder module, which provides support for playback of
      standard MIDI files using the Jsyn library to synthesize audio.
    • Add DecoderOutputBuffer.shouldBeSkipped to directly mark output
      buffers that don't need to be presented. This is preferred over
      C.BUFFER_FLAG_DECODE_ONLY that will be deprecated.
    • Add Decoder.setOutputStartTimeUs and
      SimpleDecoder.isAtLeastOutputStartTimeUs to allow decoders to drop
      decode-only samples before the start time. This should be preferred to
      Buffer.isDecodeOnly that will be deprecated.
    • Fix bug publishing MIDI decoder artifact to Maven repository. The
      artifact is renamed to media3-exoplayer-midi
      (#​734).
  • Leanback extension:
    • Fix bug where disabling a surface can cause an ArithmeticException in
      Leanback code (#​617).
  • Test Utilities:
    • Make TestExoPlayerBuilder and FakeClock compatible with Espresso UI
      tests and Compose UI tests. This fixes a bug where playback advances
      non-deterministically during Espresso or Compose view interactions.
  • Remove deprecated symbols:
    • Remove
      TransformationRequest.Builder.setEnableRequestSdrToneMapping(boolean)
      and
      TransformationRequest.Builder.experimental_setEnableHdrEditing(boolean).
      Use Composition.Builder.setHdrMode(int) and pass the Composition to
      Transformer.start(Composition, String) instead.
    • Remove deprecated DownloadNotificationHelper.buildProgressNotification
      method, use a non deprecated method that takes a notMetRequirements
      parameter instead.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot changed the title Update media3 to v1.2.0 Update media3 to v1.2.0 - autoclosed Nov 20, 2023
@renovate renovate bot closed this Nov 20, 2023
@renovate renovate bot deleted the renovate/media3 branch November 20, 2023 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants