1 #include <C2.h> 2 #include <C2Component.h> 3 4 #include <apex/ApexCodecs.h> 5 6 // static_asserts for enum values match 7 static_assert((uint32_t)APEXCODEC_STATUS_OK == (uint32_t)C2_OK); 8 static_assert((uint32_t)APEXCODEC_STATUS_BAD_VALUE == (uint32_t)C2_BAD_VALUE); 9 static_assert((uint32_t)APEXCODEC_STATUS_BAD_INDEX == (uint32_t)C2_BAD_INDEX); 10 static_assert((uint32_t)APEXCODEC_STATUS_CANNOT_DO == (uint32_t)C2_CANNOT_DO); 11 static_assert((uint32_t)APEXCODEC_STATUS_DUPLICATE == (uint32_t)C2_DUPLICATE); 12 static_assert((uint32_t)APEXCODEC_STATUS_NOT_FOUND == (uint32_t)C2_NOT_FOUND); 13 static_assert((uint32_t)APEXCODEC_STATUS_BAD_STATE == (uint32_t)C2_BAD_STATE); 14 static_assert((uint32_t)APEXCODEC_STATUS_BLOCKING == (uint32_t)C2_BLOCKING); 15 static_assert((uint32_t)APEXCODEC_STATUS_CANCELED == (uint32_t)C2_CANCELED); 16 static_assert((uint32_t)APEXCODEC_STATUS_NO_MEMORY == (uint32_t)C2_NO_MEMORY); 17 static_assert((uint32_t)APEXCODEC_STATUS_REFUSED == (uint32_t)C2_REFUSED); 18 static_assert((uint32_t)APEXCODEC_STATUS_TIMED_OUT == (uint32_t)C2_TIMED_OUT); 19 static_assert((uint32_t)APEXCODEC_STATUS_OMITTED == (uint32_t)C2_OMITTED); 20 static_assert((uint32_t)APEXCODEC_STATUS_CORRUPTED == (uint32_t)C2_CORRUPTED); 21 static_assert((uint32_t)APEXCODEC_STATUS_NO_INIT == (uint32_t)C2_NO_INIT); 22 23 static_assert((uint32_t)APEXCODEC_KIND_OTHER == (uint32_t)C2Component::KIND_OTHER); 24 static_assert((uint32_t)APEXCODEC_KIND_DECODER == (uint32_t)C2Component::KIND_DECODER); 25 static_assert((uint32_t)APEXCODEC_KIND_ENCODER == (uint32_t)C2Component::KIND_ENCODER); 26 27 static_assert((uint32_t)APEXCODEC_DOMAIN_OTHER == (uint32_t)C2Component::DOMAIN_OTHER); 28 static_assert((uint32_t)APEXCODEC_DOMAIN_VIDEO == (uint32_t)C2Component::DOMAIN_VIDEO); 29 static_assert((uint32_t)APEXCODEC_DOMAIN_AUDIO == (uint32_t)C2Component::DOMAIN_AUDIO); 30 static_assert((uint32_t)APEXCODEC_DOMAIN_IMAGE == (uint32_t)C2Component::DOMAIN_IMAGE); 31 32 static_assert((uint32_t)APEXCODEC_FLAG_DROP_FRAME == (uint32_t)C2FrameData::FLAG_DROP_FRAME); 33 static_assert((uint32_t)APEXCODEC_FLAG_END_OF_STREAM == (uint32_t)C2FrameData::FLAG_END_OF_STREAM); 34 static_assert((uint32_t)APEXCODEC_FLAG_DISCARD_FRAME == (uint32_t)C2FrameData::FLAG_DISCARD_FRAME); 35 static_assert((uint32_t)APEXCODEC_FLAG_INCOMPLETE == (uint32_t)C2FrameData::FLAG_INCOMPLETE); 36 static_assert((uint32_t)APEXCODEC_FLAG_CORRECTED == (uint32_t)C2FrameData::FLAG_CORRECTED); 37 static_assert((uint32_t)APEXCODEC_FLAG_CORRUPT == (uint32_t)C2FrameData::FLAG_CORRUPT); 38 static_assert((uint32_t)APEXCODEC_FLAG_CODEC_CONFIG == (uint32_t)C2FrameData::FLAG_CODEC_CONFIG); 39 40 static_assert((uint32_t)APEXCODEC_BUFFER_TYPE_INVALID == 41 (uint32_t)C2BufferData::INVALID); 42 static_assert((uint32_t)APEXCODEC_BUFFER_TYPE_LINEAR == 43 (uint32_t)C2BufferData::LINEAR); 44 static_assert((uint32_t)APEXCODEC_BUFFER_TYPE_LINEAR_CHUNKS == 45 (uint32_t)C2BufferData::LINEAR_CHUNKS); 46 static_assert((uint32_t)APEXCODEC_BUFFER_TYPE_GRAPHIC == 47 (uint32_t)C2BufferData::GRAPHIC); 48 static_assert((uint32_t)APEXCODEC_BUFFER_TYPE_GRAPHIC_CHUNKS == 49 (uint32_t)C2BufferData::GRAPHIC_CHUNKS); 50 51 static_assert((uint32_t)APEXCODEC_SUPPORTED_VALUES_QUERY_CURRENT == 52 (uint32_t)C2FieldSupportedValuesQuery::CURRENT); 53 static_assert((uint32_t)APEXCODEC_SUPPORTED_VALUES_QUERY_POSSIBLE == 54 (uint32_t)C2FieldSupportedValuesQuery::POSSIBLE); 55 56 static_assert((uint32_t)APEXCODEC_SUPPORTED_VALUES_EMPTY == 57 (uint32_t)C2FieldSupportedValues::EMPTY); 58 static_assert((uint32_t)APEXCODEC_SUPPORTED_VALUES_RANGE == 59 (uint32_t)C2FieldSupportedValues::RANGE); 60 static_assert((uint32_t)APEXCODEC_SUPPORTED_VALUES_VALUES == 61 (uint32_t)C2FieldSupportedValues::VALUES); 62 static_assert((uint32_t)APEXCODEC_SUPPORTED_VALUES_FLAGS == 63 (uint32_t)C2FieldSupportedValues::FLAGS); 64 65 static_assert((uint32_t)APEXCODEC_SUPPORTED_VALUES_TYPE_NONE == (uint32_t)C2Value::NO_INIT); 66 static_assert((uint32_t)APEXCODEC_SUPPORTED_VALUES_TYPE_INT32 == (uint32_t)C2Value::INT32); 67 static_assert((uint32_t)APEXCODEC_SUPPORTED_VALUES_TYPE_UINT32 == (uint32_t)C2Value::UINT32); 68 static_assert((uint32_t)APEXCODEC_SUPPORTED_VALUES_TYPE_INT64 == (uint32_t)C2Value::INT64); 69 static_assert((uint32_t)APEXCODEC_SUPPORTED_VALUES_TYPE_UINT64 == (uint32_t)C2Value::UINT64); 70 static_assert((uint32_t)APEXCODEC_SUPPORTED_VALUES_TYPE_FLOAT == (uint32_t)C2Value::FLOAT); 71 72 static_assert((uint32_t)APEXCODEC_SETTING_RESULT_BAD_TYPE == 73 (uint32_t)C2SettingResult::BAD_TYPE); 74 static_assert((uint32_t)APEXCODEC_SETTING_RESULT_BAD_PORT == 75 (uint32_t)C2SettingResult::BAD_PORT); 76 static_assert((uint32_t)APEXCODEC_SETTING_RESULT_BAD_INDEX == 77 (uint32_t)C2SettingResult::BAD_INDEX); 78 static_assert((uint32_t)APEXCODEC_SETTING_RESULT_READ_ONLY == 79 (uint32_t)C2SettingResult::READ_ONLY); 80 static_assert((uint32_t)APEXCODEC_SETTING_RESULT_MISMATCH == 81 (uint32_t)C2SettingResult::MISMATCH); 82 static_assert((uint32_t)APEXCODEC_SETTING_RESULT_BAD_VALUE == 83 (uint32_t)C2SettingResult::BAD_VALUE); 84 static_assert((uint32_t)APEXCODEC_SETTING_RESULT_CONFLICT == 85 (uint32_t)C2SettingResult::CONFLICT); 86 static_assert((uint32_t)APEXCODEC_SETTING_RESULT_UNSUPPORTED == 87 (uint32_t)C2SettingResult::UNSUPPORTED); 88 static_assert((uint32_t)APEXCODEC_SETTING_RESULT_INFO_BAD_VALUE == 89 (uint32_t)C2SettingResult::INFO_BAD_VALUE); 90 static_assert((uint32_t)APEXCODEC_SETTING_RESULT_INFO_CONFLICT == 91 (uint32_t)C2SettingResult::INFO_CONFLICT); 92 93 static_assert((uint32_t)APEXCODEC_PARAM_IS_REQUIRED == (uint32_t)C2ParamDescriptor::IS_REQUIRED); 94 static_assert((uint32_t)APEXCODEC_PARAM_IS_PERSISTENT == 95 (uint32_t)C2ParamDescriptor::IS_PERSISTENT); 96 static_assert((uint32_t)APEXCODEC_PARAM_IS_STRICT == (uint32_t)C2ParamDescriptor::IS_STRICT); 97 static_assert((uint32_t)APEXCODEC_PARAM_IS_READ_ONLY == (uint32_t)C2ParamDescriptor::IS_READ_ONLY); 98 static_assert((uint32_t)APEXCODEC_PARAM_IS_HIDDEN == (uint32_t)C2ParamDescriptor::IS_HIDDEN); 99 static_assert((uint32_t)APEXCODEC_PARAM_IS_INTERNAL == (uint32_t)C2ParamDescriptor::IS_INTERNAL); 100 static_assert((uint32_t)APEXCODEC_PARAM_IS_CONST == (uint32_t)C2ParamDescriptor::IS_CONST);