@@ -831,7 +831,11 @@ public void setMediaItem(MediaItem mediaItem) {
831831 dispatchRemoteSessionTaskWithPlayerCommand (
832832 (iSession , seq ) ->
833833 iSession .setMediaItem (
834- controllerStub , seq , mediaItem .toBundleIncludeLocalConfiguration ()));
834+ controllerStub ,
835+ seq ,
836+ iSession instanceof MediaSessionStub
837+ ? mediaItem .toBundleIncludeLocalConfigurationForLocalProcess ()
838+ : mediaItem .toBundleIncludeLocalConfiguration ()));
835839
836840 setMediaItemsInternal (
837841 Collections .singletonList (mediaItem ),
@@ -851,7 +855,9 @@ public void setMediaItem(MediaItem mediaItem, long startPositionMs) {
851855 iSession .setMediaItemWithStartPosition (
852856 controllerStub ,
853857 seq ,
854- mediaItem .toBundleIncludeLocalConfiguration (),
858+ iSession instanceof MediaSessionStub
859+ ? mediaItem .toBundleIncludeLocalConfigurationForLocalProcess ()
860+ : mediaItem .toBundleIncludeLocalConfiguration (),
855861 startPositionMs ));
856862
857863 setMediaItemsInternal (
@@ -870,7 +876,12 @@ public void setMediaItem(MediaItem mediaItem, boolean resetPosition) {
870876 dispatchRemoteSessionTaskWithPlayerCommand (
871877 (iSession , seq ) ->
872878 iSession .setMediaItemWithResetPosition (
873- controllerStub , seq , mediaItem .toBundleIncludeLocalConfiguration (), resetPosition ));
879+ controllerStub ,
880+ seq ,
881+ iSession instanceof MediaSessionStub
882+ ? mediaItem .toBundleIncludeLocalConfigurationForLocalProcess ()
883+ : mediaItem .toBundleIncludeLocalConfiguration (),
884+ resetPosition ));
874885
875886 setMediaItemsInternal (
876887 Collections .singletonList (mediaItem ),
@@ -890,9 +901,11 @@ public void setMediaItems(List<MediaItem> mediaItems) {
890901 iSession .setMediaItems (
891902 controllerStub ,
892903 seq ,
893- new BundleListRetriever (
894- BundleCollectionUtil .toBundleList (
895- mediaItems , MediaItem ::toBundleIncludeLocalConfiguration ))));
904+ iSession instanceof MediaSessionStub
905+ ? new MediaItem .ListInProcessBinder (mediaItems )
906+ : new BundleListRetriever (
907+ BundleCollectionUtil .toBundleList (
908+ mediaItems , MediaItem ::toBundleIncludeLocalConfiguration ))));
896909
897910 setMediaItemsInternal (
898911 mediaItems ,
@@ -912,9 +925,11 @@ public void setMediaItems(List<MediaItem> mediaItems, boolean resetPosition) {
912925 iSession .setMediaItemsWithResetPosition (
913926 controllerStub ,
914927 seq ,
915- new BundleListRetriever (
916- BundleCollectionUtil .toBundleList (
917- mediaItems , MediaItem ::toBundleIncludeLocalConfiguration )),
928+ iSession instanceof MediaSessionStub
929+ ? new MediaItem .ListInProcessBinder (mediaItems )
930+ : new BundleListRetriever (
931+ BundleCollectionUtil .toBundleList (
932+ mediaItems , MediaItem ::toBundleIncludeLocalConfiguration )),
918933 resetPosition ));
919934
920935 setMediaItemsInternal (
@@ -935,9 +950,11 @@ public void setMediaItems(List<MediaItem> mediaItems, int startIndex, long start
935950 iSession .setMediaItemsWithStartIndex (
936951 controllerStub ,
937952 seq ,
938- new BundleListRetriever (
939- BundleCollectionUtil .toBundleList (
940- mediaItems , MediaItem ::toBundleIncludeLocalConfiguration )),
953+ iSession instanceof MediaSessionStub
954+ ? new MediaItem .ListInProcessBinder (mediaItems )
955+ : new BundleListRetriever (
956+ BundleCollectionUtil .toBundleList (
957+ mediaItems , MediaItem ::toBundleIncludeLocalConfiguration )),
941958 startIndex ,
942959 startPositionMs ));
943960
@@ -953,7 +970,12 @@ public void setPlaylistMetadata(MediaMetadata playlistMetadata) {
953970
954971 dispatchRemoteSessionTaskWithPlayerCommand (
955972 (iSession , seq ) ->
956- iSession .setPlaylistMetadata (controllerStub , seq , playlistMetadata .toBundle ()));
973+ iSession .setPlaylistMetadata (
974+ controllerStub ,
975+ seq ,
976+ iSession instanceof MediaSessionStub
977+ ? playlistMetadata .toBundleForLocalProcess ()
978+ : playlistMetadata .toBundle ()));
957979
958980 if (!playerInfo .playlistMetadata .equals (playlistMetadata )) {
959981 playerInfo = playerInfo .copyWithPlaylistMetadata (playlistMetadata );
@@ -978,7 +1000,11 @@ public void addMediaItem(MediaItem mediaItem) {
9781000 dispatchRemoteSessionTaskWithPlayerCommand (
9791001 (iSession , seq ) ->
9801002 iSession .addMediaItem (
981- controllerStub , seq , mediaItem .toBundleIncludeLocalConfiguration ()));
1003+ controllerStub ,
1004+ seq ,
1005+ iSession instanceof MediaSessionStub
1006+ ? mediaItem .toBundleIncludeLocalConfigurationForLocalProcess ()
1007+ : mediaItem .toBundleIncludeLocalConfiguration ()));
9821008
9831009 addMediaItemsInternal (
9841010 getCurrentTimeline ().getWindowCount (), Collections .singletonList (mediaItem ));
@@ -994,7 +1020,12 @@ public void addMediaItem(int index, MediaItem mediaItem) {
9941020 dispatchRemoteSessionTaskWithPlayerCommand (
9951021 (iSession , seq ) ->
9961022 iSession .addMediaItemWithIndex (
997- controllerStub , seq , index , mediaItem .toBundleIncludeLocalConfiguration ()));
1023+ controllerStub ,
1024+ seq ,
1025+ index ,
1026+ iSession instanceof MediaSessionStub
1027+ ? mediaItem .toBundleIncludeLocalConfigurationForLocalProcess ()
1028+ : mediaItem .toBundleIncludeLocalConfiguration ()));
9981029
9991030 addMediaItemsInternal (index , Collections .singletonList (mediaItem ));
10001031 }
@@ -1010,9 +1041,11 @@ public void addMediaItems(List<MediaItem> mediaItems) {
10101041 iSession .addMediaItems (
10111042 controllerStub ,
10121043 seq ,
1013- new BundleListRetriever (
1014- BundleCollectionUtil .toBundleList (
1015- mediaItems , MediaItem ::toBundleIncludeLocalConfiguration ))));
1044+ iSession instanceof MediaSessionStub
1045+ ? new MediaItem .ListInProcessBinder (mediaItems )
1046+ : new BundleListRetriever (
1047+ BundleCollectionUtil .toBundleList (
1048+ mediaItems , MediaItem ::toBundleIncludeLocalConfiguration ))));
10161049
10171050 addMediaItemsInternal (getCurrentTimeline ().getWindowCount (), mediaItems );
10181051 }
@@ -1030,9 +1063,11 @@ public void addMediaItems(int index, List<MediaItem> mediaItems) {
10301063 controllerStub ,
10311064 seq ,
10321065 index ,
1033- new BundleListRetriever (
1034- BundleCollectionUtil .toBundleList (
1035- mediaItems , MediaItem ::toBundleIncludeLocalConfiguration ))));
1066+ iSession instanceof MediaSessionStub
1067+ ? new MediaItem .ListInProcessBinder (mediaItems )
1068+ : new BundleListRetriever (
1069+ BundleCollectionUtil .toBundleList (
1070+ mediaItems , MediaItem ::toBundleIncludeLocalConfiguration ))));
10361071
10371072 addMediaItemsInternal (index , mediaItems );
10381073 }
@@ -1382,7 +1417,12 @@ public void replaceMediaItem(int index, MediaItem mediaItem) {
13821417 (iSession , seq ) -> {
13831418 if (checkNotNull (connectedToken ).getInterfaceVersion () >= 2 ) {
13841419 iSession .replaceMediaItem (
1385- controllerStub , seq , index , mediaItem .toBundleIncludeLocalConfiguration ());
1420+ controllerStub ,
1421+ seq ,
1422+ index ,
1423+ iSession instanceof MediaSessionStub
1424+ ? mediaItem .toBundleIncludeLocalConfigurationForLocalProcess ()
1425+ : mediaItem .toBundleIncludeLocalConfiguration ());
13861426 } else {
13871427 iSession .addMediaItemWithIndex (
13881428 controllerStub , seq , index + 1 , mediaItem .toBundleIncludeLocalConfiguration ());
@@ -1403,9 +1443,11 @@ public void replaceMediaItems(int fromIndex, int toIndex, List<MediaItem> mediaI
14031443 dispatchRemoteSessionTaskWithPlayerCommand (
14041444 (iSession , seq ) -> {
14051445 IBinder mediaItemsBundleBinder =
1406- new BundleListRetriever (
1407- BundleCollectionUtil .toBundleList (
1408- mediaItems , MediaItem ::toBundleIncludeLocalConfiguration ));
1446+ iSession instanceof MediaSessionStub
1447+ ? new MediaItem .ListInProcessBinder (mediaItems )
1448+ : new BundleListRetriever (
1449+ BundleCollectionUtil .toBundleList (
1450+ mediaItems , MediaItem ::toBundleIncludeLocalConfiguration ));
14091451 if (checkNotNull (connectedToken ).getInterfaceVersion () >= 2 ) {
14101452 iSession .replaceMediaItems (
14111453 controllerStub , seq , fromIndex , toIndex , mediaItemsBundleBinder );
@@ -2107,7 +2149,12 @@ public void setTrackSelectionParameters(TrackSelectionParameters parameters) {
21072149
21082150 dispatchRemoteSessionTaskWithPlayerCommand (
21092151 (iSession , seq ) ->
2110- iSession .setTrackSelectionParameters (controllerStub , seq , parameters .toBundle ()));
2152+ iSession .setTrackSelectionParameters (
2153+ controllerStub ,
2154+ seq ,
2155+ iSession instanceof MediaSessionStub
2156+ ? parameters .toBundleForLocalProcess ()
2157+ : parameters .toBundle ()));
21112158
21122159 if (parameters != playerInfo .trackSelectionParameters ) {
21132160 playerInfo = playerInfo .copyWithTrackSelectionParameters (parameters );
0 commit comments