1050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen/*
2050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen * Copyright (C) 2014 The Android Open Source Project
3050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen *
4050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen * Licensed under the Apache License, Version 2.0 (the "License");
5050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen * you may not use this file except in compliance with the License.
6050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen * You may obtain a copy of the License at
7050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen *
8050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen *      http://www.apache.org/licenses/LICENSE-2.0
9050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen *
10050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen * Unless required by applicable law or agreed to in writing, software
11050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen * distributed under the License is distributed on an "AS IS" BASIS,
12050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen * See the License for the specific language governing permissions and
14050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen * limitations under the License.
15050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen */
16050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen
17050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen
18050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen/*
19050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen * This file defines an NDK API.
20050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen * Do not remove methods.
21050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen * Do not change method signatures.
22050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen * Do not change the value of constants.
23050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen * Do not change the size of any of the classes defined in here.
24050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen * Do not reference types that are not part of the NDK.
25050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen * Do not #include files that aren't part of the NDK.
26050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen */
27050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen
28050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen#ifndef _NDK_MEDIA_ERROR_H
29050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen#define _NDK_MEDIA_ERROR_H
30050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen
31050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen#ifdef __cplusplus
32050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissenextern "C" {
33050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen#endif
34050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen
35e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissentypedef enum {
36e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_OK = 0,
37e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen
38e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_ERROR_BASE                  = -10000,
39e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_ERROR_UNKNOWN               = AMEDIA_ERROR_BASE,
40e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_ERROR_MALFORMED             = AMEDIA_ERROR_BASE - 1,
41e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_ERROR_UNSUPPORTED           = AMEDIA_ERROR_BASE - 2,
42e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_ERROR_INVALID_OBJECT        = AMEDIA_ERROR_BASE - 3,
43e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_ERROR_INVALID_PARAMETER     = AMEDIA_ERROR_BASE - 4,
44e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen
45e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_DRM_ERROR_BASE              = -20000,
46e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_DRM_NOT_PROVISIONED         = AMEDIA_DRM_ERROR_BASE - 1,
47e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_DRM_RESOURCE_BUSY           = AMEDIA_DRM_ERROR_BASE - 2,
48e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_DRM_DEVICE_REVOKED          = AMEDIA_DRM_ERROR_BASE - 3,
49e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_DRM_SHORT_BUFFER            = AMEDIA_DRM_ERROR_BASE - 4,
50e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_DRM_SESSION_NOT_OPENED      = AMEDIA_DRM_ERROR_BASE - 5,
51e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_DRM_TAMPER_DETECTED         = AMEDIA_DRM_ERROR_BASE - 6,
52e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_DRM_VERIFY_FAILED           = AMEDIA_DRM_ERROR_BASE - 7,
53e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_DRM_NEED_KEY                = AMEDIA_DRM_ERROR_BASE - 8,
54e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen    AMEDIA_DRM_LICENSE_EXPIRED         = AMEDIA_DRM_ERROR_BASE - 9,
55e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen
56c360382bf257d815b2a411152485d3c3b37a9f46Yin-Chia Yeh    AMEDIA_IMGREADER_ERROR_BASE          = -30000,
57c360382bf257d815b2a411152485d3c3b37a9f46Yin-Chia Yeh    AMEDIA_IMGREADER_NO_BUFFER_AVAILABLE = AMEDIA_IMGREADER_ERROR_BASE - 1,
58c360382bf257d815b2a411152485d3c3b37a9f46Yin-Chia Yeh    AMEDIA_IMGREADER_MAX_IMAGES_ACQUIRED = AMEDIA_IMGREADER_ERROR_BASE - 2,
59c360382bf257d815b2a411152485d3c3b37a9f46Yin-Chia Yeh
60e419d7cd5c62b4b5866a45d59c5770bb470193c1Marco Nelissen} media_status_t;
61050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen
62050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen
63050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen#ifdef __cplusplus
64050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen} // extern "C"
65050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen#endif
66050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen
67050eb3280d7305b84f723d515be2dc9606dc39d1Marco Nelissen#endif // _NDK_MEDIA_ERROR_H
68