summaryrefslogtreecommitdiffstats
path: root/include/media/stagefright/MediaErrors.h
diff options
context:
space:
mode:
authorAndy Hung <hunga@google.com>2014-07-30 15:46:04 -0700
committerAndy Hung <hunga@google.com>2014-08-07 12:24:31 -0700
commit251d4be8aa5ab80bc915a82a2420233bdc62018e (patch)
treec158da7f2cd30e99ab93a8046b2cdd1d4ba50c91 /include/media/stagefright/MediaErrors.h
parent92ce4715315bddd158c7d4028556632f0547e3b9 (diff)
downloadframeworks_av-251d4be8aa5ab80bc915a82a2420233bdc62018e.zip
frameworks_av-251d4be8aa5ab80bc915a82a2420233bdc62018e.tar.gz
frameworks_av-251d4be8aa5ab80bc915a82a2420233bdc62018e.tar.bz2
Clarify and implement MediaCodec status codes
Clarify MediaCodec status codes in MediaError.h When appropriate, return OMX error codes for status. Optionally return a status code from CreateByType() and CreateByComponentName(). Bug: 12034929 Bug: 13976475 Change-Id: I7463dd08d101074f730481b26127a69c9186c97e
Diffstat (limited to 'include/media/stagefright/MediaErrors.h')
-rw-r--r--include/media/stagefright/MediaErrors.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/include/media/stagefright/MediaErrors.h b/include/media/stagefright/MediaErrors.h
index 686f286..7540e07 100644
--- a/include/media/stagefright/MediaErrors.h
+++ b/include/media/stagefright/MediaErrors.h
@@ -23,6 +23,18 @@
namespace android {
enum {
+ // status_t map for errors in the media framework
+ // OK or NO_ERROR or 0 represents no error.
+
+ // See system/core/include/utils/Errors.h
+ // System standard errors from -1 through (possibly) -133
+ //
+ // Errors with special meanings and side effects.
+ // INVALID_OPERATION: Operation attempted in an illegal state (will try to signal to app).
+ // DEAD_OBJECT: Signal from CodecBase to MediaCodec that MediaServer has died.
+ // NAME_NOT_FOUND: Signal from CodecBase to MediaCodec that the component was not found.
+
+ // Media errors
MEDIA_ERROR_BASE = -1000,
ERROR_ALREADY_CONNECTED = MEDIA_ERROR_BASE,
@@ -64,8 +76,34 @@ enum {
// Heartbeat Error Codes
HEARTBEAT_ERROR_BASE = -3000,
ERROR_HEARTBEAT_TERMINATE_REQUESTED = HEARTBEAT_ERROR_BASE,
+
+ // NDK Error codes
+ // frameworks/av/include/ndk/NdkMediaError.h
+ // from -10000 (0xFFFFD8F0 - 0xFFFFD8EC)
+ // from -20000 (0xFFFFB1E0 - 0xFFFFB1D7)
+
+ // Codec errors are permitted from 0x80001000 through 0x9000FFFF
+ ERROR_CODEC_MAX = (signed)0x9000FFFF,
+ ERROR_CODEC_MIN = (signed)0x80001000,
+
+ // System unknown errors from 0x80000000 - 0x80000007 (INT32_MIN + 7)
+ // See system/core/include/utils/Errors.h
+};
+
+// action codes for MediaCodecs that tell the upper layer and application
+// the severity of any error.
+enum ActionCode {
+ ACTION_CODE_FATAL,
+ ACTION_CODE_TRANSIENT,
+ ACTION_CODE_RECOVERABLE,
};
+// returns true if err is a recognized DRM error code
+static inline bool isCryptoError(status_t err) {
+ return (ERROR_DRM_RESOURCE_BUSY <= err && err <= ERROR_DRM_UNKNOWN)
+ || (ERROR_DRM_VENDOR_MIN <= err && err <= ERROR_DRM_VENDOR_MAX);
+}
+
} // namespace android
#endif // MEDIA_ERRORS_H_