/*
* Copyright (c) 2020 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @addtogroup MultiMedia_MediaCommon
* @{
*
* @brief Provides data types and media formats required for recording and playing audio and videos.
*
*
* @since 1.0
* @version 1.0
*/
/**
* @file media_errors.h
*
* @brief Declares the media_errors class to define errors that may occur during media operations.
*
*
* @since 1.0
* @version 1.0
*/
#ifndef MEDIA_ERRORS_H
#define MEDIA_ERRORS_H
#include
namespace OHOS {
namespace Media {
constexpr int MODULE_MEDIA = 1;
constexpr int SUBSYS_MEDIA = 30;
using ErrCode = int32_t;
constexpr int SUBSYSTEM_BIT_NUM = 21;
constexpr int MODULE_BIT_NUM = 16;
/**
* @brief Generates a start error code with a unique identifier based on specified subsystem and module bit numbers.
*
* @param subsystem Indicates the subsystem bit number.
* @param module Indicates the module bit number.
* @return
* @since 1.0
* @version 1.0
*/
constexpr ErrCode ErrCodeOffset(unsigned int subsystem, unsigned int module = 0)
{
return (subsystem << SUBSYSTEM_BIT_NUM) | (module << MODULE_BIT_NUM);
}
constexpr int32_t BASE_MEDIA_ERR_OFFSET = ErrCodeOffset(SUBSYS_MEDIA, MODULE_MEDIA);
/** Invalid data size that has been read */
const int32_t ERR_INVALID_READ = -1;
/** Success */
const int32_t SUCCESS = 0;
/** Fail */
const int32_t ERROR = BASE_MEDIA_ERR_OFFSET;
/** Status error */
const int32_t ERR_ILLEGAL_STATE = BASE_MEDIA_ERR_OFFSET + 1;
/** Invalid parameter */
const int32_t ERR_INVALID_PARAM = BASE_MEDIA_ERR_OFFSET + 2;
/** Early media preparation */
const int32_t ERR_EARLY_PREPARE = BASE_MEDIA_ERR_OFFSET + 3;
/** No media source */
const int32_t ERR_SOURCE_NOT_SET = BASE_MEDIA_ERR_OFFSET + 4;
/** Invalid operation */
const int32_t ERR_INVALID_OPERATION = BASE_MEDIA_ERR_OFFSET + 5;
/** No idle channel */
const int32_t ERR_NOFREE_CHANNEL = BASE_MEDIA_ERR_OFFSET + 6;
/** Buffer reading failed */
const int32_t ERR_READ_BUFFER = BASE_MEDIA_ERR_OFFSET + 7;
/** Device not started */
const int32_t ERR_NOT_STARTED = BASE_MEDIA_ERR_OFFSET + 8;
/** Unknown error */
const int32_t ERR_UNKNOWN = BASE_MEDIA_ERR_OFFSET + 200;
} // namespace Media
} // namespace OHOS
#endif // MEDIA_ERRORS_H