• 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 
16 #ifndef SOURCE_PLUGIN_MOCK_H
17 #define SOURCE_PLUGIN_MOCK_H
18 
19 #include <gmock/gmock.h>
20 
21 #include "plugin/plugin_base.h"
22 #include "plugin/source_plugin.h"
23 #include "common/media_source.h"
24 #include "plugin/plugin_event.h"
25 #include "meta/media_types.h"
26 
27 namespace OHOS {
28 namespace Media {
29 class MockSourcePlugin : public Plugins::SourcePlugin {
30 public:
MockSourcePlugin(std::string name)31     MockSourcePlugin(std::string name) : SourcePlugin(name){};
32     ~MockSourcePlugin() = default;
33 //SourcePlugin
34     MOCK_METHOD(Status, SetSource, (std::shared_ptr<Plugins::MediaSource> source), ());
35     MOCK_METHOD(Status, Read, (int32_t streamID, std::shared_ptr<Plugins::Buffer> &buffer,
36         uint64_t offset, size_t expectedLen), ());
37     MOCK_METHOD(Status, Read, (std::shared_ptr<Plugins::Buffer> &buffer, uint64_t offset,
38         size_t expectedLen), ());
39     MOCK_METHOD(Status, GetSize, (uint64_t & size), ());
40     MOCK_METHOD(Plugins::Seekable, GetSeekable, (), ());
41     MOCK_METHOD(Status, SeekTo, (uint64_t offset), ());
42     MOCK_METHOD(Status, Reset, (), ());
43     MOCK_METHOD(void, SetDemuxerState, (int32_t streamId), ());
44     MOCK_METHOD(void, SetDownloadErrorState, (), ());
45     MOCK_METHOD(void, SetBundleName, (const std::string &bundleName), ());
46     MOCK_METHOD(Status, GetDownloadInfo, (Plugins::DownloadInfo & downloadInfo), ());
47     MOCK_METHOD(Status, GetPlaybackInfo, (Plugins::PlaybackInfo & playbackInfo), ());
48     MOCK_METHOD(Status, GetBitRates, (std::vector<uint32_t> & bitRates), ());
49     MOCK_METHOD(Status, SetStartPts, (int64_t startPts), ());
50     MOCK_METHOD(Status, SetExtraCache, (uint64_t cacheDuration), ());
51     MOCK_METHOD(Status, SelectBitRate, (uint32_t bitRate), ());
52     MOCK_METHOD(Status, AutoSelectBitRate, (uint32_t bitRate), ());
53     MOCK_METHOD(bool, IsSeekToTimeSupported, (), ());
54     MOCK_METHOD(Status, SeekToTime, (int64_t seekTime, Plugins::SeekMode mode), ());
55     MOCK_METHOD(Status, GetDuration, (int64_t& duration), ());
56     MOCK_METHOD(bool, IsNeedPreDownload, (), ());
57     MOCK_METHOD(Status, SetReadBlockingFlag, (bool isReadBlockingAllowed), ());
58     MOCK_METHOD(void, SetInterruptState, (bool isInterruptNeeded), ());
59     MOCK_METHOD(Status, SetCurrentBitRate, (int32_t bitRate, int32_t streamID), ());
60     MOCK_METHOD(Status, GetStreamInfo, (std::vector<Plugins::StreamInfo> & streams), ());
61     MOCK_METHOD(Status, SelectStream, (int32_t streamID), ());
62     MOCK_METHOD(Status, Pause, (), ());
63     MOCK_METHOD(Status, Resume, (), ());
64     MOCK_METHOD(void, SetEnableOnlineFdCache, (bool isEnableFdCache), ());
65     MOCK_METHOD(size_t, GetSegmentOffset, (), ());
66     MOCK_METHOD(bool, GetHLSDiscontinuity, (), ());
67     MOCK_METHOD(Status, StopBufferring, (bool isAppBackground), ());
68     MOCK_METHOD(void, WaitForBufferingEnd, (), ());
69     MOCK_METHOD(bool, SetSourceInitialBufferSize, (int32_t offset, int32_t size), ());
70     MOCK_METHOD(void, NotifyInitSuccess, (), ());
71     MOCK_METHOD(bool, IsLocalFd, (), ());
72     MOCK_METHOD(uint64_t, GetCachedDuration, (), ());
73     MOCK_METHOD(void, RestartAndClearBuffer, (), ());
74     MOCK_METHOD(bool, IsFlvLive, (), ());
75     MOCK_METHOD(bool, IsHlsFmp4, (), ());
76     MOCK_METHOD(uint64_t, GetMemorySize, (), ());
77     MOCK_METHOD(std::string, GetContentType, (), ());
78 //PluginBase
79     MOCK_METHOD(void, OnEvent, (const Plugins::PluginEvent &event), ());
80     MOCK_METHOD(void, OnDfxEvent, (const Plugins::PluginDfxEvent &event), ());
81     MOCK_METHOD(void, SetSelectBitRateFlag, (bool flag, uint32_t desBitRate), ());
82     MOCK_METHOD(bool, CanAutoSelectBitRate, (), ());
83 
84     MOCK_METHOD(Status, Init, (), ());
85     MOCK_METHOD(Status, Deinit, (), ());
86     MOCK_METHOD(Status, Prepare, (), ());
87     MOCK_METHOD(Status, Start, (), ());
88     MOCK_METHOD(Status, Stop, (), ());
89     MOCK_METHOD(Status, GetParameter, (std::shared_ptr<Meta> &meta), ());
90     MOCK_METHOD(Status, SetParameter, (const std::shared_ptr<Meta> &meta), ());
91     MOCK_METHOD(Status, SetCallback, (Plugins::Callback* cb), ());
92 };
93 }  // namespace Media
94 }  // namespace OHOS
95 #endif // SOURCE_PLUGIN_MOCK_H