зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1350241 -Part1: Provide data structure of {Audio,Video}Info and demuxed sample for the use of HLS on Fennec. r=jolin,jya
MozReview-Commit-ID: 11triLS84Gq --HG-- extra : rebase_source : a1c0d04a476560156ddf4919ab4fc277833b4db1
This commit is contained in:
Родитель
cbf941ed71
Коммит
7f124232fa
|
@ -461,6 +461,14 @@ gvjar.sources += [geckoview_thirdparty_source_dir + f for f in [
|
|||
'java/com/googlecode/eyesfree/braille/selfbraille/WriteData.java',
|
||||
]]
|
||||
|
||||
if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
|
||||
gvjar.sources += [geckoview_source_dir + 'java/org/mozilla/gecko/' + x for x in [
|
||||
'media/GeckoAudioInfo.java',
|
||||
'media/GeckoHlsSample.java',
|
||||
'media/GeckoVideoInfo.java',
|
||||
]]
|
||||
|
||||
|
||||
gvjar.extra_jars += [
|
||||
CONFIG['ANDROID_SUPPORT_ANNOTATIONS_JAR_LIB'],
|
||||
CONFIG['ANDROID_SUPPORT_V4_AAR_LIB'],
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.gecko.media;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import org.mozilla.gecko.annotation.WrapForJNI;
|
||||
|
||||
//A subset of the class AudioInfo in dom/media/MediaInfo.h
|
||||
@WrapForJNI
|
||||
public final class GeckoAudioInfo {
|
||||
final public byte[] codecSpecificData;
|
||||
final public int rate;
|
||||
final public int channels;
|
||||
final public int bitDepth;
|
||||
final public int profile;
|
||||
final public long duration;
|
||||
final public String mimeType;
|
||||
public GeckoAudioInfo(int rate, int channels, int bitDepth, int profile,
|
||||
long duration, String mimeType, byte[] codecSpecificData) {
|
||||
this.rate = rate;
|
||||
this.channels = channels;
|
||||
this.bitDepth = bitDepth;
|
||||
this.profile = profile;
|
||||
this.duration = duration;
|
||||
this.mimeType = mimeType;
|
||||
this.codecSpecificData = codecSpecificData;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.gecko.media;
|
||||
|
||||
import android.media.MediaCodec;
|
||||
import android.media.MediaCodec.BufferInfo;
|
||||
import android.media.MediaCodec.CryptoInfo;
|
||||
|
||||
import org.mozilla.gecko.annotation.WrapForJNI;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
public final class GeckoHlsSample {
|
||||
public static final GeckoHlsSample EOS;
|
||||
static {
|
||||
BufferInfo eosInfo = new BufferInfo();
|
||||
eosInfo.set(0, 0, Long.MIN_VALUE, MediaCodec.BUFFER_FLAG_END_OF_STREAM);
|
||||
EOS = new GeckoHlsSample(null, eosInfo, null, 0);
|
||||
}
|
||||
|
||||
// Indicate the index of format which is used by this sample.
|
||||
@WrapForJNI
|
||||
final public int formatIndex;
|
||||
|
||||
@WrapForJNI
|
||||
public long duration;
|
||||
|
||||
@WrapForJNI
|
||||
final public BufferInfo info;
|
||||
|
||||
@WrapForJNI
|
||||
final public CryptoInfo cryptoInfo;
|
||||
|
||||
private ByteBuffer buffer = null;
|
||||
|
||||
@WrapForJNI
|
||||
public void writeToByteBuffer(ByteBuffer dest) throws IOException {
|
||||
if (buffer != null && dest != null && info.size > 0) {
|
||||
dest.put(buffer);
|
||||
}
|
||||
}
|
||||
|
||||
@WrapForJNI
|
||||
public boolean isEOS() {
|
||||
return (info.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0;
|
||||
}
|
||||
|
||||
@WrapForJNI
|
||||
public boolean isKeyFrame() {
|
||||
return (info.flags & MediaCodec.BUFFER_FLAG_KEY_FRAME) != 0;
|
||||
}
|
||||
|
||||
public static GeckoHlsSample create(ByteBuffer src, BufferInfo info, CryptoInfo cryptoInfo,
|
||||
int formatIndex) {
|
||||
return new GeckoHlsSample(src, info, cryptoInfo, formatIndex);
|
||||
}
|
||||
|
||||
private GeckoHlsSample(ByteBuffer buffer, BufferInfo info, CryptoInfo cryptoInfo,
|
||||
int formatIndex) {
|
||||
this.formatIndex = formatIndex;
|
||||
duration = Long.MAX_VALUE;
|
||||
this.buffer = buffer;
|
||||
this.info = info;
|
||||
this.cryptoInfo = cryptoInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
if (isEOS()) {
|
||||
return "EOS GeckoHlsSample";
|
||||
}
|
||||
|
||||
StringBuilder str = new StringBuilder();
|
||||
str.append("{ info=").
|
||||
append("{ offset=").append(info.offset).
|
||||
append(", size=").append(info.size).
|
||||
append(", pts=").append(info.presentationTimeUs).
|
||||
append(", duration=").append(duration).
|
||||
append(", flags=").append(Integer.toHexString(info.flags)).append(" }").
|
||||
append(" }");
|
||||
return str.toString();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
package org.mozilla.gecko.media;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import org.mozilla.gecko.annotation.WrapForJNI;
|
||||
|
||||
//A subset of the class VideoInfo in dom/media/MediaInfo.h
|
||||
@WrapForJNI
|
||||
public final class GeckoVideoInfo {
|
||||
final public byte[] codecSpecificData;
|
||||
final public byte[] extraData;
|
||||
final public int displayWidth;
|
||||
final public int displayHeight;
|
||||
final public int pictureWidth;
|
||||
final public int pictureHeight;
|
||||
final public int rotation;
|
||||
final public int stereoMode;
|
||||
final public long duration;
|
||||
final public String mimeType;
|
||||
public GeckoVideoInfo(int displayWidth, int displayHeight,
|
||||
int pictureWidth, int pictureHeight,
|
||||
int rotation, int stereoMode, long duration, String mimeType,
|
||||
byte[] extraData, byte[] codecSpecificData) {
|
||||
this.displayWidth = displayWidth;
|
||||
this.displayHeight = displayHeight;
|
||||
this.pictureWidth = pictureWidth;
|
||||
this.pictureHeight = pictureHeight;
|
||||
this.rotation = rotation;
|
||||
this.stereoMode = stereoMode;
|
||||
this.duration = duration;
|
||||
this.mimeType = mimeType;
|
||||
this.extraData = extraData;
|
||||
this.codecSpecificData = codecSpecificData;
|
||||
}
|
||||
}
|
|
@ -1856,6 +1856,228 @@ constexpr char CodecProxy::NativeCallbacks::OnOutput_t::signature[];
|
|||
constexpr char CodecProxy::NativeCallbacks::OnOutputFormatChanged_t::name[];
|
||||
constexpr char CodecProxy::NativeCallbacks::OnOutputFormatChanged_t::signature[];
|
||||
|
||||
const char GeckoAudioInfo::name[] =
|
||||
"org/mozilla/gecko/media/GeckoAudioInfo";
|
||||
|
||||
constexpr char GeckoAudioInfo::New_t::name[];
|
||||
constexpr char GeckoAudioInfo::New_t::signature[];
|
||||
|
||||
auto GeckoAudioInfo::New(int32_t a0, int32_t a1, int32_t a2, int32_t a3, int64_t a4, mozilla::jni::String::Param a5, mozilla::jni::ByteArray::Param a6) -> GeckoAudioInfo::LocalRef
|
||||
{
|
||||
return mozilla::jni::Constructor<New_t>::Call(GeckoAudioInfo::Context(), nullptr, a0, a1, a2, a3, a4, a5, a6);
|
||||
}
|
||||
|
||||
constexpr char GeckoAudioInfo::BitDepth_t::name[];
|
||||
constexpr char GeckoAudioInfo::BitDepth_t::signature[];
|
||||
|
||||
auto GeckoAudioInfo::BitDepth() const -> int32_t
|
||||
{
|
||||
return mozilla::jni::Field<BitDepth_t>::Get(GeckoAudioInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoAudioInfo::Channels_t::name[];
|
||||
constexpr char GeckoAudioInfo::Channels_t::signature[];
|
||||
|
||||
auto GeckoAudioInfo::Channels() const -> int32_t
|
||||
{
|
||||
return mozilla::jni::Field<Channels_t>::Get(GeckoAudioInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoAudioInfo::CodecSpecificData_t::name[];
|
||||
constexpr char GeckoAudioInfo::CodecSpecificData_t::signature[];
|
||||
|
||||
auto GeckoAudioInfo::CodecSpecificData() const -> mozilla::jni::ByteArray::LocalRef
|
||||
{
|
||||
return mozilla::jni::Field<CodecSpecificData_t>::Get(GeckoAudioInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoAudioInfo::Duration_t::name[];
|
||||
constexpr char GeckoAudioInfo::Duration_t::signature[];
|
||||
|
||||
auto GeckoAudioInfo::Duration() const -> int64_t
|
||||
{
|
||||
return mozilla::jni::Field<Duration_t>::Get(GeckoAudioInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoAudioInfo::MimeType_t::name[];
|
||||
constexpr char GeckoAudioInfo::MimeType_t::signature[];
|
||||
|
||||
auto GeckoAudioInfo::MimeType() const -> mozilla::jni::String::LocalRef
|
||||
{
|
||||
return mozilla::jni::Field<MimeType_t>::Get(GeckoAudioInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoAudioInfo::Profile_t::name[];
|
||||
constexpr char GeckoAudioInfo::Profile_t::signature[];
|
||||
|
||||
auto GeckoAudioInfo::Profile() const -> int32_t
|
||||
{
|
||||
return mozilla::jni::Field<Profile_t>::Get(GeckoAudioInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoAudioInfo::Rate_t::name[];
|
||||
constexpr char GeckoAudioInfo::Rate_t::signature[];
|
||||
|
||||
auto GeckoAudioInfo::Rate() const -> int32_t
|
||||
{
|
||||
return mozilla::jni::Field<Rate_t>::Get(GeckoAudioInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
const char GeckoHlsSample::name[] =
|
||||
"org/mozilla/gecko/media/GeckoHlsSample";
|
||||
|
||||
constexpr char GeckoHlsSample::IsEOS_t::name[];
|
||||
constexpr char GeckoHlsSample::IsEOS_t::signature[];
|
||||
|
||||
auto GeckoHlsSample::IsEOS() const -> bool
|
||||
{
|
||||
return mozilla::jni::Method<IsEOS_t>::Call(GeckoHlsSample::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoHlsSample::IsKeyFrame_t::name[];
|
||||
constexpr char GeckoHlsSample::IsKeyFrame_t::signature[];
|
||||
|
||||
auto GeckoHlsSample::IsKeyFrame() const -> bool
|
||||
{
|
||||
return mozilla::jni::Method<IsKeyFrame_t>::Call(GeckoHlsSample::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoHlsSample::WriteToByteBuffer_t::name[];
|
||||
constexpr char GeckoHlsSample::WriteToByteBuffer_t::signature[];
|
||||
|
||||
auto GeckoHlsSample::WriteToByteBuffer(mozilla::jni::ByteBuffer::Param a0) const -> void
|
||||
{
|
||||
return mozilla::jni::Method<WriteToByteBuffer_t>::Call(GeckoHlsSample::mCtx, nullptr, a0);
|
||||
}
|
||||
|
||||
constexpr char GeckoHlsSample::CryptoInfo_t::name[];
|
||||
constexpr char GeckoHlsSample::CryptoInfo_t::signature[];
|
||||
|
||||
auto GeckoHlsSample::CryptoInfo() const -> mozilla::jni::Object::LocalRef
|
||||
{
|
||||
return mozilla::jni::Field<CryptoInfo_t>::Get(GeckoHlsSample::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoHlsSample::Duration_t::name[];
|
||||
constexpr char GeckoHlsSample::Duration_t::signature[];
|
||||
|
||||
auto GeckoHlsSample::Duration() const -> int64_t
|
||||
{
|
||||
return mozilla::jni::Field<Duration_t>::Get(GeckoHlsSample::mCtx, nullptr);
|
||||
}
|
||||
|
||||
auto GeckoHlsSample::Duration(int64_t a0) const -> void
|
||||
{
|
||||
return mozilla::jni::Field<Duration_t>::Set(GeckoHlsSample::mCtx, nullptr, a0);
|
||||
}
|
||||
|
||||
constexpr char GeckoHlsSample::FormatIndex_t::name[];
|
||||
constexpr char GeckoHlsSample::FormatIndex_t::signature[];
|
||||
|
||||
auto GeckoHlsSample::FormatIndex() const -> int32_t
|
||||
{
|
||||
return mozilla::jni::Field<FormatIndex_t>::Get(GeckoHlsSample::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoHlsSample::Info_t::name[];
|
||||
constexpr char GeckoHlsSample::Info_t::signature[];
|
||||
|
||||
auto GeckoHlsSample::Info() const -> mozilla::jni::Object::LocalRef
|
||||
{
|
||||
return mozilla::jni::Field<Info_t>::Get(GeckoHlsSample::mCtx, nullptr);
|
||||
}
|
||||
|
||||
const char GeckoVideoInfo::name[] =
|
||||
"org/mozilla/gecko/media/GeckoVideoInfo";
|
||||
|
||||
constexpr char GeckoVideoInfo::New_t::name[];
|
||||
constexpr char GeckoVideoInfo::New_t::signature[];
|
||||
|
||||
auto GeckoVideoInfo::New(int32_t a0, int32_t a1, int32_t a2, int32_t a3, int32_t a4, int32_t a5, int64_t a6, mozilla::jni::String::Param a7, mozilla::jni::ByteArray::Param a8, mozilla::jni::ByteArray::Param a9) -> GeckoVideoInfo::LocalRef
|
||||
{
|
||||
return mozilla::jni::Constructor<New_t>::Call(GeckoVideoInfo::Context(), nullptr, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
|
||||
}
|
||||
|
||||
constexpr char GeckoVideoInfo::CodecSpecificData_t::name[];
|
||||
constexpr char GeckoVideoInfo::CodecSpecificData_t::signature[];
|
||||
|
||||
auto GeckoVideoInfo::CodecSpecificData() const -> mozilla::jni::ByteArray::LocalRef
|
||||
{
|
||||
return mozilla::jni::Field<CodecSpecificData_t>::Get(GeckoVideoInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoVideoInfo::DisplayHeight_t::name[];
|
||||
constexpr char GeckoVideoInfo::DisplayHeight_t::signature[];
|
||||
|
||||
auto GeckoVideoInfo::DisplayHeight() const -> int32_t
|
||||
{
|
||||
return mozilla::jni::Field<DisplayHeight_t>::Get(GeckoVideoInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoVideoInfo::DisplayWidth_t::name[];
|
||||
constexpr char GeckoVideoInfo::DisplayWidth_t::signature[];
|
||||
|
||||
auto GeckoVideoInfo::DisplayWidth() const -> int32_t
|
||||
{
|
||||
return mozilla::jni::Field<DisplayWidth_t>::Get(GeckoVideoInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoVideoInfo::Duration_t::name[];
|
||||
constexpr char GeckoVideoInfo::Duration_t::signature[];
|
||||
|
||||
auto GeckoVideoInfo::Duration() const -> int64_t
|
||||
{
|
||||
return mozilla::jni::Field<Duration_t>::Get(GeckoVideoInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoVideoInfo::ExtraData_t::name[];
|
||||
constexpr char GeckoVideoInfo::ExtraData_t::signature[];
|
||||
|
||||
auto GeckoVideoInfo::ExtraData() const -> mozilla::jni::ByteArray::LocalRef
|
||||
{
|
||||
return mozilla::jni::Field<ExtraData_t>::Get(GeckoVideoInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoVideoInfo::MimeType_t::name[];
|
||||
constexpr char GeckoVideoInfo::MimeType_t::signature[];
|
||||
|
||||
auto GeckoVideoInfo::MimeType() const -> mozilla::jni::String::LocalRef
|
||||
{
|
||||
return mozilla::jni::Field<MimeType_t>::Get(GeckoVideoInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoVideoInfo::PictureHeight_t::name[];
|
||||
constexpr char GeckoVideoInfo::PictureHeight_t::signature[];
|
||||
|
||||
auto GeckoVideoInfo::PictureHeight() const -> int32_t
|
||||
{
|
||||
return mozilla::jni::Field<PictureHeight_t>::Get(GeckoVideoInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoVideoInfo::PictureWidth_t::name[];
|
||||
constexpr char GeckoVideoInfo::PictureWidth_t::signature[];
|
||||
|
||||
auto GeckoVideoInfo::PictureWidth() const -> int32_t
|
||||
{
|
||||
return mozilla::jni::Field<PictureWidth_t>::Get(GeckoVideoInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoVideoInfo::Rotation_t::name[];
|
||||
constexpr char GeckoVideoInfo::Rotation_t::signature[];
|
||||
|
||||
auto GeckoVideoInfo::Rotation() const -> int32_t
|
||||
{
|
||||
return mozilla::jni::Field<Rotation_t>::Get(GeckoVideoInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
constexpr char GeckoVideoInfo::StereoMode_t::name[];
|
||||
constexpr char GeckoVideoInfo::StereoMode_t::signature[];
|
||||
|
||||
auto GeckoVideoInfo::StereoMode() const -> int32_t
|
||||
{
|
||||
return mozilla::jni::Field<StereoMode_t>::Get(GeckoVideoInfo::mCtx, nullptr);
|
||||
}
|
||||
|
||||
const char MediaDrmProxy::name[] =
|
||||
"org/mozilla/gecko/media/MediaDrmProxy";
|
||||
|
||||
|
|
|
@ -5371,6 +5371,556 @@ public:
|
|||
template<class Impl> class Natives;
|
||||
};
|
||||
|
||||
class GeckoAudioInfo : public mozilla::jni::ObjectBase<GeckoAudioInfo>
|
||||
{
|
||||
public:
|
||||
static const char name[];
|
||||
|
||||
explicit GeckoAudioInfo(const Context& ctx) : ObjectBase<GeckoAudioInfo>(ctx) {}
|
||||
|
||||
struct New_t {
|
||||
typedef GeckoAudioInfo Owner;
|
||||
typedef GeckoAudioInfo::LocalRef ReturnType;
|
||||
typedef GeckoAudioInfo::Param SetterType;
|
||||
typedef mozilla::jni::Args<
|
||||
int32_t,
|
||||
int32_t,
|
||||
int32_t,
|
||||
int32_t,
|
||||
int64_t,
|
||||
mozilla::jni::String::Param,
|
||||
mozilla::jni::ByteArray::Param> Args;
|
||||
static constexpr char name[] = "<init>";
|
||||
static constexpr char signature[] =
|
||||
"(IIIIJLjava/lang/String;[B)V";
|
||||
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;
|
||||
};
|
||||
|
||||
static auto New(int32_t, int32_t, int32_t, int32_t, int64_t, mozilla::jni::String::Param, mozilla::jni::ByteArray::Param) -> GeckoAudioInfo::LocalRef;
|
||||
|
||||
struct BitDepth_t {
|
||||
typedef GeckoAudioInfo Owner;
|
||||
typedef int32_t ReturnType;
|
||||
typedef int32_t SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "bitDepth";
|
||||
static constexpr char signature[] =
|
||||
"I";
|
||||
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 BitDepth() const -> int32_t;
|
||||
|
||||
struct Channels_t {
|
||||
typedef GeckoAudioInfo Owner;
|
||||
typedef int32_t ReturnType;
|
||||
typedef int32_t SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "channels";
|
||||
static constexpr char signature[] =
|
||||
"I";
|
||||
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 Channels() const -> int32_t;
|
||||
|
||||
struct CodecSpecificData_t {
|
||||
typedef GeckoAudioInfo Owner;
|
||||
typedef mozilla::jni::ByteArray::LocalRef ReturnType;
|
||||
typedef mozilla::jni::ByteArray::Param SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "codecSpecificData";
|
||||
static constexpr char signature[] =
|
||||
"[B";
|
||||
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 CodecSpecificData() const -> mozilla::jni::ByteArray::LocalRef;
|
||||
|
||||
struct Duration_t {
|
||||
typedef GeckoAudioInfo Owner;
|
||||
typedef int64_t ReturnType;
|
||||
typedef int64_t SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "duration";
|
||||
static constexpr char signature[] =
|
||||
"J";
|
||||
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 Duration() const -> int64_t;
|
||||
|
||||
struct MimeType_t {
|
||||
typedef GeckoAudioInfo Owner;
|
||||
typedef mozilla::jni::String::LocalRef ReturnType;
|
||||
typedef mozilla::jni::String::Param SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "mimeType";
|
||||
static constexpr char signature[] =
|
||||
"Ljava/lang/String;";
|
||||
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 MimeType() const -> mozilla::jni::String::LocalRef;
|
||||
|
||||
struct Profile_t {
|
||||
typedef GeckoAudioInfo Owner;
|
||||
typedef int32_t ReturnType;
|
||||
typedef int32_t SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "profile";
|
||||
static constexpr char signature[] =
|
||||
"I";
|
||||
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 Profile() const -> int32_t;
|
||||
|
||||
struct Rate_t {
|
||||
typedef GeckoAudioInfo Owner;
|
||||
typedef int32_t ReturnType;
|
||||
typedef int32_t SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "rate";
|
||||
static constexpr char signature[] =
|
||||
"I";
|
||||
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 Rate() const -> int32_t;
|
||||
|
||||
static const mozilla::jni::CallingThread callingThread =
|
||||
mozilla::jni::CallingThread::ANY;
|
||||
|
||||
};
|
||||
|
||||
class GeckoHlsSample : public mozilla::jni::ObjectBase<GeckoHlsSample>
|
||||
{
|
||||
public:
|
||||
static const char name[];
|
||||
|
||||
explicit GeckoHlsSample(const Context& ctx) : ObjectBase<GeckoHlsSample>(ctx) {}
|
||||
|
||||
struct IsEOS_t {
|
||||
typedef GeckoHlsSample Owner;
|
||||
typedef bool ReturnType;
|
||||
typedef bool SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "isEOS";
|
||||
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 IsEOS() const -> bool;
|
||||
|
||||
struct IsKeyFrame_t {
|
||||
typedef GeckoHlsSample Owner;
|
||||
typedef bool ReturnType;
|
||||
typedef bool SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "isKeyFrame";
|
||||
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 IsKeyFrame() const -> bool;
|
||||
|
||||
struct WriteToByteBuffer_t {
|
||||
typedef GeckoHlsSample Owner;
|
||||
typedef void ReturnType;
|
||||
typedef void SetterType;
|
||||
typedef mozilla::jni::Args<
|
||||
mozilla::jni::ByteBuffer::Param> Args;
|
||||
static constexpr char name[] = "writeToByteBuffer";
|
||||
static constexpr char signature[] =
|
||||
"(Ljava/nio/ByteBuffer;)V";
|
||||
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 WriteToByteBuffer(mozilla::jni::ByteBuffer::Param) const -> void;
|
||||
|
||||
struct CryptoInfo_t {
|
||||
typedef GeckoHlsSample Owner;
|
||||
typedef mozilla::jni::Object::LocalRef ReturnType;
|
||||
typedef mozilla::jni::Object::Param SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "cryptoInfo";
|
||||
static constexpr char signature[] =
|
||||
"Landroid/media/MediaCodec$CryptoInfo;";
|
||||
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 CryptoInfo() const -> mozilla::jni::Object::LocalRef;
|
||||
|
||||
struct Duration_t {
|
||||
typedef GeckoHlsSample Owner;
|
||||
typedef int64_t ReturnType;
|
||||
typedef int64_t SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "duration";
|
||||
static constexpr char signature[] =
|
||||
"J";
|
||||
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 Duration() const -> int64_t;
|
||||
|
||||
auto Duration(int64_t) const -> void;
|
||||
|
||||
struct FormatIndex_t {
|
||||
typedef GeckoHlsSample Owner;
|
||||
typedef int32_t ReturnType;
|
||||
typedef int32_t SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "formatIndex";
|
||||
static constexpr char signature[] =
|
||||
"I";
|
||||
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 FormatIndex() const -> int32_t;
|
||||
|
||||
struct Info_t {
|
||||
typedef GeckoHlsSample Owner;
|
||||
typedef mozilla::jni::Object::LocalRef ReturnType;
|
||||
typedef mozilla::jni::Object::Param SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "info";
|
||||
static constexpr char signature[] =
|
||||
"Landroid/media/MediaCodec$BufferInfo;";
|
||||
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 Info() const -> mozilla::jni::Object::LocalRef;
|
||||
|
||||
static const mozilla::jni::CallingThread callingThread =
|
||||
mozilla::jni::CallingThread::ANY;
|
||||
|
||||
};
|
||||
|
||||
class GeckoVideoInfo : public mozilla::jni::ObjectBase<GeckoVideoInfo>
|
||||
{
|
||||
public:
|
||||
static const char name[];
|
||||
|
||||
explicit GeckoVideoInfo(const Context& ctx) : ObjectBase<GeckoVideoInfo>(ctx) {}
|
||||
|
||||
struct New_t {
|
||||
typedef GeckoVideoInfo Owner;
|
||||
typedef GeckoVideoInfo::LocalRef ReturnType;
|
||||
typedef GeckoVideoInfo::Param SetterType;
|
||||
typedef mozilla::jni::Args<
|
||||
int32_t,
|
||||
int32_t,
|
||||
int32_t,
|
||||
int32_t,
|
||||
int32_t,
|
||||
int32_t,
|
||||
int64_t,
|
||||
mozilla::jni::String::Param,
|
||||
mozilla::jni::ByteArray::Param,
|
||||
mozilla::jni::ByteArray::Param> Args;
|
||||
static constexpr char name[] = "<init>";
|
||||
static constexpr char signature[] =
|
||||
"(IIIIIIJLjava/lang/String;[B[B)V";
|
||||
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;
|
||||
};
|
||||
|
||||
static auto New(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int64_t, mozilla::jni::String::Param, mozilla::jni::ByteArray::Param, mozilla::jni::ByteArray::Param) -> GeckoVideoInfo::LocalRef;
|
||||
|
||||
struct CodecSpecificData_t {
|
||||
typedef GeckoVideoInfo Owner;
|
||||
typedef mozilla::jni::ByteArray::LocalRef ReturnType;
|
||||
typedef mozilla::jni::ByteArray::Param SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "codecSpecificData";
|
||||
static constexpr char signature[] =
|
||||
"[B";
|
||||
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 CodecSpecificData() const -> mozilla::jni::ByteArray::LocalRef;
|
||||
|
||||
struct DisplayHeight_t {
|
||||
typedef GeckoVideoInfo Owner;
|
||||
typedef int32_t ReturnType;
|
||||
typedef int32_t SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "displayHeight";
|
||||
static constexpr char signature[] =
|
||||
"I";
|
||||
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 DisplayHeight() const -> int32_t;
|
||||
|
||||
struct DisplayWidth_t {
|
||||
typedef GeckoVideoInfo Owner;
|
||||
typedef int32_t ReturnType;
|
||||
typedef int32_t SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "displayWidth";
|
||||
static constexpr char signature[] =
|
||||
"I";
|
||||
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 DisplayWidth() const -> int32_t;
|
||||
|
||||
struct Duration_t {
|
||||
typedef GeckoVideoInfo Owner;
|
||||
typedef int64_t ReturnType;
|
||||
typedef int64_t SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "duration";
|
||||
static constexpr char signature[] =
|
||||
"J";
|
||||
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 Duration() const -> int64_t;
|
||||
|
||||
struct ExtraData_t {
|
||||
typedef GeckoVideoInfo Owner;
|
||||
typedef mozilla::jni::ByteArray::LocalRef ReturnType;
|
||||
typedef mozilla::jni::ByteArray::Param SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "extraData";
|
||||
static constexpr char signature[] =
|
||||
"[B";
|
||||
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 ExtraData() const -> mozilla::jni::ByteArray::LocalRef;
|
||||
|
||||
struct MimeType_t {
|
||||
typedef GeckoVideoInfo Owner;
|
||||
typedef mozilla::jni::String::LocalRef ReturnType;
|
||||
typedef mozilla::jni::String::Param SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "mimeType";
|
||||
static constexpr char signature[] =
|
||||
"Ljava/lang/String;";
|
||||
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 MimeType() const -> mozilla::jni::String::LocalRef;
|
||||
|
||||
struct PictureHeight_t {
|
||||
typedef GeckoVideoInfo Owner;
|
||||
typedef int32_t ReturnType;
|
||||
typedef int32_t SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "pictureHeight";
|
||||
static constexpr char signature[] =
|
||||
"I";
|
||||
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 PictureHeight() const -> int32_t;
|
||||
|
||||
struct PictureWidth_t {
|
||||
typedef GeckoVideoInfo Owner;
|
||||
typedef int32_t ReturnType;
|
||||
typedef int32_t SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "pictureWidth";
|
||||
static constexpr char signature[] =
|
||||
"I";
|
||||
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 PictureWidth() const -> int32_t;
|
||||
|
||||
struct Rotation_t {
|
||||
typedef GeckoVideoInfo Owner;
|
||||
typedef int32_t ReturnType;
|
||||
typedef int32_t SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "rotation";
|
||||
static constexpr char signature[] =
|
||||
"I";
|
||||
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 Rotation() const -> int32_t;
|
||||
|
||||
struct StereoMode_t {
|
||||
typedef GeckoVideoInfo Owner;
|
||||
typedef int32_t ReturnType;
|
||||
typedef int32_t SetterType;
|
||||
typedef mozilla::jni::Args<> Args;
|
||||
static constexpr char name[] = "stereoMode";
|
||||
static constexpr char signature[] =
|
||||
"I";
|
||||
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 StereoMode() const -> int32_t;
|
||||
|
||||
static const mozilla::jni::CallingThread callingThread =
|
||||
mozilla::jni::CallingThread::ANY;
|
||||
|
||||
};
|
||||
|
||||
class MediaDrmProxy : public mozilla::jni::ObjectBase<MediaDrmProxy>
|
||||
{
|
||||
public:
|
||||
|
|
Загрузка…
Ссылка в новой задаче