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. * transcoding fallback fields once when direct playback fails.
*/ */
data class PlaybackMediaItemTag( data class PlaybackMediaItemTag(
val playbackReportContext: PlaybackReportContext?, val playbackReportContext: PlaybackReportContext,
val transcodingFallbackUrl: String?, val transcodingFallbackUrl: String?,
val transcodingFallbackReportContext: PlaybackReportContext?,
) )

View File

@@ -11,6 +11,7 @@ import androidx.media3.exoplayer.ExoPlayer
import dagger.hilt.android.scopes.ViewModelScoped import dagger.hilt.android.scopes.ViewModelScoped
import hu.bbara.purefin.core.data.PlayableMediaRepository import hu.bbara.purefin.core.data.PlayableMediaRepository
import hu.bbara.purefin.core.data.PlaybackMediaItemTag 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.PlaybackReportContext
import hu.bbara.purefin.core.player.model.MetadataState import hu.bbara.purefin.core.player.model.MetadataState
import hu.bbara.purefin.core.player.model.PlaybackProgressSnapshot import hu.bbara.purefin.core.player.model.PlaybackProgressSnapshot
@@ -509,10 +510,10 @@ class PlayerManager @Inject constructor(
.setUri(fallbackUrl) .setUri(fallbackUrl)
.setTag( .setTag(
playbackTag.copy( playbackTag.copy(
playbackReportContext = playbackTag.transcodingFallbackReportContext playbackReportContext = playbackTag.playbackReportContext.copy(
?: playbackTag.playbackReportContext, playMethod = PlaybackMethod.TRANSCODE
),
transcodingFallbackUrl = null, transcodingFallbackUrl = null,
transcodingFallbackReportContext = null,
) )
) )
.build() .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.NetworkMonitor
import hu.bbara.purefin.core.data.PlayableMediaRepository import hu.bbara.purefin.core.data.PlayableMediaRepository
import hu.bbara.purefin.core.data.PlaybackMediaItemTag 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.PlaybackReportContext
import hu.bbara.purefin.core.data.UserSessionRepository import hu.bbara.purefin.core.data.UserSessionRepository
import hu.bbara.purefin.core.download.MediaDownloadController import hu.bbara.purefin.core.download.MediaDownloadController
@@ -267,9 +266,6 @@ class DefaultPlayableMediaRepository @Inject constructor(
return PlaybackMediaItemTag( return PlaybackMediaItemTag(
playbackReportContext = playbackReportContext, playbackReportContext = playbackReportContext,
transcodingFallbackUrl = transcodingUrl, transcodingFallbackUrl = transcodingUrl,
transcodingFallbackReportContext = transcodingUrl?.let {
playbackReportContext.copy(playMethod = PlaybackMethod.TRANSCODE)
},
) )
} }