31 #ifdef USE_CPP_THUNDER_PLUGIN_ACCESS
33 #include <core/core.h>
41 typedef struct RMFSettings
43 std::string preferredLanguages;
63 ~StreamAbstractionAAMP_RMF();
68 StreamAbstractionAAMP_RMF(
const StreamAbstractionAAMP_RMF&) =
delete;
73 StreamAbstractionAAMP_RMF& operator=(
const StreamAbstractionAAMP_RMF&) =
delete;
76 void onPlayerStatusHandler(
const JsonObject& parameters);
77 void onPlayerErrorHandler(
const JsonObject& parameters);
81 void DumpProfiles(
void)
override;
85 void Start()
override;
89 void Stop(
bool clearChannelData)
override;
111 double GetStreamPosition()
override;
124 double GetFirstPTS()
override;
130 double GetStartTimeOfFirstPTS()
override;
135 double GetBufferedDuration()
override;
139 bool IsInitialCachingSupported()
override;
145 int GetBWIndex(
long bitrate)
override;
150 std::vector<long> GetVideoBitrates(
void)
override;
155 std::vector<long> GetAudioBitrates(
void)
override;
160 long GetMaxBitrate(
void)
override;
164 void StopInjection(
void)
override;
168 void StartInjection(
void)
override;
172 void SeekPosUpdate(
double) { };
179 void SetVideoRectangle(
int x,
int y,
int w,
int h)
override;
185 void SetAudioTrack(
int index)
override;
191 void SetAudioTrackByLanguage(
const char* lang)
override;
197 std::vector<AudioTrackInfo> &GetAvailableAudioTracks(
bool allTrack=
false)
override;
203 int GetAudioTrack()
override;
213 std::vector<TextTrackInfo> &GetAvailableTextTracks(
bool all=
false)
override;
218 void SetPreferredAudioLanguages()
override;
226 void DisableContentRestrictions(
long grace,
long time,
bool eventChange)
override;
231 void EnableContentRestrictions()
override;
236 std::vector<StreamInfo*> GetAvailableVideoTracks(
void)
override;
241 std::vector<StreamInfo*> GetAvailableThumbnailTracks(
void)
override;
248 bool SetThumbnailTrack(
int)
override;
253 std::vector<ThumbnailData> GetThumbnailRangeData(
double,
double, std::string*,
int*,
int*,
int*,
int*)
override;
261 virtual bool Is4KStream(
int &height,
long &bandwidth)
override {
return false; };
268 bool GetScreenResolution(
int & screenWidth,
int & screenHeight);
273 void GetAudioTracks();
278 int GetAudioTrackInternal();
284 void GetTextTracks();
295 #endif //USE_CPP_THUNDER_PLUGIN_ACCESS