|
RDK Documentation (Open Sourced RDK Components)
|
Go to the documentation of this file.
25 #ifndef __AAMP_EVENTS_H__
26 #define __AAMP_EVENTS_H__
33 #define MAX_LANGUAGE_COUNT 16
34 #define MAX_LANGUAGE_TAG_LENGTH 42 // <lang>-<role>
37 #define MAX_BITRATE_COUNT 10
38 #define MAX_SUPPORTED_SPEED_COUNT 12
179 typedef enum E_MetricsDataType
218 const char *microData;
223 MetricsDataType
type;
224 const char *metricUUID;
233 double durationMiliseconds;
234 double positionMiliseconds;
236 double startMiliseconds;
237 double endMiliseconds;
239 double videoBufferedMiliseconds;
240 const char* timecode;
248 double positionMiliseconds;
266 const char *description;
275 int aspectRatioWidth;
276 int aspectRatioHeight;
284 long durationMiliseconds;
286 char languages[MAX_LANGUAGE_COUNT][MAX_LANGUAGE_TAG_LENGTH];
288 long bitrates[MAX_BITRATE_COUNT];
292 int supportedSpeedCount;
293 float supportedSpeeds[MAX_SUPPORTED_SPEED_COUNT];
294 double programStartTime;
302 unsigned long handle;
312 long long timeMilliseconds;
313 double durationMilliSeconds;
314 const char* szContent;
322 const char* szMetaContent;
330 const char* szEventType;
341 const char *description;
345 int32_t businessStatus;
352 const char *accessStatus;
353 int accessStatus_value;
355 bool isSecClientError;
379 int supportedSpeedCount;
380 float supportedSpeeds[MAX_SUPPORTED_SPEED_COUNT];
407 const char *adBreakId;
438 long long timeMilliseconds;
439 double durationMilliSeconds;
448 const char* response;
449 } httpResponseHeader;
457 const char* streamType;
458 } contentProtectionData;
588 int32_t getClass()
const;
593 int32_t getReason()
const;
598 int32_t getBusinessStatus()
const;
663 ProgressEvent(
double duration,
double position,
double start,
double end,
float speed,
long long pts,
double bufferedDuration, std::string seiTimecode);
770 std::string mMediaFormatName;
902 void SetVideoMetaData(
float frameRate,
VideoScanType videoScanType,
int aspectRatioWidth,
int aspectRatioHeight,
const std::string &videoCodec,
const std::string & hdrType,
const std::string & pcRating,
int ssi);
907 const std::vector<long> &getAudioBitrates()
const {
return mAudioBitrates; }
1014 void setMediaFormat(
const std::string &mediaFormatName) { mMediaFormatName = mediaFormatName; }
1059 BitrateChangeEvent(
int time,
long bitrate,
const std::string &desc,
int width,
int height,
double frameRate,
double position,
bool mCappedProfile,
int mDisplayWidth,
int mDisplayHeight,
VideoScanType videoScanType,
int aspectRatioWidth,
int aspectRatioHeight);
1156 TimedMetadataEvent(
const std::string &name,
const std::string &
id,
double time,
double duration,
const std::string &content);
1166 const std::string &
getName()
const;
1171 const std::string &
getId()
const;
1534 void SetVerboseErrorCode(int32_t statusCode, int32_t reasonCode, int32_t businessStatus );
1636 AdResolvedEvent(
bool resolveStatus,
const std::string &adId, uint64_t startMS, uint64_t durationMs);
1651 const std::string &
getAdId()
const;
1731 AdPlacementEvent(
AAMPEventType evtType,
const std::string &adId, uint32_t position, uint32_t offset=0, uint32_t duration=0,
int errorCode=0);
1741 const std::string &
getAdId()
const;
1786 MetricsDataEvent(MetricsDataType dataType,
const std::string &uuid,
const std::string &data);
1817 std::string mSchemeIdUri;
1819 uint32_t mTimeScale;
1820 uint64_t mPresentationTime;
1821 uint32_t mEventDuration;
1823 uint64_t mTimestampOffset;
1840 ID3MetadataEvent(
const std::vector<uint8_t> &metadata,
const std::string &schIDUri, std::string &id3Value, uint32_t timeScale, uint64_t presentationTime, uint32_t eventDuration, uint32_t
id, uint64_t timestampOffset);
1870 uint32_t
getId()
const;
1890 const std::string&
getValue()
const;
2113 const std::vector<uint8_t> &
getKeyID()
const;
2124 using AAMPEventPtr = std::shared_ptr<AAMPEventObject>;
2125 using MediaErrorEventPtr = std::shared_ptr<MediaErrorEvent>;
2126 using SpeedChangedEventPtr = std::shared_ptr<SpeedChangedEvent>;
2127 using ProgressEventPtr = std::shared_ptr<ProgressEvent>;
2128 using CCHandleEventPtr = std::shared_ptr<CCHandleEvent>;
2129 using MediaMetadataEventPtr = std::shared_ptr<MediaMetadataEvent>;
2130 using BitrateChangeEventPtr = std::shared_ptr<BitrateChangeEvent>;
2131 using TimedMetadataEventPtr = std::shared_ptr<TimedMetadataEvent>;
2132 using BulkTimedMetadataEventPtr = std::shared_ptr<BulkTimedMetadataEvent>;
2133 using StateChangedEventPtr = std::shared_ptr<StateChangedEvent>;
2134 using SupportedSpeedsChangedEventPtr = std::shared_ptr<SupportedSpeedsChangedEvent>;
2135 using SeekedEventPtr = std::shared_ptr<SeekedEvent>;
2136 using TuneProfilingEventPtr = std::shared_ptr<TuneProfilingEvent>;
2137 using BufferingChangedEventPtr = std::shared_ptr<BufferingChangedEvent>;
2138 using DrmMetaDataEventPtr = std::shared_ptr<DrmMetaDataEvent>;
2139 using AnomalyReportEventPtr = std::shared_ptr<AnomalyReportEvent>;
2140 using WebVttCueEventPtr = std::shared_ptr<WebVttCueEvent>;
2141 using AdResolvedEventPtr = std::shared_ptr<AdResolvedEvent>;
2142 using AdReservationEventPtr = std::shared_ptr<AdReservationEvent>;
2143 using AdPlacementEventPtr = std::shared_ptr<AdPlacementEvent>;
2144 using MetricsDataEventPtr = std::shared_ptr<MetricsDataEvent>;
2145 using ID3MetadataEventPtr = std::shared_ptr<ID3MetadataEvent>;
2146 using DrmMessageEventPtr = std::shared_ptr<DrmMessageEvent>;
2147 using BlockedEventPtr = std::shared_ptr<BlockedEvent>;
2148 using ContentGapEventPtr = std::shared_ptr<ContentGapEvent>;
2149 using HTTPResponseHeaderEventPtr = std::shared_ptr<HTTPResponseHeaderEvent>;
2150 using WatermarkSessionUpdateEventPtr = std::shared_ptr<WatermarkSessionUpdateEvent>;
2151 using ContentProtectionDataEventPtr = std::shared_ptr<ContentProtectionDataEvent>;
PrivAAMPState getState() const
Get Current Player State.
virtual ~TuneProfilingEvent()
TuneProfilingEvent Destructor.
@ AAMP_TUNE_INIT_FAILED_MANIFEST_PARSE_ERROR
double getTime() const
Get Time.
virtual ~AdReservationEvent()
AdReservationEvent Destructor.
@ AAMP_TUNE_INIT_FAILED_PLAYLIST_VIDEO_DNLD_ERROR
@ AAMP_EVENT_DRM_METADATA
@ AAMP_EVENT_BULK_TIMED_METADATA
@ AAMP_TUNE_GST_PIPELINE_ERROR
unsigned long getCCHandle() const
Get Closed Caption Handle.
double getDuration() const
Get Duration of Asset.
BitrateChangeEvent()=delete
VideoScanType getScanType() const
Get Video Scan Type.
const std::string & getAdBreakId() const
Get Adbreak Identifier.
int getSupportedSpeedCount() const
Get Supported Speeds Count.
Class for ad placement events.
MetricsDataType getMetricsDataType() const
Get Metrics Data Type.
uint32_t getPosition() const
Get Ad's Position.
virtual ~CCHandleEvent()
CCHandleEvent Destructor.
virtual ~BlockedEvent()
BlockedEvent Destructor.
uint32_t getStatus() const
Get session status.
const std::vector< uint8_t > & getKeyID() const
Get Current Key ID.
@ AAMP_EVENT_AD_PLACEMENT_END
virtual ~AdResolvedEvent()
AdResolvedEvent Destructor.
@ AAMP_EVENT_BUFFERING_CHANGED
@ AAMP_TUNE_MP4_INIT_FRAGMENT_MISSING
@ AAMP_TUNE_LICENCE_TIMEOUT
@ AAMP_TUNE_INIT_FRAGMENT_DOWNLOAD_FAILURE
Class for the Progress event.
@ AAMP_TUNE_DRM_SELF_ABORT
AdReservationEvent()=delete
Class for the Seeked Event.
@ AAMP_EVENT_REPORT_ANOMALY
@ AAMP_TUNE_DRM_CHALLENGE_FAILED
@ AAMP_TUNE_FAILED_TO_GET_KEYID
virtual ~SeekedEvent()
SeekedEvent Destructor.
Class for the supported speeds changed event.
const std::string & getAdId() const
Get Ad Identifier.
@ AAMP_EVENT_AD_RESERVATION_END
Provides data structure to hold a WebVTT cue data.
@ AAMP_EVENT_AD_BREAKS_CHANGED
@ AAMP_TUNE_UNTRACKED_DRM_ERROR
@ AAMP_EVENT_DURATION_CHANGED
VTTCue * getCueData() const
Get VTT Cue Data.
int getTime() const
Get Time.
BlockedEvent(const std::string &reason)
BlockedEvent Constructor.
Class for the Bitrate change event.
uint32_t getOffset() const
Get Ad's Offset.
@ AAMP_TUNE_FAILED_PTS_ERROR
BufferingChangedEvent()=delete
@ AAMP_EVENT_AD_COMPLETED
Class for the DRM Message Event.
AAMPEvent()
AAMPEvent Constructor.
virtual ~ContentProtectionDataEvent()
ContentProtectionDataEvent Destructor.
@ AAMP_TUNE_UNSUPPORTED_STREAM_TYPE
@ AAMP_TUNE_FAILURE_UNKNOWN
Class for the Tune Profilng Event.
AdPlacementEvent()=delete
bool buffering() const
Get Buffering Status.
Class for the BlockedEvent event.
virtual ~BufferingChangedEvent()
BufferingChangedEvent Destructor.
@ AAMP_TUNE_DRM_INIT_FAILED
Class for the Metrics Data event.
@ AAMP_TUNE_INVALID_DRM_KEY
virtual ~DrmMessageEvent()
DrmMessageEvent Destructor.
@ AAMP_EVENT_DEFAULT_MODE
@ AAMP_EVENT_WATERMARK_SESSION_UPDATE
@ AAMP_TUNE_DRM_SESSIONID_EMPTY
int getSeverity() const
Get Severity.
virtual ~SpeedChangedEvent()
SpeedChangedEvent Destructor.
Class for the watermarkSession event.
@ AAMP_TUNE_AUTHORISATION_FAILURE
virtual ~SupportedSpeedsChangedEvent()
SupportedSpeedsChangedEvent Destructor.
const std::string & getAdId() const
Get Ad's Identifier.
VideoScanType
VideoScanType - Progressive/Interlaced.
int getErrorCode() const
Get Error Code.
@ AAMP_EVENT_ENTERING_LIVE
std::vector< float > mSupportedSpeeds
const std::string & getProfilingData() const
Get Tune profiling data.
float getSpeed() const
Get Speed.
Class for the Player State Changed event.
@ AAMP_EVENT_PLAYLIST_INDEXED
@ AAMP_EVENT_STATE_CHANGED
int getAspectRatioWidth() const
Get Aspect Ratio Width.
double getPosition() const
Get position.
@ AAMP_EVENT_SPEEDS_CHANGED
virtual ~ProgressEvent()
ProgressEvent Destructor.
Class for the Anomaly Report Event.
SupportedSpeedsChangedEvent & operator=(const SupportedSpeedsChangedEvent &)=delete
assignment operator disabled
int getDisplayHeight() const
Get output tv display Height.
@ AAMP_TUNE_INIT_FAILED_MANIFEST_DNLD_ERROR
MetricsDataType mMetricsDataType
virtual ~WebVttCueEvent()
WebVttCueEvent Destructor.
@ AAMP_TUNE_INVALID_MANIFEST_FAILURE
@ AAMP_TUNE_FRAGMENT_DOWNLOAD_FAILURE
int getWidth() const
Get Width.
@ AAMP_EVENT_AD_PLACEMENT_PROGRESS
double getFrameRate() const
Get Frame Rate.
@ AAMP_EVENT_SPEED_CHANGED
SupportedSpeedsChangedEvent()
SupportedSpeedsChangedEvent Constructor.
Class for the Closed Caption Handle event.
AAMPEventMode
AAMP event modes.
Class for the Content Protection Data Update Event on Dynamic Key Rotation.
@ AAMP_EVENT_AUDIO_TRACKS_CHANGED
const std::string & getMessage() const
Get Anomaly Message.
bool getResolveStatus() const
Get Resolve Status.
int getAspectRatioHeight() const
Get Aspect Ratio Height.
@ AAMP_EVENT_CONTENT_PROTECTION_DATA_UPDATE
Structure of the AAMP events. Recommend new AAMP integration layers to use AAMPEventObject based list...
@ AAMP_TUNE_DRM_DECRYPT_FAILED
Class for the Web VTT Cue Event.
@ AAMP_EVENT_TEXT_TRACKS_CHANGED
const std::string & getMessage() const
Get DRM Message.
@ AAMP_TUNE_FAILED_TO_GET_ACCESS_TOKEN
const std::vector< float > & getSupportedSpeeds() const
Get Supported Speeds.
const std::string & getReason() const
Get Description.
@ AAMP_TUNE_DRM_DATA_BIND_FAILED
@ AAMP_TUNE_INIT_FAILED_TRACK_SYNC_ERROR
uint32_t getDuration() const
Get Ad's Duration.
AAMPEventType getType() const
Get Event Type.
@ AAMP_EVENT_TUNE_PROFILING
uint64_t getDuration() const
Get Duration.
Class for the Speed changed event.
std::vector< uint8_t > mKeyID
Data structure to hold a VTT cue.
double getBufferedDuration() const
Get Buffered Duration.
AAMPTuneFailure
AAMP playback error codes.
virtual ~MetricsDataEvent()
MetricsDataEvent Destructor.
virtual ~ContentGapEvent()
ContentGapEvent Destructor.
@ AAMP_TUNE_DEVICE_NOT_PROVISIONED
@ AAMP_EVENT_ID3_METADATA
bool getCappedProfileStatus() const
Get Capped Profile status.
const std::string & getMetricUUID() const
Get Metric UUID.
@ AAMP_EVENT_REPORT_METRICS_DATA
virtual ~AnomalyReportEvent()
AnomalyReportEvent Destructor.
@ AAMP_TUNE_LICENCE_REQUEST_FAILED
@ AAMP_TUNE_CORRUPT_DRM_METADATA
@ AAMP_TUNE_CONTENT_NOT_FOUND
Class for the Content gap event.
@ AAMP_TUNE_UNSUPPORTED_AUDIO_TYPE
@ AAMP_EVENT_AD_RESERVATION_START
AAMPEventObject & operator=(const AAMPEventObject &)=delete
assignment operator disabled
const char * getSEITimeCode() const
Get SEI Time Code information.
PrivAAMPState
Mapping all required status codes based on JS player requirement. These requirements may be forced by...
VideoScanType mVideoScanType
@ AAMP_EVENT_CC_HANDLE_RECEIVED
SpeedChangedEvent()=delete
AAMPEvent(AAMPEventType t)
AAMPEvent Constructor.
uint32_t getSessionHandle() const
Get session handle.
virtual ~WatermarkSessionUpdateEvent()
WatermarkSessionUpdateEvent Destructor.
virtual ~BitrateChangeEvent()
BitrateChangeEvent Destructor.
@ AAMP_EVENT_WEBVTT_CUE_DATA
@ AAMP_EVENT_MEDIA_METADATA
uint64_t getPosition() const
Get Ad's Position.
StateChangedEvent()=delete
float getRate() const
Get Rate.
AAMPEventType
Type of the events sending to the JSPP player.
virtual ~StateChangedEvent()
StateChangedEvent Destructor.
@ AAMP_TUNE_DRM_KEY_UPDATE_FAILED
@ AAMP_TUNE_PLAYBACK_STALLED
double getPosition() const
Get Current Position.
@ AAMP_EVENT_AD_PLACEMENT_START
@ AAMP_TUNE_INIT_FAILED_PLAYLIST_AUDIO_DNLD_ERROR
AnomalyReportEvent()=delete
long long getPTS() const
Get Video PTS.
double getEnd() const
Get End Position.
WatermarkSessionUpdateEvent(uint32_t sessionHandle, uint32_t status, const std::string &system)
WatermarkSessionUpdateEvent Constructor.
Base class of all AAMP events. New AAMP event object for ease of use While defining new event objects...
@ AAMP_EVENT_TIMED_METADATA
double getStart() const
Get Start Position.
virtual ~AdPlacementEvent()
AdPlacementEvent Destructor.
@ AAMP_TUNE_MANIFEST_REQ_FAILED
AAMPEvent & operator=(const AAMPEvent &)=delete
assignment operator disabled
Class for ad fulfill status event.
const std::string & getDescription() const
Get Description.
int getHeight() const
Get Height.
MetricsDataEvent()=delete
@ AAMP_TUNE_INIT_FAILED_MANIFEST_CONTENT_ERROR
int getDisplayWidth() const
Get display width.
TuneProfilingEvent()=delete
Class for the Buffering Changed event.
@ AAMP_TUNE_HDCP_COMPLIANCE_ERROR
@ AAMP_EVENT_HTTP_RESPONSE_HEADER
const std::string & getSystem() const
Get System.
void addSupportedSpeed(float speed)
Add a Supported Speed.
long getBitrate() const
Get Bitrate.
@ AAMP_EVENT_BITRATE_CHANGED
uint64_t getStart() const
Get Start Positon.
double getPosition() const
Get Position.
@ AAMP_EVENT_AD_PLACEMENT_ERROR
@ AAMP_TUNE_DRM_UNSUPPORTED
const std::string & getMetricsData() const
Get Metrics Data.
std::string mProfilingData
Class for ad reservation events.
@ AAMP_TUNE_CORRUPT_DRM_DATA
const std::string & getStreamType() const
Get Current Stream Type.
virtual ~AAMPEventObject()
AAMPEvent Destructor.
double getDuration() const
Get Duration.