summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2014-05-21 15:29:35 -0700
committerLajos Molnar <lajos@google.com>2014-05-28 19:12:15 -0700
commitacfcf645ffb611bbb436aa0249658630c5cb5df2 (patch)
tree58d581e3137ee75980ee37588b73d5d669a563f3 /media
parent2ddbbe7b949bde21ba9aadc54940067be47e4d72 (diff)
downloadframeworks_base-acfcf645ffb611bbb436aa0249658630c5cb5df2.zip
frameworks_base-acfcf645ffb611bbb436aa0249658630c5cb5df2.tar.gz
frameworks_base-acfcf645ffb611bbb436aa0249658630c5cb5df2.tar.bz2
media.MediaCodec: document and fix-up setNotificationCallback
change from interface to abstrace class Bug: 15091403 Change-Id: I5093672e36681670934a5ebaa49484441af5bcdd
Diffstat (limited to 'media')
-rw-r--r--media/java/android/media/MediaCodec.java27
1 files changed, 25 insertions, 2 deletions
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java
index c7b3fc9..cb9d4d5 100644
--- a/media/java/android/media/MediaCodec.java
+++ b/media/java/android/media/MediaCodec.java
@@ -744,12 +744,35 @@ final public class MediaCodec {
setParameters(keys, values);
}
+ /**
+ * Sets the codec listener for actionable MediaCodec events.
+ * <p>Call this method with a null listener to stop receiving event notifications.
+ *
+ * @param cb The listener that will run.
+ */
public void setNotificationCallback(NotificationCallback cb) {
mNotificationCallback = cb;
}
- public interface NotificationCallback {
- void onCodecNotify(MediaCodec codec);
+ /**
+ * MediaCodec listener interface. Used to notify the user of MediaCodec
+ * when there are available input and/or output buffers, a change in
+ * configuration or when a codec error happened.
+ */
+ public static abstract class NotificationCallback {
+ /**
+ * Called on the listener to notify that there is an actionable
+ * MediaCodec event. The application should call {@link #dequeueOutputBuffer}
+ * to receive the configuration change event, codec error or an
+ * available output buffer. It should also call {@link #dequeueInputBuffer}
+ * to receive any available input buffer. For best performance, it
+ * is recommended to exhaust both available input and output buffers in
+ * the handling of a single callback, by calling the dequeue methods
+ * repeatedly with a zero timeout until {@link #INFO_TRY_AGAIN_LATER} is returned.
+ *
+ * @param codec the MediaCodec instance that has an actionable event.
+ */
+ public abstract void onCodecNotify(MediaCodec codec);
}
private void postEventFromNative(