diff --git a/app/src/main/java/org/schabi/newpipe/VideoInfoItemViewCreator.java b/app/src/main/java/org/schabi/newpipe/VideoInfoItemViewCreator.java index 5bb89e931..9c71a1bde 100644 --- a/app/src/main/java/org/schabi/newpipe/VideoInfoItemViewCreator.java +++ b/app/src/main/java/org/schabi/newpipe/VideoInfoItemViewCreator.java @@ -1,7 +1,5 @@ package org.schabi.newpipe; -import android.content.Context; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -33,7 +31,7 @@ import com.nostra13.universalimageloader.core.ImageLoader; * along with NewPipe. If not, see . */ -class VideoInfoItemViewCreator { +public class VideoInfoItemViewCreator { private final LayoutInflater inflater; private ImageLoader imageLoader = ImageLoader.getInstance(); private DisplayImageOptions displayImageOptions = new DisplayImageOptions.Builder().cacheInMemory(true).build(); diff --git a/app/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeSearchEngine.java b/app/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeSearchEngine.java index 39cb42d7d..0b0c147fc 100644 --- a/app/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeSearchEngine.java +++ b/app/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeSearchEngine.java @@ -220,7 +220,7 @@ public class YoutubeSearchEngine extends SearchEngine { // -1 for no duration return -1; } else { - throw new ParsingException("Could not get Duration", e); + throw new ParsingException("Could not get Duration: " + getTitle(), e); } @@ -263,7 +263,7 @@ public class YoutubeSearchEngine extends SearchEngine { return -1; } else { throw new ParsingException( - "Could not parse yt-lockup-meta although available", e); + "Could not parse yt-lockup-meta although available: " + getTitle(), e); } } @@ -305,6 +305,14 @@ public class YoutubeSearchEngine extends SearchEngine { private boolean isLiveStream(Element item) { Element bla = item.select("span[class*=\"yt-badge-live\"]").first(); + + if(bla == null) { + // sometimes livestreams dont have badges but sill are live streams + // if video time is not available we most likly have an offline livestream + if(item.select("span[class*=\"video-time\"]").first() == null) { + return true; + } + } return bla != null; } }; diff --git a/app/src/main/res/layout/against_drm_fragment.xml b/app/src/main/res/layout/against_drm_fragment.xml new file mode 100644 index 000000000..be73ca72a --- /dev/null +++ b/app/src/main/res/layout/against_drm_fragment.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file