@@ -831,7 +831,11 @@ public void setMediaItem(MediaItem mediaItem) {
831
831
dispatchRemoteSessionTaskWithPlayerCommand (
832
832
(iSession , seq ) ->
833
833
iSession .setMediaItem (
834
- controllerStub , seq , mediaItem .toBundleIncludeLocalConfiguration ()));
834
+ controllerStub ,
835
+ seq ,
836
+ iSession instanceof MediaSessionStub
837
+ ? mediaItem .toBundleIncludeLocalConfigurationForLocalProcess ()
838
+ : mediaItem .toBundleIncludeLocalConfiguration ()));
835
839
836
840
setMediaItemsInternal (
837
841
Collections .singletonList (mediaItem ),
@@ -851,7 +855,9 @@ public void setMediaItem(MediaItem mediaItem, long startPositionMs) {
851
855
iSession .setMediaItemWithStartPosition (
852
856
controllerStub ,
853
857
seq ,
854
- mediaItem .toBundleIncludeLocalConfiguration (),
858
+ iSession instanceof MediaSessionStub
859
+ ? mediaItem .toBundleIncludeLocalConfigurationForLocalProcess ()
860
+ : mediaItem .toBundleIncludeLocalConfiguration (),
855
861
startPositionMs ));
856
862
857
863
setMediaItemsInternal (
@@ -870,7 +876,12 @@ public void setMediaItem(MediaItem mediaItem, boolean resetPosition) {
870
876
dispatchRemoteSessionTaskWithPlayerCommand (
871
877
(iSession , seq ) ->
872
878
iSession .setMediaItemWithResetPosition (
873
- controllerStub , seq , mediaItem .toBundleIncludeLocalConfiguration (), resetPosition ));
879
+ controllerStub ,
880
+ seq ,
881
+ iSession instanceof MediaSessionStub
882
+ ? mediaItem .toBundleIncludeLocalConfigurationForLocalProcess ()
883
+ : mediaItem .toBundleIncludeLocalConfiguration (),
884
+ resetPosition ));
874
885
875
886
setMediaItemsInternal (
876
887
Collections .singletonList (mediaItem ),
@@ -890,9 +901,11 @@ public void setMediaItems(List<MediaItem> mediaItems) {
890
901
iSession .setMediaItems (
891
902
controllerStub ,
892
903
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 ))));
896
909
897
910
setMediaItemsInternal (
898
911
mediaItems ,
@@ -912,9 +925,11 @@ public void setMediaItems(List<MediaItem> mediaItems, boolean resetPosition) {
912
925
iSession .setMediaItemsWithResetPosition (
913
926
controllerStub ,
914
927
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 )),
918
933
resetPosition ));
919
934
920
935
setMediaItemsInternal (
@@ -935,9 +950,11 @@ public void setMediaItems(List<MediaItem> mediaItems, int startIndex, long start
935
950
iSession .setMediaItemsWithStartIndex (
936
951
controllerStub ,
937
952
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 )),
941
958
startIndex ,
942
959
startPositionMs ));
943
960
@@ -953,7 +970,12 @@ public void setPlaylistMetadata(MediaMetadata playlistMetadata) {
953
970
954
971
dispatchRemoteSessionTaskWithPlayerCommand (
955
972
(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 ()));
957
979
958
980
if (!playerInfo .playlistMetadata .equals (playlistMetadata )) {
959
981
playerInfo = playerInfo .copyWithPlaylistMetadata (playlistMetadata );
@@ -978,7 +1000,11 @@ public void addMediaItem(MediaItem mediaItem) {
978
1000
dispatchRemoteSessionTaskWithPlayerCommand (
979
1001
(iSession , seq ) ->
980
1002
iSession .addMediaItem (
981
- controllerStub , seq , mediaItem .toBundleIncludeLocalConfiguration ()));
1003
+ controllerStub ,
1004
+ seq ,
1005
+ iSession instanceof MediaSessionStub
1006
+ ? mediaItem .toBundleIncludeLocalConfigurationForLocalProcess ()
1007
+ : mediaItem .toBundleIncludeLocalConfiguration ()));
982
1008
983
1009
addMediaItemsInternal (
984
1010
getCurrentTimeline ().getWindowCount (), Collections .singletonList (mediaItem ));
@@ -994,7 +1020,12 @@ public void addMediaItem(int index, MediaItem mediaItem) {
994
1020
dispatchRemoteSessionTaskWithPlayerCommand (
995
1021
(iSession , seq ) ->
996
1022
iSession .addMediaItemWithIndex (
997
- controllerStub , seq , index , mediaItem .toBundleIncludeLocalConfiguration ()));
1023
+ controllerStub ,
1024
+ seq ,
1025
+ index ,
1026
+ iSession instanceof MediaSessionStub
1027
+ ? mediaItem .toBundleIncludeLocalConfigurationForLocalProcess ()
1028
+ : mediaItem .toBundleIncludeLocalConfiguration ()));
998
1029
999
1030
addMediaItemsInternal (index , Collections .singletonList (mediaItem ));
1000
1031
}
@@ -1010,9 +1041,11 @@ public void addMediaItems(List<MediaItem> mediaItems) {
1010
1041
iSession .addMediaItems (
1011
1042
controllerStub ,
1012
1043
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 ))));
1016
1049
1017
1050
addMediaItemsInternal (getCurrentTimeline ().getWindowCount (), mediaItems );
1018
1051
}
@@ -1030,9 +1063,11 @@ public void addMediaItems(int index, List<MediaItem> mediaItems) {
1030
1063
controllerStub ,
1031
1064
seq ,
1032
1065
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 ))));
1036
1071
1037
1072
addMediaItemsInternal (index , mediaItems );
1038
1073
}
@@ -1382,7 +1417,12 @@ public void replaceMediaItem(int index, MediaItem mediaItem) {
1382
1417
(iSession , seq ) -> {
1383
1418
if (checkNotNull (connectedToken ).getInterfaceVersion () >= 2 ) {
1384
1419
iSession .replaceMediaItem (
1385
- controllerStub , seq , index , mediaItem .toBundleIncludeLocalConfiguration ());
1420
+ controllerStub ,
1421
+ seq ,
1422
+ index ,
1423
+ iSession instanceof MediaSessionStub
1424
+ ? mediaItem .toBundleIncludeLocalConfigurationForLocalProcess ()
1425
+ : mediaItem .toBundleIncludeLocalConfiguration ());
1386
1426
} else {
1387
1427
iSession .addMediaItemWithIndex (
1388
1428
controllerStub , seq , index + 1 , mediaItem .toBundleIncludeLocalConfiguration ());
@@ -1403,9 +1443,11 @@ public void replaceMediaItems(int fromIndex, int toIndex, List<MediaItem> mediaI
1403
1443
dispatchRemoteSessionTaskWithPlayerCommand (
1404
1444
(iSession , seq ) -> {
1405
1445
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 ));
1409
1451
if (checkNotNull (connectedToken ).getInterfaceVersion () >= 2 ) {
1410
1452
iSession .replaceMediaItems (
1411
1453
controllerStub , seq , fromIndex , toIndex , mediaItemsBundleBinder );
@@ -2107,7 +2149,12 @@ public void setTrackSelectionParameters(TrackSelectionParameters parameters) {
2107
2149
2108
2150
dispatchRemoteSessionTaskWithPlayerCommand (
2109
2151
(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 ()));
2111
2158
2112
2159
if (parameters != playerInfo .trackSelectionParameters ) {
2113
2160
playerInfo = playerInfo .copyWithTrackSelectionParameters (parameters );
0 commit comments