31 #ifdef USE_CPP_THUNDER_PLUGIN_ACCESS
33 #include <core/core.h>
44 std::string preferredLanguages;
45 std::string preferredRendition;
77 #ifdef USE_CPP_THUNDER_PLUGIN_ACCESS
79 void onPlayerStatusHandler(
const JsonObject& parameters);
84 void DumpProfiles(
void)
override;
88 void Start()
override;
92 void Stop(
bool clearChannelData)
override;
114 double GetStreamPosition()
override;
127 double GetFirstPTS()
override;
133 double GetStartTimeOfFirstPTS()
override;
138 double GetBufferedDuration()
override;
142 bool IsInitialCachingSupported()
override;
148 int GetBWIndex(
long bitrate)
override;
153 std::vector<long> GetVideoBitrates(
void)
override;
158 std::vector<long> GetAudioBitrates(
void)
override;
163 long GetMaxBitrate(
void)
override;
167 void StopInjection(
void)
override;
171 void StartInjection(
void)
override;
182 void SetVideoRectangle(
int x,
int y,
int w,
int h)
override;
188 void SetAudioTrack(
int index)
override;
194 void SetAudioTrackByLanguage(
const char* lang)
override;
200 std::vector<AudioTrackInfo> &GetAvailableAudioTracks(
bool allTrack=
false)
override;
206 int GetAudioTrack()
override;
216 std::vector<TextTrackInfo> &GetAvailableTextTracks(
bool all=
false)
override;
221 void SetPreferredAudioLanguages()
override;
229 void DisableContentRestrictions(
long grace,
long time,
bool eventChange)
override;
234 void EnableContentRestrictions()
override;
239 std::vector<StreamInfo*> GetAvailableVideoTracks(
void)
override;
244 std::vector<StreamInfo*> GetAvailableThumbnailTracks(
void)
override;
251 bool SetThumbnailTrack(
int)
override;
256 std::vector<ThumbnailData> GetThumbnailRangeData(
double,
double, std::string*,
int*,
int*,
int*,
int*)
override;
264 virtual bool Is4KStream(
int &height,
long &bandwidth)
override {
return false; };
267 #ifdef USE_CPP_THUNDER_PLUGIN_ACCESS
270 std::string prevState;
271 std::string prevBlockedReason;
273 bool mEventSubscribed;
276 bool GetScreenResolution(
int & screenWidth,
int & screenHeight);
279 std::string mPCRating;
285 int mAspectRatioWidth;
286 int mAspectRatioHeight;
287 std::string mVideoCodec;
288 std::string mHdrType;
292 int miPrevmiVideoWidth;
293 int miPrevmiVideoHeight;
297 std::string mAudioCodec;
298 std::string mAudioMixType;
304 bool PopulateMetaData(
const JsonObject& parameters);
305 void SendMediaMetadataEvent();
311 void GetAudioTracks();
316 int GetAudioTrackInternal();
322 void NotifyAudioTrackChange(
const std::vector<AudioTrackInfo> &tracks);
327 void GetTextTracks();