1313 * A class with some Utils to work with M3U8 urls.
1414 */
1515public 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