media/library
sheenachhabra b10b4e6d46 Move muxer initialization off application thread
Problem: We are initialising muxer as soon as we start the transformation. Now the startTransformation() method can be called from main thread, but muxer creation is an I/O operation and should be not be done on main thread.

Solution: Added lazy initialisation of muxer object. The actual transformation happens on background thread so the muxer will be initialised lazily from background thread only.

Another way was to provide an initialize() method on MuxerWrapper which will explicitly initialise muxer object but with this approach the caller need to call the initialise method before calling anything else. With current implementation the renderers are calling MuxerWrapper methods on various callbacks (Not sequentially) and also we are sharing same muxer with multiple renderers so It might become confusing for the caller on when to call the initialise() method. Also there are few methods on MuxerWrapper which dont really need muxer object. So in short it might make MuxerWrapper APIs more confusing.

Validation: Verified the transformation from demo app.
PiperOrigin-RevId: 486735787
2022-11-08 14:33:40 +00:00
..
all Fix minimum API level issue 2022-02-08 11:03:36 +00:00
common Add 'Player.getVideoSurfaceSize' that returns the size of the surface 2022-11-08 14:09:54 +00:00
core Add @SuppressWarnings to unblock T SDK for <unknown commit> 2022-11-08 14:21:44 +00:00
dash Fix 3 ErrorProneStyle findings: 2022-10-19 20:29:19 +00:00
database Reformat some javadoc 2022-02-18 15:02:33 +00:00
datasource Fix instrumentation tests not working via Gradle 2022-10-19 22:54:45 +00:00
decoder Expect PresentationTime Discontinuity During Stream Transitions 2022-04-26 14:25:46 +01:00
effect Fix Dackka/Metalava errors in the effects module 2022-11-08 14:02:00 +00:00
extractor Fix Dackka javadoc errors in protected methods 2022-11-08 14:05:57 +00:00
hls Annotate methods that always return this with @CanIgnoreReturnValue 2022-07-25 22:19:11 +01:00
rtsp Merge pull request #162 from ittiam-systems:rtp-mp4a-latm 2022-10-24 10:55:19 +00:00
smoothstreaming Annotate methods that always return this with @CanIgnoreReturnValue 2022-07-25 22:19:11 +01:00
transformer Move muxer initialization off application thread 2022-11-08 14:33:40 +00:00
ui Remove ForwardingPlayer special case from PlayerControlView.setPlayer 2022-10-20 03:08:12 +00:00
README.md Update to androidx.media3 2021-10-27 09:12:46 +01:00

ExoPlayer library

The ExoPlayer library is split into multiple modules. See ExoPlayer's top level README for more information about the available library modules and how to use them.