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

Merge latest androidx/media main branch #9

Merged
merged 5,385 commits into from
May 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
5385 commits
Select commit Hold shift + click to select a range
41d5571
Allow sink provider to be flushed before initialized
kim-vde Apr 15, 2024
1c0345e
Make VideoSinkImpl non-static
kim-vde Apr 15, 2024
a6b5405
Minor cleanup
marcbaechinger Apr 15, 2024
c01babe
Log JSON loading exception in demo app
icbaker Apr 16, 2024
236c341
Merge pull request #1266 from hubert-mazur:looped_playback
copybara-github Apr 16, 2024
566c0b3
Allows setting LoadErrorHandlingPolicy for DRM
stevemayhew Apr 11, 2024
001ebb6
Formatting, nullness and javadoc rewording
icbaker Apr 16, 2024
5fd1dc2
Add release note
icbaker Apr 16, 2024
e13d7e6
Fix javadoc link reference
icbaker Apr 16, 2024
794900b
Update addMetadata method in Transformer/Muxer.java
SheenaChhabra Apr 16, 2024
ea48fe5
Merge pull request #1272 from stevemayhew:p-add-hook-for-load-error-h…
copybara-github Apr 16, 2024
3be49a5
Work around incorrect channel count for raw audio
andrewlewis Apr 16, 2024
83d1600
Fix typos in 1.4.0-alpha01 release notes
microkatz Apr 16, 2024
a58a99e
Don't constrain audio for playout in Transformer
andrewlewis Apr 17, 2024
2f8ce05
Avoid crash when testing spatialization of high channel count audio
andrewlewis Apr 17, 2024
4aa2fb8
Add RawAssetLoader and deprecate TextureAssetLoader
SheenaChhabra Apr 17, 2024
34c31b0
Fix SequenceAssetLoader incorrectly reporting MediaItem change
kim-vde Apr 18, 2024
e1c62df
Remove media1 public API dependencies from session module
tonihei Apr 18, 2024
50fefe6
Avoid non-primary playlists continuously reloading for LL-HLS streams
tianyif Apr 18, 2024
300e834
Effect: Change link in shader ahead of deletion
tof-tof Apr 18, 2024
09f2cda
Promote IMA DAI API to stable
marcbaechinger Apr 18, 2024
0bc5ac2
Effect: remove duplicate inputColorInfo checks
tof-tof Apr 19, 2024
fb037b9
TimestampWrapper: fix signaling input capacity
tof-tof Apr 19, 2024
716aedd
Fix image up-side-down in when playing a Composition
claincly Apr 19, 2024
8ae9e81
add test for speed adjustments, audio removed and a forced audio track
tof-tof Apr 22, 2024
7c7e7ea
Add API to disable sample copy in Mp4Muxer
SheenaChhabra Apr 22, 2024
86ef571
Replace trackIndex with TrackToken in Transformer
SheenaChhabra Apr 22, 2024
03a041c
Pass BufferInfo in writeSampleData() method in Transformer/Muxer.java
SheenaChhabra Apr 22, 2024
430fafd
Boxes: Update STTS duration calculation.
a-googler Apr 22, 2024
7aed9d4
Clean up nullness annotation
claincly Apr 22, 2024
a43ffa8
Add replaceAdTagParameters() to ImaServerSideAdInsertion.AdsLoader.
a-googler Apr 22, 2024
e3caed1
Move VideoSinkProvider.initialize to VideoSink
kim-vde Apr 23, 2024
8da6938
Always initialize VideoSink in renderer
kim-vde Apr 23, 2024
e866cb0
Make replaceAdTagParameters unstable API for now
marcbaechinger Apr 23, 2024
4091303
Read device volume directly from binder with legacy session
marcbaechinger Apr 23, 2024
b813bd3
Use silence audio in RawAssetLoader tests
SheenaChhabra Apr 23, 2024
f2276f6
Fix SocketTimeoutException in `CronetDataSource`.
a-googler Apr 23, 2024
73f614b
Effect: support disabling color transfers when HDR->SDR tonemapping
tof-tof Apr 23, 2024
bf9f8a3
Treat playback after stop as a new playback
tonihei Apr 23, 2024
abd0ff7
Remove configure methods
kim-vde Apr 23, 2024
8ff9e4a
Add test for H.264 I-frames only track in `TsExtractorTest`
rohitjoins Apr 23, 2024
124c70a
Add MIME type to match any image
claincly Apr 23, 2024
3322092
Fix MP4 ID3 sort tag mapping
icbaker Apr 23, 2024
579386f
Set VideoFrameMetadataListener on VideoSink
kim-vde Apr 24, 2024
f9ea4f0
Fix error-prone warning comparing CharSequence with String
tonihei Apr 24, 2024
43d1fa9
Remove flakiness from MCCPlaybackStateCompatActionsWithMediaSessionTest
tonihei Apr 24, 2024
d0d6ce5
Import androidx.media
tonihei Apr 25, 2024
ed1cf35
Extend async crypto flag to audio
tonihei Apr 25, 2024
0e3b05c
Add metadata field durationMs
marcbaechinger Apr 25, 2024
00ce572
Always reconfigure video sink for video after image
kim-vde Apr 25, 2024
13a3aa7
Add TestPlayerRunHelper run(player).untilBackgroundThreadCondition(..)
tonihei Apr 25, 2024
c87940e
AudioGraph refactoring: configure mixer and add sources in one place
kim-vde Apr 25, 2024
a6eef7b
Set clock on VideoSink
kim-vde Apr 25, 2024
bf266c9
Set stream offset on video sink
kim-vde Apr 25, 2024
5ee6c9b
ultraHdr test: add checks for devices with invalid color formats
tof-tof Apr 25, 2024
acb3a54
Add `MediaMetadata` to playback test dump files
icbaker Apr 25, 2024
d76ee54
Add two MP4 samples with metadata
icbaker Apr 26, 2024
08abc96
Box: Implement ctts box
a-googler Apr 26, 2024
e194225
Fix parsing some MP4 metadata fields we wrongly assumed were 1 byte
icbaker Apr 26, 2024
5666678
Use `Dumper.addTime` in more places
icbaker Apr 26, 2024
4be30bb
Support seeking when playing back a composition
claincly Apr 26, 2024
38813dd
Migrate DefaultAnalyticsCollectorTest to use the playlist API
marcbaechinger Apr 26, 2024
e759b44
Remove `@Nullable` from `Dumper.add` methods
icbaker Apr 26, 2024
854e8aa
Add `Dumper.addIfNonDefault` methods
icbaker Apr 26, 2024
43de3b6
Fix PassthroughShaderProgram flush
claincly Apr 29, 2024
7089253
Effect:migrate setEnableColorTransfers to setSdrWorkingColorSpace
tof-tof Apr 29, 2024
d292f80
Remove MSG_DO_SOME_WORK when requesting playlist update
marcbaechinger Apr 29, 2024
b0e4817
Add ID3 `TCON` genre to MP3 test samples
icbaker Apr 29, 2024
e180e26
Refresh `HlsMediaPlaylist` with delivery directives when possible
tianyif Apr 29, 2024
344fc8a
Add IntDef for priority values
tonihei Apr 29, 2024
a49b625
Add renderer message to update priority
tonihei Apr 29, 2024
74bb4ac
Fix lint errors in shortform demo app
tonihei Apr 29, 2024
c6492e0
Remove redundant `final` in `PesReader` methods
rohitjoins Apr 29, 2024
96bc9e9
Propagate ID3 `TCON` frame to `MediaMetada.genre`
icbaker Apr 29, 2024
43f098d
Merge Issue: androidx/media#882: Extend MPEG2TS implementation with M…
rohitjoins Apr 29, 2024
28655d2
test: use Ascii.equalsIgnoreCase for device model matching
tof-tof Apr 30, 2024
bc77cef
Rollback of https://github.com/androidx/media/commit/08abc964abc0ecf4…
SheenaChhabra Apr 30, 2024
6956d80
Rename Muxer.addMetadata to addMetadataEntry
SheenaChhabra Apr 30, 2024
7201344
Update error message to be more specific
SheenaChhabra Apr 30, 2024
c002ff6
Merge pull request #419 from v-novaltd:vnova-104
tof-tof Jun 22, 2023
85826eb
Fix dummy pusi solution for byte range and key frame only NAL stream …
dsparano Mar 14, 2024
b82f4b8
Tidy up dummy pusi, do not apply to H262 streams
dsparano Mar 14, 2024
4b14bc2
Format with google-java-format
rohitjoins Mar 27, 2024
a7f5c3f
Update dump files
rohitjoins Mar 27, 2024
3cafb08
Fix condition to send dummy end of input and update dump files
rohitjoins Mar 27, 2024
029b8ba
Fix H264 transformer test, fix H265 byterange case; re-enable file H2…
dsparano Apr 16, 2024
838083e
Update dump files
dsparano Apr 16, 2024
e1294c0
Format with google-java-format
rohitjoins Apr 17, 2024
1ab91a6
Refactor and add release notes
rohitjoins Apr 17, 2024
0a436ad
Use inclusive language
rohitjoins Apr 17, 2024
247cad9
Update dump files
rohitjoins Apr 17, 2024
a09c2f1
Add boolean input to MpeghReader
rohitjoins Apr 30, 2024
703b936
Add ExoPlayer.setPriority
tonihei Apr 30, 2024
6e8f3a8
Merge pull request #1189 from v-novaltd:dsparano-exo245
copybara-github Apr 30, 2024
c9aab56
Add Mp4 object type for JPEG
tonihei May 1, 2024
5805287
Remove an extra call to `updateRebufferingState` method
rohitjoins May 1, 2024
fb982c2
Don't enforce SimpleDecoder skipping for samples before start time
tonihei May 1, 2024
1af86d4
Fix issue where subtitles starting before a seek position are skipped
tonihei May 1, 2024
e25bd07
Parse initialization data from AV1 tracks
rohitjoins May 1, 2024
feb5125
Fix issue with updating the last rebuffer time
rohitjoins May 1, 2024
9ced27a
Use inputFormat.tileCountHorizontal to calculate tileStartXCoordinate…
hakonschia Apr 20, 2024
e27f527
Revert changes in ImageRenderTest from 3a030da83b49b9f6c0e414955b5434…
hakonschia Apr 26, 2024
cf41ba3
Create new ImageRenderer in render_tiledImageNonSquare_rendersAllImag…
hakonschia Apr 30, 2024
6d62d34
Format with google-java-format
microkatz May 1, 2024
690bb1a
Add release note for DASH non-square thumbnail grid fix
microkatz May 1, 2024
acc5a3b
Updated non-Square thumbnail unit test to contain non-Square thumbnails
microkatz May 1, 2024
d385072
Merge pull request #1300 from hakonschia:fix-dash-thumbnails-cropping
copybara-github May 1, 2024
bdb8d8e
Make VideoSink final in MCVR
kim-vde May 2, 2024
ec9b38b
Simplify VideoSinkProvider surface handling in MCVR
kim-vde May 2, 2024
0893275
Add RendererCapabilities.isFormatSupported helper method
tonihei May 2, 2024
d059e97
Use VideoSink directly in MCVR where possible
kim-vde May 2, 2024
2e3c3eb
Fix wrong output timestamp in seeking
claincly May 2, 2024
000d1ff
Always set effects surface and resolution together in MCVR
kim-vde May 2, 2024
7cf2fd9
Postpone AdTagLoader listener deregistration to receive final error
tonihei May 2, 2024
cb846f0
Move raw audio decoder channel count workaround to DefaultCodec.
Samrobbo May 2, 2024
45ccc69
Add setVideoSurface override
claincly May 2, 2024
cb4b2ea
remove degammaing: change setSdrWorkingColorSpace default
tof-tof May 2, 2024
d59f1cb
Add test for seeking composition playback
claincly May 2, 2024
620cb32
effect: use constants for error colors in shaders
tof-tof May 2, 2024
10e29be
Allocate correct size for keys and ilst boxes in Mp4Muxer
SheenaChhabra May 3, 2024
24305c0
Remove forCancellation flag from Transformer/Muxer.release() method
SheenaChhabra May 3, 2024
8a8dfbe
Fix link typo with missing #
oceanjules May 3, 2024
6add3a1
Add release method to VideoSink
kim-vde May 6, 2024
1ef0b7c
Automated Code Change
a-googler May 6, 2024
2c912aa
Handle displayTitle and title in legacy conversions
marcbaechinger May 6, 2024
506944d
Move effect setters to VideoSink
kim-vde May 6, 2024
a03f30b
Add surface setters on VideoSink
kim-vde May 6, 2024
4a54db7
Remove VideoSinkProvider class member from MCVR
kim-vde May 6, 2024
0ab6ea5
Add preload pool to media period MediaPeriodQueue
marcbaechinger May 6, 2024
4841f8f
Run ExoPlayerTest with preloading enabled and disabled
marcbaechinger May 6, 2024
4aa15e9
Change test golden files, as default color space chagned
claincly May 7, 2024
b2d30a5
Fallback to hevc transcoding for hdr AV1 files
tof-tof May 7, 2024
75733e2
Fix GitHub ref url typo in 'non-square Dash Thumbnail' release note
microkatz May 7, 2024
16df05e
Upgrade Gradle and AGP
tonihei May 7, 2024
de2bc94
Fix ENCODING_DTS_UHD_P2 Issue
cedricxperi Apr 20, 2024
6363017
Fix DTS:X Profile 2 encoding attributes for passthrough playback
microkatz May 3, 2024
9942255
Allow any pcm encoding raw input pre-effects in AudioGraphInput.
Samrobbo May 7, 2024
0969043
Merge pull request #1299 from cedricxperi:encoding-dts-uhd-p2-issue
copybara-github May 7, 2024
6ac60c6
Disable enhanced Java 8 desugaring
tonihei May 7, 2024
bef3d51
Revise seeking in ExternalTextureManager (ETM)
claincly May 7, 2024
177f1f3
Fix indeterminate z-order of EditedMediaItemSequences by passing sequ…
AradiPatrik Jan 31, 2024
b909162
Use sparse array in MultipleInputVideoGraph, fix formatting
AradiPatrik Jan 31, 2024
84df55c
fix naming and formatting
AradiPatrik Feb 6, 2024
3cccecf
Format with google-java-format
claincly Feb 7, 2024
52adaf8
implement top down approach for passing input source id
AradiPatrik Feb 13, 2024
51a9bcc
Refactor according to reviews.
AradiPatrik Feb 26, 2024
0403e58
Format with google-java-format
claincly Mar 4, 2024
766ff44
Fix review comment
claincly Mar 5, 2024
c5964d1
Merge pull request #1055 from AradiPatrik:z-order-fix
copybara-github May 8, 2024
49c75fd
Add unit tests for seeking
kim-vde May 8, 2024
38b9a5d
Always check audio processor chain for media playout duration
tonihei May 8, 2024
9adb532
Only set image duration on images in demo app
kim-vde May 8, 2024
ab64ca8
Reset tracker for offload track completion prior to stopping AudioTrack
microkatz May 8, 2024
8b78e04
Add time units to DebugTraceUtil logging.
Samrobbo May 8, 2024
9ece393
Add time unit to variable names and methods
tonihei May 8, 2024
1a5f57e
Complete preloading when the period has loaded to the end of the source
tianyif May 8, 2024
ad2fc4f
move Output Mime Type And Hdr Mode Fallback logic to TransformerUtil
tof-tof May 8, 2024
8b14d71
Handle null extraFormat on entry in DebugTraceUtil.
Samrobbo May 8, 2024
d977eab
Minor code move for readability
claincly May 8, 2024
524181d
DefaultHttpDS: Allow forcing cross protocol redirects to original
a-googler May 8, 2024
145e0fa
Make DefaultVideoCompositor use the first registered input as primary
claincly May 9, 2024
e432005
make TransformerUtil public
tof-tof May 9, 2024
49fa343
Remove unused DebugTraceUtil VFP event.
Samrobbo May 9, 2024
971486f
Round bytesToNextSpeedChange up instead of down
tonihei May 9, 2024
861e821
Bump IMA dependency to 3.33.0 to fix NPE with `data://` URIs
icbaker May 9, 2024
753f607
Test: Remove the invalid dataspace device list when asserting sdr
tof-tof May 9, 2024
fff68f1
Order DebugTraceUtil JSON output by each component.
Samrobbo May 9, 2024
325f4ec
Add debug trace JSON nesting per component.
Samrobbo May 10, 2024
1749726
Texture input tests: use separate textures to queue to transformer
tof-tof May 10, 2024
daa8750
Ensure silence skipping doesn't interfere with other discontinuities
tonihei May 10, 2024
e1d8044
Fix flushing logic of SpeedChangingAudioProcessor
tonihei May 10, 2024
8fa7271
Fail MediaSourceFactory creation if the right module is not added
oceanjules May 10, 2024
71e36ac
Remove missing frame workaround from TransformerPauseResumeTest
SheenaChhabra May 13, 2024
0db23ae
Add PreloadMediaSource.clear to discard the preloading period
tianyif May 13, 2024
30624aa
Pass component of event to debug trace logEvent as parameter.
Samrobbo May 13, 2024
5950e88
Skip TransformerPauseResumeTest on vivo 1820 and vivo 1906
SheenaChhabra May 13, 2024
3a31455
Replace Transformer.Muxer interface with Muxer.Muxer
SheenaChhabra May 13, 2024
d52a32a
Add method to obtain media duration from playout duration
tonihei May 13, 2024
04ab71a
Remove component names from event strings.
Samrobbo May 13, 2024
1a5cf67
Use BaseAudioProcessor format tracking in SilenceSkippingAudioProcessor
tonihei May 13, 2024
acf1ede
Add debug trace logs for input/output events for codecs.
Samrobbo May 13, 2024
cf1f9b0
Add more predefined priority values
tonihei May 13, 2024
b182e46
Standardise leak canary version in `constants.gradle`
icbaker May 14, 2024
95c1381
Log DebugTraceUtil events to logcat as they occur.
Samrobbo May 14, 2024
f73c24a
Bump Truth dep to 1.4.0 so we can assert directly on Java 8 types
icbaker May 14, 2024
55b9c39
Box: Implement ctts box
a-googler May 14, 2024
e17b3d7
Omit "last: []" from debug trace json if less than 10 event logged.
Samrobbo May 14, 2024
4cbe963
Tweak session demo UI strings
icbaker May 14, 2024
2175c43
Add error code for codec reclaim
tonihei May 14, 2024
84c0b6b
Add MediaSession.sendError to send non-fatal error data to controllers
marcbaechinger May 14, 2024
f7390fa
Update supported image formats in line with platform standards
tof-tof May 14, 2024
bf7b4e0
Reset platform playback state immediately after sending custom error
marcbaechinger May 14, 2024
d27c36a
Use MaskingMediaSource for AdsMediaSource content source
tonihei May 14, 2024
8dfcf02
Remove `@UnstableApi` from demo apps
icbaker May 15, 2024
ed4820c
Remove `@UnstableApi` from package-private files
icbaker May 15, 2024
c6f4ed0
Remove `/* package */` comment from `public` classes
icbaker May 15, 2024
a5c9424
Add unit test for seeking in clipped MediaItem
kim-vde May 15, 2024
e4f0ff8
Clear the PreloadMediaSource when deprioritized by the preload manager
tianyif May 15, 2024
6755439
Fix test flakiness
tonihei May 15, 2024
0e5a5e0
Publish `CompositionPlayer` for playing compositions
icbaker May 15, 2024
7b35733
Support AVIF in exoplayer
tof-tof May 15, 2024
5c6f48e
Add debug trace logs for AudioMixer & AudioGraph events.
Samrobbo May 15, 2024
0352db9
Default to parse subtitles while extracting, instead of while rendering
icbaker May 16, 2024
d2f677b
Update PgsParser.java
SimonHung Jan 19, 2024
743e794
Format with google-java-format and add release note
icbaker May 15, 2024
a4faf4d
Merge pull request #1367 from TheBeastLT:main
copybara-github May 16, 2024
e23cc75
Handle playToEndOfStream called before configuring the audio sink
kim-vde May 16, 2024
7b2a1b4
Fix image not ignored for non-images in setImageDurationMs
kim-vde May 16, 2024
f0e420e
Use List in `createRenderers` for better readability
claincly May 16, 2024
25e5647
Check for .heif extension in File types inference
tof-tof May 16, 2024
2ac8247
Fix and/or bug in `XingSeeker`
icbaker May 16, 2024
1abcf5c
Add debug trace log for AssetLoader Renderer format events.
Samrobbo May 16, 2024
d83e81f
Add toggle for DebugTraceUtil to Transformer demo.
Samrobbo May 16, 2024
282a944
Throw errors from `WebvttPlaybackTest.stallUntilPlayerCondition`
icbaker May 17, 2024
2b5bb94
Add missing check before calling discardBuffer
tonihei May 17, 2024
34792f7
Fix flakiness in ExoPlayerTest
tonihei May 17, 2024
b9ec24a
Fix AV sync for sequences with audio track shorter than video
ychaparov May 17, 2024
eca6cb2
Clean up unused members in `XingFrame`
icbaker May 17, 2024
dd7fb81
Handle timeline updates where all periods in window have been replaced
tonihei May 17, 2024
6abb2db
Refactor pending clock sync logic in DashMediaSource
tonihei May 17, 2024
b645004
Keep manifest in DashMediaSource after release
tonihei May 17, 2024
dc4f20e
Fix image seeking
claincly May 18, 2024
be5cf6b
Allow LoadControl.shouldContinueLoading accept playWhenReady as a par…
colinkho May 3, 2024
c46bb24
Move parameters inside LoadControl and use it for shouldStartPlayback
tonihei May 14, 2024
07ddc0f
Add debug trace for Muxer completely ending.
Samrobbo May 20, 2024
c9854cd
Make flag for debug traces in logcat private and final.
Samrobbo May 20, 2024
c26042d
Fix issue links from `google/ExoPlayer` to `androidx/media`
icbaker May 20, 2024
cefc4dc
Add OptIn annotations to declarations in demo app files
microkatz May 20, 2024
c409623
Create equals method for gainmaps
tof-tof May 20, 2024
b047e81
Work around SurfaceTexture implicit scale
ychaparov May 21, 2024
ae24060
Move bitmap coordinate flip out of fragment shader
ychaparov May 21, 2024
e637ccd
Fix javadoc formatting
claincly May 21, 2024
2585051
Move license to top for consistency
andrewlewis May 21, 2024
8e4d82b
Assert file exists before trying to re-decode for test assertions.
Samrobbo May 21, 2024
17bf47e
MP3: Add test CBR sample with 'too small' `PCUT` frame
icbaker May 21, 2024
e2847b3
Re-apply CEA-708 `rowLock/columnLock` fix
icbaker May 21, 2024
8fdf105
Re-apply CEA-608 `validDataChannelTimeoutMs` assertion
icbaker May 21, 2024
44f2f50
Add new line between printing glsl source code in error
tof-tof May 21, 2024
b6ce35d
Migrate debug trace logs to track generic events for Muxer.
Samrobbo May 21, 2024
9506445
Remove VideoFrameReleaseControl setter from SinkProvider
kim-vde May 22, 2024
72ba355
Set image duration on all media types
kim-vde May 22, 2024
d175223
Merge pull request #1339 from colinkho:set-play-when-ready-load-contr…
copybara-github May 22, 2024
fb7cf15
Make getIconResIdForIconConstant public
tonihei May 22, 2024
c2fb2f1
Work around 1080p export failures on certain devices
ychaparov May 22, 2024
5b3066f
MP3: Derive duration and bitrate from frame count in `Info` header
icbaker May 22, 2024
521c52f
Parse dashif:Laurl license url in mpd
trussellswitch May 21, 2024
9ccc4b2
Add test and formatting changes
tonihei May 22, 2024
a74076f
Trigger silence generation when end of stream is encountered
ychaparov May 22, 2024
8d515c8
MP3: Make a defensive copy of the header in `XingFrame` constructor
icbaker May 22, 2024
1ffeafe
Merge pull request #1384 from trussellswitch:parse-dashif-laurl
copybara-github May 22, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
52 changes: 25 additions & 27 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,37 +5,29 @@ 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: Media3 Version
label: Version
description: What version of Media3 (or ExoPlayer) are you using?
options:
- Media3 1.1.0-alpha01
- Media3 1.0.2
- Media3 1.0.1
- Media3 1.0.0
- Media3 1.0.0-rc02
- Media3 1.0.0-rc01
- Media3 1.0.0-beta03
- Media3 1.0.0-beta02
- Media3 1.0.0-beta01
- Media3 1.0.0-alpha03
- Media3 1.0.0-alpha02
- Media3 1.0.0-alpha01
- Media3 `main` branch
- ExoPlayer 2.18.7
- ExoPlayer 2.18.6
- ExoPlayer 2.18.5
- Media3 main branch
- Media3 pre-release (alpha, beta or RC not in this list)
- Media3 1.3.1
- Media3 1.3.0
- 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
- ExoPlayer 2.18.4
- ExoPlayer 2.18.3
- ExoPlayer 2.18.2
Expand All @@ -50,10 +42,16 @@ 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: >
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
attributes:
label: Devices that reproduce the issue
Expand Down Expand Up @@ -114,7 +112,7 @@ body:
* Attach a file here
* Include a media URL
* Refer to a piece of media from the demo app (e.g. `Misc > Dizzy (MP4)`)
* If you don't want to post media publicly please email the info to dev.exoplayer@gmail.com with subject 'Issue #\<issuenumber\>' after filing this issue, and note that you will do this here.
* If you don't want to post media publicly please email the info to android-media-github@google.com with subject 'Issue #\<issuenumber\>' after filing this issue, and note that you will do this here.
* If you are certain the issue does not depend on the media being played, enter "Not applicable" here.

For DRM-protected media please also include the scheme and license server URL.
Expand All @@ -124,8 +122,8 @@ body:
attributes:
label: Bug Report
description: |
After filing this issue please run `adb bugreport` shortly after reproducing the problem (ideally in the [demo app](https://github.com/androidx/media/tree/release/demos/main)) to capture a zip file, and email this to dev.exoplayer@gmail.com with subject 'Issue #\<issuenumber\>'.
After filing this issue please run `adb bugreport` shortly after reproducing the problem (ideally in the [demo app](https://github.com/androidx/media/tree/release/demos/main)) to capture a zip file, and email this to android-media-github@google.com with subject 'Issue #\<issuenumber\>'.

**Note:** Logcat output is **not** the same as a full bug report, and is often missing information that's useful for diagnosing issues. Please ensure you're sending a full bug report zip file.
options:
- label: You will email the zip file produced by `adb bugreport` to dev.exoplayer@gmail.com after filing this issue.
- label: You will email the zip file produced by `adb bugreport` to android-media-github@google.com after filing this issue.
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,6 @@ Don't forget to check ExoPlayer's supported formats and devices, if applicable
(https://developer.android.com/guide/topics/media/exoplayer/supported-formats).

If there's something you don't want to post publicly, please submit the issue,
then email the link/bug report to dev.exoplayer@gmail.com using a subject in the
format "Issue #1234", where #1234 is your issue number (we don't reply to
emails).
then email the link/bug report to android-media-github@google.com using a
subject in the format "Issue #1234", where #1234 is your issue number (we don't
reply to emails).
10 changes: 10 additions & 0 deletions .idea/icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,24 @@ you made on top of `main` using
$ git diff -U0 main... | google-java-format-diff.py -p1 -i
```

### Push access to PR branches

Please ensure maintainers of this repository have push access to your PR branch
by ticking the `Allow edits from maintainers` checkbox when creating the PR (or
after it's created). See the
[GitHub docs](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork)
for more info. This allows us to make changes and fixes to the PR while it goes
through internal review, and ensures we don't create an
['evil' merge](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefevilmergeaevilmerge)
when it gets merged.

This checkbox only appears on PRs from individual-owned forks
(https://github.com/orgs/community/discussions/5634). If you open a PR from an
organization-owned fork we will ask you to open a new one from an
individual-owned fork. If this isn't possible we can still merge the PR, but it
will result in an 'evil' merge because the changes and fixes we make during
internal review will be part of the merge commit.

## Contributor license agreement

Contributions to any Google project must be accompanied by a Contributor
Expand Down
76 changes: 65 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
# AndroidX Media

AndroidX Media is a collection of libraries for implementing media use cases on
Android, including local playback (via ExoPlayer) and media sessions.
Android, including local playback (via ExoPlayer), video editing (via Transformer) and media sessions.

## Documentation

* The [developer guide][] provides a wealth of information.
* The [class reference][] documents the classes and methods.
* The [release notes][] document the major changes in each release.
* The [media dev center][] provides samples and guidelines.
* Follow our [developer blog][] to keep up to date with the latest
developments!

[developer guide]: https://developer.android.com/guide/topics/media/media3
[class reference]: https://developer.android.com/reference/androidx/media3/common/package-summary
[release notes]: RELEASENOTES.md
[media dev center]: https://developer.android.com/media
[developer blog]: https://medium.com/google-exoplayer

## Migration for existing ExoPlayer and MediaSession projects
Expand Down Expand Up @@ -45,13 +47,21 @@ also possible to clone this GitHub repository and depend on the modules locally.
#### 1. Add module dependencies

The easiest way to get started using AndroidX Media is to add gradle
dependencies on the libraries you need in the `build.gradle` file of your app
module.
dependencies on the libraries you need in the `build.gradle.kts` file of your
app module.

For example, to depend on ExoPlayer with DASH playback support and UI components
you can add dependencies on the modules like this:

```gradle
```kotlin
implementation("androidx.media3:media3-exoplayer:1.X.X")
implementation("androidx.media3:media3-exoplayer-dash:1.X.X")
implementation("androidx.media3:media3-ui:1.X.X")
```

Or in Gradle Groovy DSL `build.gradle`:

```groovy
implementation 'androidx.media3:media3-exoplayer:1.X.X'
implementation 'androidx.media3:media3-exoplayer-dash:1.X.X'
implementation 'androidx.media3:media3-ui:1.X.X'
Expand All @@ -73,10 +83,18 @@ details.
#### 2. Turn on Java 8 support

If not enabled already, you also need to turn on Java 8 support in all
`build.gradle` files depending on AndroidX Media, by adding the following to the
`android` section:
`build.gradle.kts` files depending on AndroidX Media, by adding the following to
the `android` section:

```gradle
```kotlin
compileOptions {
targetCompatibility = JavaVersion.VERSION_1_8
}
```

Or in Gradle Groovy DSL `build.gradle`:

```groovy
compileOptions {
targetCompatibility JavaVersion.VERSION_1_8
}
Expand All @@ -101,23 +119,59 @@ git clone https://github.com/androidx/media.git
cd media
```

Next, add the following to your project's `settings.gradle` file, replacing
Next, add the following to your project's `settings.gradle.kts` file, replacing
`path/to/media` with the path to your local copy:

```gradle
```kotlin
(gradle as ExtensionAware).extra["androidxMediaModulePrefix"] = "media3-"
apply(from = file("path/to/media/core_settings.gradle"))
```

Or in Gradle Groovy DSL `settings.gradle`:

```groovy
gradle.ext.androidxMediaModulePrefix = 'media-'
apply from: file("path/to/media/core_settings.gradle")
```

You should now see the AndroidX Media modules appear as part of your project.
You can depend on them as you would on any other local module, for example:
You can depend on them from `build.gradle.kts` as you would on any other local
module, for example:

```gradle
```kotlin
implementation(project(":media-lib-exoplayer"))
implementation(project(":media-lib-exoplayer-dash"))
implementation(project(":media-lib-ui"))
```

Or in Gradle Groovy DSL `build.gradle`:

```groovy
implementation project(':media-lib-exoplayer')
implementation project(':media-lib-exoplayer-dash')
implementation project(':media-lib-ui')
```

#### MIDI module

By default the [MIDI module](libraries/decoder_midi) is disabled as a local
dependency, because it requires additional Maven repository config. If you want
to use it as a local dependency, please configure the JitPack repository as
[described in the module README](libraries/decoder_midi/README.md#getting-the-module),
and then enable building the module in your `settings.gradle.kts` file:

```kotlin
gradle.extra.apply {
set("androidxMediaEnableMidiModule", true)
}
```

Or in Gradle Groovy DSL `settings.gradle`:

```groovy
gradle.ext.androidxMediaEnableMidiModule = true
```

## Developing AndroidX Media

#### Project branches
Expand Down
Loading