Loading media/java/android/media/tv/tunerresourcemanager/ITunerResourceManager.aidl +67 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ package android.media.tv.tunerresourcemanager; import android.media.tv.tunerresourcemanager.CasSessionRequest; import android.media.tv.tunerresourcemanager.IResourcesReclaimListener; import android.media.tv.tunerresourcemanager.ResourceClientProfile; import android.media.tv.tunerresourcemanager.TunerDemuxRequest; import android.media.tv.tunerresourcemanager.TunerDescramblerRequest; import android.media.tv.tunerresourcemanager.TunerFrontendInfo; import android.media.tv.tunerresourcemanager.TunerFrontendRequest; import android.media.tv.tunerresourcemanager.TunerLnbRequest; Loading Loading @@ -147,6 +149,53 @@ interface ITunerResourceManager { */ void shareFrontend(in int selfClientId, in int targetClientId); /* * This API is used by the Tuner framework to request an available demux from the TunerHAL. * * <p>There are three possible scenarios: * <ul> * <li>If there is demux available, the API would send the handle back. * * <li>If no Demux is available but the current request info can show higher priority than * other uses of demuxes, the API will send * {@link IResourcesReclaimListener#onReclaimResources()} to the {@link Tuner}. Tuner would * handle the resource reclaim on the holder of lower priority and notify the holder of its * resource loss. * * <li>If no demux can be granted, the API would return false. * <ul> * * @param request {@link TunerDemuxRequest} information of the current request. * @param demuxHandle a one-element array to return the granted demux handle. * * @return true if there is demux granted. */ boolean requestDemux(in TunerDemuxRequest request, out int[] demuxHandle); /* * This API is used by the Tuner framework to request an available descrambler from the * TunerHAL. * * <p>There are three possible scenarios: * <ul> * <li>If there is descrambler available, the API would send the handle back. * * <li>If no Descrambler is available but the current request info can show higher priority than * other uses of Descrambler, the API will send * {@link IResourcesReclaimListener#onReclaimResources()} to the {@link Tuner}. Tuner would * handle the resource reclaim on the holder of lower priority and notify the holder of its * resource loss. * * <li>If no Descrambler can be granted, the API would return false. * <ul> * * @param request {@link TunerDescramblerRequest} information of the current request. * @param descramblerHandle a one-element array to return the granted descrambler handle. * * @return true if there is Descrambler granted. */ boolean requestDescrambler(in TunerDescramblerRequest request, out int[] descramblerHandle); /* * This API is used by the Tuner framework to request an available Cas session. This session * needs to be under the CAS system with the id indicated in the {@code request}. Loading Loading @@ -209,6 +258,24 @@ interface ITunerResourceManager { */ void releaseFrontend(in int frontendId); /* * Notifies the TRM that the Demux with the given handle was released. * * <p>Client must call this whenever it releases a demux. * * @param demuxHandle the handle of the released Tuner Demux. */ void releaseDemux(in int demuxHandle); /* * Notifies the TRM that the Descrambler with the given handle was released. * * <p>Client must call this whenever it releases a descrambler. * * @param demuxHandle the handle of the released Tuner Descrambler. */ void releaseDescrambler(in int descramblerHandle); /* * Notifies the TRM that the given Cas session has been released. * Loading media/java/android/media/tv/tunerresourcemanager/TunerDemuxRequest.aidl 0 → 100644 +24 −0 Original line number Diff line number Diff line /* * Copyright 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media.tv.tunerresourcemanager; /** * Information required to request a Tuner Demux. * * @hide */ parcelable TunerDemuxRequest; No newline at end of file media/java/android/media/tv/tunerresourcemanager/TunerDemuxRequest.java 0 → 100644 +96 −0 Original line number Diff line number Diff line /* * Copyright 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media.tv.tunerresourcemanager; import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; import android.util.Log; /** * Information required to request a Tuner Demux. * * @hide */ public final class TunerDemuxRequest implements Parcelable { static final String TAG = "TunerDemuxRequest"; public static final @NonNull Parcelable.Creator<TunerDemuxRequest> CREATOR = new Parcelable.Creator<TunerDemuxRequest>() { @Override public TunerDemuxRequest createFromParcel(Parcel source) { try { return new TunerDemuxRequest(source); } catch (Exception e) { Log.e(TAG, "Exception creating TunerDemuxRequest from parcel", e); return null; } } @Override public TunerDemuxRequest[] newArray(int size) { return new TunerDemuxRequest[size]; } }; /** * Client id of the client that sends the request. */ private final int mClientId; private TunerDemuxRequest(@NonNull Parcel source) { mClientId = source.readInt(); } /** * Constructs a new {@link TunerDemuxRequest} with the given parameters. * * @param clientId id of the client. */ public TunerDemuxRequest(int clientId) { mClientId = clientId; } /** * Returns the id of the client. */ public int getClientId() { return mClientId; } // Parcelable @Override public int describeContents() { return 0; } @NonNull @Override public String toString() { StringBuilder b = new StringBuilder(128); b.append("TunerDemuxRequest {clientId=").append(mClientId); b.append("}"); return b.toString(); } @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeInt(mClientId); } } media/java/android/media/tv/tunerresourcemanager/TunerDescramblerRequest.aidl 0 → 100644 +24 −0 Original line number Diff line number Diff line /* * Copyright 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media.tv.tunerresourcemanager; /** * Information required to request a Tuner Descrambler. * * @hide */ parcelable TunerDescramblerRequest; No newline at end of file media/java/android/media/tv/tunerresourcemanager/TunerDescramblerRequest.java 0 → 100644 +96 −0 Original line number Diff line number Diff line /* * Copyright 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media.tv.tunerresourcemanager; import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; import android.util.Log; /** * Information required to request a Tuner Descrambler. * * @hide */ public final class TunerDescramblerRequest implements Parcelable { static final String TAG = "TunerDescramblerRequest"; public static final @NonNull Parcelable.Creator<TunerDescramblerRequest> CREATOR = new Parcelable.Creator<TunerDescramblerRequest>() { @Override public TunerDescramblerRequest createFromParcel(Parcel source) { try { return new TunerDescramblerRequest(source); } catch (Exception e) { Log.e(TAG, "Exception creating TunerDescramblerRequest from parcel", e); return null; } } @Override public TunerDescramblerRequest[] newArray(int size) { return new TunerDescramblerRequest[size]; } }; /** * Client id of the client that sends the request. */ private final int mClientId; private TunerDescramblerRequest(@NonNull Parcel source) { mClientId = source.readInt(); } /** * Constructs a new {@link TunerDescramblerRequest} with the given parameters. * * @param clientId id of the client. */ public TunerDescramblerRequest(int clientId) { mClientId = clientId; } /** * Returns the id of the client. */ public int getClientId() { return mClientId; } // Parcelable @Override public int describeContents() { return 0; } @NonNull @Override public String toString() { StringBuilder b = new StringBuilder(128); b.append("TunerDescramblerRequest {clientId=").append(mClientId); b.append("}"); return b.toString(); } @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeInt(mClientId); } } Loading
media/java/android/media/tv/tunerresourcemanager/ITunerResourceManager.aidl +67 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ package android.media.tv.tunerresourcemanager; import android.media.tv.tunerresourcemanager.CasSessionRequest; import android.media.tv.tunerresourcemanager.IResourcesReclaimListener; import android.media.tv.tunerresourcemanager.ResourceClientProfile; import android.media.tv.tunerresourcemanager.TunerDemuxRequest; import android.media.tv.tunerresourcemanager.TunerDescramblerRequest; import android.media.tv.tunerresourcemanager.TunerFrontendInfo; import android.media.tv.tunerresourcemanager.TunerFrontendRequest; import android.media.tv.tunerresourcemanager.TunerLnbRequest; Loading Loading @@ -147,6 +149,53 @@ interface ITunerResourceManager { */ void shareFrontend(in int selfClientId, in int targetClientId); /* * This API is used by the Tuner framework to request an available demux from the TunerHAL. * * <p>There are three possible scenarios: * <ul> * <li>If there is demux available, the API would send the handle back. * * <li>If no Demux is available but the current request info can show higher priority than * other uses of demuxes, the API will send * {@link IResourcesReclaimListener#onReclaimResources()} to the {@link Tuner}. Tuner would * handle the resource reclaim on the holder of lower priority and notify the holder of its * resource loss. * * <li>If no demux can be granted, the API would return false. * <ul> * * @param request {@link TunerDemuxRequest} information of the current request. * @param demuxHandle a one-element array to return the granted demux handle. * * @return true if there is demux granted. */ boolean requestDemux(in TunerDemuxRequest request, out int[] demuxHandle); /* * This API is used by the Tuner framework to request an available descrambler from the * TunerHAL. * * <p>There are three possible scenarios: * <ul> * <li>If there is descrambler available, the API would send the handle back. * * <li>If no Descrambler is available but the current request info can show higher priority than * other uses of Descrambler, the API will send * {@link IResourcesReclaimListener#onReclaimResources()} to the {@link Tuner}. Tuner would * handle the resource reclaim on the holder of lower priority and notify the holder of its * resource loss. * * <li>If no Descrambler can be granted, the API would return false. * <ul> * * @param request {@link TunerDescramblerRequest} information of the current request. * @param descramblerHandle a one-element array to return the granted descrambler handle. * * @return true if there is Descrambler granted. */ boolean requestDescrambler(in TunerDescramblerRequest request, out int[] descramblerHandle); /* * This API is used by the Tuner framework to request an available Cas session. This session * needs to be under the CAS system with the id indicated in the {@code request}. Loading Loading @@ -209,6 +258,24 @@ interface ITunerResourceManager { */ void releaseFrontend(in int frontendId); /* * Notifies the TRM that the Demux with the given handle was released. * * <p>Client must call this whenever it releases a demux. * * @param demuxHandle the handle of the released Tuner Demux. */ void releaseDemux(in int demuxHandle); /* * Notifies the TRM that the Descrambler with the given handle was released. * * <p>Client must call this whenever it releases a descrambler. * * @param demuxHandle the handle of the released Tuner Descrambler. */ void releaseDescrambler(in int descramblerHandle); /* * Notifies the TRM that the given Cas session has been released. * Loading
media/java/android/media/tv/tunerresourcemanager/TunerDemuxRequest.aidl 0 → 100644 +24 −0 Original line number Diff line number Diff line /* * Copyright 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media.tv.tunerresourcemanager; /** * Information required to request a Tuner Demux. * * @hide */ parcelable TunerDemuxRequest; No newline at end of file
media/java/android/media/tv/tunerresourcemanager/TunerDemuxRequest.java 0 → 100644 +96 −0 Original line number Diff line number Diff line /* * Copyright 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media.tv.tunerresourcemanager; import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; import android.util.Log; /** * Information required to request a Tuner Demux. * * @hide */ public final class TunerDemuxRequest implements Parcelable { static final String TAG = "TunerDemuxRequest"; public static final @NonNull Parcelable.Creator<TunerDemuxRequest> CREATOR = new Parcelable.Creator<TunerDemuxRequest>() { @Override public TunerDemuxRequest createFromParcel(Parcel source) { try { return new TunerDemuxRequest(source); } catch (Exception e) { Log.e(TAG, "Exception creating TunerDemuxRequest from parcel", e); return null; } } @Override public TunerDemuxRequest[] newArray(int size) { return new TunerDemuxRequest[size]; } }; /** * Client id of the client that sends the request. */ private final int mClientId; private TunerDemuxRequest(@NonNull Parcel source) { mClientId = source.readInt(); } /** * Constructs a new {@link TunerDemuxRequest} with the given parameters. * * @param clientId id of the client. */ public TunerDemuxRequest(int clientId) { mClientId = clientId; } /** * Returns the id of the client. */ public int getClientId() { return mClientId; } // Parcelable @Override public int describeContents() { return 0; } @NonNull @Override public String toString() { StringBuilder b = new StringBuilder(128); b.append("TunerDemuxRequest {clientId=").append(mClientId); b.append("}"); return b.toString(); } @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeInt(mClientId); } }
media/java/android/media/tv/tunerresourcemanager/TunerDescramblerRequest.aidl 0 → 100644 +24 −0 Original line number Diff line number Diff line /* * Copyright 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media.tv.tunerresourcemanager; /** * Information required to request a Tuner Descrambler. * * @hide */ parcelable TunerDescramblerRequest; No newline at end of file
media/java/android/media/tv/tunerresourcemanager/TunerDescramblerRequest.java 0 → 100644 +96 −0 Original line number Diff line number Diff line /* * Copyright 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media.tv.tunerresourcemanager; import android.annotation.NonNull; import android.os.Parcel; import android.os.Parcelable; import android.util.Log; /** * Information required to request a Tuner Descrambler. * * @hide */ public final class TunerDescramblerRequest implements Parcelable { static final String TAG = "TunerDescramblerRequest"; public static final @NonNull Parcelable.Creator<TunerDescramblerRequest> CREATOR = new Parcelable.Creator<TunerDescramblerRequest>() { @Override public TunerDescramblerRequest createFromParcel(Parcel source) { try { return new TunerDescramblerRequest(source); } catch (Exception e) { Log.e(TAG, "Exception creating TunerDescramblerRequest from parcel", e); return null; } } @Override public TunerDescramblerRequest[] newArray(int size) { return new TunerDescramblerRequest[size]; } }; /** * Client id of the client that sends the request. */ private final int mClientId; private TunerDescramblerRequest(@NonNull Parcel source) { mClientId = source.readInt(); } /** * Constructs a new {@link TunerDescramblerRequest} with the given parameters. * * @param clientId id of the client. */ public TunerDescramblerRequest(int clientId) { mClientId = clientId; } /** * Returns the id of the client. */ public int getClientId() { return mClientId; } // Parcelable @Override public int describeContents() { return 0; } @NonNull @Override public String toString() { StringBuilder b = new StringBuilder(128); b.append("TunerDescramblerRequest {clientId=").append(mClientId); b.append("}"); return b.toString(); } @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeInt(mClientId); } }