diff options
| author | 2024-10-08 20:12:14 +0000 | |
|---|---|---|
| committer | 2024-10-08 20:12:14 +0000 | |
| commit | 202605ecf861439d0c958f1f38f876c0e65a4bf2 (patch) | |
| tree | bf1eb998d81c4830e356c827568234703a35193a | |
| parent | f50a527d493d16b9207801c83a03ab23796d3d19 (diff) | |
| parent | dd07f0325c98afca60b230b5b6603e4711e7394c (diff) | |
Merge "MediaCas: Add API to update client priority and nice value." into main
| -rw-r--r-- | core/api/current.txt | 1 | ||||
| -rw-r--r-- | media/java/android/media/MediaCas.java | 24 | ||||
| -rw-r--r-- | media/java/android/media/flags/media_better_together.aconfig | 7 |
3 files changed, 32 insertions, 0 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index 565254f69ec5..ec6a20c49629 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -22601,6 +22601,7 @@ package android.media { method public void sendEvent(int, int, @Nullable byte[]) throws android.media.MediaCasException; method public void setEventListener(@Nullable android.media.MediaCas.EventListener, @Nullable android.os.Handler); method public void setPrivateData(@NonNull byte[]) throws android.media.MediaCasException; + method @FlaggedApi("com.android.media.flags.update_client_profile_priority") public boolean updateResourcePriority(int, int); field public static final int PLUGIN_STATUS_PHYSICAL_MODULE_CHANGED = 0; // 0x0 field public static final int PLUGIN_STATUS_SESSION_NUMBER_CHANGED = 1; // 0x1 field public static final int SCRAMBLING_MODE_AES128 = 9; // 0x9 diff --git a/media/java/android/media/MediaCas.java b/media/java/android/media/MediaCas.java index 2d7db5e6ed94..8b04644a2989 100644 --- a/media/java/android/media/MediaCas.java +++ b/media/java/android/media/MediaCas.java @@ -16,6 +16,9 @@ package android.media; +import static com.android.media.flags.Flags.FLAG_UPDATE_CLIENT_PROFILE_PRIORITY; + +import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; @@ -970,6 +973,27 @@ public final class MediaCas implements AutoCloseable { registerClient(context, tvInputServiceSessionId, priorityHint); } + /** + * Updates client priority with an arbitrary value along with a nice value. + * + * <p>Tuner resource manager (TRM) uses the client priority value to decide whether it is able + * to reclaim insufficient resources from another client. + * + * <p>The nice value represents how much the client intends to give up the resource when an + * insufficient resource situation happens. + * + * @see <a + * href="https://source.android.com/docs/devices/tv/tuner-framework#priority-nice-value"> + * Priority value and nice value</a> + * @param priority the new priority. Any negative value would cause no-op on priority setting + * and the API would only process nice value setting in that case. + * @param niceValue the nice value. + */ + @FlaggedApi(FLAG_UPDATE_CLIENT_PROFILE_PRIORITY) + public boolean updateResourcePriority(int priority, int niceValue) { + return mTunerResourceManager.updateClientPriority(mClientId, priority, niceValue); + } + IHwBinder getBinder() { if (mICas != null) { return null; // Return IHwBinder only for HIDL diff --git a/media/java/android/media/flags/media_better_together.aconfig b/media/java/android/media/flags/media_better_together.aconfig index 7252135ef0ca..1ef98f2c2644 100644 --- a/media/java/android/media/flags/media_better_together.aconfig +++ b/media/java/android/media/flags/media_better_together.aconfig @@ -70,6 +70,13 @@ flag { } flag { + name: "update_client_profile_priority" + namespace: "media" + description : "Feature flag to add updateResourcePriority api to MediaCas" + bug: "300565729" +} + +flag { name: "enable_built_in_speaker_route_suitability_statuses" is_exported: true namespace: "media_solutions" |