Skip to content

Commit b41346c

Browse files
author
Florian Renaud
committed
Improve player transitions
1 parent eb61a23 commit b41346c

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

vector/src/main/java/im/vector/app/features/voicebroadcast/listening/VoiceBroadcastPlayerImpl.kt

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,6 @@ class VoiceBroadcastPlayerImpl @Inject constructor(
6363

6464
private var currentMediaPlayer: MediaPlayer? = null
6565
private var nextMediaPlayer: MediaPlayer? = null
66-
set(value) {
67-
field = value
68-
currentMediaPlayer?.setNextMediaPlayer(value)
69-
}
7066
private var currentSequence: Int? = null
7167

7268
private var fetchPlaylistJob: Job? = null
@@ -303,7 +299,7 @@ class VoiceBroadcastPlayerImpl @Inject constructor(
303299
}
304300
}
305301

306-
private inner class MediaPlayerListener : MediaPlayer.OnInfoListener, MediaPlayer.OnCompletionListener, MediaPlayer.OnErrorListener {
302+
private inner class MediaPlayerListener : MediaPlayer.OnInfoListener, MediaPlayer.OnPreparedListener, MediaPlayer.OnCompletionListener, MediaPlayer.OnErrorListener {
307303

308304
override fun onInfo(mp: MediaPlayer, what: Int, extra: Int): Boolean {
309305
when (what) {
@@ -317,6 +313,17 @@ class VoiceBroadcastPlayerImpl @Inject constructor(
317313
return false
318314
}
319315

316+
override fun onPrepared(mp: MediaPlayer) {
317+
when (mp) {
318+
currentMediaPlayer -> {
319+
nextMediaPlayer?.let { mp.setNextMediaPlayer(it) }
320+
}
321+
nextMediaPlayer -> {
322+
tryOrNull { currentMediaPlayer?.setNextMediaPlayer(mp) }
323+
}
324+
}
325+
}
326+
320327
override fun onCompletion(mp: MediaPlayer) {
321328
if (nextMediaPlayer != null) return
322329
val roomId = currentRoomId ?: return

0 commit comments

Comments
 (0)