| Index: media/base/android/media_codec_util.h
|
| diff --git a/media/base/android/media_codec_util.h b/media/base/android/media_codec_util.h
|
| index 43650235d24d6fdf7e2ffcd97d41ce87d764331f..7aba8e537fe87bc4eca7ea2380e9821e688a4373 100644
|
| --- a/media/base/android/media_codec_util.h
|
| +++ b/media/base/android/media_codec_util.h
|
| @@ -13,6 +13,7 @@
|
| #include "base/compiler_specific.h"
|
| #include "base/macros.h"
|
| #include "media/base/android/media_codec_direction.h"
|
| +#include "media/base/audio_codecs.h"
|
| #include "media/base/media_export.h"
|
| #include "media/base/video_codecs.h"
|
|
|
| @@ -22,26 +23,11 @@ namespace media {
|
|
|
| class MediaCodecBridge;
|
|
|
| -// Helper macro to skip the test if MediaCodecBridge isn't available.
|
| -#define SKIP_TEST_IF_MEDIA_CODEC_BRIDGE_IS_NOT_AVAILABLE() \
|
| - do { \
|
| - if (!MediaCodecUtil::IsMediaCodecAvailable()) { \
|
| - VLOG(0) << "Could not run test - not supported on device."; \
|
| - return; \
|
| - } \
|
| - } while (0)
|
| -
|
| -// Helper macro to skip the test if VP8 decoding isn't supported.
|
| -#define SKIP_TEST_IF_VP8_DECODER_IS_NOT_SUPPORTED() \
|
| - do { \
|
| - if (!MediaCodecUtil::IsVp8DecoderAvailable()) { \
|
| - VLOG(0) << "Could not run test - not supported on device."; \
|
| - return; \
|
| - } \
|
| - } while (0)
|
| -
|
| class MEDIA_EXPORT MediaCodecUtil {
|
| public:
|
| + static std::string CodecToAndroidMimeType(AudioCodec codec);
|
| + static std::string CodecToAndroidMimeType(VideoCodec codec);
|
| +
|
| // Returns true if MediaCodec is available on the device.
|
| // All other static methods check IsAvailable() internally. There's no need
|
| // to check IsAvailable() explicitly before calling them.
|
| @@ -57,9 +43,10 @@ class MEDIA_EXPORT MediaCodecUtil {
|
| // Returns true if MediaCodec.setParameters() is available on the device.
|
| static bool SupportsSetParameters();
|
|
|
| - // Returns whether MediaCodecBridge has a decoder that |is_secure| and can
|
| - // decode |codec| type.
|
| - static bool CanDecode(const std::string& codec, bool is_secure);
|
| + // Returns whether it's possible to create a MediaCodec for the given codec
|
| + // and secureness.
|
| + static bool CanDecode(VideoCodec codec, bool is_secure);
|
| + static bool CanDecode(AudioCodec codec);
|
|
|
| // Returns a vector of supported codecs profiles and levels.
|
| static bool AddSupportedCodecProfileLevels(
|
| @@ -72,7 +59,7 @@ class MEDIA_EXPORT MediaCodecUtil {
|
|
|
| // Returns true if |mime_type| is known to be unaccelerated (i.e. backed by a
|
| // software codec instead of a hardware one).
|
| - static bool IsKnownUnaccelerated(const std::string& mime_type,
|
| + static bool IsKnownUnaccelerated(VideoCodec codec,
|
| MediaCodecDirection direction);
|
|
|
| // Test whether a URL contains "m3u8".
|
| @@ -102,6 +89,9 @@ class MEDIA_EXPORT MediaCodecUtil {
|
| // When true, the client should work around the issue by releasing the
|
| // decoder and instantiating a new one rather than flushing the current one.
|
| static bool CodecNeedsFlushWorkaround(MediaCodecBridge* codec);
|
| +
|
| + private:
|
| + static bool CanDecodeInternal(const std::string& mime, bool is_secure);
|
| };
|
|
|
| } // namespace media
|
|
|