Skip to content

Commit

Permalink
remove orf dummy urls
Browse files Browse the repository at this point in the history
  • Loading branch information
alex1702 committed Apr 22, 2024
2 parents d2dbf7e + 19c9655 commit 133292c
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 20 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
group = 'de.mediathekview'
archivesBaseName = "MServer"
version = '3.1.230'
version = '3.1.231'

def jarName = 'MServer.jar'
def mainClass = 'mServer.Main'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public class OrfOnEpisodeDeserializer implements JsonDeserializer<OrfOnVideoInfo

private static final String[] TAG_SUBTITLE_SECTION = {"_embedded", "subtitle"};
private static final String TAG_SUBTITLE_TTML = "ttml_url";
private static final String[] PREFERED_CODEC = {"hls", "hds", "streaming", "progressive"};
private static final String[] PREFERED_CODEC = {"hls", "hds", "progressive"};
//
private final OrfHttpClient connection;
//
Expand Down Expand Up @@ -145,22 +145,19 @@ private Optional<Map<Qualities, String>> parseUrl(JsonElement jsonElement) {
return Optional.empty();
}
// We need to fallback to episode.sources in case there are many elements in the playlist
if (videoPath1.get().getAsJsonArray().size() > 1) {
return parseFallbackVideo(jsonElement);
}

Optional<JsonElement> videoPath2 = JsonUtils.getElement(videoPath1.get().getAsJsonArray().get(0), TAG_VIDEO_PATH_2);
if (videoPath2.isEmpty() || !videoPath2.get().isJsonArray()) {
return Optional.empty();
}
for (String key : PREFERED_CODEC) {
Optional<Map<Qualities, String>> resultingVideos = readVideoForTargetCodec(videoPath2.get(), key);
if (resultingVideos.isPresent()) {
return resultingVideos;
if (videoPath1.get().getAsJsonArray().size() == 1) {
Optional<JsonElement> videoPath2 = JsonUtils.getElement(videoPath1.get().getAsJsonArray().get(0), TAG_VIDEO_PATH_2);
if (videoPath2.isEmpty() || !videoPath2.get().isJsonArray()) {
return Optional.empty();
}
for (String key : PREFERED_CODEC) {
Optional<Map<Qualities, String>> resultingVideos = readVideoForTargetCodec(videoPath2.get(), key);
if (resultingVideos.isPresent()) {
return resultingVideos;
}
}
}

return Optional.empty();
return parseFallbackVideo(jsonElement);
}

private Optional<Map<Qualities, String>> parseFallbackVideo(JsonElement root) {
Expand All @@ -172,7 +169,7 @@ private Optional<Map<Qualities, String>> parseFallbackVideo(JsonElement root) {
if (codecs.isPresent() && codecs.get().isJsonArray()) {
for (JsonElement singleVideo : codecs.get().getAsJsonArray()) {
Optional<String> tgtUrl = JsonUtils.getElementValueAsString(singleVideo, TAG_VIDEO_FALLBACK_URL);
if (tgtUrl.isPresent()) {
if (tgtUrl.isPresent() && !tgtUrl.get().contains("/Jugendschutz") && !tgtUrl.get().contains("/no_drm_support") && !tgtUrl.get().contains("/schwarzung")) {
urls.put(Qualities.NORMAL, tgtUrl.get());
return Optional.of(urls);
}
Expand All @@ -190,9 +187,11 @@ private Optional<Map<Qualities, String>> readVideoForTargetCodec(JsonElement url
Optional<String> qualityValue = JsonUtils.getElementValueAsString(videoElement, TAG_VIDEO_QUALITY);
Optional<String> url = JsonUtils.getElementValueAsString(videoElement, TAG_VIDEO_URL);
if (url.isPresent() && codec.isPresent() && qualityValue.isPresent() && targetCodec.equalsIgnoreCase(codec.get()) && OrfOnEpisodeDeserializer.getQuality(qualityValue.get()).isPresent()) {
final Optional<Qualities> quality = OrfOnEpisodeDeserializer.getQuality(qualityValue.get());
if (quality.isPresent()) {
urls.put(quality.get(), url.get());
if (!url.get().contains("/Jugendschutz") && !url.get().contains("/no_drm_support") && !url.get().contains("/schwarzung")) {
final Optional<Qualities> quality = OrfOnEpisodeDeserializer.getQuality(qualityValue.get());
if (quality.isPresent()) {
urls.put(quality.get(), url.get());
}
}
}
}
Expand Down

0 comments on commit 133292c

Please sign in to comment.