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

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

Issue 14932020: Add Create() function to AudioCodecBridge and VideoCodecBridge to allow return of null pointers (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove dependency, remove target in another CL Created 7 years, 7 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
Index: media/base/android/media_codec_bridge.h
diff --git a/media/base/android/media_codec_bridge.h b/media/base/android/media_codec_bridge.h
index bff24f9f393ba44007eabbb261c02583914c2fe3..7bea7b6e21241ebdc17a3289d4575664438c0181 100644
--- a/media/base/android/media_codec_bridge.h
+++ b/media/base/android/media_codec_bridge.h
@@ -85,6 +85,8 @@ class MEDIA_EXPORT MediaCodecBridge {
// To access them, use DequeueOutputBuffer().
void GetOutputBuffers();
+ static bool RegisterMediaCodecBridge(JNIEnv* env);
+
protected:
explicit MediaCodecBridge(const char* mime);
@@ -103,7 +105,9 @@ class MEDIA_EXPORT MediaCodecBridge {
class AudioCodecBridge : public MediaCodecBridge {
public:
- explicit AudioCodecBridge(const AudioCodec codec);
+ // Returns an AudioCodecBridge instance if |codec| is supported, or a NULL
+ // pointer otherwise.
+ static AudioCodecBridge* Create(const AudioCodec codec);
// Start the audio codec bridge.
bool Start(const AudioCodec codec, int sample_rate, int channel_count,
@@ -113,16 +117,24 @@ class AudioCodecBridge : public MediaCodecBridge {
// Play the output buffer. This call must be called after
// DequeueOutputBuffer() and before ReleaseOutputBuffer.
void PlayOutputBuffer(int index, size_t size);
+
+ private:
+ explicit AudioCodecBridge(const char* mime);
};
class VideoCodecBridge : public MediaCodecBridge {
public:
- explicit VideoCodecBridge(const VideoCodec codec);
+ // Returns an VideoCodecBridge instance if |codec| is supported, or a NULL
+ // pointer otherwise.
+ static VideoCodecBridge* Create(const VideoCodec codec);
// Start the video codec bridge.
// TODO(qinmin): Pass codec specific data if available.
bool Start(
const VideoCodec codec, const gfx::Size& size, jobject surface);
+
+ private:
+ explicit VideoCodecBridge(const char* mime);
};
} // namespace media
« no previous file with comments | « media/base/android/java/src/org/chromium/media/MediaCodecBridge.java ('k') | media/base/android/media_codec_bridge.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698