diff options
author | Wonsik Kim <wonsik@google.com> | 2021-04-12 13:06:40 -0700 |
---|---|---|
committer | Wonsik Kim <wonsik@google.com> | 2021-04-12 14:46:30 -0700 |
commit | 66ee5e4b757a1b5456991799ee332637b0982b5c (patch) | |
tree | eef05c52d8bcb4829963aa3b86dbcbc90b2fc84a /media/java/android/media/MediaCodec.java | |
parent | 9a24f337aa5459963197555f6ae83b1c23146beb (diff) |
MediaCodec: minor revision of APIs for vendor parameters
- add hashCode() and equals() to ParameterDescriptor
- clarify documentation for subscribe/unsubscribe APIs
Bug: 184537653
Test: atest CtsMediaTestCases:MediaCodecTest
Change-Id: Ie98d2d29eccd94f26ecf6763ae47cee942fc08f8
Diffstat (limited to 'media/java/android/media/MediaCodec.java')
-rw-r--r-- | media/java/android/media/MediaCodec.java | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java index 5633236a122e..54d065969228 100644 --- a/media/java/android/media/MediaCodec.java +++ b/media/java/android/media/MediaCodec.java @@ -4607,6 +4607,25 @@ final public class MediaCodec { return mType; } + @Override + public boolean equals(Object o) { + if (o == null) { + return false; + } + if (!(o instanceof ParameterDescriptor)) { + return false; + } + ParameterDescriptor other = (ParameterDescriptor) o; + return this.mName.equals(other.mName) && this.mType == other.mType; + } + + @Override + public int hashCode() { + return Arrays.asList( + (Object) mName, + (Object) Integer.valueOf(mType)).hashCode(); + } + private String mName; private @MediaFormat.Type int mType; } @@ -4631,7 +4650,8 @@ final public class MediaCodec { private native ParameterDescriptor native_getParameterDescriptor(@NonNull String name); /** - * Subscribe to vendor parameters, so that changes to these parameters generate + * Subscribe to vendor parameters, so that these parameters will be present in + * {@link #getOutputFormat} and changes to these parameters generate * output format change event. * <p> * Unrecognized parameter names or standard (non-vendor) parameter names will be ignored. @@ -4660,8 +4680,9 @@ final public class MediaCodec { private native void native_subscribeToVendorParameters(@NonNull List<String> names); /** - * Unsubscribe from vendor parameters, so that changes to these parameters - * no longer generate output format change event. + * Unsubscribe from vendor parameters, so that these parameters will not be present in + * {@link #getOutputFormat} and changes to these parameters no longer generate + * output format change event. * <p> * Unrecognized parameter names, standard (non-vendor) parameter names will be ignored. * {@link #reset} also resets the list of subscribed parameters. @@ -4669,7 +4690,8 @@ final public class MediaCodec { * <p> * This method can be called in any codec state except for released state. When called in * running state with newly unsubscribed parameters, it takes effect no later than the - * processing of the subsequently queued buffer. + * processing of the subsequently queued buffer. For the removed parameters, the codec will + * generate output format change event. * <p> * Note that any vendor parameters set in a {@link #configure} or * {@link #setParameters} call are automatically subscribed, and with this method |