Merge changes from topic "streamtype"
* changes: Configure avStreamType in Tuner JNI Add Audio/Video Stream Type setter in Tuner Framework
This commit is contained in:
@@ -5210,12 +5210,45 @@ package android.media.tv.tuner.filter {
|
||||
|
||||
public class AvSettings extends android.media.tv.tuner.filter.Settings {
|
||||
method @NonNull public static android.media.tv.tuner.filter.AvSettings.Builder builder(int, boolean);
|
||||
method public int getAudioStreamType();
|
||||
method public int getVideoStreamType();
|
||||
method public boolean isPassthrough();
|
||||
field public static final int AUDIO_STREAM_TYPE_AAC = 6; // 0x6
|
||||
field public static final int AUDIO_STREAM_TYPE_AC3 = 7; // 0x7
|
||||
field public static final int AUDIO_STREAM_TYPE_AC4 = 9; // 0x9
|
||||
field public static final int AUDIO_STREAM_TYPE_DRA = 15; // 0xf
|
||||
field public static final int AUDIO_STREAM_TYPE_DTS = 10; // 0xa
|
||||
field public static final int AUDIO_STREAM_TYPE_DTS_HD = 11; // 0xb
|
||||
field public static final int AUDIO_STREAM_TYPE_EAC3 = 8; // 0x8
|
||||
field public static final int AUDIO_STREAM_TYPE_MP3 = 2; // 0x2
|
||||
field public static final int AUDIO_STREAM_TYPE_MPEG1 = 3; // 0x3
|
||||
field public static final int AUDIO_STREAM_TYPE_MPEG2 = 4; // 0x4
|
||||
field public static final int AUDIO_STREAM_TYPE_MPEGH = 5; // 0x5
|
||||
field public static final int AUDIO_STREAM_TYPE_OPUS = 13; // 0xd
|
||||
field public static final int AUDIO_STREAM_TYPE_PCM = 1; // 0x1
|
||||
field public static final int AUDIO_STREAM_TYPE_UNDEFINED = 0; // 0x0
|
||||
field public static final int AUDIO_STREAM_TYPE_VORBIS = 14; // 0xe
|
||||
field public static final int AUDIO_STREAM_TYPE_WMA = 12; // 0xc
|
||||
field public static final int VIDEO_STREAM_TYPE_AV1 = 10; // 0xa
|
||||
field public static final int VIDEO_STREAM_TYPE_AVC = 5; // 0x5
|
||||
field public static final int VIDEO_STREAM_TYPE_AVS = 11; // 0xb
|
||||
field public static final int VIDEO_STREAM_TYPE_AVS2 = 12; // 0xc
|
||||
field public static final int VIDEO_STREAM_TYPE_HEVC = 6; // 0x6
|
||||
field public static final int VIDEO_STREAM_TYPE_MPEG1 = 2; // 0x2
|
||||
field public static final int VIDEO_STREAM_TYPE_MPEG2 = 3; // 0x3
|
||||
field public static final int VIDEO_STREAM_TYPE_MPEG4P2 = 4; // 0x4
|
||||
field public static final int VIDEO_STREAM_TYPE_RESERVED = 1; // 0x1
|
||||
field public static final int VIDEO_STREAM_TYPE_UNDEFINED = 0; // 0x0
|
||||
field public static final int VIDEO_STREAM_TYPE_VC1 = 7; // 0x7
|
||||
field public static final int VIDEO_STREAM_TYPE_VP8 = 8; // 0x8
|
||||
field public static final int VIDEO_STREAM_TYPE_VP9 = 9; // 0x9
|
||||
}
|
||||
|
||||
public static class AvSettings.Builder {
|
||||
method @NonNull public android.media.tv.tuner.filter.AvSettings build();
|
||||
method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setAudioStreamType(int);
|
||||
method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setPassthrough(boolean);
|
||||
method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setVideoStreamType(int);
|
||||
}
|
||||
|
||||
public class DownloadEvent extends android.media.tv.tuner.filter.FilterEvent {
|
||||
|
||||
@@ -16,9 +16,15 @@
|
||||
|
||||
package android.media.tv.tuner.filter;
|
||||
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.SystemApi;
|
||||
import android.hardware.tv.tuner.V1_1.Constants;
|
||||
import android.media.tv.tuner.TunerUtils;
|
||||
import android.media.tv.tuner.TunerVersionChecker;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
/**
|
||||
* Filter Settings for a Video and Audio.
|
||||
@@ -27,15 +33,160 @@ import android.media.tv.tuner.TunerUtils;
|
||||
*/
|
||||
@SystemApi
|
||||
public class AvSettings extends Settings {
|
||||
private final boolean mIsPassthrough;
|
||||
/** @hide */
|
||||
@IntDef(prefix = "VIDEO_STREAM_TYPE_",
|
||||
value = {VIDEO_STREAM_TYPE_UNDEFINED, VIDEO_STREAM_TYPE_RESERVED,
|
||||
VIDEO_STREAM_TYPE_MPEG1, VIDEO_STREAM_TYPE_MPEG2,
|
||||
VIDEO_STREAM_TYPE_MPEG4P2, VIDEO_STREAM_TYPE_AVC, VIDEO_STREAM_TYPE_HEVC,
|
||||
VIDEO_STREAM_TYPE_VC1, VIDEO_STREAM_TYPE_VP8, VIDEO_STREAM_TYPE_VP9,
|
||||
VIDEO_STREAM_TYPE_AV1, VIDEO_STREAM_TYPE_AVS, VIDEO_STREAM_TYPE_AVS2})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface VideoStreamType {}
|
||||
|
||||
private AvSettings(int mainType, boolean isAudio, boolean isPassthrough) {
|
||||
/*
|
||||
* Undefined Video stream type
|
||||
*/
|
||||
public static final int VIDEO_STREAM_TYPE_UNDEFINED = Constants.VideoStreamType.UNDEFINED;
|
||||
/*
|
||||
* ITU-T | ISO/IEC Reserved
|
||||
*/
|
||||
public static final int VIDEO_STREAM_TYPE_RESERVED = Constants.VideoStreamType.RESERVED;
|
||||
/*
|
||||
* ISO/IEC 11172
|
||||
*/
|
||||
public static final int VIDEO_STREAM_TYPE_MPEG1 = Constants.VideoStreamType.MPEG1;
|
||||
/*
|
||||
* ITU-T Rec.H.262 and ISO/IEC 13818-2
|
||||
*/
|
||||
public static final int VIDEO_STREAM_TYPE_MPEG2 = Constants.VideoStreamType.MPEG2;
|
||||
/*
|
||||
* ISO/IEC 14496-2 (MPEG-4 H.263 based video)
|
||||
*/
|
||||
public static final int VIDEO_STREAM_TYPE_MPEG4P2 = Constants.VideoStreamType.MPEG4P2;
|
||||
/*
|
||||
* ITU-T Rec.H.264 and ISO/IEC 14496-10
|
||||
*/
|
||||
public static final int VIDEO_STREAM_TYPE_AVC = Constants.VideoStreamType.AVC;
|
||||
/*
|
||||
* ITU-T Rec. H.265 and ISO/IEC 23008-2
|
||||
*/
|
||||
public static final int VIDEO_STREAM_TYPE_HEVC = Constants.VideoStreamType.HEVC;
|
||||
/*
|
||||
* Microsoft VC.1
|
||||
*/
|
||||
public static final int VIDEO_STREAM_TYPE_VC1 = Constants.VideoStreamType.VC1;
|
||||
/*
|
||||
* Google VP8
|
||||
*/
|
||||
public static final int VIDEO_STREAM_TYPE_VP8 = Constants.VideoStreamType.VP8;
|
||||
/*
|
||||
* Google VP9
|
||||
*/
|
||||
public static final int VIDEO_STREAM_TYPE_VP9 = Constants.VideoStreamType.VP9;
|
||||
/*
|
||||
* AOMedia Video 1
|
||||
*/
|
||||
public static final int VIDEO_STREAM_TYPE_AV1 = Constants.VideoStreamType.AV1;
|
||||
/*
|
||||
* Chinese Standard
|
||||
*/
|
||||
public static final int VIDEO_STREAM_TYPE_AVS = Constants.VideoStreamType.AVS;
|
||||
/*
|
||||
* New Chinese Standard
|
||||
*/
|
||||
public static final int VIDEO_STREAM_TYPE_AVS2 = Constants.VideoStreamType.AVS2;
|
||||
|
||||
/** @hide */
|
||||
@IntDef(prefix = "AUDIO_STREAM_TYPE_",
|
||||
value = {AUDIO_STREAM_TYPE_UNDEFINED, AUDIO_STREAM_TYPE_PCM, AUDIO_STREAM_TYPE_MP3,
|
||||
AUDIO_STREAM_TYPE_MPEG1, AUDIO_STREAM_TYPE_MPEG2, AUDIO_STREAM_TYPE_MPEGH,
|
||||
AUDIO_STREAM_TYPE_AAC, AUDIO_STREAM_TYPE_AC3, AUDIO_STREAM_TYPE_EAC3,
|
||||
AUDIO_STREAM_TYPE_AC4, AUDIO_STREAM_TYPE_DTS, AUDIO_STREAM_TYPE_DTS_HD,
|
||||
AUDIO_STREAM_TYPE_WMA, AUDIO_STREAM_TYPE_OPUS, AUDIO_STREAM_TYPE_VORBIS,
|
||||
AUDIO_STREAM_TYPE_DRA})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface AudioStreamType {}
|
||||
|
||||
/*
|
||||
* Undefined Audio stream type
|
||||
*/
|
||||
public static final int AUDIO_STREAM_TYPE_UNDEFINED = Constants.AudioStreamType.UNDEFINED;
|
||||
/*
|
||||
* Uncompressed Audio
|
||||
*/
|
||||
public static final int AUDIO_STREAM_TYPE_PCM = Constants.AudioStreamType.PCM;
|
||||
/*
|
||||
* MPEG Audio Layer III versions
|
||||
*/
|
||||
public static final int AUDIO_STREAM_TYPE_MP3 = Constants.AudioStreamType.MP3;
|
||||
/*
|
||||
* ISO/IEC 11172 Audio
|
||||
*/
|
||||
public static final int AUDIO_STREAM_TYPE_MPEG1 = Constants.AudioStreamType.MPEG1;
|
||||
/*
|
||||
* ISO/IEC 13818-3
|
||||
*/
|
||||
public static final int AUDIO_STREAM_TYPE_MPEG2 = Constants.AudioStreamType.MPEG2;
|
||||
/*
|
||||
* ISO/IEC 23008-3 (MPEG-H Part 3)
|
||||
*/
|
||||
public static final int AUDIO_STREAM_TYPE_MPEGH = Constants.AudioStreamType.MPEGH;
|
||||
/*
|
||||
* ISO/IEC 14496-3
|
||||
*/
|
||||
public static final int AUDIO_STREAM_TYPE_AAC = Constants.AudioStreamType.AAC;
|
||||
/*
|
||||
* Dolby Digital
|
||||
*/
|
||||
public static final int AUDIO_STREAM_TYPE_AC3 = Constants.AudioStreamType.AC3;
|
||||
/*
|
||||
* Dolby Digital Plus
|
||||
*/
|
||||
public static final int AUDIO_STREAM_TYPE_EAC3 = Constants.AudioStreamType.EAC3;
|
||||
/*
|
||||
* Dolby AC-4
|
||||
*/
|
||||
public static final int AUDIO_STREAM_TYPE_AC4 = Constants.AudioStreamType.AC4;
|
||||
/*
|
||||
* Basic DTS
|
||||
*/
|
||||
public static final int AUDIO_STREAM_TYPE_DTS = Constants.AudioStreamType.DTS;
|
||||
/*
|
||||
* High Resolution DTS
|
||||
*/
|
||||
public static final int AUDIO_STREAM_TYPE_DTS_HD = Constants.AudioStreamType.DTS_HD;
|
||||
/*
|
||||
* Windows Media Audio
|
||||
*/
|
||||
public static final int AUDIO_STREAM_TYPE_WMA = Constants.AudioStreamType.WMA;
|
||||
/*
|
||||
* Opus Interactive Audio Codec
|
||||
*/
|
||||
public static final int AUDIO_STREAM_TYPE_OPUS = Constants.AudioStreamType.OPUS;
|
||||
/*
|
||||
* VORBIS Interactive Audio Codec
|
||||
*/
|
||||
public static final int AUDIO_STREAM_TYPE_VORBIS = Constants.AudioStreamType.VORBIS;
|
||||
/*
|
||||
* SJ/T 11368-2006
|
||||
*/
|
||||
public static final int AUDIO_STREAM_TYPE_DRA = Constants.AudioStreamType.DRA;
|
||||
|
||||
|
||||
private final boolean mIsPassthrough;
|
||||
private int mAudioStreamType = AUDIO_STREAM_TYPE_UNDEFINED;
|
||||
private int mVideoStreamType = VIDEO_STREAM_TYPE_UNDEFINED;
|
||||
|
||||
private AvSettings(int mainType, boolean isAudio, boolean isPassthrough,
|
||||
int audioStreamType, int videoStreamType) {
|
||||
super(TunerUtils.getFilterSubtype(
|
||||
mainType,
|
||||
isAudio
|
||||
? Filter.SUBTYPE_AUDIO
|
||||
: Filter.SUBTYPE_VIDEO));
|
||||
mIsPassthrough = isPassthrough;
|
||||
mAudioStreamType = audioStreamType;
|
||||
mVideoStreamType = videoStreamType;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -45,6 +196,20 @@ public class AvSettings extends Settings {
|
||||
return mIsPassthrough;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Audio Stream Type.
|
||||
*/
|
||||
public int getAudioStreamType() {
|
||||
return mAudioStreamType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Video Stream Type.
|
||||
*/
|
||||
public int getVideoStreamType() {
|
||||
return mVideoStreamType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a builder for {@link AvSettings}.
|
||||
*
|
||||
@@ -63,6 +228,8 @@ public class AvSettings extends Settings {
|
||||
private final int mMainType;
|
||||
private final boolean mIsAudio;
|
||||
private boolean mIsPassthrough;
|
||||
private int mAudioStreamType = AUDIO_STREAM_TYPE_UNDEFINED;
|
||||
private int mVideoStreamType = VIDEO_STREAM_TYPE_UNDEFINED;
|
||||
|
||||
private Builder(int mainType, boolean isAudio) {
|
||||
mMainType = mainType;
|
||||
@@ -78,12 +245,49 @@ public class AvSettings extends Settings {
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the Audio Stream Type.
|
||||
*
|
||||
* <p>This API is only supported by Tuner HAL 1.1 or higher. Unsupported version would cause
|
||||
* no-op. Use {@link TunerVersionChecker.getTunerVersion()} to check the version.
|
||||
*
|
||||
* @param audioStreamType the {@link AudioStreamType} to set.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setAudioStreamType(@AudioStreamType int audioStreamType) {
|
||||
if (TunerVersionChecker.checkHigherOrEqualVersionTo(
|
||||
TunerVersionChecker.TUNER_VERSION_1_1, "setAudioStreamType") && mIsAudio) {
|
||||
mAudioStreamType = audioStreamType;
|
||||
mVideoStreamType = VIDEO_STREAM_TYPE_UNDEFINED;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the Video Stream Type.
|
||||
*
|
||||
* <p>This API is only supported by Tuner HAL 1.1 or higher. Unsupported version would cause
|
||||
* no-op. Use {@link TunerVersionChecker.getTunerVersion()} to check the version.
|
||||
*
|
||||
* @param videoStreamType the {@link VideoStreamType} to set.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setVideoStreamType(@VideoStreamType int videoStreamType) {
|
||||
if (TunerVersionChecker.checkHigherOrEqualVersionTo(
|
||||
TunerVersionChecker.TUNER_VERSION_1_1, "setVideoStreamType") && !mIsAudio) {
|
||||
mVideoStreamType = videoStreamType;
|
||||
mAudioStreamType = AUDIO_STREAM_TYPE_UNDEFINED;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Builds a {@link AvSettings} object.
|
||||
*/
|
||||
@NonNull
|
||||
public AvSettings build() {
|
||||
return new AvSettings(mMainType, mIsAudio, mIsPassthrough);
|
||||
return new AvSettings(mMainType, mIsAudio, mIsPassthrough,
|
||||
mAudioStreamType, mVideoStreamType);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,6 +132,8 @@ using ::android::hardware::tv::tuner::V1_0::LnbTone;
|
||||
using ::android::hardware::tv::tuner::V1_0::LnbVoltage;
|
||||
using ::android::hardware::tv::tuner::V1_0::PlaybackSettings;
|
||||
using ::android::hardware::tv::tuner::V1_0::RecordSettings;
|
||||
using ::android::hardware::tv::tuner::V1_1::AudioStreamType;
|
||||
using ::android::hardware::tv::tuner::V1_1::AvStreamType;
|
||||
using ::android::hardware::tv::tuner::V1_1::Constant;
|
||||
using ::android::hardware::tv::tuner::V1_1::Constant64Bit;
|
||||
using ::android::hardware::tv::tuner::V1_1::FrontendAnalogAftFlag;
|
||||
@@ -157,6 +159,7 @@ using ::android::hardware::tv::tuner::V1_1::FrontendSpectralInversion;
|
||||
using ::android::hardware::tv::tuner::V1_1::FrontendStatusExt1_1;
|
||||
using ::android::hardware::tv::tuner::V1_1::FrontendStatusTypeExt1_1;
|
||||
using ::android::hardware::tv::tuner::V1_1::FrontendTransmissionMode;
|
||||
using ::android::hardware::tv::tuner::V1_1::VideoStreamType;
|
||||
|
||||
struct fields_t {
|
||||
jfieldID tunerContext;
|
||||
@@ -3488,6 +3491,31 @@ static DemuxFilterAvSettings getFilterAvSettings(JNIEnv *env, const jobject& set
|
||||
return filterAvSettings;
|
||||
}
|
||||
|
||||
static bool getAvStreamType(JNIEnv *env, jobject filterConfigObj, AvStreamType& type) {
|
||||
jobject settingsObj =
|
||||
env->GetObjectField(
|
||||
filterConfigObj,
|
||||
env->GetFieldID(
|
||||
env->FindClass("android/media/tv/tuner/filter/FilterConfiguration"),
|
||||
"mSettings",
|
||||
"Landroid/media/tv/tuner/filter/Settings;"));
|
||||
jclass clazz = env->FindClass("android/media/tv/tuner/filter/AvSettings");
|
||||
AvStreamType streamType;
|
||||
AudioStreamType audioStreamType = static_cast<AudioStreamType>(
|
||||
env->GetIntField(settingsObj, env->GetFieldID(clazz, "mAudioStreamType", "I")));
|
||||
if (audioStreamType != AudioStreamType::UNDEFINED) {
|
||||
type.audio(audioStreamType);
|
||||
return true;
|
||||
}
|
||||
VideoStreamType videoStreamType = static_cast<VideoStreamType>(
|
||||
env->GetIntField(settingsObj, env->GetFieldID(clazz, "mVideoStreamType", "I")));
|
||||
if (videoStreamType != VideoStreamType::UNDEFINED) {
|
||||
type.video(videoStreamType);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static DemuxFilterPesDataSettings getFilterPesDataSettings(JNIEnv *env, const jobject& settings) {
|
||||
jclass clazz = env->FindClass("android/media/tv/tuner/filter/PesSettings");
|
||||
uint16_t streamId = static_cast<uint16_t>(
|
||||
@@ -3810,6 +3838,16 @@ static jint copyData(JNIEnv *env, std::unique_ptr<MQ>& mq, EventFlag* flag, jbyt
|
||||
return size;
|
||||
}
|
||||
|
||||
static bool isAvFilterSettings(DemuxFilterSettings filterSettings) {
|
||||
return (filterSettings.getDiscriminator() == DemuxFilterSettings::hidl_discriminator::ts
|
||||
&& filterSettings.ts().filterSettings.getDiscriminator()
|
||||
== DemuxTsFilterSettings::FilterSettings::hidl_discriminator::av)
|
||||
||
|
||||
(filterSettings.getDiscriminator() == DemuxFilterSettings::hidl_discriminator::mmtp
|
||||
&& filterSettings.mmtp().filterSettings.getDiscriminator()
|
||||
== DemuxMmtpFilterSettings::FilterSettings::hidl_discriminator::av);
|
||||
}
|
||||
|
||||
static jint android_media_tv_Tuner_configure_filter(
|
||||
JNIEnv *env, jobject filter, int type, int subtype, jobject settings) {
|
||||
ALOGD("configure filter type=%d, subtype=%d", type, subtype);
|
||||
@@ -3833,6 +3871,20 @@ static jint android_media_tv_Tuner_configure_filter(
|
||||
}
|
||||
}
|
||||
|
||||
AvStreamType streamType;
|
||||
if (isAvFilterSettings(filterSettings) && getAvStreamType(env, settings, streamType)) {
|
||||
sp<::android::hardware::tv::tuner::V1_1::IFilter> iFilterSp_1_1;
|
||||
iFilterSp_1_1 = ::android::hardware::tv::tuner::V1_1::IFilter::castFrom(iFilterSp);
|
||||
if (iFilterSp_1_1 != NULL) {
|
||||
res = iFilterSp_1_1->configureAvStreamType(streamType);
|
||||
} else {
|
||||
ALOGW("configureAvStreamType is not supported with the current HAL implementation.");
|
||||
}
|
||||
if (res != Result::SUCCESS) {
|
||||
return (jint) res;
|
||||
}
|
||||
}
|
||||
|
||||
MQDescriptorSync<uint8_t> filterMQDesc;
|
||||
Result getQueueDescResult = Result::UNKNOWN_ERROR;
|
||||
if (filterSp->mFilterMQ == NULL) {
|
||||
|
||||
@@ -5150,12 +5150,45 @@ package android.media.tv.tuner.filter {
|
||||
|
||||
public class AvSettings extends android.media.tv.tuner.filter.Settings {
|
||||
method @NonNull public static android.media.tv.tuner.filter.AvSettings.Builder builder(int, boolean);
|
||||
method public int getAudioStreamType();
|
||||
method public int getVideoStreamType();
|
||||
method public boolean isPassthrough();
|
||||
field public static final int AUDIO_STREAM_TYPE_AAC = 6; // 0x6
|
||||
field public static final int AUDIO_STREAM_TYPE_AC3 = 7; // 0x7
|
||||
field public static final int AUDIO_STREAM_TYPE_AC4 = 9; // 0x9
|
||||
field public static final int AUDIO_STREAM_TYPE_DRA = 15; // 0xf
|
||||
field public static final int AUDIO_STREAM_TYPE_DTS = 10; // 0xa
|
||||
field public static final int AUDIO_STREAM_TYPE_DTS_HD = 11; // 0xb
|
||||
field public static final int AUDIO_STREAM_TYPE_EAC3 = 8; // 0x8
|
||||
field public static final int AUDIO_STREAM_TYPE_MP3 = 2; // 0x2
|
||||
field public static final int AUDIO_STREAM_TYPE_MPEG1 = 3; // 0x3
|
||||
field public static final int AUDIO_STREAM_TYPE_MPEG2 = 4; // 0x4
|
||||
field public static final int AUDIO_STREAM_TYPE_MPEGH = 5; // 0x5
|
||||
field public static final int AUDIO_STREAM_TYPE_OPUS = 13; // 0xd
|
||||
field public static final int AUDIO_STREAM_TYPE_PCM = 1; // 0x1
|
||||
field public static final int AUDIO_STREAM_TYPE_UNDEFINED = 0; // 0x0
|
||||
field public static final int AUDIO_STREAM_TYPE_VORBIS = 14; // 0xe
|
||||
field public static final int AUDIO_STREAM_TYPE_WMA = 12; // 0xc
|
||||
field public static final int VIDEO_STREAM_TYPE_AV1 = 10; // 0xa
|
||||
field public static final int VIDEO_STREAM_TYPE_AVC = 5; // 0x5
|
||||
field public static final int VIDEO_STREAM_TYPE_AVS = 11; // 0xb
|
||||
field public static final int VIDEO_STREAM_TYPE_AVS2 = 12; // 0xc
|
||||
field public static final int VIDEO_STREAM_TYPE_HEVC = 6; // 0x6
|
||||
field public static final int VIDEO_STREAM_TYPE_MPEG1 = 2; // 0x2
|
||||
field public static final int VIDEO_STREAM_TYPE_MPEG2 = 3; // 0x3
|
||||
field public static final int VIDEO_STREAM_TYPE_MPEG4P2 = 4; // 0x4
|
||||
field public static final int VIDEO_STREAM_TYPE_RESERVED = 1; // 0x1
|
||||
field public static final int VIDEO_STREAM_TYPE_UNDEFINED = 0; // 0x0
|
||||
field public static final int VIDEO_STREAM_TYPE_VC1 = 7; // 0x7
|
||||
field public static final int VIDEO_STREAM_TYPE_VP8 = 8; // 0x8
|
||||
field public static final int VIDEO_STREAM_TYPE_VP9 = 9; // 0x9
|
||||
}
|
||||
|
||||
public static class AvSettings.Builder {
|
||||
method @NonNull public android.media.tv.tuner.filter.AvSettings build();
|
||||
method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setAudioStreamType(int);
|
||||
method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setPassthrough(boolean);
|
||||
method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setVideoStreamType(int);
|
||||
}
|
||||
|
||||
public class DownloadEvent extends android.media.tv.tuner.filter.FilterEvent {
|
||||
|
||||
Reference in New Issue
Block a user