• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 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 #include <gtest/gtest.h>
16 #include "audio_stream_checker.h"
17 #include "audio_errors.h"
18 #include "audio_utils.h"
19 
20 using namespace testing::ext;
21 
22 namespace OHOS {
23 namespace AudioStandard {
24 
25 const uint64_t DEFAULT_TIME = 3711509424L;
26 
27 class AudioStreamCheckerTest : public testing::Test {
28 public:
29     static void SetUpTestCase(void);
30     static void TearDownTestCase(void);
31     void SetUp();
32     void TearDown();
33 };
34 
SetUpTestCase(void)35 void AudioStreamCheckerTest::SetUpTestCase(void)
36 {
37     // input testsuit setup step,setup invoked before all testcases
38 }
39 
TearDownTestCase(void)40 void AudioStreamCheckerTest::TearDownTestCase(void)
41 {
42     // input testsuit teardown step,teardown invoked after all testcases
43 }
44 
SetUp(void)45 void AudioStreamCheckerTest::SetUp(void)
46 {
47     // input testcase setup step,setup invoked before each testcases
48 }
49 
TearDown(void)50 void AudioStreamCheckerTest::TearDown(void)
51 {
52     // input testcase teardown step,teardown invoked after each testcases
53 }
54 
55 /**
56  * @tc.name  : Test InitChecker API
57  * @tc.type  : FUNC
58  * @tc.number: InitCheckerTest_001
59  */
60 HWTEST(AudioStreamCheckerTest, InitCheckerTest_001, TestSize.Level1)
61 {
62     AudioProcessConfig cfg;
63     DataTransferMonitorParam para;
64     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
65     checker->InitChecker(para, 100000, 100000);
66     checker->InitChecker(para, 100000, 100000);
67     int32_t size = checker->checkParaVector_.size();
68     EXPECT_GT(size, 0);
69 }
70 
71 /**
72  * @tc.name  : Test RecordFrame API
73  * @tc.type  : FUNC
74  * @tc.number: RecordFrame_001
75  */
76 HWTEST(AudioStreamCheckerTest, RecordFrame_001, TestSize.Level1)
77 {
78     AudioProcessConfig cfg;
79     DataTransferMonitorParam para;
80     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
81     checker->InitChecker(para, 100000, 100000);
82     checker->RecordMuteFrame();
83     int32_t num = checker->checkParaVector_[0].muteFrameNum;
84     EXPECT_GT(num, 0);
85     checker->RecordNodataFrame();
86     num = checker->checkParaVector_[0].noDataFrameNum;
87     EXPECT_GT(num, 0);
88     checker->RecordNormalFrame();
89     num = checker->checkParaVector_[0].normalFrameCount;
90     EXPECT_GT(num, 0);
91 }
92 
93 /**
94  * @tc.name  : Test GetAppUid API
95  * @tc.type  : FUNC
96  * @tc.number: GetAppUid_001
97  */
98 HWTEST(AudioStreamCheckerTest, GetAppUid_001, TestSize.Level1)
99 {
100     AudioProcessConfig cfg;
101     cfg.appInfo.appUid = 20002000;
102     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
103     int32_t uid = checker->GetAppUid();
104     EXPECT_EQ(uid, 20002000);
105 }
106 
107 /**
108  * @tc.name  : Test DeleteCheckerPara API
109  * @tc.type  : FUNC
110  * @tc.number: DeleteCheckerPara_001
111  */
112 HWTEST(AudioStreamCheckerTest, DeleteCheckerPara_001, TestSize.Level1)
113 {
114     AudioProcessConfig cfg;
115     DataTransferMonitorParam para;
116     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
117     checker->InitChecker(para, 100000, 100000);
118     checker->DeleteCheckerPara(100000, 100000);
119     int32_t size = checker->checkParaVector_.size();
120     EXPECT_EQ(size, 0);
121 }
122 
123 /**
124  * @tc.name  : Test MonitorCheckFrame API
125  * @tc.type  : FUNC
126  * @tc.number: MonitorCheckFrame_001
127  */
128 HWTEST(AudioStreamCheckerTest, MonitorCheckFrame_001, TestSize.Level1)
129 {
130     AudioProcessConfig cfg;
131     DataTransferMonitorParam para;
132     para.badDataTransferTypeBitMap = 3;
133     para.timeInterval = 0;
134     para.badFramesRatio = 50;
135     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
136     checker->InitChecker(para, 100000, 100000);
137     checker->RecordMuteFrame();
138     checker->RecordNormalFrame();
139     checker->MonitorCheckFrame();
140     DataTransferStateChangeType status = checker->checkParaVector_[0].lastStatus;
141     EXPECT_EQ(status, DATA_TRANS_STOP);
142 }
143 
144 /**
145  * @tc.name  : Test MonitorCheckFrame API
146  * @tc.type  : FUNC
147  * @tc.number: MonitorCheckFrame_002
148  */
149 HWTEST(AudioStreamCheckerTest, MonitorCheckFrame_002, TestSize.Level1)
150 {
151     AudioProcessConfig cfg;
152     DataTransferMonitorParam para;
153     para.badDataTransferTypeBitMap = 3;
154     para.timeInterval = 0;
155     para.badFramesRatio = 50;
156     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
157     checker->InitChecker(para, 100000, 100000);
158     for (int i = 0; i < 4; i++) {
159         checker->RecordNormalFrame();
160     }
161     checker->MonitorCheckFrame();
162     DataTransferStateChangeType status = checker->checkParaVector_[0].lastStatus;
163     EXPECT_EQ(status, DATA_TRANS_RESUME);
164 }
165 
166 /**
167  * @tc.name  : Test MonitorCheckFrame API
168  * @tc.type  : FUNC
169  * @tc.number: MonitorCheckFrame_003
170  */
171 HWTEST(AudioStreamCheckerTest, MonitorCheckFrame_003, TestSize.Level1)
172 {
173     AudioProcessConfig cfg;
174     DataTransferMonitorParam para;
175     para.badDataTransferTypeBitMap = 3;
176     para.timeInterval = 0;
177     para.badFramesRatio = 50;
178     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
179     checker->InitChecker(para, 100000, 100000);
180     checker->RecordMuteFrame();
181     checker->RecordNormalFrame();
182     checker->MonitorCheckFrame();
183     for (int i = 0; i < 4; i++) {
184         checker->RecordNormalFrame();
185     }
186     checker->MonitorCheckFrame();
187     DataTransferStateChangeType status = checker->checkParaVector_[0].lastStatus;
188     EXPECT_EQ(status, DATA_TRANS_RESUME);
189 }
190 
191 /**
192  * @tc.name  : Test MonitorOnAllCallback API
193  * @tc.type  : FUNC
194  * @tc.number: MonitorOnAllCallback_001
195  */
196 HWTEST(AudioStreamCheckerTest, MonitorOnAllCallback_001, TestSize.Level1)
197 {
198     AudioProcessConfig cfg;
199     DataTransferMonitorParam para;
200     para.badDataTransferTypeBitMap = 3;
201     para.timeInterval = 2000000000;
202     para.badFramesRatio = 50;
203     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
204     checker->InitChecker(para, 100000, 100000);
205     checker->MonitorOnAllCallback(AUDIO_STREAM_START, false);
206     int32_t size = checker->checkParaVector_.size();
207     EXPECT_GT(size, 0);
208 }
209 
210 /**
211  * @tc.name  : Test MonitorOnAllCallback API
212  * @tc.type  : FUNC
213  * @tc.number: MonitorOnAllCallback_002
214  */
215 HWTEST(AudioStreamCheckerTest, MonitorOnAllCallback_002, TestSize.Level1)
216 {
217     AudioProcessConfig cfg;
218     DataTransferMonitorParam para;
219     para.badDataTransferTypeBitMap = 2;
220     para.timeInterval = 2000000000;
221     para.badFramesRatio = 50;
222     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
223     checker->InitChecker(para, 100000, 100000);
224     checker->MonitorOnAllCallback(DATA_TRANS_RESUME, true);
225     int32_t size = checker->checkParaVector_.size();
226     EXPECT_GT(size, 0);
227 }
228 
229 /**
230  * @tc.name  : Test MonitorOnAllCallback API
231  * @tc.type  : FUNC
232  * @tc.number: MonitorOnAllCallback_003
233  */
234 HWTEST(AudioStreamCheckerTest, MonitorOnAllCallback_003, TestSize.Level1)
235 {
236     AudioProcessConfig cfg;
237     DataTransferMonitorParam para;
238     para.badDataTransferTypeBitMap = 2;
239     para.timeInterval = 2000000000;
240     para.badFramesRatio = 50;
241     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
242     checker->InitChecker(para, 100000, 100000);
243     checker->monitorSwitch_ = false;
244     checker->MonitorOnAllCallback(DATA_TRANS_RESUME, true);
245     int32_t size = checker->checkParaVector_.size();
246     EXPECT_GT(size, 0);
247 }
248 
249 /**
250  * @tc.name  : Test OnRemoteAppDied API
251  * @tc.type  : FUNC
252  * @tc.number: OnRemoteAppDied_001
253  */
254 HWTEST(AudioStreamCheckerTest, OnRemoteAppDied_001, TestSize.Level1)
255 {
256     AudioProcessConfig cfg;
257     DataTransferMonitorParam para;
258     para.badDataTransferTypeBitMap = 3;
259     para.timeInterval = 2000000000;
260     para.badFramesRatio = 50;
261     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
262     checker->InitChecker(para, 100000, 100000);
263     checker->OnRemoteAppDied(100000);
264     int size = checker->checkParaVector_.size();
265     EXPECT_EQ(size, 0);
266 }
267 
268 /**
269  * @tc.name  : Test MonitorCheckFrameSub API
270  * @tc.type  : FUNC
271  * @tc.number: MonitorCheckFrameSub_001
272  */
273 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameSub_001, TestSize.Level1)
274 {
275     AudioProcessConfig cfg;
276     DataTransferMonitorParam para;
277     para.badDataTransferTypeBitMap = 3;
278     para.timeInterval = 2000000000;
279     para.badFramesRatio = 50;
280     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
281     checker->InitChecker(para, 100000, 100000);
282     CheckerParam checkerPara;
283     checkerPara.hasInitCheck = false;
284     checker->MonitorCheckFrameSub(checkerPara);
285     int size = checker->checkParaVector_.size();
286     EXPECT_GT(size, 0);
287 }
288 
289 /**
290  * @tc.name  : Test MonitorCheckFrameSub API
291  * @tc.type  : FUNC
292  * @tc.number: MonitorCheckFrameSub_002
293  */
294 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameSub_002, TestSize.Level1)
295 {
296     AudioProcessConfig cfg;
297     DataTransferMonitorParam para;
298     para.badDataTransferTypeBitMap = 3;
299     para.timeInterval = 2000000000;
300     para.badFramesRatio = 50;
301     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
302     checker->InitChecker(para, 100000, 100000);
303     CheckerParam checkerPara;
304     checkerPara.hasInitCheck = true;
305     checkerPara.isMonitorMuteFrame = true;
306     checkerPara.isMonitorNoDataFrame = true;
307     checker->MonitorCheckFrameSub(checkerPara);
308     int size = checker->checkParaVector_.size();
309     EXPECT_GT(size, 0);
310 }
311 
312 /**
313  * @tc.name  : Test MonitorCheckFrameSub API
314  * @tc.type  : FUNC
315  * @tc.number: MonitorCheckFrameSub_003
316  */
317 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameSub_003, TestSize.Level1)
318 {
319     AudioProcessConfig cfg;
320     DataTransferMonitorParam para;
321     para.badDataTransferTypeBitMap = 3;
322     para.timeInterval = 2000000000;
323     para.badFramesRatio = 50;
324     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
325     checker->InitChecker(para, 100000, 100000);
326     CheckerParam checkerPara;
327     checkerPara.hasInitCheck = true;
328     checkerPara.para.timeInterval = 2000000000;
329     checkerPara.lastUpdateTime = ClockTime::GetCurNano();
330     checker->MonitorCheckFrameSub(checkerPara);
331     int size = checker->checkParaVector_.size();
332     EXPECT_GT(size, 0);
333 }
334 
335 /**
336  * @tc.name  : Test MonitorCheckFrameAction API
337  * @tc.type  : FUNC
338  * @tc.number: MonitorCheckFrameAction_001
339  */
340 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameAction_001, TestSize.Level1)
341 {
342     AudioProcessConfig cfg;
343     DataTransferMonitorParam para;
344     para.badDataTransferTypeBitMap = 3;
345     para.timeInterval = 2000000000;
346     para.badFramesRatio = 50;
347     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
348     checker->InitChecker(para, 100000, 100000);
349     CheckerParam checkerPara;
350     checkerPara.lastStatus = DATA_TRANS_STOP;
351     checkerPara.sumFrameCount = 100;
352     int64_t abnormalFrameNum = 60;
353     float badFrameRatio = 0.5f;
354     checker->MonitorCheckFrameAction(checkerPara, abnormalFrameNum, badFrameRatio);
355     int size = checker->checkParaVector_.size();
356     EXPECT_GT(size, 0);
357 }
358 
359 /**
360  * @tc.name  : Test MonitorCheckFrameAction API
361  * @tc.type  : FUNC
362  * @tc.number: MonitorCheckFrameAction_002
363  */
364 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameAction_002, TestSize.Level1)
365 {
366     AudioProcessConfig cfg;
367     DataTransferMonitorParam para;
368     para.badDataTransferTypeBitMap = 3;
369     para.timeInterval = 2000000000;
370     para.badFramesRatio = 50;
371     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
372     checker->InitChecker(para, 100000, 100000);
373     CheckerParam checkerPara;
374     checkerPara.lastStatus = AUDIO_STREAM_PAUSE;
375     checkerPara.sumFrameCount = 100;
376     int64_t abnormalFrameNum = 60;
377     float badFrameRatio = 0.5f;
378     checker->MonitorCheckFrameAction(checkerPara, abnormalFrameNum, badFrameRatio);
379     int size = checker->checkParaVector_.size();
380     EXPECT_GT(size, 0);
381 }
382 
383 /**
384  * @tc.name  : Test MonitorCheckFrameAction API
385  * @tc.type  : FUNC
386  * @tc.number: MonitorCheckFrameAction_003
387  */
388 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameAction_003, TestSize.Level1)
389 {
390     AudioProcessConfig cfg;
391     DataTransferMonitorParam para;
392     para.badDataTransferTypeBitMap = 3;
393     para.timeInterval = 2000000000;
394     para.badFramesRatio = 50;
395     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
396     checker->InitChecker(para, 100000, 100000);
397     CheckerParam checkerPara;
398     checkerPara.lastStatus = AUDIO_STREAM_START;
399     checkerPara.sumFrameCount = 100;
400     int64_t abnormalFrameNum = 60;
401     float badFrameRatio = 0.5f;
402     checker->MonitorCheckFrameAction(checkerPara, abnormalFrameNum, badFrameRatio);
403     int size = checker->checkParaVector_.size();
404     EXPECT_GT(size, 0);
405 }
406 
407 /**
408  * @tc.name  : Test MonitorCheckFrameAction API
409  * @tc.type  : FUNC
410  * @tc.number: MonitorCheckFrameAction_004
411  */
412 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameAction_004, TestSize.Level1)
413 {
414     AudioProcessConfig cfg;
415     DataTransferMonitorParam para;
416     para.badDataTransferTypeBitMap = 3;
417     para.timeInterval = 2000000000;
418     para.badFramesRatio = 50;
419     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
420     checker->InitChecker(para, 100000, 100000);
421     CheckerParam checkerPara;
422     checkerPara.lastStatus = DATA_TRANS_RESUME;
423     checkerPara.sumFrameCount = 100;
424     int64_t abnormalFrameNum = 40;
425     float badFrameRatio = 0.5f;
426     checker->MonitorCheckFrameAction(checkerPara, abnormalFrameNum, badFrameRatio);
427     int size = checker->checkParaVector_.size();
428     EXPECT_GT(size, 0);
429 }
430 /**
431  * @tc.name  : Test MonitorCheckFrameAction API
432  * @tc.type  : FUNC
433  * @tc.number: MonitorCheckFrameAction_005
434  */
435 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameAction_005, TestSize.Level1)
436 {
437     AudioProcessConfig cfg;
438     DataTransferMonitorParam para;
439     para.badDataTransferTypeBitMap = 3;
440     para.timeInterval = 2000000000;
441     para.badFramesRatio = 50;
442     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
443     checker->InitChecker(para, 100000, 100000);
444     CheckerParam checkerPara;
445     checkerPara.lastStatus = AUDIO_STREAM_PAUSE;
446     checkerPara.sumFrameCount = 100;
447     int64_t abnormalFrameNum = 40;
448     float badFrameRatio = 0.5f;
449     checker->MonitorCheckFrameAction(checkerPara, abnormalFrameNum, badFrameRatio);
450     int size = checker->checkParaVector_.size();
451     EXPECT_GT(size, 0);
452 }
453 /**
454  * @tc.name  : Test MonitorCheckFrameAction API
455  * @tc.type  : FUNC
456  * @tc.number: MonitorCheckFrameAction_006
457  */
458 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameAction_006, TestSize.Level1)
459 {
460     AudioProcessConfig cfg;
461     DataTransferMonitorParam para;
462     para.badDataTransferTypeBitMap = 3;
463     para.timeInterval = 2000000000;
464     para.badFramesRatio = 50;
465     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
466     checker->InitChecker(para, 100000, 100000);
467     CheckerParam checkerPara;
468     checkerPara.lastStatus = DATA_TRANS_STOP;
469     checkerPara.sumFrameCount = 100;
470     int64_t abnormalFrameNum = 40;
471     float badFrameRatio = 0.5f;
472     checker->MonitorCheckFrameAction(checkerPara, abnormalFrameNum, badFrameRatio);
473     int size = checker->checkParaVector_.size();
474     EXPECT_GT(size, 0);
475 }
476 
477 /**
478  * @tc.name  : Test MonitorOnCallback API
479  * @tc.type  : FUNC
480  * @tc.number: MonitorOnCallback_001
481  */
482 HWTEST(AudioStreamCheckerTest, MonitorOnCallback_001, TestSize.Level1)
483 {
484     AudioProcessConfig cfg;
485     DataTransferMonitorParam para;
486     para.badDataTransferTypeBitMap = 3;
487     para.timeInterval = 2000000000;
488     para.badFramesRatio = 50;
489     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
490     checker->InitChecker(para, 100000, 100000);
491     checker->monitorSwitch_ = false;
492     CheckerParam checkerPara;
493     checker->MonitorOnCallback(AUDIO_STREAM_START, true, checkerPara);
494     int size = checker->checkParaVector_.size();
495     EXPECT_GT(size, 0);
496 }
497 
498 /**
499  * @tc.name  : Test MonitorOnCallback API
500  * @tc.type  : FUNC
501  * @tc.number: MonitorOnCallback_002
502  */
503 HWTEST(AudioStreamCheckerTest, MonitorOnCallback_002, TestSize.Level1)
504 {
505     AudioProcessConfig cfg;
506     DataTransferMonitorParam para;
507     para.badDataTransferTypeBitMap = 3;
508     para.timeInterval = 2000000000;
509     para.badFramesRatio = 50;
510     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
511     checker->InitChecker(para, 100000, 100000);
512     CheckerParam checkerPara;
513     checkerPara.sumFrameCount = 0;
514     checkerPara.hasInitCheck = true;
515     checker->MonitorOnCallback(AUDIO_STREAM_START, true, checkerPara);
516     int size = checker->checkParaVector_.size();
517     EXPECT_GT(size, 0);
518 }
519 
520 /**
521  * @tc.name  : Test MonitorOnCallback API
522  * @tc.type  : FUNC
523  * @tc.number: MonitorOnCallback_003
524  */
525 HWTEST(AudioStreamCheckerTest, MonitorOnCallback_003, TestSize.Level1)
526 {
527     AudioProcessConfig cfg;
528     DataTransferMonitorParam para;
529     para.badDataTransferTypeBitMap = 3;
530     para.timeInterval = 2000000000;
531     para.badFramesRatio = 50;
532     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
533     checker->InitChecker(para, 100000, 100000);
534     CheckerParam checkerPara;
535     checkerPara.sumFrameCount = 100;
536     checkerPara.hasInitCheck = true;
537     checker->MonitorOnCallback(AUDIO_STREAM_START, true, checkerPara);
538     int size = checker->checkParaVector_.size();
539     EXPECT_GT(size, 0);
540 }
541 
542 /**
543  * @tc.name  : Test RecordStandbyTime API
544  * @tc.type  : FUNC
545  * @tc.number: RecordStandbyTime_001
546  */
547 HWTEST(AudioStreamCheckerTest, RecordStandbyTime_001, TestSize.Level1)
548 {
549     AudioProcessConfig cfg;
550     DataTransferMonitorParam para;
551     para.badDataTransferTypeBitMap = 3;
552     para.timeInterval = 2000000000;
553     para.badFramesRatio = 50;
554     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
555     checker->InitChecker(para, 100000, 100000);
556     checker->RecordStandbyTime(true);
557     int64_t time = checker->checkParaVector_[0].standbyStartTime;
558     EXPECT_GT(time, 0);
559 }
560 
561 /**
562  * @tc.name  : Test RecordStandbyTime API
563  * @tc.type  : FUNC
564  * @tc.number: RecordStandbyTime_002
565  */
566 HWTEST(AudioStreamCheckerTest, RecordStandbyTime_002, TestSize.Level1)
567 {
568     AudioProcessConfig cfg;
569     DataTransferMonitorParam para;
570     para.badDataTransferTypeBitMap = 3;
571     para.timeInterval = 2000000000;
572     para.badFramesRatio = 50;
573     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
574     checker->InitChecker(para, 100000, 100000);
575     checker->RecordStandbyTime(false);
576     int64_t time = checker->checkParaVector_[0].standbyStopTime;
577     EXPECT_GT(time, 0);
578 }
579 
580 /**
581  * @tc.name  : Test CalculateFrameAfterStandby API
582  * @tc.type  : FUNC
583  * @tc.number: CalculateFrameAfterStandby_001
584  */
585 HWTEST(AudioStreamCheckerTest, CalculateFrameAfterStandby_001, TestSize.Level1)
586 {
587     AudioProcessConfig cfg;
588     DataTransferMonitorParam para;
589     para.badDataTransferTypeBitMap = 3;
590     para.timeInterval = 2000000000;
591     para.badFramesRatio = 50;
592     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
593     checker->InitChecker(para, 100000, 100000);
594     CheckerParam checkerPara;
595     checkerPara.isMonitorNoDataFrame = true;
596     checkerPara.standbyStartTime = ClockTime::GetCurNano();
597     checkerPara.standbyStopTime = checkerPara.standbyStartTime + 1000000000;
598     int64_t abnormalFrameNum = 0;
599     checker->CalculateFrameAfterStandby(checkerPara, abnormalFrameNum);
600     EXPECT_GT(abnormalFrameNum, 0);
601 }
602 
603 /**
604  * @tc.name  : Test CalculateFrameAfterStandby API
605  * @tc.type  : FUNC
606  * @tc.number: CalculateFrameAfterStandby_002
607  */
608 HWTEST(AudioStreamCheckerTest, CalculateFrameAfterStandby_002, TestSize.Level1)
609 {
610     AudioProcessConfig cfg;
611     DataTransferMonitorParam para;
612     para.badDataTransferTypeBitMap = 3;
613     para.timeInterval = 2000000000;
614     para.badFramesRatio = 50;
615     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
616     checker->InitChecker(para, 100000, 100000);
617     CheckerParam checkerPara;
618     checkerPara.isMonitorNoDataFrame = true;
619     checkerPara.standbyStartTime = ClockTime::GetCurNano() - 1000000000;
620     checkerPara.standbyStopTime = 0;
621     int64_t abnormalFrameNum = 0;
622     checker->CalculateFrameAfterStandby(checkerPara, abnormalFrameNum);
623     EXPECT_GT(abnormalFrameNum, 0);
624 }
625 
626 /**
627  * @tc.name  : Test CalculateFrameAfterStandby API
628  * @tc.type  : FUNC
629  * @tc.number: CalculateFrameAfterStandby_003
630  */
631 HWTEST(AudioStreamCheckerTest, CalculateFrameAfterStandby_003, TestSize.Level1)
632 {
633     AudioProcessConfig cfg;
634     DataTransferMonitorParam para;
635     para.badDataTransferTypeBitMap = 3;
636     para.timeInterval = 2000000000;
637     para.badFramesRatio = 50;
638     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
639     checker->InitChecker(para, 100000, 100000);
640     CheckerParam checkerPara;
641     checkerPara.isMonitorNoDataFrame = true;
642     checkerPara.standbyStartTime = 0;
643     checkerPara.lastUpdateTime = ClockTime::GetCurNano();
644     checkerPara.standbyStopTime = checkerPara.lastUpdateTime + 1000000000;
645     int64_t abnormalFrameNum = 0;
646     checker->CalculateFrameAfterStandby(checkerPara, abnormalFrameNum);
647     EXPECT_GT(abnormalFrameNum, 0);
648 }
649 
650 /**
651  * @tc.name  : Test CalculateFrameAfterStandby API
652  * @tc.type  : FUNC
653  * @tc.number: CalculateFrameAfterStandby_004
654  */
655 HWTEST(AudioStreamCheckerTest, CalculateFrameAfterStandby_004, TestSize.Level1)
656 {
657     AudioProcessConfig cfg;
658     DataTransferMonitorParam para;
659     para.badDataTransferTypeBitMap = 3;
660     para.timeInterval = 2000000000;
661     para.badFramesRatio = 50;
662     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
663     checker->InitChecker(para, 100000, 100000);
664     CheckerParam checkerPara;
665     checkerPara.isMonitorNoDataFrame = true;
666     checkerPara.standbyStartTime = 0;
667     checkerPara.standbyStopTime = 0;
668     int64_t abnormalFrameNum = 0;
669     checker->CalculateFrameAfterStandby(checkerPara, abnormalFrameNum);
670     EXPECT_EQ(abnormalFrameNum, 0);
671 }
672 
673 /**
674  * @tc.name  : Test UpdateAppState API
675  * @tc.type  : FUNC
676  * @tc.number: UpdateAppState_001
677  */
678 HWTEST(AudioStreamCheckerTest, UpdateAppState_001, TestSize.Level1)
679 {
680     AudioProcessConfig cfg;
681     DataTransferMonitorParam para;
682     para.badDataTransferTypeBitMap = 3;
683     para.timeInterval = 2000000000;
684     para.badFramesRatio = 50;
685     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
686     checker->InitChecker(para, 100000, 100000);
687     checker->UpdateAppState(true);
688     EXPECT_EQ(checker->isBackground_, true);
689 }
690 
691 /**
692  * @tc.name  : Test UpdateAppState API
693  * @tc.type  : FUNC
694  * @tc.number: UpdateAppState_002
695  */
696 HWTEST(AudioStreamCheckerTest, UpdateAppState_002, TestSize.Level1)
697 {
698     AudioProcessConfig cfg;
699     DataTransferMonitorParam para;
700     para.badDataTransferTypeBitMap = 3;
701     para.timeInterval = 2000000000;
702     para.badFramesRatio = 50;
703     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
704     checker->InitChecker(para, 100000, 100000);
705     checker->UpdateAppState(false);
706     EXPECT_EQ(checker->isBackground_, false);
707 }
708 
709 /**
710  * @tc.name  : Test InitChecker API
711  * @tc.type  : FUNC
712  * @tc.number: InitCheckerTest_002
713  */
714 HWTEST(AudioStreamCheckerTest, InitCheckerTest_002, TestSize.Level1)
715 {
716     DataTransferMonitorParam para;
717     int32_t pid = 100000;
718     int32_t callbackId = 100000;
719     CheckerParam checkerParamTest;
720 
721     AudioProcessConfig cfg;
722     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
723     checkerParamTest.pid = pid;
724     checkerParamTest.callbackId = callbackId;
725     checkerParamTest.hasInitCheck = false;
726     checker->checkParaVector_.clear();
727     checker->checkParaVector_.push_back(checkerParamTest);
728 
729     checker->InitChecker(para, pid, callbackId);
730     int32_t size = checker->checkParaVector_.size();
731     EXPECT_EQ(size, 1);
732 }
733 
734 /**
735  * @tc.name  : Test InitChecker API
736  * @tc.type  : FUNC
737  * @tc.number: InitCheckerTest_003
738  */
739 HWTEST(AudioStreamCheckerTest, InitCheckerTest_003, TestSize.Level1)
740 {
741     AudioProcessConfig cfg;
742     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
743     DataTransferMonitorParam para;
744     int32_t pid = 100000;
745     int32_t callbackId = 100000;
746     CheckerParam checkerParamTest;
747 
748     checkerParamTest.pid = 0;
749     checkerParamTest.callbackId = callbackId;
750     checkerParamTest.hasInitCheck = false;
751     checker->checkParaVector_.clear();
752     checker->checkParaVector_.push_back(checkerParamTest);
753     checker->isNeedCreateThread_.store(false);
754 
755     checker->InitChecker(para, pid, callbackId);
756     int32_t size = checker->checkParaVector_.size();
757     EXPECT_EQ(size, 2);
758 }
759 
760 /**
761  * @tc.name  : Test InitChecker API
762  * @tc.type  : FUNC
763  * @tc.number: InitCheckerTest_004
764  */
765 HWTEST(AudioStreamCheckerTest, InitCheckerTest_004, TestSize.Level1)
766 {
767     AudioProcessConfig cfg;
768     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
769     DataTransferMonitorParam para;
770     int32_t pid = 100000;
771     int32_t callbackId = 100000;
772     CheckerParam checkerParamTest;
773 
774     checkerParamTest.pid = pid;
775     checkerParamTest.callbackId = 0;
776     checkerParamTest.hasInitCheck = false;
777     checker->checkParaVector_.clear();
778     checker->checkParaVector_.push_back(checkerParamTest);
779     checker->isNeedCreateThread_.store(true);
780 
781     checker->InitChecker(para, pid, callbackId);
782     EXPECT_EQ(checker->isNeedCreateThread_.load(), false);
783     int32_t size = checker->checkParaVector_.size();
784     EXPECT_EQ(size, 2);
785 }
786 
787 /**
788  * @tc.name  : Test InitChecker API
789  * @tc.type  : FUNC
790  * @tc.number: InitCheckerTest_005
791  */
792 HWTEST(AudioStreamCheckerTest, InitCheckerTest_005, TestSize.Level1)
793 {
794     AudioProcessConfig cfg;
795     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
796     DataTransferMonitorParam para;
797     int32_t pid = 100000;
798     int32_t callbackId = 100000;
799     CheckerParam checkerParamTest;
800     checkerParamTest.pid = 0;
801     checkerParamTest.callbackId = 0;
802     checkerParamTest.hasInitCheck = false;
803     checker->checkParaVector_.clear();
804     checker->checkParaVector_.push_back(checkerParamTest);
805     checker->isNeedCreateThread_.store(true);
806 
807     checker->InitChecker(para, pid, callbackId);
808     EXPECT_EQ(checker->isNeedCreateThread_.load(), false);
809     int32_t size = checker->checkParaVector_.size();
810     EXPECT_EQ(size, 2);
811 }
812 
813 /**
814  * @tc.name  : Test DeleteCheckerPara API
815  * @tc.type  : FUNC
816  * @tc.number: DeleteCheckerParaTest_002
817  */
818 HWTEST(AudioStreamCheckerTest, DeleteCheckerParaTest_002, TestSize.Level1)
819 {
820     AudioProcessConfig cfg;
821     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
822     CheckerParam checkerParamTest;
823     DataTransferMonitorParam para;
824 
825     checkerParamTest.pid = 0;
826     checkerParamTest.callbackId = 0;
827     checkerParamTest.hasInitCheck = false;
828     checker->checkParaVector_.clear();
829     checker->checkParaVector_.push_back(checkerParamTest);
830     checker->isNeedCreateThread_.store(false);
831 
832     checker->InitChecker(para, 100000, 100000);
833     checker->DeleteCheckerPara(100000, 100000);
834 
835     int32_t size = checker->checkParaVector_.size();
836     EXPECT_EQ(size, 1);
837     EXPECT_EQ(checker->isNeedCreateThread_.load(), false);
838 }
839 
840 /**
841  * @tc.name  : Test DeleteCheckerPara API
842  * @tc.type  : FUNC
843  * @tc.number: DeleteCheckerParaTest_003
844  */
845 HWTEST(AudioStreamCheckerTest, DeleteCheckerParaTest_003, TestSize.Level1)
846 {
847     AudioProcessConfig cfg;
848     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
849     CheckerParam checkerParamTest;
850     DataTransferMonitorParam para;
851 
852     checkerParamTest.pid = 0;
853     checkerParamTest.callbackId = 0;
854     checkerParamTest.hasInitCheck = false;
855     checker->checkParaVector_.clear();
856     checker->checkParaVector_.push_back(checkerParamTest);
857     checker->isNeedCreateThread_.store(false);
858 
859     checker->InitChecker(para, 100000, 100000);
860     checker->DeleteCheckerPara(100000, 0);
861 
862     int32_t size = checker->checkParaVector_.size();
863     EXPECT_EQ(size, 2);
864     EXPECT_EQ(checker->isNeedCreateThread_.load(), false);
865 }
866 
867 /**
868  * @tc.name  : Test DeleteCheckerPara API
869  * @tc.type  : FUNC
870  * @tc.number: DeleteCheckerParaTest_004
871  */
872 HWTEST(AudioStreamCheckerTest, DeleteCheckerParaTest_004, TestSize.Level1)
873 {
874     AudioProcessConfig cfg;
875     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
876     CheckerParam checkerParamTest;
877     DataTransferMonitorParam para;
878 
879     checkerParamTest.pid = 0;
880     checkerParamTest.callbackId = 0;
881     checkerParamTest.hasInitCheck = false;
882     checker->checkParaVector_.clear();
883     checker->checkParaVector_.push_back(checkerParamTest);
884     checker->isNeedCreateThread_.store(false);
885 
886     checker->InitChecker(para, 100000, 100000);
887     checker->DeleteCheckerPara(0, 100000);
888 
889     int32_t size = checker->checkParaVector_.size();
890     EXPECT_EQ(size, 2);
891     EXPECT_EQ(checker->isNeedCreateThread_.load(), false);
892 }
893 
894 /**
895  * @tc.name  : Test CalculateFrameAfterStandby API
896  * @tc.type  : FUNC
897  * @tc.number: CalculateFrameAfterStandby_005
898  */
899 HWTEST(AudioStreamCheckerTest, CalculateFrameAfterStandby_005, TestSize.Level1)
900 {
901     AudioProcessConfig cfg;
902     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
903     CheckerParam para;
904     int64_t abnormalFrameNum = 0;
905 
906     para.standbyStartTime = 1;
907     para.standbyStopTime = 20000001;
908     para.isMonitorNoDataFrame = true;
909     checker->streamConfig_.rendererInfo.rendererFlags = 0;
910     checker->CalculateFrameAfterStandby(para, abnormalFrameNum);
911     EXPECT_EQ(abnormalFrameNum, 1);
912 }
913 
914 /**
915  * @tc.name  : Test CalculateFrameAfterStandby API
916  * @tc.type  : FUNC
917  * @tc.number: CalculateFrameAfterStandby_006
918  */
919 HWTEST(AudioStreamCheckerTest, CalculateFrameAfterStandby_006, TestSize.Level1)
920 {
921     AudioProcessConfig cfg;
922     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
923     CheckerParam para;
924     int64_t abnormalFrameNum = 0;
925 
926     para.standbyStartTime = 0;
927     para.standbyStopTime = 20000000;
928     para.lastUpdateTime = 0;
929     para.isMonitorNoDataFrame = true;
930     checker->streamConfig_.rendererInfo.rendererFlags = 0;
931     checker->CalculateFrameAfterStandby(para, abnormalFrameNum);
932     EXPECT_EQ(abnormalFrameNum, 1);
933 }
934 
935 /**
936  * @tc.name  : Test OnRemoteAppDied API
937  * @tc.type  : FUNC
938  * @tc.number: OnRemoteAppDied_002
939  */
940 HWTEST(AudioStreamCheckerTest, OnRemoteAppDied_002, TestSize.Level1)
941 {
942     AudioProcessConfig cfg;
943     DataTransferMonitorParam para;
944     para.badDataTransferTypeBitMap = 3;
945     para.timeInterval = 2000000000;
946     para.badFramesRatio = 50;
947     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
948     checker->InitChecker(para, 100000, 200000);
949     checker->InitChecker(para, 100001, 200001);
950 
951     checker->OnRemoteAppDied(100000);
952     int size = checker->checkParaVector_.size();
953     EXPECT_EQ(size, 1);
954 }
955 
956 /**
957  * @tc.name  : Test OnRemoteAppDied API
958  * @tc.type  : FUNC
959  * @tc.number: OnRemoteAppDied_003
960  */
961 HWTEST(AudioStreamCheckerTest, OnRemoteAppDied_003, TestSize.Level1)
962 {
963     AudioProcessConfig cfg;
964     DataTransferMonitorParam para;
965     para.badDataTransferTypeBitMap = 3;
966     para.timeInterval = 2000000000;
967     para.badFramesRatio = 50;
968     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
969     checker->InitChecker(para, 100000, 200000);
970     checker->InitChecker(para, 100001, 200001);
971     checker->InitChecker(para, 100002, 200002);
972 
973     checker->OnRemoteAppDied(100000);
974     checker->OnRemoteAppDied(100001);
975     int size = checker->checkParaVector_.size();
976     EXPECT_EQ(size, 1);
977 }
978 
979 /**
980  * @tc.name  : Test OnRemoteAppDied API
981  * @tc.type  : FUNC
982  * @tc.number: OnRemoteAppDied_004
983  */
984 HWTEST(AudioStreamCheckerTest, OnRemoteAppDied_004, TestSize.Level1)
985 {
986     AudioProcessConfig cfg;
987     DataTransferMonitorParam para;
988     para.badDataTransferTypeBitMap = 3;
989     para.timeInterval = 2000000000;
990     para.badFramesRatio = 50;
991     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
992     checker->InitChecker(para, 100000, 200000);
993     checker->InitChecker(para, 100001, 200001);
994 
995     checker->OnRemoteAppDied(100003);
996     int size = checker->checkParaVector_.size();
997     EXPECT_EQ(size, 2);
998 }
999 
1000 /**
1001  * @tc.name  : Test OnRemoteAppDied API
1002  * @tc.type  : FUNC
1003  * @tc.number: OnRemoteAppDied_005
1004  */
1005 HWTEST(AudioStreamCheckerTest, OnRemoteAppDied_005, TestSize.Level1)
1006 {
1007     AudioProcessConfig cfg;
1008     DataTransferMonitorParam para;
1009     para.badDataTransferTypeBitMap = 3;
1010     para.timeInterval = 2000000000;
1011     para.badFramesRatio = 50;
1012     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1013     checker->InitChecker(para, 100000, 100000);
1014     checker->OnRemoteAppDied(100000);
1015 
1016     EXPECT_EQ(checker->isNeedCreateThread_.load(), true);
1017     EXPECT_EQ(checker->isKeepCheck_.load(), false);
1018 }
1019 
1020 /**
1021  * @tc.name  : Test MonitorCheckFrame API
1022  * @tc.type  : FUNC
1023  * @tc.number: MonitorCheckFrame_004
1024  */
1025 HWTEST(AudioStreamCheckerTest, MonitorCheckFrame_004, TestSize.Level1)
1026 {
1027     AudioProcessConfig cfg;
1028     DataTransferMonitorParam para;
1029     para.badDataTransferTypeBitMap = 3;
1030     para.timeInterval = 2000000000;
1031     para.badFramesRatio = 50;
1032     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1033     checker->InitChecker(para, 100000, 100000);
1034     checker->monitorSwitch_ = false;
1035 
1036     checker->MonitorCheckFrame();
1037     int size = checker->checkParaVector_.size();
1038     EXPECT_EQ(size, 1);
1039 }
1040 
1041 /**
1042  * @tc.name  : Test MonitorCheckFrameAction API
1043  * @tc.type  : FUNC
1044  * @tc.number: MonitorCheckFrameAction_007
1045  */
1046 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameAction_007, TestSize.Level1)
1047 {
1048     AudioProcessConfig cfg;
1049     DataTransferMonitorParam para;
1050     para.badDataTransferTypeBitMap = 3;
1051     para.timeInterval = 2000000000;
1052     para.badFramesRatio = 50;
1053     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1054     checker->InitChecker(para, 100000, 100000);
1055     CheckerParam checkerPara;
1056     checkerPara.lastStatus = AUDIO_STREAM_PAUSE;
1057     checkerPara.sumFrameCount = 100;
1058     int64_t abnormalFrameNum = 40;
1059     float badFrameRatio = 0.5f;
1060 
1061     checker->MonitorCheckFrameAction(checkerPara, abnormalFrameNum, badFrameRatio);
1062     int size = checker->checkParaVector_.size();
1063     EXPECT_GT(size, 0);
1064 }
1065 
1066 /**
1067  * @tc.name  : Test MonitorCheckFrameAction API
1068  * @tc.type  : FUNC
1069  * @tc.number: MonitorCheckFrameAction_008
1070  */
1071 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameAction_008, TestSize.Level1)
1072 {
1073     AudioProcessConfig cfg;
1074     DataTransferMonitorParam para;
1075     para.badDataTransferTypeBitMap = 3;
1076     para.timeInterval = 2000000000;
1077     para.badFramesRatio = 50;
1078     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1079     checker->InitChecker(para, 100000, 100000);
1080     CheckerParam checkerPara;
1081     checkerPara.lastStatus = DATA_TRANS_STOP;
1082     checkerPara.sumFrameCount = 100;
1083     int64_t abnormalFrameNum = 40;
1084     float badFrameRatio = 0.5f;
1085 
1086     checker->MonitorCheckFrameAction(checkerPara, abnormalFrameNum, badFrameRatio);
1087     int size = checker->checkParaVector_.size();
1088     EXPECT_GT(size, 0);
1089 }
1090 
1091 /**
1092  * @tc.name  : Test MonitorCheckFrameSub API
1093  * @tc.type  : FUNC
1094  * @tc.number: MonitorCheckFrameSub_004
1095  */
1096 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameSub_004, TestSize.Level1)
1097 {
1098     AudioProcessConfig cfg;
1099     DataTransferMonitorParam para;
1100     para.badDataTransferTypeBitMap = 3;
1101     para.timeInterval = 2000000000;
1102     para.badFramesRatio = 50;
1103     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1104     checker->InitChecker(para, 100000, 100000);
1105     CheckerParam checkerPara;
1106     checkerPara.lastStatus = DATA_TRANS_STOP;
1107     checkerPara.sumFrameCount = 100;
1108     checkerPara.hasInitCheck = false;
1109 
1110     checker->MonitorCheckFrameSub(checkerPara);
1111     int size = checker->checkParaVector_.size();
1112     EXPECT_GT(size, 0);
1113 }
1114 
1115 /**
1116  * @tc.name  : Test MonitorCheckFrameSub API
1117  * @tc.type  : FUNC
1118  * @tc.number: MonitorCheckFrameSub_005
1119  */
1120 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameSub_005, TestSize.Level1)
1121 {
1122     AudioProcessConfig cfg;
1123     DataTransferMonitorParam para;
1124     para.badDataTransferTypeBitMap = 3;
1125     para.timeInterval = 2000000000;
1126     para.badFramesRatio = 50;
1127     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1128     checker->InitChecker(para, 100000, 100000);
1129     CheckerParam checkerPara;
1130     checkerPara.lastStatus = DATA_TRANS_STOP;
1131     checkerPara.sumFrameCount = 100;
1132     checkerPara.hasInitCheck = true;
1133     checkerPara.isMonitorMuteFrame = true;
1134 
1135     checker->MonitorCheckFrameSub(checkerPara);
1136     int size = checker->checkParaVector_.size();
1137     EXPECT_GT(size, 0);
1138 }
1139 
1140 /**
1141  * @tc.name  : Test MonitorOnAllCallback API
1142  * @tc.type  : FUNC
1143  * @tc.number: MonitorOnAllCallback_004
1144  */
1145 HWTEST(AudioStreamCheckerTest, MonitorOnAllCallback_004, TestSize.Level1)
1146 {
1147     AudioProcessConfig cfg;
1148     DataTransferMonitorParam para;
1149     para.badDataTransferTypeBitMap = 3;
1150     para.timeInterval = 2000000000;
1151     para.badFramesRatio = 50;
1152     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1153     checker->InitChecker(para, 100000, 100000);
1154     checker->monitorSwitch_ = false;
1155     DataTransferStateChangeType type = AUDIO_STREAM_START;
1156 
1157     checker->MonitorOnAllCallback(type, true);
1158     int size = checker->checkParaVector_.size();
1159     EXPECT_EQ(size, 1);
1160 }
1161 
1162 /**
1163  * @tc.name  : Test MonitorOnAllCallback API
1164  * @tc.type  : FUNC
1165  * @tc.number: MonitorOnAllCallback_005
1166  */
1167 HWTEST(AudioStreamCheckerTest, MonitorOnAllCallback_005, TestSize.Level1)
1168 {
1169     AudioProcessConfig cfg;
1170     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1171     CheckerParam checkerParamTest;
1172     checkerParamTest.pid = 0;
1173     checkerParamTest.callbackId = 0;
1174     checkerParamTest.isMonitorNoDataFrame = false;
1175     checker->checkParaVector_.clear();
1176     checker->checkParaVector_.push_back(checkerParamTest);
1177 
1178     checker->monitorSwitch_ = true;
1179     DataTransferStateChangeType type = DATA_TRANS_RESUME;
1180 
1181     checker->MonitorOnAllCallback(type, true);
1182     int size = checker->checkParaVector_.size();
1183     EXPECT_EQ(size, 1);
1184 }
1185 
1186 /**
1187  * @tc.name  : Test RecordStandbyTime API
1188  * @tc.type  : FUNC
1189  * @tc.number: RecordStandbyTime_003
1190  */
1191 HWTEST(AudioStreamCheckerTest, RecordStandbyTime_003, TestSize.Level1)
1192 {
1193     AudioProcessConfig cfg;
1194     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1195     CheckerParam checkerParamTest;
1196     checkerParamTest.pid = 0;
1197     checkerParamTest.standbyStartTime = 0;
1198     checkerParamTest.isMonitorNoDataFrame = false;
1199     checker->checkParaVector_.clear();
1200     checker->checkParaVector_.push_back(checkerParamTest);
1201 
1202     checker->RecordStandbyTime(false);
1203     int size = checker->checkParaVector_.size();
1204     EXPECT_EQ(size, 1);
1205     EXPECT_TRUE(checker->checkParaVector_[0].standbyStopTime > 0);
1206     EXPECT_EQ(checker->checkParaVector_[0].isInStandby, false);
1207 }
1208 
1209 /**
1210  * @tc.name  : Test MonitorOnCallback API
1211  * @tc.type  : FUNC
1212  * @tc.number: MMonitorOnCallback_004
1213  */
1214 HWTEST(AudioStreamCheckerTest, MonitorOnCallback_004, TestSize.Level1)
1215 {
1216     AudioProcessConfig cfg;
1217     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1218     CheckerParam checkerParamTest;
1219     checkerParamTest.pid = 0;
1220     checkerParamTest.lastUpdateTime = 0;
1221     checkerParamTest.hasInitCheck = true;
1222     checker->checkParaVector_.clear();
1223     checker->checkParaVector_.push_back(checkerParamTest);
1224 
1225     DataTransferStateChangeType type = AUDIO_STREAM_START;
1226     checker->monitorSwitch_ = false;
1227 
1228     checker->MonitorOnCallback(type, true, checkerParamTest);
1229     int size = checker->checkParaVector_.size();
1230     EXPECT_EQ(size, 1);
1231     EXPECT_TRUE(checkerParamTest.lastUpdateTime > 0);
1232 }
1233 
1234 /**
1235  * @tc.name  : Test MonitorOnCallback API
1236  * @tc.type  : FUNC
1237  * @tc.number: MMonitorOnCallback_005
1238  */
1239 HWTEST(AudioStreamCheckerTest, MonitorOnCallback_005, TestSize.Level1)
1240 {
1241     AudioProcessConfig cfg;
1242     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1243     CheckerParam checkerParamTest;
1244     checkerParamTest.sumFrameCount = 1;
1245     checkerParamTest.lastUpdateTime = 0;
1246     checkerParamTest.hasInitCheck = true;
1247     checker->checkParaVector_.clear();
1248     checker->checkParaVector_.push_back(checkerParamTest);
1249 
1250     DataTransferStateChangeType type = AUDIO_STREAM_START;
1251     checker->monitorSwitch_ = true;
1252 
1253     checker->MonitorOnCallback(type, true, checkerParamTest);
1254     EXPECT_EQ(checkerParamTest.lastStatus, AUDIO_STREAM_START);
1255     EXPECT_TRUE(checkerParamTest.lastUpdateTime > 0);
1256 }
1257 
1258 /**
1259  * @tc.name  : Test IsMonitorMuteFrame API
1260  * @tc.type  : FUNC
1261  * @tc.number: IsMonitorMuteFrame_001
1262  */
1263 HWTEST(AudioStreamCheckerTest, IsMonitorMuteFrame_001, TestSize.Level1)
1264 {
1265     AudioProcessConfig cfg;
1266     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1267     CheckerParam checkerParamTest;
1268     checkerParamTest.hasInitCheck = false;
1269 
1270     bool ret = checker->IsMonitorMuteFrame(checkerParamTest);
1271     EXPECT_EQ(ret, false);
1272 }
1273 
1274 /**
1275  * @tc.name  : Test IsMonitorNoDataFrame API
1276  * @tc.type  : FUNC
1277  * @tc.number: IsMonitorNoDataFrame_001
1278  */
1279 HWTEST(AudioStreamCheckerTest, IsMonitorNoDataFrame_001, TestSize.Level1)
1280 {
1281     AudioProcessConfig cfg;
1282     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1283     CheckerParam checkerParamTest;
1284     checkerParamTest.hasInitCheck = false;
1285 
1286     bool ret = checker->IsMonitorNoDataFrame(checkerParamTest);
1287     EXPECT_EQ(ret, false);
1288 }
1289 
1290 /**
1291  * @tc.name  : Test DeleteCheckerPara API
1292  * @tc.type  : FUNC
1293  * @tc.number: DeleteCheckerPara_002
1294  */
1295 HWTEST(AudioStreamCheckerTest, DeleteCheckerPara_002, TestSize.Level1)
1296 {
1297     AudioProcessConfig cfg;
1298     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1299     checker->checkParaVector_.push_back({1, 1});
1300     checker->DeleteCheckerPara(1, 1);
1301     EXPECT_EQ(checker->checkParaVector_.size(), 0);
1302 }
1303 
1304 /**
1305  * @tc.name  : Test DeleteCheckerPara API
1306  * @tc.type  : FUNC
1307  * @tc.number: DeleteCheckerPara_003
1308  */
1309 HWTEST(AudioStreamCheckerTest, DeleteCheckerPara_003, TestSize.Level1)
1310 {
1311     AudioProcessConfig cfg;
1312     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1313     checker->checkParaVector_.push_back({1, 1});
1314     checker->DeleteCheckerPara(2, 2);
1315     EXPECT_EQ(checker->checkParaVector_.size(), 1);
1316 }
1317 
1318 /**
1319  * @tc.name  : Test DeleteCheckerPara API
1320  * @tc.type  : FUNC
1321  * @tc.number: DeleteCheckerPara_004
1322  */
1323 HWTEST(AudioStreamCheckerTest, DeleteCheckerPara_004, TestSize.Level1)
1324 {
1325     AudioProcessConfig cfg;
1326     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1327     checker->DeleteCheckerPara(1, 1);
1328     EXPECT_EQ(checker->checkParaVector_.size(), 0);
1329 }
1330 
1331 /**
1332  * @tc.name  : Test OnRemoteAppDied API
1333  * @tc.type  : FUNC
1334  * @tc.number: OnRemoteAppDied_006
1335  */
1336 HWTEST(AudioStreamCheckerTest, OnRemoteAppDied_006, TestSize.Level1)
1337 {
1338     AudioProcessConfig cfg;
1339     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1340     int32_t pid = 1234;
1341     checker->checkParaVector_.push_back({pid, 0});
1342     checker->OnRemoteAppDied(pid);
1343     EXPECT_EQ(checker->checkParaVector_.size(), 0);
1344     EXPECT_EQ(checker->isNeedCreateThread_.load(), true);
1345     EXPECT_EQ(checker->isKeepCheck_.load(), false);
1346 }
1347 
1348 /**
1349  * @tc.name  : Test OnRemoteAppDied API
1350  * @tc.type  : FUNC
1351  * @tc.number: OnRemoteAppDied_007
1352  */
1353 HWTEST(AudioStreamCheckerTest, OnRemoteAppDied_007, TestSize.Level1)
1354 {
1355     AudioProcessConfig cfg;
1356     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1357     int32_t pid = 1234;
1358     checker->checkParaVector_.push_back({5678, 0});
1359     checker->OnRemoteAppDied(pid);
1360     EXPECT_EQ(checker->checkParaVector_.size(), 1);
1361     EXPECT_EQ(checker->isNeedCreateThread_.load(), true);
1362     EXPECT_NE(checker->isKeepCheck_.load(), true);
1363 }
1364 
1365 /**
1366  * @tc.name  : Test OnRemoteAppDied API
1367  * @tc.type  : FUNC
1368  * @tc.number: OnRemoteAppDied_008
1369  */
1370 HWTEST(AudioStreamCheckerTest, OnRemoteAppDied_008, TestSize.Level1)
1371 {
1372     AudioProcessConfig cfg;
1373     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1374     int32_t pid = 1234;
1375     checker->OnRemoteAppDied(pid);
1376     EXPECT_EQ(checker->checkParaVector_.size(), 0);
1377     EXPECT_EQ(checker->isNeedCreateThread_.load(), true);
1378     EXPECT_EQ(checker->isKeepCheck_.load(), false);
1379 }
1380 
1381 /**
1382  * @tc.name  : Test MonitorCheckFrame API
1383  * @tc.type  : FUNC
1384  * @tc.number: MonitorCheckFrame_005
1385  */
1386 HWTEST(AudioStreamCheckerTest, MonitorCheckFrame_005, TestSize.Level0)
1387 {
1388     AudioProcessConfig cfg;
1389     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1390     checker->monitorSwitch_ = false;
1391     checker->MonitorCheckFrame();
1392     EXPECT_FALSE(checker->monitorSwitch_);
1393 }
1394 
1395 /**
1396  * @tc.name  : Test MonitorCheckFrame API
1397  * @tc.type  : FUNC
1398  * @tc.number: MonitorCheckFrame_006
1399  */
1400 HWTEST(AudioStreamCheckerTest, MonitorCheckFrame_006, TestSize.Level0)
1401 {
1402     AudioProcessConfig cfg;
1403     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1404     checker->monitorSwitch_ = true;
1405     CheckerParam checkerParamTest;
1406     checkerParamTest.pid = 0;
1407     checkerParamTest.lastUpdateTime = 0;
1408     checkerParamTest.hasInitCheck = true;
1409     checker->checkParaVector_.clear();
1410     checker->checkParaVector_.push_back(checkerParamTest); // Assuming CheckPara is a valid struct
1411     checker->MonitorCheckFrame();
1412     EXPECT_TRUE(checker->monitorSwitch_);
1413 }
1414 
1415 /**
1416  * @tc.name  : Test CalculateFrameAfterStandby API
1417  * @tc.type  : FUNC
1418  * @tc.number: CalculateFrameAfterStandby_007
1419  */
1420 HWTEST(AudioStreamCheckerTest, CalculateFrameAfterStandby_007, TestSize.Level0)
1421 {
1422     AudioProcessConfig cfg;
1423     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1424     CheckerParam para;
1425     para.standbyStartTime = 0;
1426     para.standbyStopTime = 0;
1427     int64_t abnormalFrameNum = 0;
1428     checker->CalculateFrameAfterStandby(para, abnormalFrameNum);
1429     EXPECT_EQ(abnormalFrameNum, 0);
1430 }
1431 
1432 /**
1433  * @tc.name  : Test CalculateFrameAfterStandby API
1434  * @tc.type  : FUNC
1435  * @tc.number: CalculateFrameAfterStandby_008
1436  */
1437 HWTEST(AudioStreamCheckerTest, CalculateFrameAfterStandby_008, TestSize.Level0)
1438 {
1439     AudioProcessConfig cfg;
1440     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1441     CheckerParam para;
1442     para.standbyStartTime = 0;
1443     para.standbyStopTime = 200;
1444     int64_t abnormalFrameNum = 0;
1445     checker->CalculateFrameAfterStandby(para, abnormalFrameNum);
1446     EXPECT_NE(abnormalFrameNum, 10);
1447 }
1448 
1449 /**
1450  * @tc.name  : Test MonitorCheckFrameSub API
1451  * @tc.type  : FUNC
1452  * @tc.number: MonitorCheckFrameSub_006
1453  */
1454 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameSub_006, TestSize.Level0)
1455 {
1456     AudioProcessConfig cfg;
1457     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1458     CheckerParam para;
1459     para.hasInitCheck = false;
1460     para.para.clientUID = 12345;
1461     checker->MonitorCheckFrameSub(para);
1462     EXPECT_NE(para.lastStatus, -1); // Assuming lastStatus is updated in the function
1463 }
1464 
1465 /**
1466  * @tc.name  : Test MonitorCheckFrameSub API
1467  * @tc.type  : FUNC
1468  * @tc.number: MonitorCheckFrameSub_007
1469  */
1470 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameSub_007, TestSize.Level0)
1471 {
1472     AudioProcessConfig cfg;
1473     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1474     CheckerParam para;
1475     para.hasInitCheck = true;
1476     para.isMonitorMuteFrame = true;
1477     para.muteFrameNum = 10;
1478     checker->MonitorCheckFrameSub(para);
1479     EXPECT_NE(para.lastStatus, -1); // Assuming lastStatus is updated in the function
1480 }
1481 
1482 /**
1483  * @tc.name  : Test MonitorOnAllCallback API
1484  * @tc.type  : FUNC
1485  * @tc.number: MonitorOnAllCallback_008
1486  */
1487 HWTEST(AudioStreamCheckerTest, MonitorOnAllCallback_008, TestSize.Level1)
1488 {
1489     AudioProcessConfig cfg;
1490     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1491     checker->monitorSwitch_ = false;
1492     checker->MonitorOnAllCallback(DATA_TRANS_RESUME, false);
1493     EXPECT_FALSE(checker->monitorSwitch_);
1494 }
1495 
1496 /**
1497  * @tc.name  : Test MonitorOnAllCallback API
1498  * @tc.type  : FUNC
1499  * @tc.number: MonitorOnAllCallback_009
1500  */
1501 HWTEST(AudioStreamCheckerTest, MonitorOnAllCallback_009, TestSize.Level1)
1502 {
1503     AudioProcessConfig cfg;
1504     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1505     checker->monitorSwitch_ = true;
1506     CheckerParam checkerParamTest;
1507     checkerParamTest.pid = 0;
1508     checkerParamTest.lastUpdateTime = 0;
1509     checkerParamTest.hasInitCheck = true;
1510     checker->checkParaVector_.clear();
1511     checker->checkParaVector_.push_back(checkerParamTest);
1512     checker->MonitorOnAllCallback(DATA_TRANS_RESUME, true);
1513     EXPECT_TRUE(checker->monitorSwitch_);
1514 }
1515 
1516 /**
1517  * @tc.name  : Test MonitorOnAllCallback API
1518  * @tc.type  : FUNC
1519  * @tc.number: MonitorOnAllCallback_0010
1520  */
1521 HWTEST(AudioStreamCheckerTest, MonitorOnAllCallback_010, TestSize.Level1)
1522 {
1523     AudioProcessConfig cfg;
1524     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1525     checker->monitorSwitch_ = true;
1526     CheckerParam checkerParamTest;
1527     checkerParamTest.pid = 0;
1528     checkerParamTest.lastUpdateTime = 0;
1529     checkerParamTest.hasInitCheck = false;
1530     checker->checkParaVector_.clear();
1531     checker->checkParaVector_.push_back(checkerParamTest);
1532     checker->MonitorOnAllCallback(DATA_TRANS_RESUME, false);
1533     EXPECT_TRUE(checker->monitorSwitch_);
1534 }
1535 
1536 /**
1537  * @tc.name  : Test CheckVolume API
1538  * @tc.type  : FUNC
1539  * @tc.number: CheckVolume_001
1540  */
1541 HWTEST(AudioStreamCheckerTest, CheckVolume_001, TestSize.Level1)
1542 {
1543     AudioProcessConfig cfg;
1544     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1545 
1546     checker->curVolume_ = 0.0f;
1547     checker->preVolume_ = 0.0f;
1548     checker->CheckVolume();
1549     EXPECT_EQ(checker->curVolume_, checker->preVolume_);
1550 
1551     checker->curVolume_ = 0.0f;
1552     checker->preVolume_ = 1.0f;
1553     checker->CheckVolume();
1554     EXPECT_EQ(checker->curVolume_, checker->preVolume_);
1555 
1556     checker->curVolume_ = 1.0f;
1557     checker->preVolume_ = 0.0f;
1558     checker->CheckVolume();
1559     EXPECT_EQ(checker->curVolume_, checker->preVolume_);
1560 
1561     checker->curVolume_ = 1.0f;
1562     checker->preVolume_ = 1.0f;
1563     checker->CheckVolume();
1564     EXPECT_EQ(checker->curVolume_, checker->preVolume_);
1565 }
1566 
1567 /**
1568  * @tc.name  : Test MonitorCheckFrameSub API
1569  * @tc.type  : FUNC
1570  * @tc.number: MonitorCheckFrameSub_008
1571  */
1572 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameSub_008, TestSize.Level1)
1573 {
1574     AudioProcessConfig cfg;
1575     DataTransferMonitorParam para;
1576     para.badDataTransferTypeBitMap = 3;
1577     para.timeInterval = 2000000000;
1578     para.badFramesRatio = 50;
1579     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1580     checker->InitChecker(para, 100000, 100000);
1581     CheckerParam checkerPara;
1582     checkerPara.hasInitCheck = true;
1583     checkerPara.isMonitorMuteFrame = false;
1584     checkerPara.isMonitorNoDataFrame = true;
1585     checker->MonitorCheckFrameSub(checkerPara);
1586     int size = checker->checkParaVector_.size();
1587     EXPECT_NE(0, size);
1588 }
1589 
1590 /**
1591  * @tc.name  : Test MonitorOnCallback API
1592  * @tc.type  : FUNC
1593  * @tc.number: MonitorOnCallback_006
1594  */
1595 HWTEST(AudioStreamCheckerTest, MonitorOnCallback_006, TestSize.Level1)
1596 {
1597     AudioProcessConfig cfg;
1598     DataTransferMonitorParam para;
1599     para.badDataTransferTypeBitMap = 3;
1600     para.timeInterval = 2000000000;
1601     para.badFramesRatio = 50;
1602     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1603     checker->InitChecker(para, 100000, 100000);
1604     CheckerParam checkerPara;
1605     checker->monitorSwitch_ = false;
1606 
1607     checker->MonitorOnCallback(AUDIO_STREAM_START, true, checkerPara);
1608     EXPECT_EQ(DATA_TRANS_RESUME, checkerPara.lastStatus);
1609 
1610     checkerPara.pid = 100;
1611     checker->MonitorOnCallback(AUDIO_STREAM_PAUSE, true, checkerPara);
1612     EXPECT_EQ(0, checkerPara.sumFrameCount);
1613 
1614     checker->monitorSwitch_ = true;
1615     checkerPara.sumFrameCount = 100;
1616     checker->MonitorOnCallback(AUDIO_STREAM_START, false, checkerPara);
1617     EXPECT_EQ(0, checkerPara.callbackId);
1618 }
1619 
1620 /**
1621  * @tc.name  : Test CalculateFrameAfterStandby API
1622  * @tc.type  : FUNC
1623  * @tc.number: CalculateFrameAfterStandby_009
1624  */
1625 HWTEST(AudioStreamCheckerTest, CalculateFrameAfterStandby_009, TestSize.Level1)
1626 {
1627     AudioProcessConfig cfg;
1628     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1629     CheckerParam para;
1630     int64_t abnormalFrameNum = 0;
1631     checker->streamConfig_.rendererInfo.rendererFlags = 0;
1632 
1633     checker->CalculateFrameAfterStandby(para, abnormalFrameNum);
1634     EXPECT_EQ(false, para.isMonitorNoDataFrame);
1635 
1636     para.standbyStopTime = DEFAULT_TIME;
1637     para.isMonitorNoDataFrame = true;
1638     checker->CalculateFrameAfterStandby(para, abnormalFrameNum);
1639     EXPECT_EQ(0, para.sumFrameCount);
1640 
1641     para.isInStandby = 1;
1642     checker->CalculateFrameAfterStandby(para, abnormalFrameNum);
1643     EXPECT_EQ(DATA_TRANS_RESUME, para.lastStatus);
1644 }
1645 
1646 /**
1647  * @tc.name  : Test MonitorCheckFrame API
1648  * @tc.type  : FUNC
1649  * @tc.number: MonitorCheckFrame_007
1650  */
1651 HWTEST(AudioStreamCheckerTest, MonitorCheckFrame_007, TestSize.Level1)
1652 {
1653     AudioProcessConfig cfg;
1654     DataTransferMonitorParam para;
1655     para.badDataTransferTypeBitMap = 3;
1656     para.timeInterval = 2000000000;
1657     para.badFramesRatio = 50;
1658     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1659     checker->InitChecker(para, 100000, 100000);
1660     checker->monitorSwitch_ = true;
1661 
1662     checker->MonitorCheckFrame();
1663     int size = checker->checkParaVector_.size();
1664     EXPECT_EQ(1, size);
1665 }
1666 
1667 /**
1668  * @tc.name  : Test MonitorCheckFrameAction API
1669  * @tc.type  : FUNC
1670  * @tc.number: MonitorCheckFrameAction_009
1671  */
1672 HWTEST(AudioStreamCheckerTest, MonitorCheckFrameAction_009, TestSize.Level1)
1673 {
1674     AudioProcessConfig cfg;
1675     DataTransferMonitorParam para;
1676     para.badDataTransferTypeBitMap = 3;
1677     para.timeInterval = 2000000000;
1678     para.badFramesRatio = 50;
1679     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1680     checker->InitChecker(para, 100000, 100000);
1681     CheckerParam checkerPara;
1682     checkerPara.sumFrameCount = 100;
1683     int64_t abnormalFrameNum = 40;
1684     float badFrameRatio = 0.5f;
1685 
1686     checkerPara.lastStatus = DATA_TRANS_STOP;
1687     checker->MonitorCheckFrameAction(checkerPara, abnormalFrameNum, badFrameRatio);
1688     EXPECT_EQ(0, checkerPara.noDataFrameNum);
1689 
1690     checkerPara.lastStatus = AUDIO_STREAM_STOP;
1691     checker->MonitorCheckFrameAction(checkerPara, abnormalFrameNum, badFrameRatio);
1692     EXPECT_EQ(0, checker->streamConfig_.originalSessionId);
1693 }
1694 
1695 /**
1696  * @tc.name  : Test MonitorOnAllCallback API
1697  * @tc.type  : FUNC
1698  * @tc.number: MonitorOnAllCallback_006
1699  */
1700 HWTEST(AudioStreamCheckerTest, MonitorOnAllCallback_006, TestSize.Level1)
1701 {
1702     AudioProcessConfig cfg;
1703     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1704     CheckerParam checkerParamTest;
1705     checkerParamTest.pid = 0;
1706     checkerParamTest.callbackId = 0;
1707     checkerParamTest.isMonitorNoDataFrame = false;
1708     checker->checkParaVector_.clear();
1709     checker->checkParaVector_.push_back(checkerParamTest);
1710 
1711     checker->monitorSwitch_ = true;
1712     DataTransferStateChangeType type = DATA_TRANS_RESUME;
1713 
1714     checker->MonitorOnAllCallback(type, false);
1715     int size = checker->checkParaVector_.size();
1716     EXPECT_EQ(1, size);
1717 }
1718 
1719 /**
1720  * @tc.name  : Test IsMonitorNoDataFrame API
1721  * @tc.type  : FUNC
1722  * @tc.number: IsMonitorNoDataFrame_002
1723  */
1724 HWTEST(AudioStreamCheckerTest, IsMonitorNoDataFrame_002, TestSize.Level1)
1725 {
1726     AudioProcessConfig cfg;
1727     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1728     CheckerParam checkerParamTest;
1729     checkerParamTest.hasInitCheck = true;
1730     bool ret = checker->IsMonitorNoDataFrame(checkerParamTest);
1731     EXPECT_EQ(false, ret);
1732 }
1733 
1734 /**
1735  * @tc.name  : Test CheckStreamThread API
1736  * @tc.type  : FUNC
1737  * @tc.number: CheckStreamThread_001
1738  */
1739 HWTEST(AudioStreamCheckerTest, CheckStreamThread_001, TestSize.Level1)
1740 {
1741     AudioProcessConfig cfg;
1742     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1743     checker->CheckStreamThread();
1744     EXPECT_EQ(false, checker->isKeepCheck_);
1745 }
1746 
1747 /**
1748  * @tc.name  : Test IsMonitorMuteFrame API
1749  * @tc.type  : FUNC
1750  * @tc.number: IsMonitorMuteFrame_002
1751  */
1752 HWTEST(AudioStreamCheckerTest, IsMonitorMuteFrame_002, TestSize.Level1)
1753 {
1754     AudioProcessConfig cfg;
1755     std::shared_ptr<AudioStreamChecker> checker = std::make_shared<AudioStreamChecker>(cfg);
1756     CheckerParam checkerParamTest;
1757     checkerParamTest.hasInitCheck = true;
1758 
1759     bool ret = checker->IsMonitorMuteFrame(checkerParamTest);
1760     EXPECT_EQ(false, ret);
1761 }
1762 }
1763 }