Loading api/system-current.txt +43 −17 Original line number Diff line number Diff line Loading @@ -4691,6 +4691,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); Loading @@ -4699,19 +4700,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 Loading @@ -4725,12 +4714,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 { Loading media/java/android/media/tv/tuner/DemuxCapabilities.java +6 −5 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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 {} Loading media/java/android/media/tv/tuner/Descrambler.java +1 −1 Original line number Diff line number Diff line Loading @@ -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; Loading media/java/android/media/tv/tuner/Tuner.java +5 −40 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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. * Loading Loading @@ -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; } Loading Loading @@ -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. * Loading @@ -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 Loading @@ -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(); } Loading media/java/android/media/tv/tuner/TunerConstants.java +0 −31 Original line number Diff line number Diff line Loading @@ -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) Loading Loading
api/system-current.txt +43 −17 Original line number Diff line number Diff line Loading @@ -4691,6 +4691,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); Loading @@ -4699,19 +4700,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 Loading @@ -4725,12 +4714,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 { Loading
media/java/android/media/tv/tuner/DemuxCapabilities.java +6 −5 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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 {} Loading
media/java/android/media/tv/tuner/Descrambler.java +1 −1 Original line number Diff line number Diff line Loading @@ -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; Loading
media/java/android/media/tv/tuner/Tuner.java +5 −40 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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. * Loading Loading @@ -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; } Loading Loading @@ -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. * Loading @@ -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 Loading @@ -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(); } Loading
media/java/android/media/tv/tuner/TunerConstants.java +0 −31 Original line number Diff line number Diff line Loading @@ -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) Loading