1 /* 2 * Copyright (c) 2023-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 PLAYER_SERVICE_PROXY_FUZZER_H 17 #define PLAYER_SERVICE_PROXY_FUZZER_H 18 19 #include "stub_common.h" 20 #include "i_standard_player_service.h" 21 22 namespace OHOS { 23 namespace Media { 24 class PlayerServiceProxyFuzzer : public IRemoteProxy<IStandardPlayerService> { 25 public: 26 static sptr<PlayerServiceProxyFuzzer> Create(); 27 explicit PlayerServiceProxyFuzzer(const sptr<IRemoteObject> &impl); ~PlayerServiceProxyFuzzer()28 virtual ~PlayerServiceProxyFuzzer() {} 29 void SendRequest(uint32_t code, uint8_t *inputData, size_t size, bool isFuzz); SetListenerObject(const sptr<IRemoteObject> & object)30 int32_t SetListenerObject(const sptr<IRemoteObject> &object) override 31 { 32 return 0; 33 } SetSource(const std::string & url)34 int32_t SetSource(const std::string &url) override 35 { 36 return 0; 37 } SetSource(const sptr<IRemoteObject> & object)38 int32_t SetSource(const sptr<IRemoteObject> &object) override 39 { 40 return 0; 41 } SetSource(int32_t fd,int64_t offset,int64_t size)42 int32_t SetSource(int32_t fd, int64_t offset, int64_t size) override 43 { 44 return 0; 45 } SetMediaSource(const std::shared_ptr<AVMediaSource> & mediaSource,AVPlayStrategy strategy)46 int32_t SetMediaSource(const std::shared_ptr<AVMediaSource> &mediaSource, AVPlayStrategy strategy) override 47 { 48 return 0; 49 } SetSourceLoader(const sptr<IRemoteObject> & object)50 int32_t SetSourceLoader(const sptr<IRemoteObject> &object) override 51 { 52 return 0; 53 } AddSubSource(const std::string & url)54 int32_t AddSubSource(const std::string &url) override 55 { 56 return 0; 57 } AddSubSource(int32_t fd,int64_t offset,int64_t size)58 int32_t AddSubSource(int32_t fd, int64_t offset, int64_t size) override 59 { 60 return 0; 61 } Play()62 int32_t Play() override 63 { 64 return 0; 65 } Prepare()66 int32_t Prepare() override 67 { 68 return 0; 69 } PrepareAsync()70 int32_t PrepareAsync() override 71 { 72 return 0; 73 } Pause()74 int32_t Pause() override 75 { 76 return 0; 77 } Stop()78 int32_t Stop() override 79 { 80 return 0; 81 } Reset()82 int32_t Reset() override 83 { 84 return 0; 85 } Release()86 int32_t Release() override 87 { 88 return 0; 89 } ReleaseSync()90 int32_t ReleaseSync() override 91 { 92 return 0; 93 } SetVolume(float leftVolume,float rightVolume)94 int32_t SetVolume(float leftVolume, float rightVolume) override 95 { 96 return 0; 97 } SetVolumeMode(int32_t mode)98 int32_t SetVolumeMode(int32_t mode) override 99 { 100 return 0; 101 } Seek(int32_t mSeconds,PlayerSeekMode mode)102 int32_t Seek(int32_t mSeconds, PlayerSeekMode mode) override 103 { 104 return 0; 105 } GetCurrentTime(int32_t & currentTime)106 int32_t GetCurrentTime(int32_t ¤tTime) override 107 { 108 return 0; 109 } GetVideoTrackInfo(std::vector<Format> & videoTrack)110 int32_t GetVideoTrackInfo(std::vector<Format> &videoTrack) override 111 { 112 return 0; 113 } GetPlaybackInfo(Format & playbackInfo)114 int32_t GetPlaybackInfo(Format& playbackInfo) override 115 { 116 return 0; 117 } GetAudioTrackInfo(std::vector<Format> & audioTrack)118 int32_t GetAudioTrackInfo(std::vector<Format> &audioTrack) override 119 { 120 return 0; 121 } GetSubtitleTrackInfo(std::vector<Format> & subtitleTrack)122 int32_t GetSubtitleTrackInfo(std::vector<Format> &subtitleTrack) override 123 { 124 return 0; 125 } GetVideoWidth()126 int32_t GetVideoWidth() override 127 { 128 return 0; 129 } GetVideoHeight()130 int32_t GetVideoHeight() override 131 { 132 return 0; 133 } GetDuration(int32_t & duration)134 int32_t GetDuration(int32_t &duration) override 135 { 136 return 0; 137 } SetPlaybackSpeed(PlaybackRateMode mode)138 int32_t SetPlaybackSpeed(PlaybackRateMode mode) override 139 { 140 return 0; 141 } GetPlaybackSpeed(PlaybackRateMode & mode)142 int32_t GetPlaybackSpeed(PlaybackRateMode &mode) override 143 { 144 return 0; 145 } SetVideoSurface(sptr<Surface> surface)146 int32_t SetVideoSurface(sptr<Surface> surface) override 147 { 148 return 0; 149 } IsPlaying()150 bool IsPlaying() override 151 { 152 return 0; 153 } IsLooping()154 bool IsLooping() override 155 { 156 return 0; 157 } SetLooping(bool loop)158 int32_t SetLooping(bool loop) override 159 { 160 return 0; 161 } SetParameter(const Format & param)162 int32_t SetParameter(const Format ¶m) override 163 { 164 return 0; 165 } DestroyStub()166 int32_t DestroyStub() override 167 { 168 return 0; 169 } SetPlayerCallback()170 int32_t SetPlayerCallback() override 171 { 172 return 0; 173 } SelectBitRate(uint32_t bitRate)174 int32_t SelectBitRate(uint32_t bitRate) override 175 { 176 return 0; 177 } SelectTrack(int32_t index,PlayerSwitchMode mode)178 int32_t SelectTrack(int32_t index, PlayerSwitchMode mode) override 179 { 180 return 0; 181 } DeselectTrack(int32_t index)182 int32_t DeselectTrack(int32_t index) override 183 { 184 return 0; 185 } GetCurrentTrack(int32_t trackType,int32_t & index)186 int32_t GetCurrentTrack(int32_t trackType, int32_t &index) override 187 { 188 return 0; 189 } SetDecryptConfig(const sptr<DrmStandard::IMediaKeySessionService> & keySessionProxy,bool svp)190 int32_t SetDecryptConfig(const sptr<DrmStandard::IMediaKeySessionService> &keySessionProxy, 191 bool svp) override 192 { 193 return 0; 194 } SetMediaMuted(MediaType mediaType,bool isMuted)195 int32_t SetMediaMuted(MediaType mediaType, bool isMuted) override 196 { 197 return 0; 198 } 199 static int32_t SetListenerObjectStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 200 static int32_t SetSourceStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 201 static int32_t SetMediaDataSourceStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, 202 bool isFuzz); 203 static int32_t SetFdSourceStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 204 static int32_t AddSubSourceStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 205 static int32_t AddSubFdSourceStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 206 static int32_t PlayStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 207 static int32_t PrepareStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 208 static int32_t PrepareAsyncStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 209 static int32_t PauseStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 210 static int32_t StopStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 211 static int32_t ResetStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 212 static int32_t ReleaseStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 213 static int32_t SetVolumeStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 214 static int32_t SeekStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 215 static int32_t GetCurrentTimeStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 216 static int32_t GetPlaybackPositionStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, 217 bool isFuzz); 218 static int32_t GetDurationStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 219 static int32_t SetPlaybackSpeedStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 220 static int32_t GetPlaybackSpeedStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 221 static int32_t SetVideoSurfaceStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 222 static int32_t IsPlayingStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 223 static int32_t IsLoopingStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 224 static int32_t SetLoopingStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 225 static int32_t SetParameterStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 226 static int32_t DestroyStubStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 227 static int32_t SetPlayerCallbackStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 228 static int32_t GetVideoTrackInfoStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 229 static int32_t GetPlaybackInfoStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 230 static int32_t GetAudioTrackInfoStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 231 static int32_t GetSubtitleTrackInfoStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, 232 bool isFuzz); 233 static int32_t GetVideoWidthStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 234 static int32_t GetVideoHeightStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 235 static int32_t SelectBitRateStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 236 static int32_t SelectTrackStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 237 static int32_t DeselectTrackStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 238 static int32_t GetCurrentTrackStatic(PlayerServiceProxyFuzzer* ptr, uint8_t *inputData, size_t size, bool isFuzz); 239 240 private: 241 int32_t SendRequest(uint32_t code, MessageParcel &inputData, MessageParcel &reply, MessageOption &option); 242 static inline BrokerDelegator<PlayerServiceProxyFuzzer> delegator_; 243 }; 244 } 245 } 246 247 #endif // PLAYER_SERVICE_PROXY_FUZZER_H 248 249