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