Index: media/base/android/sdk_media_codec_bridge.cc |
diff --git a/media/base/android/sdk_media_codec_bridge.cc b/media/base/android/sdk_media_codec_bridge.cc |
index bde695598a358688b488fb831439b3f6b9cf7b00..ab68cf1ec6af52fe91b36b46f22c6cc202aba70b 100644 |
--- a/media/base/android/sdk_media_codec_bridge.cc |
+++ b/media/base/android/sdk_media_codec_bridge.cc |
@@ -345,6 +345,23 @@ AudioCodecBridge::AudioCodecBridge(const std::string& mime) |
// audio encoding yet. |
: SdkMediaCodecBridge(mime, false, MEDIA_CODEC_DECODER) {} |
+bool AudioCodecBridge::ConfigureAndStart(const AudioDecoderConfig& config, |
+ bool play_audio, |
+ jobject media_crypto) { |
+ const int channel_count = |
+ ChannelLayoutToChannelCount(config.channel_layout()); |
+ const int64_t codec_delay_ns = base::Time::kNanosecondsPerSecond * |
+ config.codec_delay() / |
+ config.samples_per_second(); |
+ const int64_t seek_preroll_ns = |
+ 1000LL * config.seek_preroll().InMicroseconds(); |
+ |
+ return ConfigureAndStart(config.codec(), config.samples_per_second(), |
+ channel_count, config.extra_data().data(), |
+ config.extra_data().size(), codec_delay_ns, |
+ seek_preroll_ns, play_audio, media_crypto); |
+} |
+ |
bool AudioCodecBridge::ConfigureAndStart(const AudioCodec& codec, |
int sample_rate, |
int channel_count, |
@@ -354,7 +371,14 @@ bool AudioCodecBridge::ConfigureAndStart(const AudioCodec& codec, |
int64_t seek_preroll_ns, |
bool play_audio, |
jobject media_crypto) { |
- JNIEnv* env = AttachCurrentThread(); |
+ DVLOG(2) << __FUNCTION__ << ": " |
+ << " codec:" << GetCodecName(codec) |
+ << " samples_per_second:" << sample_rate |
+ << " channel_count:" << channel_count |
+ << " codec_delay_ns:" << codec_delay_ns |
+ << " seek_preroll_ns:" << seek_preroll_ns |
+ << " extra data size:" << extra_data_size |
+ << " play audio:" << play_audio << " media_crypto:" << media_crypto; |
if (!media_codec()) |
return false; |
@@ -363,6 +387,8 @@ bool AudioCodecBridge::ConfigureAndStart(const AudioCodec& codec, |
if (codec_string.empty()) |
return false; |
+ JNIEnv* env = AttachCurrentThread(); |
+ |
ScopedJavaLocalRef<jstring> j_mime = |
ConvertUTF8ToJavaString(env, codec_string); |
ScopedJavaLocalRef<jobject> j_format(Java_MediaCodecBridge_createAudioFormat( |