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

Side by Side Diff: media/base/android/media_codec_bridge.h

Issue 23480036: Support creating secure decoder in MediaCodecBridge. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MEDIA_BASE_ANDROID_MEDIA_CODEC_BRIDGE_H_ 5 #ifndef MEDIA_BASE_ANDROID_MEDIA_CODEC_BRIDGE_H_
6 #define MEDIA_BASE_ANDROID_MEDIA_CODEC_BRIDGE_H_ 6 #define MEDIA_BASE_ANDROID_MEDIA_CODEC_BRIDGE_H_
7 7
8 #include <jni.h> 8 #include <jni.h>
9 #include <string> 9 #include <string>
10 10
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 // when configuring this video decoder you can optionally render the buffer. 116 // when configuring this video decoder you can optionally render the buffer.
117 void ReleaseOutputBuffer(int index, bool render); 117 void ReleaseOutputBuffer(int index, bool render);
118 118
119 // Gets output buffers from media codec and keeps them inside the java class. 119 // Gets output buffers from media codec and keeps them inside the java class.
120 // To access them, use DequeueOutputBuffer(). 120 // To access them, use DequeueOutputBuffer().
121 void GetOutputBuffers(); 121 void GetOutputBuffers();
122 122
123 static bool RegisterMediaCodecBridge(JNIEnv* env); 123 static bool RegisterMediaCodecBridge(JNIEnv* env);
124 124
125 protected: 125 protected:
126 explicit MediaCodecBridge(const std::string& mime); 126 MediaCodecBridge(const std::string& mime, bool is_secure);
127 127
128 // Calls start() against the media codec instance. Used in StartXXX() after 128 // Calls start() against the media codec instance. Used in StartXXX() after
129 // configuring media codec. 129 // configuring media codec.
130 void StartInternal(); 130 void StartInternal();
131 131
132 jobject media_codec() { return j_media_codec_.obj(); } 132 jobject media_codec() { return j_media_codec_.obj(); }
133 133
134 private: 134 private:
135 // Fills a particular input buffer and returns the size of copied data. 135 // Fills a particular input buffer and returns the size of copied data.
136 size_t FillInputBuffer(int index, const uint8* data, int data_size); 136 size_t FillInputBuffer(int index, const uint8* data, int data_size);
(...skipping 27 matching lines...) Expand all
164 164
165 // Configure the java MediaFormat object with the extra codec data passed in. 165 // Configure the java MediaFormat object with the extra codec data passed in.
166 bool ConfigureMediaFormat(jobject j_format, const AudioCodec codec, 166 bool ConfigureMediaFormat(jobject j_format, const AudioCodec codec,
167 const uint8* extra_data, size_t extra_data_size); 167 const uint8* extra_data, size_t extra_data_size);
168 }; 168 };
169 169
170 class MEDIA_EXPORT VideoCodecBridge : public MediaCodecBridge { 170 class MEDIA_EXPORT VideoCodecBridge : public MediaCodecBridge {
171 public: 171 public:
172 // Returns an VideoCodecBridge instance if |codec| is supported, or a NULL 172 // Returns an VideoCodecBridge instance if |codec| is supported, or a NULL
173 // pointer otherwise. 173 // pointer otherwise.
174 static VideoCodecBridge* Create(const VideoCodec codec); 174 static VideoCodecBridge* Create(const VideoCodec codec, bool is_secure);
175 175
176 // Start the video codec bridge. 176 // Start the video codec bridge.
177 // TODO(qinmin): Pass codec specific data if available. 177 // TODO(qinmin): Pass codec specific data if available.
178 bool Start(const VideoCodec codec, const gfx::Size& size, jobject surface, 178 bool Start(const VideoCodec codec, const gfx::Size& size, jobject surface,
179 jobject media_crypto); 179 jobject media_crypto);
180 180
181 private: 181 private:
182 explicit VideoCodecBridge(const std::string& mime); 182 explicit VideoCodecBridge(const std::string& mime, bool is_secure);
183 }; 183 };
184 184
185 } // namespace media 185 } // namespace media
186 186
187 #endif // MEDIA_BASE_ANDROID_MEDIA_CODEC_BRIDGE_H_ 187 #endif // MEDIA_BASE_ANDROID_MEDIA_CODEC_BRIDGE_H_
188 188
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698