blob: 1782373ecad77ec2eac342d5f97af6f881fe0431 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/browser/media/android/media_throttler.h"
#include "base/android/context_utils.h"
#include "base/android/jni_android.h"
#include "jni/MediaThrottler_jni.h"
namespace content {
// static
MediaThrottler* MediaThrottler::GetInstance() {
return base::Singleton<MediaThrottler>::get();
}
MediaThrottler::~MediaThrottler() {}
bool MediaThrottler::RequestDecoderResources() {
JNIEnv* env = base::android::AttachCurrentThread();
return Java_MediaThrottler_requestDecoderResources(env, j_media_throttler_);
}
void MediaThrottler::OnDecodeRequestFinished() {
JNIEnv* env = base::android::AttachCurrentThread();
Java_MediaThrottler_onDecodeRequestFinished(env, j_media_throttler_);
}
void MediaThrottler::Reset() {
JNIEnv* env = base::android::AttachCurrentThread();
Java_MediaThrottler_reset(env, j_media_throttler_);
}
MediaThrottler::MediaThrottler() {
JNIEnv* env = base::android::AttachCurrentThread();
CHECK(env);
j_media_throttler_.Reset(Java_MediaThrottler_create(
env, base::android::GetApplicationContext()));
}
} // namespace content