1/*
2 * Copyright (c) 2023-2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16#ifndef HISTREAMER_FOUNDATION_OSAL_UTILS_UTIL_H
17#define HISTREAMER_FOUNDATION_OSAL_UTILS_UTIL_H
18
19#ifndef MEDIA_NO_OHOS
20#ifndef MEDIA_OHOS
21#define MEDIA_OHOS
22#endif
23#else
24#ifdef MEDIA_OHOS
25#undef MEDIA_OHOS
26#endif
27#endif
28
29#include <string>
30
31namespace OHOS {
32namespace Media {
33namespace OSAL {
34constexpr float MEDIA_FOUNDATION_FLOAT_EPSILON = 0.000001;
35void SleepFor(unsigned ms);
36bool ConvertFullPath(const std::string& partialPath, std::string& fullPath);
37std::string AVStrError(int errnum);
38inline bool IsFloatEqualZero(float value)
39{
40    if (abs(value - 0) <= MEDIA_FOUNDATION_FLOAT_EPSILON) {
41        return true;
42    }
43    return false;
44}
45
46inline bool IsFloatEqual(float p1, float p2)
47{
48    return fabs(p1 - p2) <= MEDIA_FOUNDATION_FLOAT_EPSILON;
49}
50} // namespace OSAL
51} // namespace Media
52} // namespace OHOS
53
54#endif // HISTREAMER_FOUNDATION_OSAL_UTILS_UTIL_H
55