Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
530 commits
Select commit Hold shift + click to select a range
2ae6b1e
Rollback of https://github.com/androidx/media/commit/64bd3bcad3fa4b0e…
tonihei Oct 19, 2023
a8b0bd7
Do not hide System UI when app rejects connection
marcbaechinger Oct 19, 2023
cb67b16
Merge pull request #728 from lawadr:audio-capabilities-fix
copybara-github Oct 19, 2023
e1ad106
Add missing command checks to playback resumption flow
tonihei Oct 19, 2023
9ac6f89
Remove CompositionPlayer activity from the transformer demo app
droid-girl Oct 19, 2023
47a451a
Update translations in the ui module
rohitjoins Oct 20, 2023
f2cf43c
Use MediaSessionImpl.onMediaButtonEvent() to dispatch key events
marcbaechinger Oct 20, 2023
03a3f77
Add experimental opt-in to parse DASH subtitles during extraction
icbaker Oct 10, 2023
4b85207
Add MediaSession.Builder().setPeriodicPositionUpdateEnabled()
marcbaechinger Oct 11, 2023
de3eb67
Request notification permission when starting session demo app
icbaker Oct 11, 2023
ec21b9e
Update release notes to mention AudioOffloadPreference class changes
microkatz Oct 11, 2023
0255f3b
Check whether a session is still managed before removing
marcbaechinger Oct 11, 2023
7d61461
Split available command filtering and bundling
tonihei Oct 11, 2023
d7044c7
Avoid bundling PlayerInfo for in-process calls
tonihei Oct 12, 2023
24c39b6
Migrate `SubtitleParser` tests to incremental `parse()` methods
icbaker Oct 12, 2023
c7186c9
Merge pull request #650 from cedricxperi:dts-lbr-buffer-underflow-fix
copybara-github Oct 12, 2023
b77a253
Change `LegacySubtitleUtil` handling of `SubtitleParser.OutputOptions`
icbaker Oct 13, 2023
74277b1
Remove the 'super speed' SmoothStreaming PlayReady stream from demo
icbaker Oct 13, 2023
f77f3df
Migrate `SubtitleParser` implementations to incremental `parse()`
icbaker Oct 13, 2023
3244318
Test more URI forms in `RawResourceDataSourceContractTest`
icbaker Oct 13, 2023
b65136e
Remove deprecated `DownloadNotificationHelper.buildProgressNotification`
a-googler Oct 13, 2023
2a7d85e
Calculate HLS live playlist refresh interval accurately
tianyif Oct 13, 2023
e46ee01
Expand MediaItems in session demo instead of just replacing them
tonihei Oct 16, 2023
386d223
Only set the queue when COMMAND_GET_TIMELINE is available
marcbaechinger Oct 16, 2023
85167f1
Send `ConnectionState` as in-process bundle if possible
marcbaechinger Oct 16, 2023
8e48433
Send media button events from service directly using `MediaSessionImpl`
marcbaechinger Oct 16, 2023
f290d0e
Move DASH subtitle parsing release note to correct section
icbaker Oct 17, 2023
29846d0
Merge pull request #491 from v-novaltd:dsparano-exo128
copybara-github Oct 17, 2023
ee83baf
Publish MIDI decoder module on Maven repository
christosts Oct 17, 2023
fcb3315
Rollback of https://github.com/androidx/media/commit/64bd3bcad3fa4b0e…
a-googler Oct 17, 2023
9ace485
Rollback of https://github.com/androidx/media/commit/4ebe630a80296cbb…
a-googler Oct 18, 2023
5a4adc9
Fix MIDI decoder build.gradle
christosts Oct 18, 2023
fe60d0d
Use DataSourceBitmapLoader by default
tonihei Oct 18, 2023
111ac63
Send decode-only Opus samples in bypass mode for seekPreRoll skip
microkatz Oct 18, 2023
5d6fefe
Add formatting to `scheme` list in `DefaultDataSource` javadoc
icbaker Oct 18, 2023
21cb3a6
Rollback of https://github.com/androidx/media/commit/4ebe630a80296cbb…
tonihei Oct 18, 2023
4c778ed
Rollback of https://github.com/androidx/media/commit/eafe2e35f0f343d9…
a-googler Oct 19, 2023
c997c71
Update RELEASENOTES for 1.2.0-rc01 release
rohitjoins Oct 23, 2023
7a2d80d
Bump Media3 version numbers for 1.2.0-rc01
rohitjoins Oct 23, 2023
1c54c39
Reorder RELEASENOTES to move unreleased changes to correct section
rohitjoins Oct 23, 2023
3d6ac7f
Add `com.github.philburk:jsyn` to JAR list
rohitjoins Oct 24, 2023
7991838
Rollback of https://github.com/androidx/media/commit/a19f577976fc670c…
icbaker Oct 27, 2023
a2679fb
Bump media3 versions to 1.2.0 (stable)
oceanjules Nov 9, 2023
f90726a
Merge release notes for media3 1.2.0 stable release
oceanjules Nov 9, 2023
1b83c59
Add `@OptIn` to fields in demo `PlayerActivity` now this is supported
icbaker Nov 14, 2023
2cc8afe
Remove recommendation to pin `annotation-experimental` to version 1.2.0
icbaker Nov 14, 2023
4f5038b
Merge branch 'release' into release-1.2.0
icbaker Nov 17, 2023
3c49a80
Merge pull request #2 from androidx/main
ybai001 Nov 21, 2023
e874850
Add AC-4 Level-4 ISO base media file format support
ybai001 Dec 8, 2023
880d73e
Add AC-4 Level-4 ISO base media file format support
ybai001 Dec 8, 2023
c4acb3f
Merge branch 'dlb/ac4-level4/dev' of https://github.com/DolbyLaborato…
ybai001 Dec 8, 2023
f6fe90f
Clean-up multi-line strings in YAML issue templates
icbaker Dec 12, 2023
79ce4f1
Fallback to legacy sizerate check for H264 if CDD PerfPoint check fails
microkatz Oct 23, 2023
a017080
Bump okhttp dependency to 4.12
icbaker Oct 27, 2023
fe8bbca
Remove stray parentheses from release notes
icbaker Oct 30, 2023
2237f49
Put the custom keys in MediaMetadataCompat to MediaMetadata.extras
tianyif Nov 1, 2023
07258aa
Add warning log if DASH manifest contains incomplete ClearKey info
icbaker Nov 1, 2023
2f4d475
Split media1/media3 conversion methods out of `MediaUtils`
icbaker Nov 1, 2023
4009427
Fix access to stale ByteBuffer in FfmpegAudioDecoder
tonihei Nov 2, 2023
d8d552a
Fix proguard rule to also keep referenced class name
tonihei Nov 3, 2023
f189af5
Remove old pre-releases from the github bug template
oceanjules Nov 8, 2023
2db9da5
Don't crash when receiving a bad playback state
a-googler Nov 9, 2023
21461ab
Parse "f800" as channel count of 5 for Dolby in DASH manifest
tianyif Nov 13, 2023
7901d1c
Expand frame drop workaround to Realme C11
andrewlewis Nov 13, 2023
b972276
Update recommended way to suppress `@UnstableApi` errors in `lint.xml`
icbaker Nov 15, 2023
69884e7
Workaround layout problems with Material Design
tonihei Nov 15, 2023
aab1c9a
Populate `MediaMetadata.extras` to `MediaMetadataCompat`
rohitjoins Nov 17, 2023
0038355
Use `.test` top level domain for test URI
rohitjoins Nov 20, 2023
5752a09
Return empty timeline when media info is null
marcbaechinger Nov 20, 2023
ea642a4
Add test case to test position conversion when POSITION_UNKNOWN
marcbaechinger Nov 21, 2023
c9f6ad0
Avoid clipping live offset override to min/max offsets
tonihei Nov 21, 2023
124eb31
MidiExtractor: mark only the first sample as key-frame
christosts Nov 21, 2023
5e86c4c
Add session extras to the state of the controller
marcbaechinger Nov 21, 2023
33484b0
Merge pull request #707 from equeim:ffmpeg-6.0
copybara-github Nov 23, 2023
4234bc7
Remove redundant ) in Javadoc
tonihei Nov 23, 2023
36f634d
Fix typo in `DashManifestParser`
icbaker Nov 24, 2023
97c9e23
Avoid value close to overflow for `KEY_OPERATING_RATE`
andrewlewis Nov 24, 2023
710c1b9
Work around codec frame rate issues in Redmi Note 9 Pro
andrewlewis Nov 27, 2023
19ee787
Restrict operating rate workaround to SM8550
andrewlewis Nov 27, 2023
db64831
Merge pull request #837 from superjohan:fix/android-14-clearkey
copybara-github Nov 27, 2023
d68c36e
Update emulator device names
tof-tof Nov 27, 2023
3f3287a
Exit early progressive loads if the load task is canceled
christosts Nov 29, 2023
fa268cf
Don't include null text or bitmaps in `Cue.toBundle()`
icbaker Nov 30, 2023
483426a
MCR: Ensure `mediaCrypto` and `codec` are atomically non-null
icbaker Dec 4, 2023
57187aa
Map VORBIS channel layout to Android layout
tonihei Dec 5, 2023
03eae4f
Limit processing Opus decode-only frames by seek-preroll in offload
microkatz Dec 5, 2023
c314123
Fix nullability issue in MediaControllerImplLegacy
a-googler Dec 5, 2023
ea72856
Add Robolectric e2e test support for HEVC content
icbaker Dec 5, 2023
482d5d6
Add extractor and playback tests for Pixel JPEG motion photo
icbaker Dec 5, 2023
7df03f3
TransformerEndToEndTest: replace /*testId=*/ with variable
tof-tof Dec 11, 2023
e509db2
Fix handling of multiple HEVC tracks in JPEG motion photos
icbaker Dec 11, 2023
89baa96
Fix handling of repeated EOS in `SilenceSkippingAudioProcessor`.
Samrobbo Dec 11, 2023
504bcd8
Merge pull request #867 from equeim:ndk-r26
copybara-github Dec 12, 2023
5001f70
Fix `VorbisComment.populateMediaMetadata` key comparison to ignore case
icbaker Dec 12, 2023
7d564f8
Merge pull request #864 from v-novaltd:dsparano-exo129_2
copybara-github Dec 12, 2023
33a5190
Combine 'matching' versions in media3 bug template
icbaker Dec 13, 2023
c8a403e
Merge pull request #753 from stevemayhew:p-fix-issue-9347
copybara-github Dec 14, 2023
09d30a1
Fix broadcasting notifyChildrenChanged for legacy controllers
marcbaechinger Dec 14, 2023
4231a1d
Use different wraparound assumptions for duration readers
tonihei Dec 14, 2023
6236fd3
Fix sending negative `bufferedDurationUs` to `CmcdData.Factory`
rohitjoins Dec 15, 2023
5d7c914
Add Widevine license renewal example to demo app
icbaker Dec 19, 2023
1da24b2
Add container to `Format.toLogString`
icbaker Dec 19, 2023
b68173a
Merge pull request #914 from cemrich:366-forward-time-wrong
copybara-github Dec 21, 2023
b9d205b
Expand operating rate workaround to T612 chipset
andrewlewis Dec 21, 2023
d1b882a
Don't set negative values to setWhen()
marcbaechinger Dec 29, 2023
77d220c
Merge pull request #369 from Tolriq:fix_invalid_frames
copybara-github Jan 4, 2024
141f9b7
Return null if media notification controller Future is not done
marcbaechinger Jan 4, 2024
d55b334
Clarify docs on `Player.setMediaItem(s)` and `replaceMediaItem(s)`
icbaker Jan 4, 2024
f0d24cb
Fix BitmapOverlay to have public constructor
microkatz Jan 9, 2024
1f79a0a
Bump media3 version to 1.2.1 and update RELEASENOTES
microkatz Jan 9, 2024
0ae7a6b
Fix typo of missing closing parentheses in RELEASENOTES
microkatz Jan 11, 2024
48585ae
Merge branch 'dlb/ac4-level4/dev' of https://github.com/DolbyLaborato…
ybai001 Dec 8, 2023
1c457f1
Merge branch 'dlb/ac4-level4/dev' of https://github.com/DolbyLaborato…
ybai001 Jan 17, 2024
e9749ec
Merge branch 'dlb/ac4-level4/dev' of https://github.com/DolbyLaborato…
ybai001 Jan 17, 2024
2dfe330
Merge branch 'dlb/ac4-level4/dev' of https://github.com/DolbyLaborato…
ybai001 Jan 17, 2024
b930b40
Fix merge error with ffmpeg_jni.cc
microkatz Jan 17, 2024
4ac9d44
Remove thread blocking for TransformerInternal#getProgress.
Samrobbo Jan 19, 2024
dcfa8c6
Previewing: set VideoFrameReleaseControl after CVSP is created.
dway123 Jan 19, 2024
432cde6
Use routed device in AudioCapabilities
tonihei Jan 22, 2024
1dc880c
Rollback of https://github.com/androidx/media/commit/e364510937ac1f3c…
christosts Jan 22, 2024
515d2e2
Skip 1080p test on Nexus 7, API 21
andrewlewis Jan 22, 2024
5b7b19c
Add TODO about known feature gap in ImageRenderer
tonihei Jan 22, 2024
da5e5db
Disable 'skip buffers with identical release times' in GTS tests
icbaker Jan 22, 2024
3e005e6
Check int and float parameters from external apps for validity
tonihei Jan 22, 2024
18617b8
Prevent using high profile on problematic devices
andrewlewis Jan 22, 2024
05b8e63
SimpleBasePlayer: add protected method for thread verification
christosts Jan 22, 2024
6632531
Catch exceptions when retrieving current device from audio manager
tonihei Jan 22, 2024
50e0072
Do not write empty track (with no samples) in a non fragmented MP4
SheenaChhabra Jan 22, 2024
5ac0c8b
Fix cleared metadata when repeating the same item
tonihei Jan 22, 2024
fce23d9
Trim optimization fix: check if audio is removed when comparing formats
tof-tof Jan 22, 2024
21e6c1c
Transformer demo: support selecting all media MIME types
tof-tof Jan 23, 2024
dd9f610
Release `MediaSession` and `ExoPlayer` in `MediaControllerStubTest`
icbaker Jan 23, 2024
eda2080
BaseGlShaderProgram: Remove redundant NoSuchElementException catching
tof-tof Jan 23, 2024
b8ff9cd
Update METADATA to add `clang-format` requirement for glsl files
tof-tof Jan 23, 2024
8e97895
Test parsing-during-extraction in `ClippedPlaybackTest`
icbaker Jan 23, 2024
3a22247
Internal change
tianyif Jan 23, 2024
236287a
Use Media3 MediaStyle instead of legacy one
tonihei Jan 23, 2024
193cb14
Change type of setCustomLayout in MediaSession.resultBuilder to List
Jan 23, 2024
a1280b1
Add setRemotePlaybackInfo to MediaStyle
tonihei Jan 23, 2024
081baa0
Process all tracks before writing fragment in fragmented MP4
SheenaChhabra Jan 23, 2024
426dd77
Suppress lint warning about missing POST_NOTIFICATIONS permission
SheenaChhabra Jan 23, 2024
733c982
Change the behaviour in MediaMetadata.Builder.populate
tianyif Jan 23, 2024
be0d531
Suppress nullability warnings
timpeut Jan 23, 2024
97b8f1a
Add proguard keep rules for `ExoPlayer.setVideoEffects`
icbaker Jan 24, 2024
a6756c6
MuxerWrapper rotation degree fix
tof-tof Jan 24, 2024
db0262e
Keep stream offset alive in ImageRenderer until stream transition
microkatz Jan 24, 2024
539a8f9
Write sample data offset related fields in tfhd and trun box
SheenaChhabra Jan 24, 2024
cfb676a
Add `Mp4ExtractorTest` for sample with edit list (edts box)
rohitjoins Jan 24, 2024
db42035
Remove SubtitleParser.Factory references from Hls/Ss/DashMediaPeriod
oceanjules Jan 24, 2024
9581af1
Write "stco" box instead of "co64" for fragmented MP4
SheenaChhabra Jan 24, 2024
0713d56
Add setters of SubtitleParser.Factory and experimental toggle
oceanjules Jan 24, 2024
55e3dd7
Rollback of https://github.com/androidx/media/commit/e364510937ac1f3c…
christosts Jan 24, 2024
748fec1
Add a setter of `SubtitleParser.Factory` to `MediaSource.Factory`
oceanjules Jan 24, 2024
8770286
Throw immediately from `ExoPlayer.setVideoEffects()` if dep not found
icbaker Jan 25, 2024
e29e775
Update release notes for Media3 1.3.0-beta01 release
SheenaChhabra Jan 25, 2024
4382aa0
Make `Cea608Parser` and `Cea708Parser` package-private
icbaker Jan 25, 2024
7822613
Version bump to media3:1.3.0-beta01
SheenaChhabra Jan 25, 2024
4570ee9
Fix link to 1.3.0-alpha01 release
SheenaChhabra Jan 25, 2024
ddca011
Update IMA README to include link to supported platforms
a-googler Jan 26, 2024
0886da4
Add a comment to suggest keeping JUnit version in sync with the Android
icbaker Jan 26, 2024
4a7442e
Replace or suppress deprecated usages
tonihei Jan 26, 2024
4560611
Remove misleading @CanIgnoreReturnValue
tonihei Jan 26, 2024
826f20d
Remove a redundant TODO in Util
oceanjules Jan 26, 2024
dfe4721
Update skip silence algorithm
tonihei Jan 29, 2024
a18d96c
Fix blank video when switching on/off screen
claincly Jan 29, 2024
3d87578
Merge pull request #1031 from garethfenn:hlschunkseek
copybara-github Jan 31, 2024
ad519e2
Merge pull request #1015 from kamaroyl:feat/PsshVersion1
copybara-github Jan 31, 2024
127d0b5
Merge pull request #1011 from cedricxperi:dts-lbr-hls-bitrate-unknown…
copybara-github Feb 1, 2024
7758e42
Render last image despite not receiving EoS
microkatz Feb 1, 2024
548c4ce
Fix HlsPlaybackTest flakiness
tonihei Feb 1, 2024
dd2e4a5
Merge `Cea708Parser` back into `Cea708Decoder`
icbaker Feb 5, 2024
4eea69d
Merge `Cea608Parser` back into `Cea608Decoder`
icbaker Feb 6, 2024
4a95217
Fix Kotlin 2.0 compilation error in session demo app
a-googler Feb 6, 2024
ad57b41
Clearly define the consistency requirements for `SequenceableLoader`
icbaker Feb 6, 2024
a294dc9
Include nullness of RequestMetadata.extras in equals method
tonihei Feb 6, 2024
ca2779e
Add source prefix to MergingMediaPeriod Format ids
tonihei Feb 6, 2024
dc8d3ea
Add constructor that takes only a Context
marcbaechinger Feb 6, 2024
7721f38
Check `sampleMimeType` rather than `containerMimeType` for images
icbaker Feb 6, 2024
bf8b874
JpegMotionPhotoExtractor: Don't emit an image track with no metadata
icbaker Feb 6, 2024
9f28e7d
Improve AudioCapabilities with AudioManager API in Android 13
tianyif Feb 6, 2024
74d0f93
Fix the regex used for validating custom CMCD key names
marcbaechinger Feb 6, 2024
245e623
Set correct track id when skipping empty tracks in Mp4Extractor
tonihei Feb 7, 2024
1dc4377
Stop double-encoding CMCD query parameters
icbaker Feb 7, 2024
dbb99fe
Rollback of https://github.com/androidx/media/commit/406c0a15be6f0937…
icbaker Feb 7, 2024
e492e37
Move release note to the right section
tonihei Feb 8, 2024
38d5635
Report the skipped silence more deterministically
tianyif Feb 8, 2024
43ee291
Update release notes for media3:1.3.0-rc01
SheenaChhabra Feb 9, 2024
fbf8ac3
Version bump to media3:1.3.0-rc01
SheenaChhabra Feb 9, 2024
ee0eac7
Fix nit issues in 1.3.0-rc01 release notes
SheenaChhabra Feb 20, 2024
c6a6b81
Update release notes section for 1.3.0 stable release
SheenaChhabra Feb 22, 2024
99e7156
Update media3 version for 1.3.0 stable release
SheenaChhabra Feb 23, 2024
d13a0f4
Merge branch 'release' into release-1.3.0
icbaker Mar 7, 2024
2dc2e5d
Composition: clarify javadoc to setTransmuxAudio\Video
tof-tof Mar 7, 2024
e556214
Add workarounds for `NoSuchMethodError` from DRM framework exceptions
icbaker Mar 7, 2024
4db96ac
Add opt-in flag for the MIDI module for apps with a local dependency
icbaker Mar 8, 2024
a72a232
Document MergingMediaSource tag contract
tonihei Mar 8, 2024
a85d9e2
Reorder audio capability checks
tonihei Mar 11, 2024
fffbf9a
Force external surround sound flag if requested by device
tonihei Mar 11, 2024
3f3d60e
Add device-specific opt-ins for async MediaCodecAdapter
tonihei Mar 11, 2024
c8ae6d1
Always set PARAMETER_KEY_TUNNEL_PEEK when tunneling
tonihei Mar 11, 2024
561dafc
Start playing period-enabled renderers when setting playWhenReady true
microkatz Mar 11, 2024
860f18f
Move `test-session-xxx` modules from `core_settings` to `settings`
icbaker Mar 12, 2024
6f0b70e
Add short form content demo to project
andrewlewis Mar 14, 2024
8a169d1
Merge pull request #1117 from loliball:dev_wav_align_fix
copybara-github Mar 14, 2024
d195b09
Don't emit a `CuesWithTiming` for zero-duration `Subtitle` events
icbaker Mar 15, 2024
961d204
Fix proguard rule for DefaultVideoFrameProcess.Factory.Builder.build()
icbaker Mar 15, 2024
b0adf2f
Don't set codec color info for default SDR
tonihei Mar 20, 2024
5fc9dda
Partial revert of https://github.com/androidx/media/commit/3a7d31a599…
tonihei Mar 20, 2024
06a4036
Remove unecessary re-setting of `group` from `session` Gradle files
icbaker Mar 25, 2024
3657831
Include nullness of MediaMetadata.extras in equals method
tonihei Mar 25, 2024
dca3c61
In-line versions only used by exoplayer-media2 extension
icbaker Mar 25, 2024
88ebc89
Plumb MP3 average bitrate from metadata frames into Format
icbaker Mar 26, 2024
a5d0cb5
Don't apply performance point workaround from API 35
tonihei Mar 26, 2024
26ce3f0
Fix javadoc on `PlayerView.setControllerVisibilityListener`
icbaker Mar 27, 2024
4caed3c
Add `PlayerView.setControllerAnimationEnabled(boolean)`
icbaker Mar 27, 2024
7b5522f
Merge pull request #1054 from jekopena:main
copybara-github Mar 27, 2024
5fe906f
Rollback of https://github.com/androidx/media/commit/e665e2aee8f4cb0a…
icbaker Mar 28, 2024
bfa492b
HDR: Don't assume that swapping between BT709 and BT601 needs tone-map.
dway123 Jan 31, 2024
ecaff24
Effect: Use element instead of peek, when throwing if null.
dway123 Feb 1, 2024
9825e21
Effect: Remove extra checkStateNotNull by reordering logic.
dway123 Feb 2, 2024
39f26e6
DefaultAssetLoaderFactory: Simplify file extension retrival
tof-tof Feb 8, 2024
2ec19a5
HDR: Add color-space conversion for PQ tone-map.
dway123 Feb 8, 2024
c4688fc
Fallback to including track language name if display name is not found
microkatz Feb 12, 2024
5fd1f61
Loosen the requirement to register every input frame
claincly Feb 12, 2024
c58adb0
Add release notes for recent transformer features
tof-tof Feb 13, 2024
879bcb5
Check whether the session activity pending intent is an activity
marcbaechinger Feb 13, 2024
61a3127
Demo app: Clarify that only Widevine DRM content can be downloaded
icbaker Feb 14, 2024
396ae86
Fix forward for https://github.com/androidx/media/commit/216f3fedb857…
claincly Feb 15, 2024
b218d91
Fix docs on `playUntilStartOfMediaItem` to match `playUntilPosition`
icbaker Feb 15, 2024
04ce836
Fix failure to write negative PTS sample
a-googler Feb 16, 2024
2f47151
Allow empty information attributes in RTSP Session Description
microkatz Feb 20, 2024
2ae7995
Fix a bug in retaining streams when preload a PreloadMediaPeriod again
tianyif Feb 21, 2024
ed71172
Allow renderer retry for audio track offload initialization failure
microkatz Feb 22, 2024
81e91c2
Use playing period TrackSelectorResult in track reselection update
microkatz Feb 22, 2024
25e8dc5
ForwardingAudioSink: add override for release()
christosts Feb 22, 2024
3c10b41
ExoPlayerImplInternal.releaseInternal(): unblock the app thread
christosts Feb 23, 2024
3521ccd
Fallback to legacy sizerate check if CDD H264 PerfPoint check fails
microkatz Feb 23, 2024
1d2116c
Add fps-awareness to `DefaultTrackSelector`
icbaker Feb 28, 2024
cf9ff4d
Avoid position jumping back when controller replaces the current item
tianyif Feb 29, 2024
e28d772
Merge pull request #1025 from v-novaltd:dsparano-exo209
copybara-github Mar 4, 2024
672d149
Remove invalid command comparison
tonihei Mar 5, 2024
b6cb9c1
Fix some invalid javadoc references caught by a new JDK version
icbaker Mar 5, 2024
3fdd3bd
Fix typo
andrewlewis Mar 6, 2024
1a710b0
Import string translations
SheenaChhabra Apr 4, 2024
71bfdd1
Start early-enabled renderers only after advancing the playing period
microkatz Mar 6, 2024
41771d7
Set `Format.frameRate` for single-frame MP4 tracks
icbaker Mar 7, 2024
1792723
Update release notes for 1.3.1 bug fix release
SheenaChhabra Apr 5, 2024
d833d59
Update Media3 version number
SheenaChhabra Apr 5, 2024
1b3b4c5
Merge branch 'androidx:release' into dlb/ac4-level4/dev
ybai001 Apr 11, 2024
8126242
Revert "Merge branch 'androidx:release' into dlb/ac4-level4/dev"
ybai001 Apr 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
33 changes: 20 additions & 13 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,34 @@ body:
- type: markdown
attributes:
value: |
We can only process bug reports that are actionable. Unclear bug reports or reports with insufficient information may not get attention.
We can only process bug reports that are actionable. Unclear bug reports or reports with
insufficient information may not get attention.

Before filing a bug:
-------------------------

- Search existing issues, including issues that are closed: https://github.com/androidx/media/issues?q=is%3Aissue
- For ExoPlayer-related bugs, please also check for existing issues on the ExoPlayer tracker: https://github.com/google/ExoPlayer/issues?q=is%3Aissue
- Search existing issues, including issues that are closed:
https://github.com/androidx/media/issues?q=is%3Aissue
- For ExoPlayer-related bugs, please also check for existing issues on the ExoPlayer
tracker: https://github.com/google/ExoPlayer/issues?q=is%3Aissue
- type: dropdown
attributes:
label: Version
description: What version of Media3 (or ExoPlayer) are you using?
options:
- Media3 main branch
- Media3 pre-release (alpha, beta or RC not in this list)
- Media3 1.2.1
- Media3 1.2.0
- Media3 1.1.1 / ExoPlayer 2.19.1
- Media3 1.1.0 / ExoPlayer 2.19.0
- Media3 1.0.2 / ExoPlayer 2.18.7
- Media3 1.0.1 / ExoPlayer 2.18.6
- Media3 1.0.0 / ExoPlayer 2.18.5
- Media3 1.1.1
- Media3 1.1.0
- Media3 1.0.2
- Media3 1.0.1
- Media3 1.0.0
- Media3 `main` branch
- Media3 pre-release (alpha, beta or RC not in this list)
- ExoPlayer 2.19.1
- ExoPlayer 2.19.0
- ExoPlayer 2.18.7
- ExoPlayer 2.18.6
- ExoPlayer 2.18.5
- ExoPlayer 2.18.4
- ExoPlayer 2.18.3
- ExoPlayer 2.18.2
Expand All @@ -40,14 +47,14 @@ body:
- ExoPlayer 2.14.2
- ExoPlayer 2.14.1
- ExoPlayer 2.14.0
- ExoPlayer dev-v2 branch
- ExoPlayer `dev-v2` branch
- Older (unsupported)
validations:
required: true
- type: textarea
attributes:
label: More version details
description: >
description: |
Required if you selected `main` or `dev-v2` (please provide an exact commit SHA),
or 'pre-release' or 'older' (please provide the version).
- type: textarea
Expand Down
227 changes: 40 additions & 187 deletions RELEASENOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,64 +2,6 @@

### Unreleased changes

* Common Library:
* ExoPlayer:
* Prevent subclassing `CompositeSequenceableLoader`. This component was
[previously made extensible](https://github.com/androidx/media/commit/0de57cbfae7165dd3bb829e323d089cd312b4b1b)
but was never subclassed within the library. Customizations can be done
by wrapping an instance using the
[decorator pattern](https://en.wikipedia.org/wiki/Decorator_pattern) and
implementing a custom `CompositeSequenceableLoaderFactory`.
* Transformer:
* Track Selection:
* Extractors:
* MP3: Use constant bitrate (CBR) seeking for files with an `Info` header
(the CBR equivalent of the `Xing` header). Previously we used the seek
table from the `Info` header, but this results in less precise seeking
than if we ignore it and assume the file is CBR.
* MPEG2-TS: Add DTS, DTS-LBR and DTS:X Profile2 support
([#275](https://github.com/androidx/media/pull/275)).
* Extract audio types from TS descriptors and map them to role flags,
allowing users to make better-informed audio track selections
([#973](https://github.com/androidx/media/pull/973)).
* Audio:
* Video:
* Text:
* Metadata:
* Image:
* Add support for DASH thumbnails. Grid images are cropped and individual
thumbnails are provided to `ImageOutput` close to their presentation
times.
* DRM:
* Effect:
* Muxers:
* IMA extension:
* Session:
* Disable double-click detection for TV apps
([#962](https://github.com/androidx/media/issues/962)).
* UI:
* Downloads:
* OkHttp Extension:
* Cronet Extension:
* RTMP Extension:
* HLS Extension:
* DASH Extension:
* Smooth Streaming Extension:
* RTSP Extension:
* Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
* Leanback extension:
* Cast Extension:
* Test Utilities:
* Remove deprecated symbols:
* Demo app:

## 1.3

### 1.3.0-alpha01 (2024-01-15)

This release includes the following changes since the
[1.2.1 release](#121-2024-01-09):

* Common Library:
* Implement support for `android.resource://package/[type/]name` raw
resource URIs where `package` is different to the package of the current
Expand All @@ -69,40 +11,22 @@ This release includes the following changes since the
lower-case.
* Define ads with a full `MediaItem` instead of a single `Uri` in
`AdPlaybackState`.
* Increase `minSdk` to 19 (Android KitKat). This is
[aligned with all other AndroidX libraries](https://android-developers.googleblog.com/2023/10/androidx-minsdkversion-19.html),
and is required for us to upgrade to the latest versions of our AndroidX
dependencies.
* ExoPlayer:
* Add `PreloadMediaSource` and `PreloadMediaPeriod` that allows apps to
preload a content media source at a specific start position before
playback. `PreloadMediaSource` takes care of preparing the content media
source to receive the `Timeline`, preparing and caching the period at
the given start position, selecting tracks and loading media data for
the period. Apps control the preload progress by implementing
`PreloadMediaSource.PreloadControl` and set the preloaded source to the
player for playback.
preload the media source at a specific start position before playback,
where the efforts include preparing the source for a `Timeline`,
preparing and caching the period, selecting tracks and loading the data
on the period. Apps are able to control the preload progress by
implementing `PreloadMediaSource.PreloadControl`.
* Add `ExoPlayer.setImageOutput` that allows apps to set
`ImageRenderer.ImageOutput`.
* `DefaultRenderersFactory` now provides an `ImageRenderer` to the player
by default with null `ImageOutput` and `ImageDecoder.Factory.DEFAULT`.
* Emit `Player.Listener.onPositionDiscontinuity` event when silence is
skipped ([#765](https://github.com/androidx/media/issues/765)).
* Add experimental support for parsing subtitles during extraction. You
can enable this using
`MediaSource.Factory.experimentalParseSubtitlesDuringExtraction()`.
* Support adaptive media sources with `PreloadMediaSource`.
* Implement `HttpEngineDataSource`, an `HttpDataSource` using the
[HttpEngine](https://developer.android.com/reference/android/net/http/HttpEngine)
API.
* Transformer:
* Add support for flattening H.265/HEVC SEF slow motion videos.
* Increase transmuxing speed, especially for 'remove video' edits.
* Add API to ensure that the output file starts on a video frame. This can
make the output of trimming operations more compatible with player
implementations that don't show the first video frame until its
presentation timestamp
([#829](https://github.com/androidx/media/issues/829)).
* Track Selection:
* Add `DefaultTrackSelector.selectImageTrack` to enable image track
selection.
Expand All @@ -115,138 +39,67 @@ This release includes the following changes since the
`ColorInfo.colorSpace`, `ColorInfo.colorTransfer`, and
`ColorInfo.colorRange` values
([#692](https://github.com/androidx/media/pull/692)).
* Video:
* Change the `MediaCodecVideoRenderer` constructor that takes a
`VideoFrameProcessor.Factory` argument and replace it with a constructor
that takes a `VideoSinkProvider` argument. Apps that want to inject a
custom `VideoFrameProcessor.Factory` can instantiate a
`CompositingVideoSinkProvider` that uses the custom
`VideoFrameProcessor.Factory` and pass the video sink provider to
`MediaCodecVideoRenderer`.
* Text:
* Fix serialization of bitmap cues to resolve `Tried to marshall a Parcel
that contained Binder objects` error when using
`DefaultExtractorsFactory.setTextTrackTranscodingEnabled`
([#836](https://github.com/androidx/media/issues/836)).
* CEA-708: Ignore `rowLock` value. The CEA-708-E S-2023 spec states that
`rowLock` and `columnLock` should both be assumed to be true, regardless
of the values present in the stream (`columnLock` support is not
implemented, so it's effectively assumed to always be false).
* DRM:
* Play 'clear lead' unencrypted samples in DRM content immediately by
default, even if the keys for the later encrypted samples aren't ready
yet. This may lead to mid-playback stalls if the keys still aren't ready
when the playback position reaches the encrypted samples (but previously
playback wouldn't have started at all by this point). This behavior can
be disabled with
[`MediaItem.DrmConfiguration.Builder.setPlayClearContentWithoutKey`](https://developer.android.com/reference/androidx/media3/common/MediaItem.DrmConfiguration.Builder#setPlayClearContentWithoutKey\(boolean\))
or
[`DefaultDrmSessionManager.Builder.setPlayClearSamplesWithoutKeys`](https://developer.android.com/reference/androidx/media3/exoplayer/drm/DefaultDrmSessionManager.Builder#setPlayClearSamplesWithoutKeys\(boolean\)).
* IMA extension:
* Fix issue where DASH and HLS ads without the appropriate file extension
can't be played.
* HLS Extension:
* Reduce `HlsMediaPeriod` to package-private visibility. This type
shouldn't be directly depended on from outside the HLS package.
* Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
* MIDI decoder: Ignore SysEx event messages
([#710](https://github.com/androidx/media/pull/710)).
* Test Utilities:
* Don't pause playback in `TestPlayerRunHelper.playUntilPosition`. The
test keeps the playback in a playing state, but suspends progress until
the test is able to add assertions and further actions.
* Demo app:
* Add a shortform demo module to demo the usage of `PreloadMediaSource`
with the short-form content use case.

## 1.2

### 1.2.1 (2024-01-09)

This release includes the following changes since the
[1.2.0 release](#120-2023-11-15):

* ExoPlayer:
* Fix issue where manual seeks outside of the
`LiveConfiguration.min/maxOffset` range keep adjusting the offset back
to `min/maxOffset`.
* Fix issue that OPUS and VORBIS channel layouts are wrong for 3, 5, 6, 7
and 8 channels
([#8396](https://github.com/google/ExoPlayer/issues/8396)).
* Fix issue where track selections after seek to zero in a live stream
incorrectly let the stream start at its default position
([#9347](https://github.com/google/ExoPlayer/issues/9347)).
* Fix the issue where new instances of `CmcdData.Factory` were receiving
negative values for `bufferedDurationUs` from chunk sources, resulting
in an `IllegalArgumentException`
([#888](https://github.com/androidx/media/issues/888)).
* Transformer:
* Work around an issue where the encoder would throw at configuration time
due to setting a high operating rate.
* Extractors:
* Mark secondary (unplayable) HEVC tracks in JPEG motion photos as
`ROLE_FLAG_ALTERNATE` to prevent them being automatically selected for
playback because of their higher resolution.
* Fix wrong keyframe detection for TS H264 streams
([#864](https://github.com/androidx/media/pull/864)).
* Fix duration estimation of TS streams that are longer than 47721 seconds
([#855](https://github.com/androidx/media/issues/855)).
* Audio:
* Fix handling of EOS for `SilenceSkippingAudioProcessor` when called
multiple times ([#712](https://github.com/androidx/media/issues/712)).
* Video:
* Add workaround for a device issue on Galaxy Tab S7 FE, Chromecast with
Google TV, and Lenovo M10 FHD Plus that causes 60fps AVC streams to be
marked as unsupported
([#693](https://github.com/androidx/media/issues/693)).
* Text:
* Metadata:
* Fix bug where `MediaMetadata` was only populated from Vorbis comments
with upper-case keys
([#876](https://github.com/androidx/media/issues/876)).
* Catch `OutOfMemoryError` when parsing very large ID3 frames, meaning
playback can continue without the tag info instead of playback failing
completely.
* DRM:
* Extend workaround for spurious ClearKey `https://default.url` license
URL to API 33+ (previously the workaround only applied on API 33
exactly) ([#837](https://github.com/androidx/media/pull/837)).
* Fix `ERROR_DRM_SESSION_NOT_OPENED` when switching from encrypted to
clear content without a surface attached to the player. The error was
due to incorrectly using a secure decoder to play the clear content.
* Effect:
* Muxers:
* IMA extension:
* Fix issue where DASH and HLS ads without the appropriate file extension
can't be played.
* Session:
* Put the custom keys and values in `MediaMetadataCompat` to
`MediaMetadata.extras` and `MediaMetadata.extras` to
`MediaMetadataCompat`
([#756](https://github.com/androidx/media/issues/756),
[#802](https://github.com/androidx/media/issues/802)).
* Fix broadcasting `notifyChildrenChanged` for legacy controllers
([#644](https://github.com/androidx/media/issues/644)).
* Fix a bug where setting a negative time for a disabled `setWhen` timer
of the notification caused a crash on some devices
([#903](https://github.com/androidx/media/issues/903)).
* Fix `IllegalStateException` when the media notification controller
hasn't completed connecting when the first notification update is
requested ([#917](https://github.com/androidx/media/issues/917)).
* UI:
* Fix issue where forward and rewind buttons are not visible when used
with Material Design in a BottomSheetDialogFragment
([#511](https://github.com/androidx/media/issues/511)).
* Fix issue where the numbers in the fast forward button of the
`PlayerControlView` were misaligned
([#547](https://github.com/androidx/media/issues/547)).
* Downloads:
* OkHttp Extension:
* Cronet Extension:
* HttpEngine Extension:
* Implement `HttpEngineDataSource`, an `HttpDataSource` using the
[HttpEngine](https://developer.android.com/reference/android/net/http/HttpEngine)
API.
* RTMP Extension:
* HLS Extension:
* Reduce `HlsMediaPeriod` to package-private visibility. This type
shouldn't be directly depended on from outside the HLS package.
* Add experimental support for parsing subtitles during extraction. You
can enable this using
`HlsMediaSource.Factory.experimentalParseSubtitlesDuringExtraction()`.
* DASH Extension:
* Extend experimental support for parsing subtitles during extraction to
work with standalone text files (previously it only worked with
subtitles muxed into MP4 segments).
* Parse "f800" as channel count of 5 for Dolby in DASH manifest
([#688](https://github.com/androidx/media/issues/688)).
* Smooth Streaming Extension:
* RTSP Extension:
* Decoder Extensions (FFmpeg, VP9, AV1, MIDI, etc.):
* MIDI: Fix issue where seeking forward skips the Program Change events
([#704](https://github.com/androidx/media/issues/704)).
* Migrate to FFmpeg 6.0 and update supported NDK to `r26b`
([#707](https://github.com/androidx/media/pull/707),
[#867](https://github.com/androidx/media/pull/867)).
* MIDI decoder: Ignore SysEx event messages
([#710](https://github.com/androidx/media/pull/710)).
* Leanback extension:
* Cast Extension:
* Sanitize creation of a `Timeline` to not crash the app when loading
media fails on the cast device
([#708](https://github.com/androidx/media/issues/708)).
* Test Utilities:
* Remove deprecated symbols:
* Demo app:
* Add a shortform demo module to demo the usage of `PreloadMediaSource`
with the short-form content use case.

## 1.2

### 1.2.0 (2023-11-15)

Expand Down
2 changes: 1 addition & 1 deletion api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -763,7 +763,7 @@ package androidx.media3.common {
method @Deprecated public void setDeviceMuted(boolean);
method public void setDeviceMuted(boolean, @androidx.media3.common.C.VolumeFlags int);
method @Deprecated public void setDeviceVolume(@IntRange(from=0) int);
method public void setDeviceVolume(@IntRange(from=0) int, @androidx.media3.common.C.VolumeFlags int);
method public void setDeviceVolume(@IntRange(from=0) int, int);
method public void setMediaItem(androidx.media3.common.MediaItem);
method public void setMediaItem(androidx.media3.common.MediaItem, boolean);
method public void setMediaItem(androidx.media3.common.MediaItem, long);
Expand Down
10 changes: 5 additions & 5 deletions constants.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
project.ext {
releaseVersion = '1.3.0-alpha01'
releaseVersionCode = 1_003_000_0_01
minSdkVersion = 19
releaseVersion = '1.2.0'
releaseVersionCode = 1_002_000_3_00
minSdkVersion = 16
// See https://developer.android.com/training/cars/media/automotive-os#automotive-module
automotiveMinSdkVersion = 28
appTargetSdkVersion = 34
Expand All @@ -28,7 +28,7 @@ project.ext {
// https://cs.android.com/android/platform/superproject/main/+/main:external/guava/METADATA
guavaVersion = '32.1.3-android'
mockitoVersion = '3.12.4'
robolectricVersion = '4.11'
robolectricVersion = '4.10.3'
// Keep this in sync with Google's internal Checker Framework version.
checkerframeworkVersion = '3.13.0'
errorProneVersion = '2.18.0'
Expand All @@ -44,7 +44,7 @@ project.ext {
androidxCoreVersion = '1.8.0'
androidxExifInterfaceVersion = '1.3.6'
androidxFuturesVersion = '1.1.0'
androidxMediaVersion = '1.7.0'
androidxMediaVersion = '1.6.0'
androidxMedia2Version = '1.2.1'
androidxMultidexVersion = '2.0.1'
androidxRecyclerViewVersion = '1.3.0'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public BitmapOverlayVideoProcessor(Context context) {
paint = new Paint();
paint.setTextSize(64);
paint.setAntiAlias(true);
paint.setColor(Color.WHITE);
paint.setARGB(0xFF, 0xFF, 0xFF, 0xFF);
textures = new int[1];
overlayBitmap = Bitmap.createBitmap(OVERLAY_WIDTH, OVERLAY_HEIGHT, Bitmap.Config.ARGB_8888);
overlayCanvas = new Canvas(overlayBitmap);
Expand Down
Loading