@@ -276,12 +276,15 @@ public void onDecodedData(short[] data)
276276
277277 var catchup = playbackCatchupController . Update ( queuedSeconds ) ;
278278 bool shouldDrop = false ;
279+
279280 switch ( catchup . Type )
280281 {
281282 case PlaybackCatchupType . Drop :
282283 if ( Build . VERSION . SdkInt >= BuildVersionCodes . M )
283284 {
284- audioPlayer . PlaybackParams . SetSpeed ( catchup . Speed ) ;
285+ var pp = audioPlayer . PlaybackParams ;
286+ pp . SetSpeed ( catchup . Speed ) ;
287+ audioPlayer . PlaybackParams = pp ;
285288 }
286289 if ( Random . Shared . NextDouble ( ) < 0.10 )
287290 {
@@ -293,9 +296,11 @@ public void onDecodedData(short[] data)
293296 case PlaybackCatchupType . SpeedUp :
294297 if ( Build . VERSION . SdkInt >= BuildVersionCodes . M )
295298 {
296- audioPlayer . PlaybackParams . SetSpeed ( catchup . Speed ) ;
299+ var pp = audioPlayer . PlaybackParams ;
300+ pp . SetSpeed ( catchup . Speed ) ;
301+ audioPlayer . PlaybackParams = pp ;
297302 }
298- else if ( 1 + Random . Shared . NextDouble ( ) < catchup . Speed )
303+ else if ( Random . Shared . NextDouble ( ) < catchup . Speed - 1.0 )
299304 {
300305 shouldDrop = true ;
301306 }
@@ -304,7 +309,9 @@ public void onDecodedData(short[] data)
304309 case PlaybackCatchupType . Normal :
305310 if ( Build . VERSION . SdkInt >= BuildVersionCodes . M )
306311 {
307- audioPlayer . PlaybackParams . SetSpeed ( 1.0f ) ;
312+ var pp = audioPlayer . PlaybackParams ;
313+ pp . SetSpeed ( 1.0f ) ;
314+ audioPlayer . PlaybackParams = pp ;
308315 }
309316 break ;
310317 }
0 commit comments