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