Merge "Make Filter @SystemApi"
This commit is contained in:
committed by
Android (Google) Code Review
commit
b1f2ed5533
@@ -4700,6 +4700,7 @@ package android.media.tv.tuner {
|
||||
ctor public Tuner(@NonNull android.content.Context);
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public void clearOnTuneEventListener();
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public android.media.tv.tuner.Tuner.Descrambler openDescrambler();
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public android.media.tv.tuner.filter.Filter openFilter(int, int, long, @Nullable java.util.concurrent.Executor, @Nullable android.media.tv.tuner.filter.FilterCallback);
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public void setOnTuneEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.OnTuneEventListener);
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public int stopTune();
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public int tune(@NonNull android.media.tv.tuner.frontend.FrontendSettings);
|
||||
@@ -4708,19 +4709,7 @@ package android.media.tv.tuner {
|
||||
public class Tuner.Descrambler {
|
||||
}
|
||||
|
||||
public class Tuner.Filter {
|
||||
}
|
||||
|
||||
public static interface Tuner.FilterCallback {
|
||||
method public void onFilterEvent(@NonNull android.media.tv.tuner.Tuner.Filter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
|
||||
method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.Tuner.Filter, int);
|
||||
}
|
||||
|
||||
public final class TunerConstants {
|
||||
field public static final int FILTER_STATUS_DATA_READY = 1; // 0x1
|
||||
field public static final int FILTER_STATUS_HIGH_WATER = 4; // 0x4
|
||||
field public static final int FILTER_STATUS_LOW_WATER = 2; // 0x2
|
||||
field public static final int FILTER_STATUS_OVERFLOW = 8; // 0x8
|
||||
field public static final int RESULT_INVALID_ARGUMENT = 4; // 0x4
|
||||
field public static final int RESULT_INVALID_STATE = 3; // 0x3
|
||||
field public static final int RESULT_NOT_INITIALIZED = 2; // 0x2
|
||||
@@ -4734,12 +4723,49 @@ package android.media.tv.tuner {
|
||||
|
||||
package android.media.tv.tuner.filter {
|
||||
|
||||
public class Filter implements java.lang.AutoCloseable {
|
||||
method public void close();
|
||||
method public int configure(@NonNull android.media.tv.tuner.filter.FilterConfiguration);
|
||||
method public int flush();
|
||||
method public int getId();
|
||||
method public int read(@NonNull byte[], long, long);
|
||||
method public int setDataSource(@Nullable android.media.tv.tuner.filter.Filter);
|
||||
method public int start();
|
||||
method public int stop();
|
||||
field public static final int STATUS_DATA_READY = 1; // 0x1
|
||||
field public static final int STATUS_HIGH_WATER = 4; // 0x4
|
||||
field public static final int STATUS_LOW_WATER = 2; // 0x2
|
||||
field public static final int STATUS_OVERFLOW = 8; // 0x8
|
||||
field public static final int SUBTYPE_AUDIO = 3; // 0x3
|
||||
field public static final int SUBTYPE_DOWNLOAD = 5; // 0x5
|
||||
field public static final int SUBTYPE_IP = 13; // 0xd
|
||||
field public static final int SUBTYPE_IP_PAYLOAD = 12; // 0xc
|
||||
field public static final int SUBTYPE_MMTP = 10; // 0xa
|
||||
field public static final int SUBTYPE_NTP = 11; // 0xb
|
||||
field public static final int SUBTYPE_PAYLOAD_THROUGH = 14; // 0xe
|
||||
field public static final int SUBTYPE_PCR = 8; // 0x8
|
||||
field public static final int SUBTYPE_PES = 2; // 0x2
|
||||
field public static final int SUBTYPE_PTP = 16; // 0x10
|
||||
field public static final int SUBTYPE_RECORD = 6; // 0x6
|
||||
field public static final int SUBTYPE_SECTION = 1; // 0x1
|
||||
field public static final int SUBTYPE_TEMI = 9; // 0x9
|
||||
field public static final int SUBTYPE_TLV = 15; // 0xf
|
||||
field public static final int SUBTYPE_TS = 7; // 0x7
|
||||
field public static final int SUBTYPE_UNDEFINED = 0; // 0x0
|
||||
field public static final int SUBTYPE_VIDEO = 4; // 0x4
|
||||
field public static final int TYPE_ALP = 16; // 0x10
|
||||
field public static final int TYPE_IP = 4; // 0x4
|
||||
field public static final int TYPE_MMTP = 2; // 0x2
|
||||
field public static final int TYPE_TLV = 8; // 0x8
|
||||
field public static final int TYPE_TS = 1; // 0x1
|
||||
}
|
||||
|
||||
public interface FilterCallback {
|
||||
method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.Filter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
|
||||
method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.Filter, int);
|
||||
}
|
||||
|
||||
public abstract class FilterConfiguration {
|
||||
field public static final int FILTER_TYPE_ALP = 16; // 0x10
|
||||
field public static final int FILTER_TYPE_IP = 4; // 0x4
|
||||
field public static final int FILTER_TYPE_MMTP = 2; // 0x2
|
||||
field public static final int FILTER_TYPE_TLV = 8; // 0x8
|
||||
field public static final int FILTER_TYPE_TS = 1; // 0x1
|
||||
}
|
||||
|
||||
public abstract class FilterEvent {
|
||||
|
||||
@@ -21,6 +21,7 @@ import android.annotation.IntDef;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.Size;
|
||||
import android.annotation.SystemApi;
|
||||
import android.media.tv.tuner.filter.Filter;
|
||||
import android.media.tv.tuner.filter.FilterConfiguration;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
@@ -36,11 +37,11 @@ public class DemuxCapabilities {
|
||||
|
||||
/** @hide */
|
||||
@IntDef(flag = true, value = {
|
||||
FilterConfiguration.FILTER_TYPE_TS,
|
||||
FilterConfiguration.FILTER_TYPE_MMTP,
|
||||
FilterConfiguration.FILTER_TYPE_IP,
|
||||
FilterConfiguration.FILTER_TYPE_TLV,
|
||||
FilterConfiguration.FILTER_TYPE_ALP
|
||||
Filter.TYPE_TS,
|
||||
Filter.TYPE_MMTP,
|
||||
Filter.TYPE_IP,
|
||||
Filter.TYPE_TLV,
|
||||
Filter.TYPE_ALP
|
||||
})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface FilterCapabilities {}
|
||||
|
||||
@@ -18,7 +18,7 @@ package android.media.tv.tuner;
|
||||
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.Nullable;
|
||||
import android.media.tv.tuner.Tuner.Filter;
|
||||
import android.media.tv.tuner.filter.Filter;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
@@ -23,14 +23,14 @@ import android.annotation.Nullable;
|
||||
import android.annotation.RequiresPermission;
|
||||
import android.annotation.SystemApi;
|
||||
import android.content.Context;
|
||||
import android.media.tv.tuner.TunerConstants.FilterStatus;
|
||||
import android.media.tv.tuner.TunerConstants.Result;
|
||||
import android.media.tv.tuner.dvr.Dvr;
|
||||
import android.media.tv.tuner.dvr.DvrCallback;
|
||||
import android.media.tv.tuner.dvr.DvrSettings;
|
||||
import android.media.tv.tuner.filter.Filter;
|
||||
import android.media.tv.tuner.filter.Filter.Subtype;
|
||||
import android.media.tv.tuner.filter.Filter.Type;
|
||||
import android.media.tv.tuner.filter.FilterEvent;
|
||||
import android.media.tv.tuner.filter.FilterCallback;
|
||||
import android.media.tv.tuner.filter.TimeFilter;
|
||||
import android.media.tv.tuner.frontend.FrontendInfo;
|
||||
import android.media.tv.tuner.frontend.FrontendSettings;
|
||||
@@ -171,28 +171,6 @@ public final class Tuner implements AutoCloseable {
|
||||
private static native DemuxCapabilities nativeGetDemuxCapabilities();
|
||||
|
||||
|
||||
/**
|
||||
* Callback interface for receiving information from the corresponding filters.
|
||||
* TODO: remove
|
||||
*/
|
||||
public interface FilterCallback {
|
||||
/**
|
||||
* Invoked when there are filter events.
|
||||
*
|
||||
* @param filter the corresponding filter which sent the events.
|
||||
* @param events the filter events sent from the filter.
|
||||
*/
|
||||
void onFilterEvent(@NonNull Filter filter, @NonNull FilterEvent[] events);
|
||||
/**
|
||||
* Invoked when filter status changed.
|
||||
*
|
||||
* @param filter the corresponding filter whose status is changed.
|
||||
* @param status the new status of the filter.
|
||||
*/
|
||||
void onFilterStatusChanged(@NonNull Filter filter, @FilterStatus int status);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Listener for resource lost.
|
||||
*
|
||||
@@ -228,8 +206,8 @@ public final class Tuner implements AutoCloseable {
|
||||
switch (msg.what) {
|
||||
case MSG_ON_FILTER_STATUS: {
|
||||
Filter filter = (Filter) msg.obj;
|
||||
if (filter.mCallback != null) {
|
||||
filter.mCallback.onFilterStatusChanged(filter, msg.arg1);
|
||||
if (filter.getCallback() != null) {
|
||||
filter.getCallback().onFilterStatusChanged(filter, msg.arg1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -548,17 +526,6 @@ public final class Tuner implements AutoCloseable {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Tuner data filter.
|
||||
*
|
||||
* <p> This class is used to filter wanted data according to the filter's configuration.
|
||||
* TODO: remove
|
||||
*/
|
||||
public class Filter {
|
||||
FilterCallback mCallback;
|
||||
private Filter() {}
|
||||
}
|
||||
|
||||
/**
|
||||
* Opens a filter object based on the given types and buffer size.
|
||||
*
|
||||
@@ -570,8 +537,6 @@ public final class Tuner implements AutoCloseable {
|
||||
* executor is used if it's {@code null}.
|
||||
* @param cb the callback to receive notifications from filter.
|
||||
* @return the opened filter. {@code null} if the operation failed.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER)
|
||||
@Nullable
|
||||
@@ -582,7 +547,7 @@ public final class Tuner implements AutoCloseable {
|
||||
Filter filter = nativeOpenFilter(
|
||||
mainType, TunerUtils.getFilterSubtype(mainType, subType), bufferSize);
|
||||
if (filter != null) {
|
||||
filter.mCallback = cb;
|
||||
filter.setCallback(cb);
|
||||
if (mHandler == null) {
|
||||
mHandler = createEventHandler();
|
||||
}
|
||||
|
||||
@@ -47,37 +47,6 @@ public final class TunerConstants {
|
||||
*/
|
||||
public static final int INVALID_STREAM_ID = Constants.Constant.INVALID_STREAM_ID;
|
||||
|
||||
/** @hide */
|
||||
@IntDef(flag = true, prefix = "FILTER_STATUS_", value = {FILTER_STATUS_DATA_READY,
|
||||
FILTER_STATUS_LOW_WATER, FILTER_STATUS_HIGH_WATER, FILTER_STATUS_OVERFLOW})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface FilterStatus {}
|
||||
|
||||
/**
|
||||
* The status of a filter that the data in the filter buffer is ready to be read.
|
||||
*/
|
||||
public static final int FILTER_STATUS_DATA_READY = Constants.DemuxFilterStatus.DATA_READY;
|
||||
/**
|
||||
* The status of a filter that the amount of available data in the filter buffer is at low
|
||||
* level.
|
||||
*
|
||||
* The value is set to 25 percent of the buffer size by default. It can be changed when
|
||||
* configuring the filter.
|
||||
*/
|
||||
public static final int FILTER_STATUS_LOW_WATER = Constants.DemuxFilterStatus.LOW_WATER;
|
||||
/**
|
||||
* The status of a filter that the amount of available data in the filter buffer is at high
|
||||
* level.
|
||||
* The value is set to 75 percent of the buffer size by default. It can be changed when
|
||||
* configuring the filter.
|
||||
*/
|
||||
public static final int FILTER_STATUS_HIGH_WATER = Constants.DemuxFilterStatus.HIGH_WATER;
|
||||
/**
|
||||
* The status of a filter that the filter buffer is full and newly filtered data is being
|
||||
* discarded.
|
||||
*/
|
||||
public static final int FILTER_STATUS_OVERFLOW = Constants.DemuxFilterStatus.OVERFLOW;
|
||||
|
||||
|
||||
/** @hide */
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
|
||||
@@ -20,8 +20,8 @@ import android.annotation.BytesLong;
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.NonNull;
|
||||
import android.hardware.tv.tuner.V1_0.Constants;
|
||||
import android.media.tv.tuner.Tuner.Filter;
|
||||
import android.media.tv.tuner.TunerConstants.Result;
|
||||
import android.media.tv.tuner.filter.Filter;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
package android.media.tv.tuner.dvr;
|
||||
|
||||
import android.media.tv.tuner.TunerConstants.FilterStatus;
|
||||
import android.media.tv.tuner.dvr.Dvr.PlaybackStatus;
|
||||
import android.media.tv.tuner.filter.Filter;
|
||||
|
||||
/**
|
||||
* Callback interface for receiving information from DVR interfaces.
|
||||
@@ -28,7 +28,7 @@ public interface DvrCallback {
|
||||
/**
|
||||
* Invoked when record status changed.
|
||||
*/
|
||||
void onRecordStatusChanged(@FilterStatus int status);
|
||||
void onRecordStatusChanged(@Filter.Status int status);
|
||||
/**
|
||||
* Invoked when playback status changed.
|
||||
*/
|
||||
|
||||
@@ -22,8 +22,8 @@ import android.annotation.NonNull;
|
||||
import android.annotation.RequiresPermission;
|
||||
import android.content.Context;
|
||||
import android.hardware.tv.tuner.V1_0.Constants;
|
||||
import android.media.tv.tuner.TunerConstants.FilterStatus;
|
||||
import android.media.tv.tuner.TunerUtils;
|
||||
import android.media.tv.tuner.filter.Filter;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
@@ -124,7 +124,7 @@ public class DvrSettings {
|
||||
* Sets status mask.
|
||||
*/
|
||||
@NonNull
|
||||
public Builder setStatusMask(@FilterStatus int statusMask) {
|
||||
public Builder setStatusMask(@Filter.Status int statusMask) {
|
||||
this.mStatusMask = statusMask;
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ public class AlpFilterConfiguration extends FilterConfiguration {
|
||||
|
||||
@Override
|
||||
public int getType() {
|
||||
return FilterConfiguration.FILTER_TYPE_ALP;
|
||||
return Filter.TYPE_ALP;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
|
||||
package android.media.tv.tuner.filter;
|
||||
|
||||
import android.media.tv.tuner.Tuner.Filter;
|
||||
|
||||
/**
|
||||
* Filter event sent from {@link Filter} objects with download type.
|
||||
*
|
||||
|
||||
@@ -20,8 +20,8 @@ import android.annotation.BytesLong;
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.hardware.tv.tuner.V1_0.Constants;
|
||||
import android.media.tv.tuner.Tuner.FilterCallback;
|
||||
import android.media.tv.tuner.TunerConstants.Result;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
@@ -34,6 +34,7 @@ import java.lang.annotation.RetentionPolicy;
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public class Filter implements AutoCloseable {
|
||||
/** @hide */
|
||||
@IntDef(prefix = "TYPE_",
|
||||
@@ -72,91 +73,107 @@ public class Filter implements AutoCloseable {
|
||||
public @interface Subtype {}
|
||||
/**
|
||||
* Filter subtype undefined.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_UNDEFINED = 0;
|
||||
/**
|
||||
* Section filter subtype.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_SECTION = 1;
|
||||
/**
|
||||
* PES filter subtype.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_PES = 2;
|
||||
/**
|
||||
* Audio filter subtype.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_AUDIO = 3;
|
||||
/**
|
||||
* Video filter subtype.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_VIDEO = 4;
|
||||
/**
|
||||
* Download filter subtype.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_DOWNLOAD = 5;
|
||||
/**
|
||||
* Record filter subtype.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_RECORD = 6;
|
||||
/**
|
||||
* TS filter subtype.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_TS = 7;
|
||||
/**
|
||||
* PCR filter subtype.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_PCR = 8;
|
||||
/**
|
||||
* TEMI filter subtype.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_TEMI = 9;
|
||||
/**
|
||||
* MMTP filter subtype.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_MMTP = 10;
|
||||
/**
|
||||
* NTP filter subtype.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_NTP = 11;
|
||||
/**
|
||||
* Payload filter subtype.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_IP_PAYLOAD = 12;
|
||||
/**
|
||||
* IP filter subtype.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_IP = 13;
|
||||
/**
|
||||
* Payload through filter subtype.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_PAYLOAD_THROUGH = 14;
|
||||
/**
|
||||
* TLV filter subtype.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_TLV = 15;
|
||||
/**
|
||||
* PTP filter subtype.
|
||||
* @hide
|
||||
*/
|
||||
public static final int SUBTYPE_PTP = 16;
|
||||
|
||||
|
||||
|
||||
/** @hide */
|
||||
@IntDef(flag = true, prefix = "STATUS_", value = {STATUS_DATA_READY, STATUS_LOW_WATER,
|
||||
STATUS_HIGH_WATER, STATUS_OVERFLOW})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface Status {}
|
||||
|
||||
/**
|
||||
* The status of a filter that the data in the filter buffer is ready to be read.
|
||||
*/
|
||||
public static final int STATUS_DATA_READY = Constants.DemuxFilterStatus.DATA_READY;
|
||||
/**
|
||||
* The status of a filter that the amount of available data in the filter buffer is at low
|
||||
* level.
|
||||
*
|
||||
* The value is set to 25 percent of the buffer size by default. It can be changed when
|
||||
* configuring the filter.
|
||||
*/
|
||||
public static final int STATUS_LOW_WATER = Constants.DemuxFilterStatus.LOW_WATER;
|
||||
/**
|
||||
* The status of a filter that the amount of available data in the filter buffer is at high
|
||||
* level.
|
||||
* The value is set to 75 percent of the buffer size by default. It can be changed when
|
||||
* configuring the filter.
|
||||
*/
|
||||
public static final int STATUS_HIGH_WATER = Constants.DemuxFilterStatus.HIGH_WATER;
|
||||
/**
|
||||
* The status of a filter that the filter buffer is full and newly filtered data is being
|
||||
* discarded.
|
||||
*/
|
||||
public static final int STATUS_OVERFLOW = Constants.DemuxFilterStatus.OVERFLOW;
|
||||
|
||||
|
||||
private long mNativeContext;
|
||||
private FilterCallback mCallback;
|
||||
private final int mId;
|
||||
@@ -171,6 +188,7 @@ public class Filter implements AutoCloseable {
|
||||
private native int nativeRead(byte[] buffer, long offset, long size);
|
||||
private native int nativeClose();
|
||||
|
||||
// Called by JNI
|
||||
private Filter(int id) {
|
||||
mId = id;
|
||||
}
|
||||
@@ -178,6 +196,15 @@ public class Filter implements AutoCloseable {
|
||||
private void onFilterStatus(int status) {
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
public void setCallback(FilterCallback cb) {
|
||||
mCallback = cb;
|
||||
}
|
||||
/** @hide */
|
||||
public FilterCallback getCallback() {
|
||||
return mCallback;
|
||||
}
|
||||
|
||||
/**
|
||||
* Configures the filter.
|
||||
*
|
||||
@@ -241,7 +268,10 @@ public class Filter implements AutoCloseable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Flushes the filter. Data in filter buffer is cleared.
|
||||
* Flushes the filter.
|
||||
*
|
||||
* <p>The data which is already produced by filter but not consumed yet will
|
||||
* be cleared.
|
||||
*
|
||||
* @return result status of the operation.
|
||||
*/
|
||||
@@ -251,7 +281,7 @@ public class Filter implements AutoCloseable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Copies filtered data from filter buffer to the given byte array.
|
||||
* Copies filtered data from filter output to the given byte array.
|
||||
*
|
||||
* @param buffer the buffer to store the filtered data.
|
||||
* @param offset the index of the first byte in {@code buffer} to write.
|
||||
|
||||
@@ -17,13 +17,14 @@
|
||||
package android.media.tv.tuner.filter;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.media.tv.tuner.TunerConstants.FilterStatus;
|
||||
import android.annotation.SystemApi;
|
||||
|
||||
/**
|
||||
* Callback interface for receiving information from the corresponding filters.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public interface FilterCallback {
|
||||
/**
|
||||
* Invoked when there are filter events.
|
||||
@@ -38,5 +39,5 @@ public interface FilterCallback {
|
||||
* @param filter the corresponding filter whose status is changed.
|
||||
* @param status the new status of the filter.
|
||||
*/
|
||||
void onFilterStatusChanged(@NonNull Filter filter, @FilterStatus int status);
|
||||
void onFilterStatusChanged(@NonNull Filter filter, @Filter.Status int status);
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@ package android.media.tv.tuner.filter;
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.hardware.tv.tuner.V1_0.Constants;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
@@ -32,37 +31,6 @@ import java.lang.annotation.RetentionPolicy;
|
||||
@SystemApi
|
||||
public abstract class FilterConfiguration {
|
||||
|
||||
/**
|
||||
* TODO: moved to Filter. Remove it here.
|
||||
* @hide
|
||||
*/
|
||||
@IntDef(prefix = "FILTER_TYPE_", value =
|
||||
{FILTER_TYPE_TS, FILTER_TYPE_MMTP, FILTER_TYPE_IP, FILTER_TYPE_TLV, FILTER_TYPE_ALP})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface FilterType {}
|
||||
|
||||
/**
|
||||
* TS filter type.
|
||||
*/
|
||||
public static final int FILTER_TYPE_TS = Constants.DemuxFilterMainType.TS;
|
||||
/**
|
||||
* MMTP filter type.
|
||||
*/
|
||||
public static final int FILTER_TYPE_MMTP = Constants.DemuxFilterMainType.MMTP;
|
||||
/**
|
||||
* IP filter type.
|
||||
*/
|
||||
public static final int FILTER_TYPE_IP = Constants.DemuxFilterMainType.IP;
|
||||
/**
|
||||
* TLV filter type.
|
||||
*/
|
||||
public static final int FILTER_TYPE_TLV = Constants.DemuxFilterMainType.TLV;
|
||||
/**
|
||||
* ALP filter type.
|
||||
*/
|
||||
public static final int FILTER_TYPE_ALP = Constants.DemuxFilterMainType.ALP;
|
||||
|
||||
|
||||
/** @hide */
|
||||
@IntDef(prefix = "PACKET_TYPE_", value =
|
||||
{PACKET_TYPE_IPV4, PACKET_TYPE_COMPRESSED, PACKET_TYPE_SIGNALING})
|
||||
@@ -97,7 +65,7 @@ public abstract class FilterConfiguration {
|
||||
* Gets filter configuration type.
|
||||
* @hide
|
||||
*/
|
||||
@FilterType
|
||||
@Filter.Type
|
||||
public abstract int getType();
|
||||
|
||||
/** @hide */
|
||||
|
||||
@@ -45,7 +45,7 @@ public class IpFilterConfiguration extends FilterConfiguration {
|
||||
|
||||
@Override
|
||||
public int getType() {
|
||||
return FilterConfiguration.FILTER_TYPE_IP;
|
||||
return Filter.TYPE_IP;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
|
||||
package android.media.tv.tuner.filter;
|
||||
|
||||
import android.media.tv.tuner.Tuner.Filter;
|
||||
|
||||
/**
|
||||
* Filter event sent from {@link Filter} objects with IP payload type.
|
||||
*
|
||||
|
||||
@@ -18,7 +18,6 @@ package android.media.tv.tuner.filter;
|
||||
|
||||
import android.annotation.BytesLong;
|
||||
import android.annotation.Nullable;
|
||||
import android.media.tv.tuner.Tuner.Filter;
|
||||
|
||||
/**
|
||||
* Filter event sent from {@link Filter} objects with media type.
|
||||
|
||||
@@ -35,7 +35,7 @@ public class MmtpFilterConfiguration extends FilterConfiguration {
|
||||
|
||||
@Override
|
||||
public int getType() {
|
||||
return FilterConfiguration.FILTER_TYPE_MMTP;
|
||||
return Filter.TYPE_MMTP;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
|
||||
package android.media.tv.tuner.filter;
|
||||
|
||||
import android.media.tv.tuner.Tuner.Filter;
|
||||
|
||||
/**
|
||||
* Filter event sent from {@link Filter} objects with MMTP type.
|
||||
*
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
|
||||
package android.media.tv.tuner.filter;
|
||||
|
||||
import android.media.tv.tuner.Tuner.Filter;
|
||||
|
||||
/**
|
||||
* Filter event sent from {@link Filter} objects with PES type.
|
||||
*
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
package android.media.tv.tuner.filter;
|
||||
|
||||
import android.annotation.SystemApi;
|
||||
import android.media.tv.tuner.Tuner.Filter;
|
||||
|
||||
/**
|
||||
* Filter event sent from {@link Filter} objects with section type.
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
package android.media.tv.tuner.filter;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.media.tv.tuner.Tuner.Filter;
|
||||
|
||||
/**
|
||||
* Filter event sent from {@link Filter} objects for Timed External Media Information (TEMI) data.
|
||||
|
||||
@@ -40,7 +40,7 @@ public class TlvFilterConfiguration extends FilterConfiguration {
|
||||
|
||||
@Override
|
||||
public int getType() {
|
||||
return FilterConfiguration.FILTER_TYPE_TLV;
|
||||
return Filter.TYPE_TLV;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -39,7 +39,7 @@ public class TsFilterConfiguration extends FilterConfiguration {
|
||||
|
||||
@Override
|
||||
public int getType() {
|
||||
return FilterConfiguration.FILTER_TYPE_TS;
|
||||
return Filter.TYPE_TS;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
|
||||
package android.media.tv.tuner.filter;
|
||||
|
||||
import android.media.tv.tuner.Tuner.Filter;
|
||||
|
||||
|
||||
/**
|
||||
* Filter event sent from {@link Filter} objects for TS record data.
|
||||
|
||||
Reference in New Issue
Block a user