Bug 1403849 - p2: add JNI method for native code to query tunneled playback support. r?esawin
MozReview-Commit-ID: 29HgjCanjGP
--- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/CodecProxy.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/CodecProxy.java
@@ -187,16 +187,31 @@ public final class CodecProxy {
return mRemote.isAdaptivePlaybackSupported();
} catch (RemoteException e) {
e.printStackTrace();
return false;
}
}
@WrapForJNI
+ public synchronized boolean isTunneledPlaybackSupported()
+ {
+ if (mRemote == null) {
+ Log.e(LOGTAG, "cannot check isTunneledPlaybackSupported with an ended codec");
+ return false;
+ }
+ try {
+ return mRemote.isTunneledPlaybackSupported();
+ } catch (RemoteException e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ @WrapForJNI
public synchronized boolean input(ByteBuffer bytes, BufferInfo info, CryptoInfo cryptoInfo) {
if (mRemote == null) {
Log.e(LOGTAG, "cannot send input to an ended codec");
return false;
}
boolean eos = info.flags == MediaCodec.BUFFER_FLAG_END_OF_STREAM;
--- a/widget/android/GeneratedJNIWrappers.cpp
+++ b/widget/android/GeneratedJNIWrappers.cpp
@@ -1819,16 +1819,24 @@ auto CodecProxy::Input(mozilla::jni::Byt
constexpr char CodecProxy::IsAdaptivePlaybackSupported_t::name[];
constexpr char CodecProxy::IsAdaptivePlaybackSupported_t::signature[];
auto CodecProxy::IsAdaptivePlaybackSupported() const -> bool
{
return mozilla::jni::Method<IsAdaptivePlaybackSupported_t>::Call(CodecProxy::mCtx, nullptr);
}
+constexpr char CodecProxy::IsTunneledPlaybackSupported_t::name[];
+constexpr char CodecProxy::IsTunneledPlaybackSupported_t::signature[];
+
+auto CodecProxy::IsTunneledPlaybackSupported() const -> bool
+{
+ return mozilla::jni::Method<IsTunneledPlaybackSupported_t>::Call(CodecProxy::mCtx, nullptr);
+}
+
constexpr char CodecProxy::Release_t::name[];
constexpr char CodecProxy::Release_t::signature[];
auto CodecProxy::Release() const -> bool
{
return mozilla::jni::Method<Release_t>::Call(CodecProxy::mCtx, nullptr);
}
--- a/widget/android/GeneratedJNIWrappers.h
+++ b/widget/android/GeneratedJNIWrappers.h
@@ -5207,16 +5207,35 @@ public:
static const mozilla::jni::CallingThread callingThread =
mozilla::jni::CallingThread::ANY;
static const mozilla::jni::DispatchTarget dispatchTarget =
mozilla::jni::DispatchTarget::CURRENT;
};
auto IsAdaptivePlaybackSupported() const -> bool;
+ struct IsTunneledPlaybackSupported_t {
+ typedef CodecProxy Owner;
+ typedef bool ReturnType;
+ typedef bool SetterType;
+ typedef mozilla::jni::Args<> Args;
+ static constexpr char name[] = "isTunneledPlaybackSupported";
+ static constexpr char signature[] =
+ "()Z";
+ static const bool isStatic = false;
+ static const mozilla::jni::ExceptionMode exceptionMode =
+ mozilla::jni::ExceptionMode::ABORT;
+ static const mozilla::jni::CallingThread callingThread =
+ mozilla::jni::CallingThread::ANY;
+ static const mozilla::jni::DispatchTarget dispatchTarget =
+ mozilla::jni::DispatchTarget::CURRENT;
+ };
+
+ auto IsTunneledPlaybackSupported() const -> bool;
+
struct Release_t {
typedef CodecProxy Owner;
typedef bool ReturnType;
typedef bool SetterType;
typedef mozilla::jni::Args<> Args;
static constexpr char name[] = "release";
static constexpr char signature[] =
"()Z";