media/libraries
sheenachhabra eb357654bb 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 11:36:30 +00:00
..
cast Add 'Player.getVideoSurfaceSize' that returns the size of the surface 2022-11-08 11:25:43 +00:00
common Add 'Player.getVideoSurfaceSize' that returns the size of the surface 2022-11-08 11:25:43 +00:00
database Mark all non-public IntDefs as only TYPE_USE 2022-02-21 16:56:36 +00:00
datasource Fix instrumentation tests not working via Gradle 2022-09-30 18:03:11 +00:00
datasource_cronet Fix instrumentation tests not working via Gradle 2022-09-30 18:03:11 +00:00
datasource_okhttp Annotate methods that always return this with @CanIgnoreReturnValue 2022-08-08 07:55:25 +00:00
datasource_rtmp Annotate methods that always return this with @CanIgnoreReturnValue 2022-08-08 07:55:25 +00:00
decoder Expect PresentationTime Discontinuity During Stream Transitions 2022-04-26 14:21:36 +01:00
decoder_av1 Update CMake version for AV1 extension 2022-09-30 16:39:17 +00:00
decoder_ffmpeg Move AudioProcessor to common. 2022-10-31 11:34:30 +00:00
decoder_flac Disable failing tests of FlacExtractorSeekTest 2022-11-08 11:14:26 +00:00
decoder_opus Move AudioProcessor to common. 2022-10-31 11:34:30 +00:00
decoder_vp9 Add manifest to make gradle build work 2022-10-17 16:05:52 +00:00
effect Fix Dackka/Metalava errors in the effects module 2022-11-08 11:21:11 +00:00
exoplayer Add @SuppressWarnings to unblock T SDK for <unknown commit> 2022-11-08 11:29:00 +00:00
exoplayer_dash Fix 3 ErrorProneStyle findings: 2022-09-30 17:17:38 +00:00
exoplayer_hls Annotate methods that always return this with @CanIgnoreReturnValue 2022-08-08 07:55:25 +00:00
exoplayer_ima Make adding ad live breaks more robust 2022-10-31 11:42:19 +00:00
exoplayer_rtsp Merge pull request #162 from ittiam-systems:rtp-mp4a-latm 2022-10-24 10:49:25 +00:00
exoplayer_smoothstreaming Annotate methods that always return this with @CanIgnoreReturnValue 2022-08-08 07:55:25 +00:00
exoplayer_workmanager Reformat some javadoc 2022-02-18 14:54:02 +00:00
extractor Fix Dackka javadoc errors in protected methods 2022-11-08 11:23:25 +00:00
session Changed MediaController to return last estimated position while paused 2022-11-08 11:30:01 +00:00
test_data Load bitmaps for MediaMetadataCompat and handle the metadata updates. 2022-11-08 11:19:04 +00:00
test_exoplayer_playback Fix instrumentation tests not working via Gradle 2022-09-30 18:03:11 +00:00
test_session_common Load bitmaps for MediaMetadataCompat and handle the metadata updates. 2022-11-08 11:19:04 +00:00
test_session_current MediaControllerListenerWithMediaSessionCompatTest: clean imports 2022-11-08 11:31:04 +00:00
test_utils Add 'Player.getVideoSurfaceSize' that returns the size of the surface 2022-11-08 11:25:43 +00:00
test_utils_robolectric Add timestamp to Metadata 2022-07-04 19:36:57 +00:00
transformer Move muxer initialization off application thread 2022-11-08 11:36:30 +00:00
ui Remove ForwardingPlayer special case from PlayerControlView.setPlayer 2022-10-24 10:37:05 +00:00
ui_leanback Update Leanback library 2022-08-02 19:01:58 +00:00