mirror of
https://github.com/bbara04/Purefin.git
synced 2026-07-23 19:26:50 +00:00
refactor(playback): simplify transcoding fallback state
This commit is contained in:
@@ -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?,
|
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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)
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user