Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(673)

Unified Diff: media/base/android/java/src/org/chromium/media/CodecProfileLevelList.java

Issue 2697643003: media: Clean up MediaCodecBridge and remove subclasses (Closed)
Patch Set: rebase Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/base/android/BUILD.gn ('k') | media/base/android/java/src/org/chromium/media/MediaCodecBridge.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/base/android/java/src/org/chromium/media/CodecProfileLevelList.java
diff --git a/media/base/android/java/src/org/chromium/media/CodecProfileLevelList.java b/media/base/android/java/src/org/chromium/media/CodecProfileLevelList.java
index 3ea393f70421f297c38e3ea93e7ab45d2d5c7b48..a31cc30441ea2ee0f00087fe8d93b623f8439bad 100644
--- a/media/base/android/java/src/org/chromium/media/CodecProfileLevelList.java
+++ b/media/base/android/java/src/org/chromium/media/CodecProfileLevelList.java
@@ -18,33 +18,6 @@ import java.util.List;
class CodecProfileLevelList {
private static final String TAG = "CodecProfileLevelList";
- // The following values are taken from media/base/video_codecs.h. These need to be kept in sync.
- private static final int H264PROFILE_BASELINE = 0;
- private static final int H264PROFILE_MAIN = 1;
- private static final int H264PROFILE_EXTENDED = 2;
- private static final int H264PROFILE_HIGH = 3;
- private static final int H264PROFILE_HIGH10PROFILE = 4;
- private static final int H264PROFILE_HIGH422PROFILE = 5;
- private static final int H264PROFILE_HIGH444PREDICTIVEPROFILE = 6;
- private static final int H264PROFILE_SCALABLEBASELINE = 7;
- private static final int H264PROFILE_SCALABLEHIGH = 8;
- private static final int H264PROFILE_STEREOHIGH = 9;
- private static final int H264PROFILE_MULTIVIEWHIGH = 10;
- private static final int VP8PROFILE_ANY = 11;
- private static final int VP9PROFILE_PROFILE0 = 12;
- private static final int VP9PROFILE_PROFILE1 = 13;
- private static final int VP9PROFILE_PROFILE2 = 14;
- private static final int VP9PROFILE_PROFILE3 = 15;
- private static final int HEVCPROFILE_MAIN = 16;
- private static final int HEVCPROFILE_MAIN10 = 17;
- private static final int HEVCPROFILE_MAIN_STILL_PICTURE = 18;
-
- // Constants used to keep track of the codec from a mime string.
- private static final String CODEC_AVC = "AVC";
- private static final String CODEC_VP8 = "VP8";
- private static final String CODEC_VP9 = "VP9";
- private static final String CODEC_HEVC = "HEVC";
-
private final List<CodecProfileLevelAdapter> mList;
public CodecProfileLevelList() {
@@ -53,7 +26,7 @@ class CodecProfileLevelList {
public boolean addCodecProfileLevel(String mime, CodecProfileLevel codecProfileLevel) {
try {
- String codec = getCodecFromMime(mime);
+ int codec = getCodecFromMime(mime);
mList.add(new CodecProfileLevelAdapter(codec,
mediaCodecProfileToChromiumMediaProfile(codec, codecProfileLevel.profile),
mediaCodecLevelToChromiumMediaLevel(codec, codecProfileLevel.level)));
@@ -63,7 +36,7 @@ class CodecProfileLevelList {
}
}
- public boolean addCodecProfileLevel(String codec, int profile, int level) {
+ public boolean addCodecProfileLevel(int codec, int profile, int level) {
mList.add(new CodecProfileLevelAdapter(codec, profile, level));
return true;
}
@@ -73,18 +46,18 @@ class CodecProfileLevelList {
}
static class CodecProfileLevelAdapter {
- private final String mCodec;
+ private final int mCodec;
private final int mProfile;
private final int mLevel;
- public CodecProfileLevelAdapter(String codec, int profile, int level) {
+ public CodecProfileLevelAdapter(int codec, int profile, int level) {
mCodec = codec;
mProfile = profile;
mLevel = level;
}
@CalledByNative("CodecProfileLevelAdapter")
- public String getCodec() {
+ public int getCodec() {
return mCodec;
}
@@ -101,65 +74,63 @@ class CodecProfileLevelList {
private static class UnsupportedCodecProfileException extends RuntimeException {}
- private static String getCodecFromMime(String mime) {
- if (mime.endsWith("vp9")) return CODEC_VP9;
- if (mime.endsWith("vp8")) return CODEC_VP8;
- if (mime.endsWith("avc")) return CODEC_AVC;
- if (mime.endsWith("hevc")) return CODEC_HEVC;
+ private static int getCodecFromMime(String mime) {
+ if (mime.endsWith("vp9")) return VideoCodec.kCodecVP9;
+ if (mime.endsWith("vp8")) return VideoCodec.kCodecVP8;
+ if (mime.endsWith("avc")) return VideoCodec.kCodecH264;
+ if (mime.endsWith("hevc")) return VideoCodec.kCodecHEVC;
throw new UnsupportedCodecProfileException();
}
- private static int mediaCodecProfileToChromiumMediaProfile(String codec, int profile) {
- // Note: The values returned here correspond to the VideoCodecProfile enum in
- // media/base/video_coedecs.h. These values need to be kept in sync with that file!
+ private static int mediaCodecProfileToChromiumMediaProfile(int codec, int profile) {
switch (codec) {
- case CODEC_AVC:
+ case VideoCodec.kCodecH264:
switch (profile) {
case CodecProfileLevel.AVCProfileBaseline:
- return H264PROFILE_BASELINE;
+ return VideoCodecProfile.H264PROFILE_BASELINE;
case CodecProfileLevel.AVCProfileMain:
- return H264PROFILE_MAIN;
+ return VideoCodecProfile.H264PROFILE_MAIN;
case CodecProfileLevel.AVCProfileExtended:
- return H264PROFILE_EXTENDED;
+ return VideoCodecProfile.H264PROFILE_EXTENDED;
case CodecProfileLevel.AVCProfileHigh:
- return H264PROFILE_HIGH;
+ return VideoCodecProfile.H264PROFILE_HIGH;
case CodecProfileLevel.AVCProfileHigh10:
- return H264PROFILE_HIGH10PROFILE;
+ return VideoCodecProfile.H264PROFILE_HIGH10PROFILE;
case CodecProfileLevel.AVCProfileHigh422:
- return H264PROFILE_HIGH422PROFILE;
+ return VideoCodecProfile.H264PROFILE_HIGH422PROFILE;
case CodecProfileLevel.AVCProfileHigh444:
- return H264PROFILE_HIGH444PREDICTIVEPROFILE;
+ return VideoCodecProfile.H264PROFILE_HIGH444PREDICTIVEPROFILE;
default:
throw new UnsupportedCodecProfileException();
}
- case CODEC_VP8:
+ case VideoCodec.kCodecVP8:
switch (profile) {
case CodecProfileLevel.VP8ProfileMain:
- return VP8PROFILE_ANY;
+ return VideoCodecProfile.VP8PROFILE_ANY;
default:
throw new UnsupportedCodecProfileException();
}
- case CODEC_VP9:
+ case VideoCodec.kCodecVP9:
switch (profile) {
case CodecProfileLevel.VP9Profile0:
- return VP9PROFILE_PROFILE0;
+ return VideoCodecProfile.VP9PROFILE_PROFILE0;
case CodecProfileLevel.VP9Profile1:
- return VP9PROFILE_PROFILE1;
+ return VideoCodecProfile.VP9PROFILE_PROFILE1;
case CodecProfileLevel.VP9Profile2:
- return VP9PROFILE_PROFILE2;
+ return VideoCodecProfile.VP9PROFILE_PROFILE2;
case CodecProfileLevel.VP9Profile3:
- return VP9PROFILE_PROFILE3;
+ return VideoCodecProfile.VP9PROFILE_PROFILE3;
default:
throw new UnsupportedCodecProfileException();
}
- case CODEC_HEVC:
+ case VideoCodec.kCodecHEVC:
switch (profile) {
case CodecProfileLevel.HEVCProfileMain:
- return HEVCPROFILE_MAIN;
+ return VideoCodecProfile.HEVCPROFILE_MAIN;
case CodecProfileLevel.HEVCProfileMain10:
- return HEVCPROFILE_MAIN10;
+ return VideoCodecProfile.HEVCPROFILE_MAIN10;
case CodecProfileLevel.HEVCProfileMain10HDR10:
- return HEVCPROFILE_MAIN_STILL_PICTURE;
+ return VideoCodecProfile.HEVCPROFILE_MAIN_STILL_PICTURE;
default:
throw new UnsupportedCodecProfileException();
}
@@ -168,9 +139,9 @@ class CodecProfileLevelList {
}
}
- private static int mediaCodecLevelToChromiumMediaLevel(String codec, int level) {
+ private static int mediaCodecLevelToChromiumMediaLevel(int codec, int level) {
switch (codec) {
- case CODEC_AVC:
+ case VideoCodec.kCodecH264:
switch (level) {
case CodecProfileLevel.AVCLevel1:
return 10;
@@ -207,7 +178,7 @@ class CodecProfileLevelList {
default:
throw new UnsupportedCodecProfileException();
}
- case CODEC_VP8:
+ case VideoCodec.kCodecVP8:
switch (level) {
case CodecProfileLevel.VP8Level_Version0:
return 0;
@@ -220,7 +191,7 @@ class CodecProfileLevelList {
default:
throw new UnsupportedCodecProfileException();
}
- case CODEC_VP9:
+ case VideoCodec.kCodecVP9:
switch (level) {
case CodecProfileLevel.VP9Level1:
return 10;
@@ -253,7 +224,7 @@ class CodecProfileLevelList {
default:
throw new UnsupportedCodecProfileException();
}
- case CODEC_HEVC:
+ case VideoCodec.kCodecHEVC:
switch (level) {
case CodecProfileLevel.HEVCMainTierLevel1:
return 30;
« no previous file with comments | « media/base/android/BUILD.gn ('k') | media/base/android/java/src/org/chromium/media/MediaCodecBridge.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698