refactor(playback): simplify transcoding fallback state

This commit is contained in:
2026-06-01 19:37:04 +00:00
parent 670e937566
commit 0011f3842a
3 changed files with 5 additions and 9 deletions

View File

@@ -7,7 +7,6 @@ package hu.bbara.purefin.core.data
* transcoding fallback fields once when direct playback fails.
*/
data class PlaybackMediaItemTag(
val playbackReportContext: PlaybackReportContext?,
val playbackReportContext: PlaybackReportContext,
val transcodingFallbackUrl: String?,
val transcodingFallbackReportContext: PlaybackReportContext?,
)

View File

@@ -11,6 +11,7 @@ import androidx.media3.exoplayer.ExoPlayer
import dagger.hilt.android.scopes.ViewModelScoped
import hu.bbara.purefin.core.data.PlayableMediaRepository
import hu.bbara.purefin.core.data.PlaybackMediaItemTag
import hu.bbara.purefin.core.data.PlaybackMethod
import hu.bbara.purefin.core.data.PlaybackReportContext
import hu.bbara.purefin.core.player.model.MetadataState
import hu.bbara.purefin.core.player.model.PlaybackProgressSnapshot
@@ -509,10 +510,10 @@ class PlayerManager @Inject constructor(
.setUri(fallbackUrl)
.setTag(
playbackTag.copy(
playbackReportContext = playbackTag.transcodingFallbackReportContext
?: playbackTag.playbackReportContext,
playbackReportContext = playbackTag.playbackReportContext.copy(
playMethod = PlaybackMethod.TRANSCODE
),
transcodingFallbackUrl = null,
transcodingFallbackReportContext = null,
)
)
.build()

View File

@@ -10,7 +10,6 @@ import hu.bbara.purefin.core.data.LocalMediaRepository
import hu.bbara.purefin.core.data.NetworkMonitor
import hu.bbara.purefin.core.data.PlayableMediaRepository
import hu.bbara.purefin.core.data.PlaybackMediaItemTag
import hu.bbara.purefin.core.data.PlaybackMethod
import hu.bbara.purefin.core.data.PlaybackReportContext
import hu.bbara.purefin.core.data.UserSessionRepository
import hu.bbara.purefin.core.download.MediaDownloadController
@@ -267,9 +266,6 @@ class DefaultPlayableMediaRepository @Inject constructor(
return PlaybackMediaItemTag(
playbackReportContext = playbackReportContext,
transcodingFallbackUrl = transcodingUrl,
transcodingFallbackReportContext = transcodingUrl?.let {
playbackReportContext.copy(playMethod = PlaybackMethod.TRANSCODE)
},
)
}