Skip to content

Commit 935084d

Browse files
committed
Neue url und extra Logic für weltweit beim WDR hinzugefügt.
2 parents bcb3fb0 + 527d8c4 commit 935084d

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ apply from: "${project.rootDir}/gradle/eclipse.gradle"
1515
sourceCompatibility = 1.8
1616
targetCompatibility = 1.8
1717
group = 'de.mediathekview'
18-
version = '3.1.11'
18+
version = '3.1.12'
1919

2020
def jarName = 'MServer.jar'
2121
def mainClass = 'mServer.Main'

src/main/java/mServer/tool/M3U8Utils.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,13 @@
1313
* A class with some Utils to work with M3U8 urls.
1414
*/
1515
public class M3U8Utils {
16-
public static final String M3U8_WDR_URL_BEGIN = "http://adaptiv.wdr.de/i/medp/";
16+
public static final String M3U8_WDR_URL_BEGIN = "adaptiv.wdr.de/i/medp/";
17+
public static final String M3U8_WDR_URL_ALTERNATIV_BEGIN = "wdradaptiv-vh.akamaihd.net/i/medp/";
1718
private static final String REGEX_FIRST_USELESS_COMMA = "^,";
1819
private static final String M3U8_WDR_QUALITIES_USELESS_END = ",.mp4.csmil";
20+
private static final String REGION_WELTWEIT = "weltweit";
21+
private static final String REGION_WELTWEIT_DOMAIN = "ww";
22+
private static final String REGEX_ALL_BEFORE_PATTERN = ".*";
1923
public static final String WDR_MP4_URL_PATTERN = "http://ondemand-%s.wdr.de/medp/%s/%s/%s/%s.mp4";
2024

2125
private M3U8Utils() {
@@ -35,8 +39,8 @@ private M3U8Utils() {
3539
*/
3640
public static Map<Qualities, String> gatherUrlsFromWdrM3U8(String aWDRM3U8Url) {
3741
Map<Qualities, String> urlAndQualities = new EnumMap<>(Qualities.class);
38-
if (aWDRM3U8Url.startsWith(M3U8_WDR_URL_BEGIN)) {
39-
String m3u8Url = aWDRM3U8Url.replace(M3U8_WDR_URL_BEGIN, "");
42+
if (aWDRM3U8Url.contains(M3U8_WDR_URL_BEGIN) || aWDRM3U8Url.contains(M3U8_WDR_URL_ALTERNATIV_BEGIN)) {
43+
String m3u8Url = aWDRM3U8Url.replaceAll(REGEX_ALL_BEFORE_PATTERN+M3U8_WDR_URL_BEGIN, "").replaceAll(REGEX_ALL_BEFORE_PATTERN+M3U8_WDR_URL_ALTERNATIV_BEGIN, "");
4044
urlAndQualities.putAll(convertM3U8Url(m3u8Url));
4145
}
4246
return urlAndQualities;
@@ -47,6 +51,10 @@ public static Map<Qualities, String> gatherUrlsFromWdrM3U8(String aWDRM3U8Url) {
4751
String[] splittedM3U8Url = StringUtils.split(m3u8Url, '/');
4852
if (splittedM3U8Url.length >= 6) {
4953
String region = splittedM3U8Url[0];
54+
if(REGION_WELTWEIT.equals(region))
55+
{
56+
region = REGION_WELTWEIT_DOMAIN;
57+
}
5058
String fsk = splittedM3U8Url[1];
5159
String unkownNumber = splittedM3U8Url[2];
5260
String videoId = splittedM3U8Url[3];

0 commit comments

Comments
 (0)