mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 07:13:00 +00:00 
			
		
		
		
	clean up extractor
This commit is contained in:
		| @@ -8,7 +8,7 @@ import org.schabi.newpipe.extractor.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.ParsingException; | ||||
| import org.schabi.newpipe.extractor.NewPipe; | ||||
| import org.schabi.newpipe.extractor.StreamExtractor; | ||||
| import org.schabi.newpipe.extractor.VideoStream; | ||||
| import org.schabi.newpipe.extractor.stream_info.VideoStream; | ||||
|  | ||||
| import java.io.IOException; | ||||
|  | ||||
|   | ||||
| @@ -7,7 +7,7 @@ import org.schabi.newpipe.extractor.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.NewPipe; | ||||
| import org.schabi.newpipe.extractor.ParsingException; | ||||
| import org.schabi.newpipe.extractor.StreamExtractor; | ||||
| import org.schabi.newpipe.extractor.VideoStream; | ||||
| import org.schabi.newpipe.extractor.stream_info.VideoStream; | ||||
|  | ||||
| import java.io.IOException; | ||||
|  | ||||
|   | ||||
| @@ -20,12 +20,12 @@ import com.nostra13.universalimageloader.core.ImageLoader; | ||||
|  | ||||
| import org.schabi.newpipe.detail.VideoItemDetailActivity; | ||||
| import org.schabi.newpipe.detail.VideoItemDetailFragment; | ||||
| import org.schabi.newpipe.extractor.ChannelExtractor; | ||||
| import org.schabi.newpipe.extractor.ChannelInfo; | ||||
| import org.schabi.newpipe.extractor.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.NewPipe; | ||||
| import org.schabi.newpipe.extractor.ParsingException; | ||||
| import org.schabi.newpipe.extractor.StreamingService; | ||||
| import org.schabi.newpipe.extractor.channel.ChannelExtractor; | ||||
| import org.schabi.newpipe.extractor.channel.ChannelInfo; | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
| import org.schabi.newpipe.info_list.InfoItemBuilder; | ||||
| import org.schabi.newpipe.info_list.InfoListAdapter; | ||||
| import org.schabi.newpipe.report.ErrorActivity; | ||||
| @@ -192,7 +192,7 @@ public class ChannelActivity extends AppCompatActivity { | ||||
|                     ChannelExtractor extractor = service.getChannelExtractorInstance( | ||||
|                             channelUrl, pageNumber); | ||||
|  | ||||
|                     final ChannelInfo info = ChannelInfo.getInfo(extractor, new Downloader()); | ||||
|                     final ChannelInfo info = ChannelInfo.getInfo(extractor); | ||||
|  | ||||
|  | ||||
|                     h.post(new Runnable() { | ||||
|   | ||||
| @@ -14,7 +14,7 @@ import android.widget.ArrayAdapter; | ||||
| import org.schabi.newpipe.R; | ||||
| import org.schabi.newpipe.settings.SettingsActivity; | ||||
| import org.schabi.newpipe.extractor.MediaFormat; | ||||
| import org.schabi.newpipe.extractor.VideoStream; | ||||
| import org.schabi.newpipe.extractor.stream_info.VideoStream; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
|   | ||||
| @@ -6,19 +6,35 @@ import android.util.Log; | ||||
| import android.view.View; | ||||
|  | ||||
| import org.schabi.newpipe.Downloader; | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamExtractor; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamInfo; | ||||
| import org.schabi.newpipe.report.ErrorActivity; | ||||
| import org.schabi.newpipe.R; | ||||
| import org.schabi.newpipe.extractor.ParsingException; | ||||
| import org.schabi.newpipe.extractor.NewPipe; | ||||
| import org.schabi.newpipe.extractor.StreamExtractor; | ||||
| import org.schabi.newpipe.extractor.StreamInfo; | ||||
| import org.schabi.newpipe.extractor.StreamingService; | ||||
| import org.schabi.newpipe.extractor.services.youtube.YoutubeStreamExtractor; | ||||
|  | ||||
| import java.io.IOException; | ||||
|  | ||||
| /** | ||||
|  * Created by the-scrabi on 02.08.16. | ||||
|  * Created by Christian Schabesberger on 02.08.16. | ||||
|  * | ||||
|  * Copyright (C) Christian Schabesberger 2016 <chris.schabesberger@mailbox.org> | ||||
|  * StreamInfoWorker.java is part of NewPipe. | ||||
|  * | ||||
|  * NewPipe is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
|  * the Free Software Foundation, either version 3 of the License, or | ||||
|  * (at your option) any later version. | ||||
|  * | ||||
|  * NewPipe is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  * GNU General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU General Public License | ||||
|  * along with NewPipe.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| public class StreamInfoWorker { | ||||
| @@ -61,7 +77,7 @@ public class StreamInfoWorker { | ||||
|             } | ||||
|             try { | ||||
|                 streamExtractor = service.getExtractorInstance(videoUrl); | ||||
|                 streamInfo = StreamInfo.getVideoInfo(streamExtractor, new Downloader()); | ||||
|                 streamInfo = StreamInfo.getVideoInfo(streamExtractor); | ||||
|  | ||||
|                 final StreamInfo info = streamInfo; | ||||
|                 h.post(new Runnable() { | ||||
|   | ||||
| @@ -43,18 +43,18 @@ import java.util.Vector; | ||||
|  | ||||
| import org.schabi.newpipe.ActivityCommunicator; | ||||
| import org.schabi.newpipe.ChannelActivity; | ||||
| import org.schabi.newpipe.extractor.StreamPreviewInfo; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamInfo; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamPreviewInfo; | ||||
| import org.schabi.newpipe.info_list.InfoItemBuilder; | ||||
| import org.schabi.newpipe.report.ErrorActivity; | ||||
| import org.schabi.newpipe.ImageErrorLoadingListener; | ||||
| import org.schabi.newpipe.Localization; | ||||
| import org.schabi.newpipe.R; | ||||
| import org.schabi.newpipe.download.DownloadDialog; | ||||
| import org.schabi.newpipe.extractor.AudioStream; | ||||
| import org.schabi.newpipe.extractor.stream_info.AudioStream; | ||||
| import org.schabi.newpipe.extractor.MediaFormat; | ||||
| import org.schabi.newpipe.extractor.NewPipe; | ||||
| import org.schabi.newpipe.extractor.StreamInfo; | ||||
| import org.schabi.newpipe.extractor.VideoStream; | ||||
| import org.schabi.newpipe.extractor.stream_info.VideoStream; | ||||
| import org.schabi.newpipe.player.BackgroundPlayer; | ||||
| import org.schabi.newpipe.player.PlayVideoActivity; | ||||
| import org.schabi.newpipe.player.ExoPlayerActivity; | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| 
 | ||||
| /** | ||||
|  * Copyright (C) Christian Schabesberger 2015 <chris.schabesberger@mailbox.org> | ||||
|  * AbstractVideoInfo.java is part of NewPipe. | ||||
|  * Copyright (C) Christian Schabesberger 2016 <chris.schabesberger@mailbox.org> | ||||
|  * AbstractStreamInfo.java is part of NewPipe. | ||||
|  * | ||||
|  * NewPipe is free software: you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License as published by | ||||
| @@ -19,7 +19,7 @@ package org.schabi.newpipe.extractor; | ||||
|  */ | ||||
| 
 | ||||
| /**Common properties between StreamInfo and StreamPreviewInfo.*/ | ||||
| public abstract class AbstractVideoInfo { | ||||
| public abstract class AbstractStreamInfo { | ||||
|     public static enum StreamType { | ||||
|         NONE,   // placeholder to check if stream type was checked or not | ||||
|         VIDEO_STREAM, | ||||
| @@ -2,6 +2,8 @@ package org.schabi.newpipe.extractor; | ||||
|  | ||||
| import android.util.Xml; | ||||
|  | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
| import org.schabi.newpipe.extractor.stream_info.AudioStream; | ||||
| import org.xmlpull.v1.XmlPullParser; | ||||
|  | ||||
| import java.io.IOException; | ||||
| @@ -40,10 +42,10 @@ public class DashMpdParser { | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public static List<AudioStream> getAudioStreams(String dashManifestUrl, | ||||
|                                                              Downloader downloader) | ||||
|     public static List<AudioStream> getAudioStreams(String dashManifestUrl) | ||||
|             throws DashMpdParsingException { | ||||
|         String dashDoc; | ||||
|         Downloader downloader = NewPipe.getDownloader(); | ||||
|         try { | ||||
|             dashDoc = downloader.download(dashManifestUrl); | ||||
|         } catch(IOException ioe) { | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
|  | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.services.youtube.YoutubeService; | ||||
|  | ||||
| /** | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
|  | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
|  | ||||
| import java.io.UnsupportedEncodingException; | ||||
| import java.net.URLDecoder; | ||||
| import java.util.HashMap; | ||||
|   | ||||
| @@ -1,5 +1,11 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
|  | ||||
| import org.schabi.newpipe.extractor.channel.ChannelExtractor; | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.search.SearchEngine; | ||||
| import org.schabi.newpipe.extractor.search.SuggestionExtractor; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamExtractor; | ||||
|  | ||||
| import java.io.IOException; | ||||
|  | ||||
| /** | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
|  | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
|  | ||||
| /** | ||||
|  * Created by Christian Schabesberger on 26.07.16. | ||||
|  * | ||||
|   | ||||
| @@ -1,4 +1,9 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| package org.schabi.newpipe.extractor.channel; | ||||
| 
 | ||||
| import org.schabi.newpipe.extractor.UrlIdHandler; | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamPreviewInfoCollector; | ||||
| 
 | ||||
| import java.io.IOException; | ||||
| 
 | ||||
| @@ -1,4 +1,8 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| package org.schabi.newpipe.extractor.channel; | ||||
| 
 | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamPreviewInfo; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamPreviewInfoCollector; | ||||
| 
 | ||||
| import java.util.List; | ||||
| import java.util.Vector; | ||||
| @@ -30,7 +34,7 @@ public class ChannelInfo { | ||||
|         errors.add(e); | ||||
|     } | ||||
| 
 | ||||
|     public static ChannelInfo getInfo(ChannelExtractor extractor, Downloader dl) | ||||
|     public static ChannelInfo getInfo(ChannelExtractor extractor) | ||||
|         throws ParsingException { | ||||
|         ChannelInfo info = new ChannelInfo(); | ||||
| 
 | ||||
| @@ -1,4 +1,4 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| package org.schabi.newpipe.extractor.exceptions; | ||||
| 
 | ||||
| /** | ||||
|  * Created by Christian Schabesberger on 30.01.16. | ||||
| @@ -1,4 +1,4 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| package org.schabi.newpipe.extractor.exceptions; | ||||
| 
 | ||||
| /** | ||||
|  * Created by Christian Schabesberger on 12.09.16. | ||||
| @@ -1,4 +1,4 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| package org.schabi.newpipe.extractor.exceptions; | ||||
| 
 | ||||
| /** | ||||
|  * Created by Christian Schabesberger on 31.01.16. | ||||
| @@ -1,4 +1,7 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| package org.schabi.newpipe.extractor.search; | ||||
| 
 | ||||
| import org.schabi.newpipe.extractor.UrlIdHandler; | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| 
 | ||||
| import java.io.IOException; | ||||
| import java.util.List; | ||||
| @@ -1,4 +1,7 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| package org.schabi.newpipe.extractor.search; | ||||
| 
 | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamPreviewInfo; | ||||
| 
 | ||||
| import java.io.IOException; | ||||
| import java.util.List; | ||||
| @@ -1,4 +1,7 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| package org.schabi.newpipe.extractor.search; | ||||
| 
 | ||||
| import org.schabi.newpipe.extractor.UrlIdHandler; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamPreviewInfoCollector; | ||||
| 
 | ||||
| /** | ||||
|  * Created by Christian Schabesberger on 11.05.16. | ||||
| @@ -1,4 +1,6 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| package org.schabi.newpipe.extractor.search; | ||||
| 
 | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| 
 | ||||
| import java.io.IOException; | ||||
| import java.util.List; | ||||
| @@ -7,16 +7,16 @@ import org.json.JSONObject; | ||||
| import org.jsoup.Jsoup; | ||||
| import org.jsoup.nodes.Document; | ||||
| import org.jsoup.nodes.Element; | ||||
| import org.schabi.newpipe.extractor.AbstractVideoInfo; | ||||
| import org.schabi.newpipe.extractor.ChannelExtractor; | ||||
| import org.schabi.newpipe.extractor.AbstractStreamInfo; | ||||
| import org.schabi.newpipe.extractor.Downloader; | ||||
| import org.schabi.newpipe.extractor.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.NewPipe; | ||||
| import org.schabi.newpipe.extractor.Parser; | ||||
| import org.schabi.newpipe.extractor.ParsingException; | ||||
| import org.schabi.newpipe.extractor.StreamPreviewInfoCollector; | ||||
| import org.schabi.newpipe.extractor.StreamPreviewInfoExtractor; | ||||
| import org.schabi.newpipe.extractor.UrlIdHandler; | ||||
| import org.schabi.newpipe.extractor.channel.ChannelExtractor; | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamPreviewInfoCollector; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamPreviewInfoExtractor; | ||||
|  | ||||
|  | ||||
| import java.io.IOException; | ||||
| @@ -163,8 +163,8 @@ public class YoutubeChannelExtractor extends ChannelExtractor { | ||||
|             if (li.select("div[class=\"feed-item-dismissable\"]").first() != null) { | ||||
|                 collector.commit(new StreamPreviewInfoExtractor() { | ||||
|                     @Override | ||||
|                     public AbstractVideoInfo.StreamType getStreamType() throws ParsingException { | ||||
|                         return AbstractVideoInfo.StreamType.VIDEO_STREAM; | ||||
|                     public AbstractStreamInfo.StreamType getStreamType() throws ParsingException { | ||||
|                         return AbstractStreamInfo.StreamType.VIDEO_STREAM; | ||||
|                     } | ||||
|  | ||||
|                     @Override | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| package org.schabi.newpipe.extractor.services.youtube; | ||||
|  | ||||
| import org.schabi.newpipe.extractor.Parser; | ||||
| import org.schabi.newpipe.extractor.ParsingException; | ||||
| import org.schabi.newpipe.extractor.UrlIdHandler; | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
|  | ||||
| /** | ||||
|  * Created by Christian Schabesberger on 25.07.16. | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| package org.schabi.newpipe.extractor.services.youtube; | ||||
|  | ||||
| import org.schabi.newpipe.extractor.ParsingException; | ||||
|  | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
|  | ||||
| /** | ||||
|  * Created by Christian Schabesberger on 02.03.16. | ||||
|   | ||||
| @@ -4,27 +4,16 @@ import org.jsoup.Jsoup; | ||||
| import org.jsoup.nodes.Document; | ||||
| import org.jsoup.nodes.Element; | ||||
| import org.schabi.newpipe.extractor.Downloader; | ||||
| import org.schabi.newpipe.extractor.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.NewPipe; | ||||
| import org.schabi.newpipe.extractor.ParsingException; | ||||
| import org.schabi.newpipe.extractor.SearchEngine; | ||||
| import org.schabi.newpipe.extractor.StreamPreviewInfoExtractor; | ||||
| import org.schabi.newpipe.extractor.StreamPreviewInfoSearchCollector; | ||||
| import org.schabi.newpipe.extractor.UrlIdHandler; | ||||
| import org.w3c.dom.Node; | ||||
| import org.w3c.dom.NodeList; | ||||
| import org.xml.sax.InputSource; | ||||
| import org.xml.sax.SAXException; | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.search.SearchEngine; | ||||
| import org.schabi.newpipe.extractor.search.StreamPreviewInfoSearchCollector; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamPreviewInfoExtractor; | ||||
|  | ||||
| import java.net.URLEncoder; | ||||
| import java.io.ByteArrayInputStream; | ||||
| import java.io.IOException; | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| import javax.xml.parsers.DocumentBuilder; | ||||
| import javax.xml.parsers.DocumentBuilderFactory; | ||||
| import javax.xml.parsers.ParserConfigurationException; | ||||
|  | ||||
| /** | ||||
|  * Created by Christian Schabesberger on 09.08.15. | ||||
|   | ||||
| @@ -1,13 +1,12 @@ | ||||
| package org.schabi.newpipe.extractor.services.youtube; | ||||
|  | ||||
| import org.schabi.newpipe.extractor.ChannelExtractor; | ||||
| import org.schabi.newpipe.extractor.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.Downloader; | ||||
| import org.schabi.newpipe.extractor.StreamExtractor; | ||||
| import org.schabi.newpipe.extractor.StreamingService; | ||||
| import org.schabi.newpipe.extractor.SuggestionExtractor; | ||||
| import org.schabi.newpipe.extractor.UrlIdHandler; | ||||
| import org.schabi.newpipe.extractor.SearchEngine; | ||||
| import org.schabi.newpipe.extractor.channel.ChannelExtractor; | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.search.SearchEngine; | ||||
| import org.schabi.newpipe.extractor.search.SuggestionExtractor; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamExtractor; | ||||
|  | ||||
| import java.io.IOException; | ||||
|  | ||||
|   | ||||
| @@ -8,20 +8,20 @@ import org.jsoup.nodes.Element; | ||||
| import org.mozilla.javascript.Context; | ||||
| import org.mozilla.javascript.Function; | ||||
| import org.mozilla.javascript.ScriptableObject; | ||||
| import org.schabi.newpipe.extractor.AbstractVideoInfo; | ||||
| import org.schabi.newpipe.extractor.AudioStream; | ||||
| import org.schabi.newpipe.extractor.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.AbstractStreamInfo; | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
| import org.schabi.newpipe.extractor.stream_info.AudioStream; | ||||
| import org.schabi.newpipe.extractor.Downloader; | ||||
| import org.schabi.newpipe.extractor.NewPipe; | ||||
| import org.schabi.newpipe.extractor.Parser; | ||||
| import org.schabi.newpipe.extractor.ParsingException; | ||||
| import org.schabi.newpipe.extractor.StreamInfo; | ||||
| import org.schabi.newpipe.extractor.StreamPreviewInfoCollector; | ||||
| import org.schabi.newpipe.extractor.StreamPreviewInfoExtractor; | ||||
| import org.schabi.newpipe.extractor.UrlIdHandler; | ||||
| import org.schabi.newpipe.extractor.StreamExtractor; | ||||
| import org.schabi.newpipe.extractor.MediaFormat; | ||||
| import org.schabi.newpipe.extractor.VideoStream; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamExtractor; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamInfo; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamPreviewInfoCollector; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamPreviewInfoExtractor; | ||||
| import org.schabi.newpipe.extractor.stream_info.VideoStream; | ||||
|  | ||||
| import java.io.IOException; | ||||
| import java.util.List; | ||||
| @@ -709,7 +709,7 @@ public class YoutubeStreamExtractor extends StreamExtractor { | ||||
|     private StreamPreviewInfoExtractor extractVideoPreviewInfo(final Element li) { | ||||
|         return new StreamPreviewInfoExtractor() { | ||||
|             @Override | ||||
|             public AbstractVideoInfo.StreamType getStreamType() throws ParsingException { | ||||
|             public AbstractStreamInfo.StreamType getStreamType() throws ParsingException { | ||||
|                 return null; | ||||
|             } | ||||
|  | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| package org.schabi.newpipe.extractor.services.youtube; | ||||
|  | ||||
| import org.jsoup.nodes.Element; | ||||
| import org.schabi.newpipe.extractor.AbstractVideoInfo; | ||||
| import org.schabi.newpipe.extractor.AbstractStreamInfo; | ||||
| import org.schabi.newpipe.extractor.Parser; | ||||
| import org.schabi.newpipe.extractor.ParsingException; | ||||
| import org.schabi.newpipe.extractor.StreamPreviewInfoExtractor; | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamPreviewInfoExtractor; | ||||
|  | ||||
| /** | ||||
|  * Copyright (C) Christian Schabesberger 2016 <chris.schabesberger@mailbox.org> | ||||
| @@ -146,11 +146,11 @@ public class YoutubeStreamPreviewInfoExtractor implements StreamPreviewInfoExtra | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public AbstractVideoInfo.StreamType getStreamType() { | ||||
|     public AbstractStreamInfo.StreamType getStreamType() { | ||||
|         if(isLiveStream(item)) { | ||||
|             return AbstractVideoInfo.StreamType.LIVE_STREAM; | ||||
|             return AbstractStreamInfo.StreamType.LIVE_STREAM; | ||||
|         } else { | ||||
|             return AbstractVideoInfo.StreamType.VIDEO_STREAM; | ||||
|             return AbstractStreamInfo.StreamType.VIDEO_STREAM; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| package org.schabi.newpipe.extractor.services.youtube; | ||||
|  | ||||
| import org.schabi.newpipe.extractor.FoundAdException; | ||||
| import org.schabi.newpipe.extractor.Parser; | ||||
| import org.schabi.newpipe.extractor.ParsingException; | ||||
| import org.schabi.newpipe.extractor.UrlIdHandler; | ||||
| import org.schabi.newpipe.extractor.exceptions.FoundAdException; | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
|  | ||||
| import java.io.UnsupportedEncodingException; | ||||
| import java.net.URLDecoder; | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| package org.schabi.newpipe.extractor.services.youtube; | ||||
|  | ||||
| import org.schabi.newpipe.extractor.Downloader; | ||||
| import org.schabi.newpipe.extractor.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.NewPipe; | ||||
| import org.schabi.newpipe.extractor.ParsingException; | ||||
| import org.schabi.newpipe.extractor.SuggestionExtractor; | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
| import org.schabi.newpipe.extractor.search.SuggestionExtractor; | ||||
| import org.w3c.dom.Node; | ||||
| import org.w3c.dom.NodeList; | ||||
| import org.xml.sax.InputSource; | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| package org.schabi.newpipe.extractor.stream_info; | ||||
| 
 | ||||
| /** | ||||
|  * Created by Christian Schabesberger on 04.03.16. | ||||
| @@ -1,4 +1,4 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| package org.schabi.newpipe.extractor.stream_info; | ||||
| 
 | ||||
| /** | ||||
|  * Created by Christian Schabesberger on 10.08.15. | ||||
| @@ -20,6 +20,10 @@ package org.schabi.newpipe.extractor; | ||||
|  * along with NewPipe.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| import org.schabi.newpipe.extractor.UrlIdHandler; | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
| 
 | ||||
| import java.util.List; | ||||
| 
 | ||||
| /**Scrapes information from a video streaming service (eg, YouTube).*/ | ||||
| @@ -1,4 +1,9 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| package org.schabi.newpipe.extractor.stream_info; | ||||
| 
 | ||||
| import org.schabi.newpipe.extractor.AbstractStreamInfo; | ||||
| import org.schabi.newpipe.extractor.DashMpdParser; | ||||
| import org.schabi.newpipe.extractor.UrlIdHandler; | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| 
 | ||||
| import java.io.IOException; | ||||
| import java.util.List; | ||||
| @@ -26,7 +31,7 @@ import java.util.Vector; | ||||
| 
 | ||||
| /**Info object for opened videos, ie the video ready to play.*/ | ||||
| @SuppressWarnings("ALL") | ||||
| public class StreamInfo extends AbstractVideoInfo { | ||||
| public class StreamInfo extends AbstractStreamInfo { | ||||
| 
 | ||||
|     public static class StreamExctractException extends ExtractionException { | ||||
|         StreamExctractException(String message) { | ||||
| @@ -39,7 +44,7 @@ public class StreamInfo extends AbstractVideoInfo { | ||||
|     /**Creates a new StreamInfo object from an existing AbstractVideoInfo. | ||||
|      * All the shared properties are copied to the new StreamInfo.*/ | ||||
|     @SuppressWarnings("WeakerAccess") | ||||
|     public StreamInfo(AbstractVideoInfo avi) { | ||||
|     public StreamInfo(AbstractStreamInfo avi) { | ||||
|         this.id = avi.id; | ||||
|         this.title = avi.title; | ||||
|         this.uploader = avi.uploader; | ||||
| @@ -67,19 +72,19 @@ public class StreamInfo extends AbstractVideoInfo { | ||||
| 
 | ||||
|     /**Fills out the video info fields which are common to all services. | ||||
|      * Probably needs to be overridden by subclasses*/ | ||||
|     public static StreamInfo getVideoInfo(StreamExtractor extractor, Downloader downloader) | ||||
|     public static StreamInfo getVideoInfo(StreamExtractor extractor) | ||||
|             throws ExtractionException, IOException { | ||||
|         StreamInfo streamInfo = new StreamInfo(); | ||||
| 
 | ||||
|         streamInfo = extractImportantData(streamInfo, extractor, downloader); | ||||
|         streamInfo = extractStreams(streamInfo, extractor, downloader); | ||||
|         streamInfo = extractOptionalData(streamInfo, extractor, downloader); | ||||
|         streamInfo = extractImportantData(streamInfo, extractor); | ||||
|         streamInfo = extractStreams(streamInfo, extractor); | ||||
|         streamInfo = extractOptionalData(streamInfo, extractor); | ||||
| 
 | ||||
|         return streamInfo; | ||||
|     } | ||||
| 
 | ||||
|     private static StreamInfo extractImportantData( | ||||
|             StreamInfo streamInfo, StreamExtractor extractor, Downloader downloader) | ||||
|             StreamInfo streamInfo, StreamExtractor extractor) | ||||
|             throws ExtractionException, IOException { | ||||
|         /* ---- importand data, withoug the video can't be displayed goes here: ---- */ | ||||
|         // if one of these is not available an exception is ment to be thrown directly into the frontend. | ||||
| @@ -105,7 +110,7 @@ public class StreamInfo extends AbstractVideoInfo { | ||||
|     } | ||||
| 
 | ||||
|     private static StreamInfo extractStreams( | ||||
|             StreamInfo streamInfo, StreamExtractor extractor, Downloader downloader) | ||||
|             StreamInfo streamInfo, StreamExtractor extractor) | ||||
|             throws ExtractionException, IOException { | ||||
|         /* ---- stream extraction goes here ---- */ | ||||
|         // At least one type of stream has to be available, | ||||
| @@ -132,7 +137,7 @@ public class StreamInfo extends AbstractVideoInfo { | ||||
|             // same as the quick and dirty aboth | ||||
|             try { | ||||
|                 streamInfo.audio_streams.addAll( | ||||
|                         DashMpdParser.getAudioStreams(streamInfo.dashMpdUrl, downloader)); | ||||
|                         DashMpdParser.getAudioStreams(streamInfo.dashMpdUrl)); | ||||
|             } catch(Exception e) { | ||||
|                 streamInfo.addException( | ||||
|                         new ExtractionException("Couldn't get audio streams from dash mpd", e)); | ||||
| @@ -166,7 +171,7 @@ public class StreamInfo extends AbstractVideoInfo { | ||||
|     } | ||||
| 
 | ||||
|     private static StreamInfo extractOptionalData( | ||||
|             StreamInfo streamInfo, StreamExtractor extractor, Downloader downloader) { | ||||
|             StreamInfo streamInfo, StreamExtractor extractor) { | ||||
|         /*  ---- optional data goes here: ---- */ | ||||
|         // If one of these failes, the frontend neets to handle that they are not available. | ||||
|         // Exceptions are therfore not thrown into the frontend, but stored into the error List, | ||||
| @@ -1,4 +1,4 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| package org.schabi.newpipe.extractor.stream_info; | ||||
| 
 | ||||
| /** | ||||
|  * Created by Christian Schabesberger on 26.08.15. | ||||
| @@ -20,7 +20,9 @@ package org.schabi.newpipe.extractor; | ||||
|  * along with NewPipe.  If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
| 
 | ||||
| import org.schabi.newpipe.extractor.AbstractStreamInfo; | ||||
| 
 | ||||
| /**Info object for previews of unopened videos, eg search results, related videos*/ | ||||
| public class StreamPreviewInfo extends AbstractVideoInfo { | ||||
| public class StreamPreviewInfo extends AbstractStreamInfo { | ||||
|     public int duration; | ||||
| } | ||||
| @@ -1,5 +1,8 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| package org.schabi.newpipe.extractor.stream_info; | ||||
| 
 | ||||
| import org.schabi.newpipe.extractor.UrlIdHandler; | ||||
| import org.schabi.newpipe.extractor.exceptions.FoundAdException; | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
| import org.schabi.newpipe.extractor.services.youtube.YoutubeStreamUrlIdHandler; | ||||
| 
 | ||||
| import java.util.List; | ||||
| @@ -1,4 +1,7 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| package org.schabi.newpipe.extractor.stream_info; | ||||
| 
 | ||||
| import org.schabi.newpipe.extractor.AbstractStreamInfo; | ||||
| import org.schabi.newpipe.extractor.exceptions.ParsingException; | ||||
| 
 | ||||
| /** | ||||
|  * Created by Christian Schabesberger on 28.02.16. | ||||
| @@ -21,7 +24,7 @@ package org.schabi.newpipe.extractor; | ||||
|  */ | ||||
| 
 | ||||
| public interface StreamPreviewInfoExtractor { | ||||
|     AbstractVideoInfo.StreamType getStreamType() throws ParsingException; | ||||
|     AbstractStreamInfo.StreamType getStreamType() throws ParsingException; | ||||
|     String getWebPageUrl() throws ParsingException; | ||||
|     String getTitle() throws ParsingException; | ||||
|     int getDuration() throws ParsingException; | ||||
| @@ -1,4 +1,4 @@ | ||||
| package org.schabi.newpipe.extractor; | ||||
| package org.schabi.newpipe.extractor.stream_info; | ||||
| 
 | ||||
| /** | ||||
|  * Created by Christian Schabesberger on 04.03.16. | ||||
| @@ -10,8 +10,8 @@ import com.nostra13.universalimageloader.core.ImageLoader; | ||||
|  | ||||
| import org.schabi.newpipe.ImageErrorLoadingListener; | ||||
| import org.schabi.newpipe.R; | ||||
| import org.schabi.newpipe.extractor.AbstractVideoInfo; | ||||
| import org.schabi.newpipe.extractor.StreamPreviewInfo; | ||||
| import org.schabi.newpipe.extractor.AbstractStreamInfo; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamPreviewInfo; | ||||
|  | ||||
| /** | ||||
|  * Created by Christian Schabesberger on 26.09.16. | ||||
| @@ -66,7 +66,7 @@ public class InfoItemBuilder { | ||||
|         if(info.duration > 0) { | ||||
|             holder.itemDurationView.setText(getDurationString(info.duration)); | ||||
|         } else { | ||||
|             if(info.stream_type == AbstractVideoInfo.StreamType.LIVE_STREAM) { | ||||
|             if(info.stream_type == AbstractStreamInfo.StreamType.LIVE_STREAM) { | ||||
|                 holder.itemDurationView.setText(R.string.duration_live); | ||||
|             } else { | ||||
|                 holder.itemDurationView.setVisibility(View.GONE); | ||||
|   | ||||
| @@ -6,13 +6,8 @@ import android.view.LayoutInflater; | ||||
| import android.view.View; | ||||
| import android.view.ViewGroup; | ||||
|  | ||||
| import com.nostra13.universalimageloader.core.DisplayImageOptions; | ||||
| import com.nostra13.universalimageloader.core.ImageLoader; | ||||
|  | ||||
| import org.schabi.newpipe.ImageErrorLoadingListener; | ||||
| import org.schabi.newpipe.R; | ||||
| import org.schabi.newpipe.extractor.AbstractVideoInfo; | ||||
| import org.schabi.newpipe.extractor.StreamPreviewInfo; | ||||
| import org.schabi.newpipe.extractor.stream_info.StreamPreviewInfo; | ||||
|  | ||||
| import java.util.List; | ||||
| import java.util.Vector; | ||||
|   | ||||
| @@ -19,12 +19,12 @@ import android.widget.ProgressBar; | ||||
| import android.widget.Toast; | ||||
|  | ||||
| import org.schabi.newpipe.extractor.NewPipe; | ||||
| import org.schabi.newpipe.extractor.search.SearchResult; | ||||
| import org.schabi.newpipe.info_list.InfoItemBuilder; | ||||
| import org.schabi.newpipe.report.ErrorActivity; | ||||
| import org.schabi.newpipe.R; | ||||
| import org.schabi.newpipe.detail.VideoItemDetailActivity; | ||||
| import org.schabi.newpipe.detail.VideoItemDetailFragment; | ||||
| import org.schabi.newpipe.extractor.SearchResult; | ||||
| import org.schabi.newpipe.info_list.InfoListAdapter; | ||||
|  | ||||
| /** | ||||
|   | ||||
| @@ -7,12 +7,11 @@ import android.preference.PreferenceManager; | ||||
| import android.util.Log; | ||||
| import android.view.View; | ||||
|  | ||||
| import org.schabi.newpipe.Downloader; | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.search.SearchEngine; | ||||
| import org.schabi.newpipe.extractor.search.SearchResult; | ||||
| import org.schabi.newpipe.report.ErrorActivity; | ||||
| import org.schabi.newpipe.R; | ||||
| import org.schabi.newpipe.extractor.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.SearchEngine; | ||||
| import org.schabi.newpipe.extractor.SearchResult; | ||||
| import org.schabi.newpipe.extractor.NewPipe; | ||||
|  | ||||
| import java.io.IOException; | ||||
|   | ||||
| @@ -6,13 +6,11 @@ import android.os.Handler; | ||||
| import android.preference.PreferenceManager; | ||||
| import android.widget.Toast; | ||||
|  | ||||
| import org.schabi.newpipe.Downloader; | ||||
| import org.schabi.newpipe.extractor.NewPipe; | ||||
| import org.schabi.newpipe.extractor.SuggestionExtractor; | ||||
| import org.schabi.newpipe.extractor.exceptions.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.search.SuggestionExtractor; | ||||
| import org.schabi.newpipe.report.ErrorActivity; | ||||
| import org.schabi.newpipe.R; | ||||
| import org.schabi.newpipe.extractor.ExtractionException; | ||||
| import org.schabi.newpipe.extractor.SearchEngine; | ||||
|  | ||||
| import java.io.IOException; | ||||
| import java.util.List; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Christian Schabesberger
					Christian Schabesberger