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