Skip to content

Commit 93fe4b3

Browse files
author
sentinelweb
committed
#482 rewrite ids -> LOCAL_NETWORK when serving files out
1 parent 079fc43 commit 93fe4b3

File tree

5 files changed

+22
-13
lines changed

5 files changed

+22
-13
lines changed

hub/src/main/kotlin/uk/co/sentinelweb/cuer/hub/ui/player/vlc/VlcPlayerSwingWindow.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import uk.co.caprica.vlcj.player.base.MediaPlayer
1515
import uk.co.caprica.vlcj.player.base.MediaPlayerEventAdapter
1616
import uk.co.caprica.vlcj.player.base.State
1717
import uk.co.caprica.vlcj.player.component.CallbackMediaPlayerComponent
18-
import uk.co.sentinelweb.cuer.app.orchestrator.OrchestratorContract.Source.REMOTE
18+
import uk.co.sentinelweb.cuer.app.orchestrator.OrchestratorContract.Source.LOCAL_NETWORK
1919
import uk.co.sentinelweb.cuer.app.ui.player.PlayerContract
2020
import uk.co.sentinelweb.cuer.app.ui.player.PlayerContract.PlayerCommand.*
2121
import uk.co.sentinelweb.cuer.app.ui.player.PlayerContract.View.Event.*
@@ -418,7 +418,7 @@ class VlcPlayerSwingWindow(
418418

419419
private fun mapPath(item: PlaylistItemDomain) =
420420
item
421-
.takeIf { it.id != null && it.id?.source == REMOTE && it.id?.locator != null }
421+
.takeIf { it.id != null && it.id?.source == LOCAL_NETWORK && it.id?.locator != null }
422422
?.takeIf { localRepository.localNode.locator() != it.id?.locator }
423423
?.takeIf { it.media.mediaType == FILE }
424424
?.let { it.copy(media = it.media.copy(platformId = "${it.id?.locator?.http()}/video-stream/${it.media.platformId}")) }

remote/src/jvmAndAndroid/kotlin/uk/co/sentinelweb/cuer/remote/server/JvmRemoteWebServer.kt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ import kotlinx.coroutines.withContext
2020
import org.koin.core.component.KoinComponent
2121
import org.koin.core.component.inject
2222
import uk.co.sentinelweb.cuer.app.orchestrator.OrchestratorContract.Source
23-
import uk.co.sentinelweb.cuer.app.orchestrator.OrchestratorContract.Source.LOCAL
24-
import uk.co.sentinelweb.cuer.app.orchestrator.OrchestratorContract.Source.REMOTE
23+
import uk.co.sentinelweb.cuer.app.orchestrator.OrchestratorContract.Source.*
2524
import uk.co.sentinelweb.cuer.app.orchestrator.toGuidIdentifier
2625
import uk.co.sentinelweb.cuer.app.service.remote.RemoteServerContract
2726
import uk.co.sentinelweb.cuer.app.usecase.GetFolderListUseCase
@@ -387,23 +386,23 @@ class JvmRemoteWebServer(
387386
private fun rewriteIdsToRemote(it: PlaylistAndChildrenDomain) = it.copy(
388387
playlist = it.playlist.copy(
389388
id = it.playlist.id?.copy(
390-
source = REMOTE,
389+
source = LOCAL_NETWORK,
391390
locator = localRepository.localNode.locator()
392391
),
393392
items = it.playlist.items.map {
394393
it.copy(
395394
id = it.id?.copy(
396-
source = REMOTE,
395+
source = LOCAL_NETWORK,
397396
locator = localRepository.localNode.locator()
398397
),
399398
media = it.media.copy(
400399
id = it.media.id?.copy(
401-
source = REMOTE,
400+
source = LOCAL_NETWORK,
402401
locator = localRepository.localNode.locator()
403402
),
404403
channelData = it.media.channelData.copy(
405404
id = it.media.channelData.id?.copy(
406-
source = REMOTE,
405+
source = LOCAL_NETWORK,
407406
locator = localRepository.localNode.locator()
408407
)
409408
)

shared/src/commonMain/kotlin/uk/co/sentinelweb/cuer/app/di/SharedAppModule.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ object SharedAppModule {
157157
coProvider = get()
158158
)
159159
}
160-
factory { PlaylistMediaUpdateUsecase(get()) }
160+
factory { PlaylistMediaUpdateUsecase(get(), get()) }
161161
factory {
162162
PlaylistOrDefaultUsecase(
163163
playlistDatabaseRepository = get(),

shared/src/commonMain/kotlin/uk/co/sentinelweb/cuer/app/queue/QueueMediator.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import uk.co.sentinelweb.cuer.app.orchestrator.OrchestratorContract
99
import uk.co.sentinelweb.cuer.app.orchestrator.OrchestratorContract.Companion.NO_PLAYLIST
1010
import uk.co.sentinelweb.cuer.app.orchestrator.OrchestratorContract.Identifier
1111
import uk.co.sentinelweb.cuer.app.orchestrator.OrchestratorContract.Operation.*
12+
import uk.co.sentinelweb.cuer.app.orchestrator.OrchestratorContract.Source.LOCAL
13+
import uk.co.sentinelweb.cuer.app.orchestrator.OrchestratorContract.Source.MEMORY
1214
import uk.co.sentinelweb.cuer.app.orchestrator.deepOptions
1315
import uk.co.sentinelweb.cuer.app.orchestrator.flatOptions
1416
import uk.co.sentinelweb.cuer.app.usecase.PlaylistMediaUpdateUsecase
@@ -236,6 +238,8 @@ class QueueMediator constructor(
236238

237239
private suspend fun updateCurrentItemFromMedia(updatedMedia: MediaDomain) {
238240
state.currentItem = state.currentItem
241+
// todo support local netowrk
242+
?.takeIf { listOf(MEMORY, LOCAL).contains(it.id?.source) }
239243
?.run {
240244
media.let {
241245
MediaPositionUpdateDomain(

shared/src/commonMain/kotlin/uk/co/sentinelweb/cuer/app/usecase/PlaylistMediaUpdateUsecase.kt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,28 @@ package uk.co.sentinelweb.cuer.app.usecase
22

33
import uk.co.sentinelweb.cuer.app.orchestrator.MediaOrchestrator
44
import uk.co.sentinelweb.cuer.app.orchestrator.OrchestratorContract
5-
import uk.co.sentinelweb.cuer.app.orchestrator.OrchestratorContract.Source.LOCAL
6-
import uk.co.sentinelweb.cuer.app.orchestrator.OrchestratorContract.Source.MEMORY
5+
import uk.co.sentinelweb.cuer.app.orchestrator.OrchestratorContract.Source.*
6+
import uk.co.sentinelweb.cuer.core.wrapper.LogWrapper
77
import uk.co.sentinelweb.cuer.domain.MediaDomain
88
import uk.co.sentinelweb.cuer.domain.PlaylistDomain
99
import uk.co.sentinelweb.cuer.domain.update.UpdateDomain
1010

1111
class PlaylistMediaUpdateUsecase(
12-
private val mediaOrchestrator: MediaOrchestrator
12+
private val mediaOrchestrator: MediaOrchestrator,
13+
private val log:LogWrapper
1314
) {
15+
init {
16+
log.tag(this)
17+
}
18+
1419
suspend fun updateMedia(
1520
playlist: PlaylistDomain,
1621
update: UpdateDomain<MediaDomain>,
1722
options: OrchestratorContract.Options
1823
): MediaDomain =
1924
when (options.source) {
2025
LOCAL, MEMORY -> mediaOrchestrator.update(update, options)
26+
//LOCAL_NETWORK -> // todo update remote
2127
else -> throw UnsupportedOperationException("Media update not supported for ${options.source}")
2228
}
23-
}
29+
}

0 commit comments

Comments
 (0)