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

Unified Diff: media/base/android/media_codec_bridge.cc

Issue 648613003: Add support for color formats negotiation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update per Pawel's comment, ptal. Created 6 years, 2 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/media_codec_bridge.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/base/android/media_codec_bridge.cc
diff --git a/media/base/android/media_codec_bridge.cc b/media/base/android/media_codec_bridge.cc
index eb30f28966196c7a15c7cc14b4468491f6fe450f..27d931e36c94a3b77845b118aef180de4acf1150 100644
--- a/media/base/android/media_codec_bridge.cc
+++ b/media/base/android/media_codec_bridge.cc
@@ -24,6 +24,7 @@
using base::android::AttachCurrentThread;
using base::android::ConvertJavaStringToUTF8;
using base::android::ConvertUTF8ToJavaString;
+using base::android::JavaIntArrayToIntVector;
using base::android::ScopedJavaLocalRef;
namespace media {
@@ -171,6 +172,27 @@ std::string MediaCodecBridge::GetDefaultCodecName(
}
// static
+std::set<int> MediaCodecBridge::GetEncoderColorFormats(
+ const std::string& mime_type) {
+ std::set<int> color_formats;
+ if (!IsAvailable())
+ return color_formats;
+
+ JNIEnv* env = AttachCurrentThread();
+ ScopedJavaLocalRef<jstring> j_mime = ConvertUTF8ToJavaString(env, mime_type);
+ ScopedJavaLocalRef<jintArray> j_color_format_array =
+ Java_MediaCodecBridge_getEncoderColorFormatsForMime(env, j_mime.obj());
+
+ if (j_color_format_array.obj()) {
+ std::vector<int> formats;
+ JavaIntArrayToIntVector(env, j_color_format_array.obj(), &formats);
+ color_formats = std::set<int>(formats.begin(), formats.end());
+ }
+
+ return color_formats;
+}
+
+// static
bool MediaCodecBridge::CanDecode(const std::string& codec, bool is_secure) {
if (!IsAvailable())
return false;
« no previous file with comments | « media/base/android/media_codec_bridge.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698