Skip to content

Commit 7db8212

Browse files
committed
feat: add support for using local NewPipe Extractor
1 parent 1dabd07 commit 7db8212

19 files changed

Lines changed: 559 additions & 225 deletions
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.github.libretube.api
2+
3+
class LocalStreamsExtractionPipedMediaServiceRepository: PipedMediaServiceRepository() {
4+
private val newPipeDelegate = NewPipeMediaServiceRepository()
5+
6+
override suspend fun getStreams(videoId: String) = newPipeDelegate.getStreams(videoId)
7+
}

app/src/main/java/com/github/libretube/api/MediaServiceRepository.kt

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,27 @@ import com.github.libretube.api.obj.SearchResult
99
import com.github.libretube.api.obj.SegmentData
1010
import com.github.libretube.api.obj.StreamItem
1111
import com.github.libretube.api.obj.Streams
12+
import com.github.libretube.helpers.PlayerHelper
1213

1314
interface MediaServiceRepository {
1415
suspend fun getTrending(region: String): List<StreamItem>
1516
suspend fun getStreams(videoId: String): Streams
1617
suspend fun getComments(videoId: String): CommentsPage
17-
suspend fun getSegments(videoId: String, category: String, actionType: String? = null): SegmentData
18+
suspend fun getSegments(
19+
videoId: String,
20+
category: String,
21+
actionType: String? = null
22+
): SegmentData
23+
1824
suspend fun getDeArrowContent(videoIds: String): Map<String, DeArrowContent>
1925
suspend fun getCommentsNextPage(videoId: String, nextPage: String): CommentsPage
2026
suspend fun getSearchResults(searchQuery: String, filter: String): SearchResult
21-
suspend fun getSearchResultsNextPage(searchQuery: String, filter: String, nextPage: String): SearchResult
27+
suspend fun getSearchResultsNextPage(
28+
searchQuery: String,
29+
filter: String,
30+
nextPage: String
31+
): SearchResult
32+
2233
suspend fun getSuggestions(query: String): List<String>
2334
suspend fun getChannel(channelId: String): Channel
2435
suspend fun getChannelTab(data: String, nextPage: String? = null): ChannelTabResponse
@@ -29,7 +40,12 @@ interface MediaServiceRepository {
2940

3041
companion object {
3142
val instance by lazy {
32-
PipedMediaServiceRepository()
43+
if (PlayerHelper.disablePipedProxy && PlayerHelper.localStreamExtraction) {
44+
// TODO: LocalStreamsExtractionPipedMediaServiceRepository()
45+
NewPipeMediaServiceRepository()
46+
} else {
47+
PipedMediaServiceRepository()
48+
}
3349
}
3450
}
3551
}

0 commit comments

Comments
 (0)