• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2022 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 ENUM_NATIVE_MOCK_H
17 #define ENUM_NATIVE_MOCK_H
18 
19 #include "avcodec_mock.h"
20 #include "enum_mock.h"
21 #include "media_description.h"
22 #include "av_common.h"
23 #include "avcodec_info.h"
24 
25 namespace OHOS {
26 namespace Media {
27 const std::map<MediaDescriptionKeyMock, std::string_view>MEDIA_DESCRIPTION_KEY_INFOS = {
28     {MOCK_MD_KEY_TRACK_INDEX, MediaDescriptionKey::MD_KEY_TRACK_INDEX},
29     {MOCK_MD_KEY_TRACK_TYPE, MediaDescriptionKey::MD_KEY_TRACK_TYPE},
30     {MOCK_MD_KEY_CODEC_MIME, MediaDescriptionKey::MD_KEY_CODEC_MIME},
31     {MOCK_MD_KEY_DURATION, MediaDescriptionKey::MD_KEY_DURATION},
32     {MOCK_MD_KEY_BITRATE, MediaDescriptionKey::MD_KEY_BITRATE},
33     {MOCK_MD_KEY_WIDTH, MediaDescriptionKey::MD_KEY_WIDTH},
34     {MOCK_MD_KEY_HEIGHT, MediaDescriptionKey::MD_KEY_HEIGHT},
35     {MOCK_MD_KEY_PIXEL_FORMAT, MediaDescriptionKey::MD_KEY_PIXEL_FORMAT},
36     {MOCK_MD_KEY_FRAME_RATE, MediaDescriptionKey::MD_KEY_FRAME_RATE},
37     {MOCK_MD_KEY_CHANNEL_COUNT, MediaDescriptionKey::MD_KEY_CHANNEL_COUNT},
38     {MOCK_MD_KEY_SAMPLE_RATE, MediaDescriptionKey::MD_KEY_SAMPLE_RATE},
39 };
40 
41 const std::map<VideoPixelFormatMock, VideoPixelFormat> VIDEO_PIXEL_FORMAT_INFOS = {
42     {MOCK_YUVI420, YUVI420},
43     {MOCK_NV12, NV12},
44     {MOCK_NV21, NV21},
45     {MOCK_SURFACE_FORMAT, SURFACE_FORMAT},
46     {MOCK_RGBA, RGBA},
47 };
48 
49 const std::map<CodecMimeTypeMock, std::string_view> CODEC_MIME_INFOS = {
50     {VIDEO_H263, CodecMimeType::VIDEO_H263},
51     {VIDEO_AVC, CodecMimeType::VIDEO_AVC},
52     {VIDEO_MPEG2, CodecMimeType::VIDEO_MPEG2},
53     {VIDEO_HEVC, CodecMimeType::VIDEO_HEVC},
54     {VIDEO_MPEG4, CodecMimeType::VIDEO_MPEG4},
55     {VIDEO_VP8, CodecMimeType::VIDEO_VP8},
56     {VIDEO_VP9, CodecMimeType::VIDEO_VP9},
57     {AUDIO_AMR_NB, CodecMimeType::AUDIO_AMR_NB},
58     {AUDIO_AMR_WB, CodecMimeType::AUDIO_AMR_WB},
59     {AUDIO_MPEG, CodecMimeType::AUDIO_MPEG},
60     {AUDIO_AAC, CodecMimeType::AUDIO_AAC},
61     {AUDIO_VORBIS, CodecMimeType::AUDIO_VORBIS},
62     {AUDIO_OPUS, CodecMimeType::AUDIO_OPUS},
63     {AUDIO_FLAC, CodecMimeType::AUDIO_FLAC},
64     {AUDIO_RAW, CodecMimeType::AUDIO_RAW},
65 };
66 
67 class EnumNativeMock : public EnumMock {
68 public:
69     EnumNativeMock() = default;
70     std::string GetMediaDescriptionKey(const MediaDescriptionKeyMock &key) const override;
71     int32_t GetVideoPixelFormat(const VideoPixelFormatMock &key) const override;
72     std::string GetCodecMimeType(const CodecMimeTypeMock &key) const override;
73 };
74 } // Media
75 } // OHOS
76 #endif // ENUM_NATIVE_MOCK_H