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 #include "gtest/gtest.h"
17 #include <pipeline/core/event.h>
18 #include <pipeline/core/type_define.h>
19 #include "pipeline/filters/common/plugin_utils.h"
20
21 namespace OHOS {
22 namespace Media {
23 namespace Test {
24 using namespace OHOS::Media::Pipeline;
25 using namespace testing::ext;
26
HWTEST(TestMeta, get_byte_per_sample, TestSize.Level1)27 HWTEST(TestMeta, get_byte_per_sample, TestSize.Level1)
28 {
29 uint8_t bytes = GetBytesPerSample(Plugin::AudioSampleFormat::S64);
30 ASSERT_EQ(bytes, 8);
31 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::S64P);
32 ASSERT_EQ(bytes, 8);
33 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::U64);
34 ASSERT_EQ(bytes, 8);
35 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::U64P);
36 ASSERT_EQ(bytes, 8);
37 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::F64);
38 ASSERT_EQ(bytes, 8);
39 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::F64P);
40 ASSERT_EQ(bytes, 8);
41
42 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::F32);
43 ASSERT_EQ(bytes, 4);
44 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::F32P);
45 ASSERT_EQ(bytes, 4);
46 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::S32);
47 ASSERT_EQ(bytes, 4);
48 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::S32P);
49 ASSERT_EQ(bytes, 4);
50 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::U32);
51 ASSERT_EQ(bytes, 4);
52 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::U32P);
53 ASSERT_EQ(bytes, 4);
54
55 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::S24);
56 ASSERT_EQ(bytes, 3);
57 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::S24P);
58 ASSERT_EQ(bytes, 3);
59 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::U24);
60 ASSERT_EQ(bytes, 3);
61 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::U24P);
62 ASSERT_EQ(bytes, 3);
63
64 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::S16);
65 ASSERT_EQ(bytes, 2);
66 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::S16P);
67 ASSERT_EQ(bytes, 2);
68 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::U16);
69 ASSERT_EQ(bytes, 2);
70 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::U16P);
71 ASSERT_EQ(bytes, 2);
72 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::S8);
73 ASSERT_EQ(bytes, 1);
74 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::S8P);
75 ASSERT_EQ(bytes, 1);
76 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::U8);
77 ASSERT_EQ(bytes, 1);
78 bytes = GetBytesPerSample(Plugin::AudioSampleFormat::U8P);
79 ASSERT_EQ(bytes, 1);
80 }
81
HWTEST(TestMeta, return_type_if_type_is_existed, TestSize.Level1)82 HWTEST(TestMeta, return_type_if_type_is_existed, TestSize.Level1)
83 {
84 EventType eventType = EventType::EVENT_READY;
85 ASSERT_STREQ(GetEventName(eventType), "EVENT_READY");
86 eventType = EventType::EVENT_AUDIO_PROGRESS;
87 ASSERT_STREQ(GetEventName(eventType), "EVENT_AUDIO_PROGRESS");
88 eventType = EventType::EVENT_VIDEO_PROGRESS;
89 ASSERT_STREQ(GetEventName(eventType), "EVENT_VIDEO_PROGRESS");
90 eventType = EventType::EVENT_COMPLETE;
91 ASSERT_STREQ(GetEventName(eventType), "EVENT_COMPLETE");
92 eventType = EventType::EVENT_ERROR;
93 ASSERT_STREQ(GetEventName(eventType), "EVENT_ERROR");
94 eventType = EventType::EVENT_PLUGIN_ERROR;
95 ASSERT_STREQ(GetEventName(eventType), "EVENT_PLUGIN_ERROR");
96 eventType = EventType::EVENT_PLUGIN_EVENT;
97 ASSERT_STREQ(GetEventName(eventType), "EVENT_PLUGIN_EVENT");
98 eventType = EventType::EVENT_BUFFERING;
99 ASSERT_STREQ(GetEventName(eventType), "EVENT_BUFFERING");
100 eventType = EventType::EVENT_BUFFER_PROGRESS;
101 ASSERT_STREQ(GetEventName(eventType), "EVENT_BUFFER_PROGRESS");
102 eventType = EventType::EVENT_DECODER_ERROR;
103 ASSERT_STREQ(GetEventName(eventType), "EVENT_DECODER_ERROR");
104 eventType = EventType::EVENT_RESOLUTION_CHANGE;
105 ASSERT_STREQ(GetEventName(eventType), "EVENT_RESOLUTION_CHANGE");
106 eventType = EventType::EVENT_VIDEO_RENDERING_START;
107 ASSERT_STREQ(GetEventName(eventType), "EVENT_VIDEO_RENDERING_START");
108 eventType = EventType::EVENT_IS_LIVE_STREAM;
109 ASSERT_STREQ(GetEventName(eventType), "EVENT_IS_LIVE_STREAM");
110 }
111 } // namespace Test
112 } // namespace Media
113 } // namespace OHOS
114