From 2fc2fa56c30e9985f93f5515adfae16e41ddb0fa Mon Sep 17 00:00:00 2001 From: Adam Howard Date: Sun, 8 Nov 2015 02:22:40 +0000 Subject: [PATCH] refactoring VideoInfo & MediaFormat, part 2: * fixed errors caused by moving media format code to MediaFormat enum --- .../org/schabi/newpipe/ActionBarHandler.java | 16 +++++----- .../{VideoFormat.java => MediaFormat.java} | 10 +++---- .../newpipe/youtube/YoutubeExtractor.java | 30 +++++++++---------- 3 files changed, 28 insertions(+), 28 deletions(-) rename app/src/main/java/org/schabi/newpipe/{VideoFormat.java => MediaFormat.java} (80%) diff --git a/app/src/main/java/org/schabi/newpipe/ActionBarHandler.java b/app/src/main/java/org/schabi/newpipe/ActionBarHandler.java index 5cdecef66..c46a617b6 100644 --- a/app/src/main/java/org/schabi/newpipe/ActionBarHandler.java +++ b/app/src/main/java/org/schabi/newpipe/ActionBarHandler.java @@ -77,7 +77,7 @@ public class ActionBarHandler { int defaultResolutionPos = 0; for(int i = 0; i < videoStreams.length; i++) { - itemArray[i] = VideoInfo.getNameById(videoStreams[i].format) + " " + videoStreams[i].resolution; + itemArray[i] = MediaFormat.getNameById(videoStreams[i].format) + " " + videoStreams[i].resolution; if(defaultResolution.equals(videoStreams[i].resolution)) { defaultResolutionPos = i; } @@ -98,14 +98,14 @@ public class ActionBarHandler { .getString(activity.getString(R.string.defaultAudioFormatPreference), "webm"); if(preferedFormat.equals("webm")) { for(VideoInfo.AudioStream s : audioStreams) { - if(s.format == VideoInfo.I_WEBMA) { + if(s.format == MediaFormat.WEBMA.id) { audioStream = s; } } } else if(preferedFormat.equals("m4a")){ for(VideoInfo.AudioStream s : audioStreams) { - Log.d(TAG, VideoInfo.getMimeById(s.format) + " : " + Integer.toString(s.bandwidth)); - if(s.format == VideoInfo.I_M4A && + Log.d(TAG, MediaFormat.getMimeById(s.format) + " : " + Integer.toString(s.bandwidth)); + if(s.format == MediaFormat.M4A.id && (audioStream == null || audioStream.bandwidth > s.bandwidth)) { audioStream = s; Log.d(TAG, "last choosen"); @@ -196,7 +196,7 @@ public class ActionBarHandler { intent.setAction(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse(videoStreams[selectedStream].url), - VideoInfo.getMimeById(videoStreams[selectedStream].format)); + MediaFormat.getMimeById(videoStreams[selectedStream].format)); intent.putExtra(Intent.EXTRA_TITLE, videoTitle); intent.putExtra("title", videoTitle); @@ -237,8 +237,8 @@ public class ActionBarHandler { public void downloadVideo() { Log.d(TAG, "bla"); if(!videoTitle.isEmpty()) { - String videoSuffix = "." + VideoInfo.getSuffixById(videoStreams[selectedStream].format); - String audioSuffix = "." + VideoInfo.getSuffixById(audioStream.format); + String videoSuffix = "." + MediaFormat.getSuffixById(videoStreams[selectedStream].format); + String audioSuffix = "." + MediaFormat.getSuffixById(audioStream.format); Bundle args = new Bundle(); args.putString(DownloadDialog.FILE_SUFFIX_VIDEO, videoSuffix); args.putString(DownloadDialog.FILE_SUFFIX_AUDIO, audioSuffix); @@ -297,7 +297,7 @@ public class ActionBarHandler { try { intent.setAction(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse(audioStream.url), - VideoInfo.getMimeById(audioStream.format)); + MediaFormat.getMimeById(audioStream.format)); intent.putExtra(Intent.EXTRA_TITLE, videoTitle); intent.putExtra("title", videoTitle); activity.startActivity(intent); // HERE !!! diff --git a/app/src/main/java/org/schabi/newpipe/VideoFormat.java b/app/src/main/java/org/schabi/newpipe/MediaFormat.java similarity index 80% rename from app/src/main/java/org/schabi/newpipe/VideoFormat.java rename to app/src/main/java/org/schabi/newpipe/MediaFormat.java index f72acbd4b..8d41d606d 100644 --- a/app/src/main/java/org/schabi/newpipe/VideoFormat.java +++ b/app/src/main/java/org/schabi/newpipe/MediaFormat.java @@ -3,7 +3,7 @@ package org.schabi.newpipe; /** * Created by scc on 08/11/15. */ -public enum VideoFormat { +public enum MediaFormat { // id name suffix mime type MPEG_4 (0x0, "MPEG-4", "mp4", "video/mp4"), v3GPP (0x1, "3GPP", "3gp", "video/3gpp"), @@ -16,7 +16,7 @@ public enum VideoFormat { public final String suffix; public final String mimeType; - VideoFormat(int id, String name, String suffix, String mimeType) { + MediaFormat(int id, String name, String suffix, String mimeType) { this.id = id; this.name = name; this.suffix = suffix; @@ -24,21 +24,21 @@ public enum VideoFormat { } public static String getNameById(int ident) { - for (VideoFormat vf : VideoFormat.values()) { + for (MediaFormat vf : MediaFormat.values()) { if(vf.id == ident) return vf.name; } return ""; } public static String getSuffixById(int ident) { - for (VideoFormat vf : VideoFormat.values()) { + for (MediaFormat vf : MediaFormat.values()) { if(vf.id == ident) return vf.suffix; } return ""; } public static String getMimeById(int ident) { - for (VideoFormat vf : VideoFormat.values()) { + for (MediaFormat vf : MediaFormat.values()) { if(vf.id == ident) return vf.mimeType; } return ""; diff --git a/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java b/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java index 9cca7feea..1c5c1ffe9 100644 --- a/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java +++ b/app/src/main/java/org/schabi/newpipe/youtube/YoutubeExtractor.java @@ -3,7 +3,6 @@ package org.schabi.newpipe.youtube; import android.util.Log; import android.util.Xml; -import org.json.JSONException; import org.json.JSONObject; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; @@ -14,6 +13,7 @@ import org.mozilla.javascript.Function; import org.mozilla.javascript.ScriptableObject; import org.schabi.newpipe.Downloader; import org.schabi.newpipe.Extractor; +import org.schabi.newpipe.MediaFormat; import org.schabi.newpipe.VideoInfo; import org.schabi.newpipe.VideoInfoItem; import org.xmlpull.v1.XmlPullParser; @@ -57,16 +57,16 @@ public class YoutubeExtractor implements Extractor { public static int resolveFormat(int itag) { switch(itag) { // video - case 17: return VideoInfo.I_3GPP; - case 18: return VideoInfo.I_MPEG_4; - case 22: return VideoInfo.I_MPEG_4; - case 36: return VideoInfo.I_3GPP; - case 37: return VideoInfo.I_MPEG_4; - case 38: return VideoInfo.I_MPEG_4; - case 43: return VideoInfo.I_WEBM; - case 44: return VideoInfo.I_WEBM; - case 45: return VideoInfo.I_WEBM; - case 46: return VideoInfo.I_WEBM; + case 17: return MediaFormat.v3GPP.id; + case 18: return MediaFormat.MPEG_4.id; + case 22: return MediaFormat.MPEG_4.id; + case 36: return MediaFormat.v3GPP.id; + case 37: return MediaFormat.MPEG_4.id; + case 38: return MediaFormat.MPEG_4.id; + case 43: return MediaFormat.WEBM.id; + case 44: return MediaFormat.WEBM.id; + case 45: return MediaFormat.WEBM.id; + case 46: return MediaFormat.WEBM.id; default: //Log.i(TAG, "Itag " + Integer.toString(itag) + " not known or not supported."); return -1; @@ -344,10 +344,10 @@ public class YoutubeExtractor implements Extractor { if(currentTagIsBaseUrl && (currentMimeType.contains("audio"))) { int format = -1; - if(currentMimeType.equals(VideoInfo.M_WEBMA)) { - format = VideoInfo.I_WEBMA; - } else if(currentMimeType.equals(VideoInfo.M_M4A)) { - format = VideoInfo.I_M4A; + if(currentMimeType.equals(MediaFormat.WEBMA.mimeType)) { + format = MediaFormat.WEBMA.id; + } else if(currentMimeType.equals(MediaFormat.M4A.mimeType)) { + format = MediaFormat.M4A.id; } audioStreams.add(new VideoInfo.AudioStream(parser.getText(), format, currentBandwidth, currentSamplingRate));