RDK Documentation (Open Sourced RDK Components)
AampEvent.h
Go to the documentation of this file.
1 /*
2  * If not stated otherwise in this file or this component's license file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2018 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 /**
21  * @file AampEvent.h
22  * @brief Events supported by the AAMP player.
23  */
24 
25 #ifndef __AAMP_EVENTS_H__
26 #define __AAMP_EVENTS_H__
27 
28 #include "vttCue.h" //Required for VTTCue
29 #include <memory>
30 #include <vector>
31 
32 // Macros required for backward compatible AAMPEventListener implementation
33 #define MAX_LANGUAGE_COUNT 16
34 #define MAX_LANGUAGE_TAG_LENGTH 42 // <lang>-<role>
35 //(3+1+1) /* iso639-2 + optional 2..9 digit to disambiguate multiple same-language tracms, + nul terminator */
36 
37 #define MAX_BITRATE_COUNT 10
38 #define MAX_SUPPORTED_SPEED_COUNT 12 /* [-64, -32, -16, -4, -1, 0, 0.5, 1, 4, 16, 32, 64] */
39 
40 /**
41  * @enum AAMPEventType
42  * @brief Type of the events sending to the JSPP player.
43  */
44 typedef enum
45 {
46  AAMP_EVENT_ALL_EVENTS = 0, /**< 0, All Events */
47  AAMP_EVENT_TUNED = 1, /**< 1, Tune success*/
48  AAMP_EVENT_TUNE_FAILED, /**< 2, Tune failure*/
49  AAMP_EVENT_SPEED_CHANGED, /**< 3, Speed changed internally*/
50  AAMP_EVENT_EOS, /**< 4, End of stream*/
51  AAMP_EVENT_PLAYLIST_INDEXED, /**< 5, Playlist downloaded and indexed*/
52  AAMP_EVENT_PROGRESS, /**< 6, Progress event with playback stats. Report interval configurable */
53  AAMP_EVENT_CC_HANDLE_RECEIVED, /**< 7, Sent when video decoder handle retrieved */
54  AAMP_EVENT_JS_EVENT, /**< 8, Generic event generated by JavaScript binding */
55  AAMP_EVENT_MEDIA_METADATA, /**< 9, Meta-data of asset currently playing*/
56  AAMP_EVENT_ENTERING_LIVE, /**< 10, Event when live point reached*/
57  AAMP_EVENT_BITRATE_CHANGED, /**< 11, Event when bitrate changes */
58  AAMP_EVENT_TIMED_METADATA, /**< 12, Meta-data of a subscribed tag parsed from manifest*/
59  AAMP_EVENT_BULK_TIMED_METADATA, /**< 13, Bulk Meta-data of a subscribed tag parsed from manifest*/
60  AAMP_EVENT_STATE_CHANGED, /**< 14, Event when player state changes */
61  AAMP_EVENT_SPEEDS_CHANGED, /**< 15, Event when supported playback speeds changes */
62  AAMP_EVENT_SEEKED, /**< 16, Event when seek completes, including new position*/
63  AAMP_EVENT_TUNE_PROFILING, /**< 17, Event when micro event data sends*/
64  AAMP_EVENT_BUFFERING_CHANGED, /**< 18, Event when buffering starts/ends btw a playback*/
65  AAMP_EVENT_DURATION_CHANGED, /**< 19, Event when duration changed */
66  AAMP_EVENT_AUDIO_TRACKS_CHANGED, /**< 20, Event when available audio tracks changes */
67  AAMP_EVENT_TEXT_TRACKS_CHANGED, /**< 21, Event when available test tracks changes */
68  AAMP_EVENT_AD_BREAKS_CHANGED, /**< 22, Event when content/ad breaks changes */
69  AAMP_EVENT_AD_STARTED, /**< 23, Ad playback started */
70  AAMP_EVENT_AD_COMPLETED, /**< 24, Ad playback completed */
71  AAMP_EVENT_DRM_METADATA, /**< 25, Event with DRM metadata info*/
72  AAMP_EVENT_REPORT_ANOMALY, /**< 26, Playback Anomaly reporting */
73  AAMP_EVENT_WEBVTT_CUE_DATA, /**< 27, WebVTT Cue data */
74  AAMP_EVENT_AD_RESOLVED, /**< 28, Ad fulfill status */
75  AAMP_EVENT_AD_RESERVATION_START, /**< 29, Adbreak playback starts */
76  AAMP_EVENT_AD_RESERVATION_END, /**< 30, Adbreak playback ends */
77  AAMP_EVENT_AD_PLACEMENT_START, /**< 31, Ad playback starts */
78  AAMP_EVENT_AD_PLACEMENT_END, /**< 32, Ad playback ends */
79  AAMP_EVENT_AD_PLACEMENT_ERROR, /**< 33, Ad playback error */
80  AAMP_EVENT_AD_PLACEMENT_PROGRESS, /**< 34, Ad playback progress */
81  AAMP_EVENT_REPORT_METRICS_DATA, /**< 35, AAMP VideoEnd info reporting */
82  AAMP_EVENT_ID3_METADATA, /**< 36, ID3 metadata from audio stream */
83  AAMP_EVENT_DRM_MESSAGE, /**< 37, Message from the DRM system */
84  AAMP_EVENT_BLOCKED, /**< 38, ATSC AV BLOCKED Event*/
85  AAMP_EVENT_CONTENT_GAP, /**< 39, Content gap event for progress gap reporting*/
86  AAMP_EVENT_HTTP_RESPONSE_HEADER, /**< 40, Http response header data */
87  AAMP_EVENT_WATERMARK_SESSION_UPDATE, /**< 41, Update on Watermark Session*/
88  AAMP_EVENT_CONTENT_PROTECTION_DATA_UPDATE, /**< 42, Update on Content Protection Data on Dynamic Key Rotation*/
89  AAMP_MAX_NUM_EVENTS
91 
92 
93 /**
94  * @enum AAMPEventMode
95  * @brief AAMP event modes
96  */
97 typedef enum
98 {
99  AAMP_EVENT_DEFAULT_MODE = 0, /**< Aamp Default event mode */
100  AAMP_EVENT_SYNC_MODE, /**< Events handled in sync mode */
101  AAMP_EVENT_ASYNC_MODE /**< Events handled in Async mode */
103 
104 /**
105  * @enum AAMPTuneFailure
106  * @brief AAMP playback error codes
107  */
108 typedef enum
109 {
110  AAMP_TUNE_INIT_FAILED, /**< Tune failure due to initialization error*/
111  AAMP_TUNE_INIT_FAILED_MANIFEST_DNLD_ERROR, /**< Tune failure due to manifest download error*/
112  AAMP_TUNE_INIT_FAILED_MANIFEST_CONTENT_ERROR, /**< Tune failure due to manifest content error*/
113  AAMP_TUNE_INIT_FAILED_MANIFEST_PARSE_ERROR, /**< Tune failure due to manifest parse error*/
114  AAMP_TUNE_INIT_FAILED_PLAYLIST_VIDEO_DNLD_ERROR, /**< Tune failure due to video playlist download error*/
115  AAMP_TUNE_INIT_FAILED_PLAYLIST_AUDIO_DNLD_ERROR, /**< Tune failure due to audio playlist download error*/
116  AAMP_TUNE_INIT_FAILED_TRACK_SYNC_ERROR, /**< Tune failure due to A/V track sync error*/
117  AAMP_TUNE_MANIFEST_REQ_FAILED, /**< Tune failure caused by manifest fetch failure*/
118  AAMP_TUNE_AUTHORISATION_FAILURE, /**< Not authorised to view the content*/
119  AAMP_TUNE_FRAGMENT_DOWNLOAD_FAILURE, /**< When fragment download fails for 5 consecutive fragments*/
120  AAMP_TUNE_INIT_FRAGMENT_DOWNLOAD_FAILURE, /**< Unable to download init fragment*/
122  AAMP_TUNE_DRM_INIT_FAILED, /**< DRM initialization failure */
123  AAMP_TUNE_DRM_DATA_BIND_FAILED, /**< InitData binding with DRM failed */
124  AAMP_TUNE_DRM_SESSIONID_EMPTY, /**< DRM session ID empty */
125  AAMP_TUNE_DRM_CHALLENGE_FAILED, /**< DRM key request challenge generation failed */
126  AAMP_TUNE_LICENCE_TIMEOUT, /**< DRM license request timeout */
127  AAMP_TUNE_LICENCE_REQUEST_FAILED, /**< DRM license got invalid response */
128  AAMP_TUNE_INVALID_DRM_KEY, /**< DRM reporting invalid license key */
129  AAMP_TUNE_UNSUPPORTED_STREAM_TYPE, /**< Unsupported stream type */
130  AAMP_TUNE_UNSUPPORTED_AUDIO_TYPE, /**< Unsupported audio type in manifest */
131  AAMP_TUNE_FAILED_TO_GET_KEYID, /**< Failed to parse key id from init data*/
132  AAMP_TUNE_FAILED_TO_GET_ACCESS_TOKEN, /**< Failed to get session token from AuthService*/
133  AAMP_TUNE_CORRUPT_DRM_DATA, /**< DRM failure due to corrupt drm data, self heal might clear further errors*/
134  AAMP_TUNE_CORRUPT_DRM_METADATA, /**< DRM failure due to corrupt drm metadata in the stream*/
135  AAMP_TUNE_DRM_DECRYPT_FAILED, /**< DRM Decryption Failed for Fragments */
136  AAMP_TUNE_DRM_UNSUPPORTED, /**< DRM Format Unsupported */
137  AAMP_TUNE_DRM_SELF_ABORT, /**< Download activity is aborted by player */
138  AAMP_TUNE_GST_PIPELINE_ERROR, /**< Playback failure due to error from GStreamer pipeline or associated plugins */
139  AAMP_TUNE_PLAYBACK_STALLED, /**< Playback was stalled due to valid fragments not available in playlist */
140  AAMP_TUNE_CONTENT_NOT_FOUND, /**< The resource was not found at the URL provided (HTTP 404) */
141  AAMP_TUNE_DRM_KEY_UPDATE_FAILED, /**< Failed to process DRM key, see the error code returned from Update() for more info */
142  AAMP_TUNE_DEVICE_NOT_PROVISIONED, /**< STB not provisioned/corrupted; need to re-provision. */
143  AAMP_TUNE_HDCP_COMPLIANCE_ERROR, /**< HDCP Compliance Check failure.Not compatible hdcp version for playback */
144  AAMP_TUNE_INVALID_MANIFEST_FAILURE, /**< Manifest is invalid */
145  AAMP_TUNE_FAILED_PTS_ERROR, /**< Playback failed due to PTS error */
146  AAMP_TUNE_MP4_INIT_FRAGMENT_MISSING, /**< Init fragments missing in playlist */
147  AAMP_TUNE_FAILURE_UNKNOWN /**< Unknown failure */
149 
150 /**
151  * @enum PrivAAMPState
152  * @brief Mapping all required status codes based on JS player requirement. These requirements may be
153  * forced by psdk player.AAMP may not use all the statuses mentioned below:
154  * Mainly required states - idle, initializing, initialized, preparing, prepared, playing, paused, seek, complete and error
155  */
156 typedef enum
157 {
158  eSTATE_IDLE, /**< 0 - Player is idle */
159  eSTATE_INITIALIZING, /**< 1 - Player is initializing a particular content */
160  eSTATE_INITIALIZED, /**< 2 - Player has initialized for a content successfully */
161  eSTATE_PREPARING, /**< 3 - Player is loading all associated resources */
162  eSTATE_PREPARED, /**< 4 - Player has loaded all associated resources successfully */
163  eSTATE_BUFFERING, /**< 5 - Player is in buffering state */
164  eSTATE_PAUSED, /**< 6 - Playback is paused */
165  eSTATE_SEEKING, /**< 7 - Seek is in progress */
166  eSTATE_PLAYING, /**< 8 - Playback is in progress */
167  eSTATE_STOPPING, /**< 9 - Player is stopping the playback */
168  eSTATE_STOPPED, /**< 10 - Player has stopped playback successfully */
169  eSTATE_COMPLETE, /**< 11 - Playback completed */
170  eSTATE_ERROR, /**< 12 - Error encountered and playback stopped */
171  eSTATE_RELEASED, /**< 13 - Player has released all resources for playback */
172  eSTATE_BLOCKED /**< 14 - Player has blocked and cant play content*/
173 } PrivAAMPState;
174 
175 /**
176  * @enum MetricsDataType
177  * @brief AAMP metric data types
178  */
179 typedef enum E_MetricsDataType
180 {
181  AAMP_DATA_NONE,
182  AAMP_DATA_VIDEO_END
183 } MetricsDataType;
184 
185 /**
186  * @enum VideoScanType Video Scan Type
187  *
188  * @brief VideoScanType - Progressive/Interlaced
189  * */
190 typedef enum
191 {
192  eVIDEOSCAN_PROGRESSIVE, /**< Progressive Video */
193  eVIDEOSCAN_INTERLACED, /**< Interlaced Video */
194  eVIDEOSCAN_UNKNOWN /**< Unknown Video */
196 
197 /**
198  * @struct AAMPEvent
199  * @brief Structure of the AAMP events.
200  * Recommend new AAMP integration layers to use AAMPEventObject based listener
201  * For new event definition, should use AAMPEventObject class
202  * TODO: Deperecate in future, kept for backward compatibility only
203  */
204 struct AAMPEvent
205 {
206  AAMPEventType type; /**< Event type */
207 
208  union
209  {
210  struct
211  {
212  int severity; /**< informative number indicates severity of msg, e.g Warning, Error, Trace etc */
213  const char *msg;
214  } anomalyReport;
215 
216  struct
217  {
218  const char *microData; /**< micro event data for profiling */
219  } tuneProfile;
220 
221  struct
222  {
223  MetricsDataType type; /**< type of data , e.g AAMP_DATA_VIDEO_END for VideoEndEvent data */
224  const char *metricUUID; /**< unique session id passed during tune */
225  const char *data; /**< data for event */
226  } metricsData;
227 
228  /**
229  * @brief Structure of the progress event data
230  */
231  struct
232  {
233  double durationMiliseconds; /**< current size of time shift buffer */
234  double positionMiliseconds; /**< current play/pause position relative to tune time - starts at zero) */
235  float playbackSpeed; /**< current trick speed (1.0 for normal play rate) */
236  double startMiliseconds; /**< time shift buffer start position (relative to tune time - starts at zero) */
237  double endMiliseconds; /**< time shift buffer end position (relative to tune time - starts at zero) */
238  long long videoPTS; /**< Video Presentation 90 Khz time-stamp */
239  double videoBufferedMiliseconds; /**< current duration of buffered video ready to playback */
240  const char* timecode; /**< SEI Timecode information */
241  } progress;
242 
243  /**
244  * @brief Structure of the seeked event data
245  */
246  struct
247  {
248  double positionMiliseconds; /**< new seeked position in milliseconds */
249  } seeked;
250 
251  /**
252  * @brief Structure of the speed change event
253  */
254  struct
255  {
256  float rate; /**< Playback rate */
257  } speedChanged;
258 
259  /**
260  * @brief Structure of the bitrate change event
261  */
262  struct
263  {
264  int time; /**< Playback time */
265  long bitrate; /**< Playback bitrate */
266  const char *description; /**< Description */
267  int width; /**< Video width */
268  int height; /**< Video height */
269  double framerate; /**< FrameRate */
270  double position; /**< bitrate changed position*/
271  bool cappedProfile; /**< profile capped status*/
272  int displayWidth; /**< output display width*/
273  int displayHeight; /**< output display height*/
274  VideoScanType videoScanType;/**< video scan type*/
275  int aspectRatioWidth; /**< aspect ratio width*/
276  int aspectRatioHeight; /**< aspect ratio height*/
277  } bitrateChanged;
278 
279  /**
280  * @brief Structure of the metadata event
281  */
282  struct
283  {
284  long durationMiliseconds; /**< Asset duration */
285  int languageCount; /**< Available language count */
286  char languages[MAX_LANGUAGE_COUNT][MAX_LANGUAGE_TAG_LENGTH]; /**< Available languages */
287  int bitrateCount; /**< Available bitrate count */
288  long bitrates[MAX_BITRATE_COUNT]; /**< Available bitrates */
289  int width; /**< Maximum video width */
290  int height; /**< Maximum video height */
291  bool hasDrm; /**< Drm enabled */
292  int supportedSpeedCount; /**< Supported playback speed count */
293  float supportedSpeeds[MAX_SUPPORTED_SPEED_COUNT]; /**< Supported playback speeds */
294  double programStartTime; /**< Program/Availability start time */
295  } metadata;
296 
297  /**
298  * @brief Structure of the closed caption handle event
299  */
300  struct
301  {
302  unsigned long handle; /**< Closed caption handle */
303  } ccHandle;
304 
305  /**
306  * @brief Structure of the timed metadata event
307  */
308  struct
309  {
310  const char* szName; /**< Metadata name */
311  const char* id; /**< Id of the timedMetadata */
312  long long timeMilliseconds; /**< Playback position - relative to tune time - starts at zero */
313  double durationMilliSeconds;/**< Duration of the timed event. */
314  const char* szContent; /**< Metadata content */
315  } timedMetadata;
316 
317  /**
318  * @brief Structure of the bulk timed metadata event
319  */
320  struct
321  {
322  const char* szMetaContent; /**< Metadata content */
323  } bulktimedMetadata;
324 
325  /**
326  * @brief Structure of the Java Script event
327  */
328  struct
329  {
330  const char* szEventType; /**< Event Type */
331  void* jsObject; /**< Pointer to the Java Scipt Object */
332  } jsEvent;
333 
334  /**
335  * @brief Structure of the media error event
336  */
337  struct
338  {
339  AAMPTuneFailure failure; /**< Error Type */
340  int code; /**< Error code */
341  const char *description; /**< Error description */
342  bool shouldRetry; /**< If recovery on retry is possible */
343  int32_t classCode; /**< class Code */
344  int32_t reasonCode; /**<reason Code */
345  int32_t businessStatus; /**< business Status */
346 
347  } mediaError;
348 
349  struct
350  {
351  AAMPTuneFailure failure; /**< Error Type */
352  const char *accessStatus;
353  int accessStatus_value;
354  long responseCode;
355  bool isSecClientError;
356  } dash_drmmetadata;
357 
358  /**
359  * @brief Structure of the player state changed event
360  */
361  struct
362  {
363  PrivAAMPState state; /**< Player state */
364  } stateChanged;
365 
366  /**
367  * @brief Structure of the buffering changed event
368  */
369  struct
370  {
371  bool buffering; /**< true if buffering started, false otherwise */
372  } bufferingChanged;
373 
374  /**
375  * @brief Structure of the supported speeds changed event
376  */
377  struct
378  {
379  int supportedSpeedCount; /**< Supported playback speed count */
380  float supportedSpeeds[MAX_SUPPORTED_SPEED_COUNT]; /**< Supported playback speeds */
381  } speedsChanged;
382 
383  /**
384  * @brief Structure of the WebVTT cue data
385  */
386  struct
387  {
388  VTTCue* cueData;
389  } cue;
390 
391  /**
392  * @brief Structure for ad fulfill status event
393  */
394  struct
395  {
396  bool resolveStatus;
397  const char *adId;
398  uint64_t startMS;
399  uint64_t durationMs;
400  } adResolved;
401 
402  /**
403  * @brief Structure for ad reservation events
404  */
405  struct
406  {
407  const char *adBreakId; /**< Reservation Id */
408  uint64_t position;
409  } adReservation;
410 
411  /**
412  * @brief Structure for ad placement events
413  */
414  struct
415  {
416  const char *adId; /**< Placement Id */
417  uint32_t position; /**<Ad Position relative to Reservation Start */
418  uint32_t offset; /**<Ad start offset */
419  uint32_t duration;
420  int errorCode;
421  } adPlacement;
422 
423  /** @brief Structure of the id3 metadata event
424  */
425  struct
426  {
427  uint8_t *data; /**< Data pointer to ID3 metadata blob */
428  int32_t length; /**< Length of the ID3 metadata blob */
429  } id3Metadata;
430 
431  struct
432  {
433  const char *data;
434  } drmMessage;
435 
436  struct
437  {
438  long long timeMilliseconds; /**< Playback position - relative to tune time - starts at zero */
439  double durationMilliSeconds; /**< Duration of the gap */
440  } contentGap;
441 
442  /**
443  * @brief Structure of the http response header event
444  */
445  struct
446  {
447  const char* header; /**< HTTP header name */
448  const char* response; /**< HTTP response value */
449  } httpResponseHeader;
450 
451  /**
452  * @brief Structure of the content protection data update event
453  */
454  struct
455  {
456  uint8_t *keyID; /**< Session KeyID */
457  const char* streamType; /**< Session StreamType */
458  } contentProtectionData;
459 
460  } data;
461 
462  /**
463  * @brief AAMPEvent Constructor
464  */
465  AAMPEvent() : type(AAMP_MAX_NUM_EVENTS), data()
466  {
467 
468  }
469 
470  /**
471  * @brief AAMPEvent Constructor
472  *
473  * @param[in] t Event type
474  */
475  AAMPEvent(AAMPEventType t) : type(t), data()
476  {
477 
478  }
479  /**
480  * @brief Copy constructor disabled
481  *
482  */
483  AAMPEvent(const AAMPEvent&) = delete;
484  /**
485  * @brief assignment operator disabled
486  *
487  */
488  AAMPEvent& operator=(const AAMPEvent&) = delete;
489 };
490 
491 /**
492  * @brief Base class of all AAMP events.
493  * New AAMP event object for ease of use
494  * While defining new event objects inherit from this base class
495  */
497 {
498  AAMPEventType mType; /**< Event type */
499 
500 public:
501 
502  AAMPEventObject() = delete;
503  /**
504  * @brief Copy constructor disabled
505  *
506  */
507  AAMPEventObject(const AAMPEventObject&) = delete;
508  /**
509  * @brief assignment operator disabled
510  *
511  */
512  AAMPEventObject& operator=(const AAMPEventObject&) = delete;
513 
514  /**
515  * @fn AAMPEventObject
516  */
518 
519  /**
520  * @brief AAMPEvent Destructor
521  */
522  virtual ~AAMPEventObject() { }
523 
524  /**
525  * @fn getType
526  */
527  AAMPEventType getType() const;
528 };
529 
530 /**
531  * @class MediaErrorEvent
532  * @brief Class for the Media Error event
533  */
535 {
536  AAMPTuneFailure mFailure; /**< Error Type */
537  int mCode; /**< Error code */
538  std::string mDescription; /**< Error description */
539  bool mShouldRetry; /**< If recovery on retry is possible */
540 
541  int32_t mSecManagerClass; /**< Secmanager error class */
542  int32_t mSecManagerReasonCode; /**< Secmanager reason code */
543  int32_t mBusinessStatus; /**< secclient business reason code */
544 
545 public:
546  MediaErrorEvent() = delete;
547  MediaErrorEvent(const MediaErrorEvent&) = delete;
548  MediaErrorEvent& operator=(const MediaErrorEvent&) = delete;
549 
550  /**
551  * @fn MediaErrorEvent
552  *
553  * @param[in] failure - Failure type
554  * @param[in] code - Error code
555  * @param[in] desc - Error description
556  * @param[in] shouldRetry - Retry or not
557  */
558  MediaErrorEvent(AAMPTuneFailure failure, int code, const std::string &desc, bool shouldRetry, int32_t classCode, int32_t reason, int32_t businessStatus);
559 
560  /**
561  * @brief MediaErrorEvent Destructor
562  */
563  virtual ~MediaErrorEvent() { }
564 
565  /**
566  * @fn getFailure
567  */
568  AAMPTuneFailure getFailure() const;
569 
570  /**
571  * @fn getCode
572  */
573  int getCode() const;
574 
575  /**
576  * @fn getDescription
577  */
578  const std::string &getDescription() const;
579 
580  /**
581  * @fn shouldRetry
582  */
583  bool shouldRetry() const;
584 
585  /**
586  * @fn getClass
587  */
588  int32_t getClass() const;
589 
590  /**
591  * @fn getReason
592  */
593  int32_t getReason() const;
594 
595  /**
596  * @fn getBusinessStatus
597  */
598  int32_t getBusinessStatus() const;
599 };
600 
601 /**
602  * @class SpeedChangedEvent
603  * @brief Class for the Speed changed event
604  */
606 {
607  float mRate; /**< Playback rate */
608 
609 public:
610  SpeedChangedEvent() = delete;
611  SpeedChangedEvent(const SpeedChangedEvent&) = delete;
612  SpeedChangedEvent& operator=(const SpeedChangedEvent&) = delete;
613 
614  /**
615  * @fn SpeedChangedEvent
616  *
617  * @param[in] rate - New speed
618  */
619  SpeedChangedEvent(float rate);
620 
621  /**
622  * @brief SpeedChangedEvent Destructor
623  */
624  virtual ~SpeedChangedEvent() { }
625 
626  /**
627  * @fn getRate
628  */
629  float getRate() const;
630 };
631 
632 /**
633  * @class ProgressEvent
634  * @brief Class for the Progress event
635  */
637 {
638  double mDuration; /**< current size of time shift buffer in MS*/
639  double mPosition; /**< current play/pause position relative to tune time - starts at zero) in MS */
640  double mStart; /**< time shift buffer start position (relative to tune time - starts at zero) in MS */
641  double mEnd; /**< time shift buffer end position (relative to tune time - starts at zero) in MS */
642  float mSpeed; /**< current trick speed (1.0 for normal play rate) */
643  long long mPTS; /**< Video Presentation 90 Khz time-stamp */
644  double mBufferedDuration; /**< current duration of buffered video ready to playback */
645  std::string mSEITimecode; /**< SEI Timecode information */
646 
647 public:
648  ProgressEvent() = delete;
649  ProgressEvent(const ProgressEvent&) = delete;
650  ProgressEvent& operator=(const ProgressEvent&) = delete;
651 
652  /**
653  * @fn ProgressEvent
654  *
655  * @param[in] duration - Duration of Asset
656  * @param[in] position - Current Position
657  * @param[in] start - Start Position
658  * @param[in] end - End Position
659  * @param[in] speed - Current Speed
660  * @param[in] pts - Video PTS
661  * @param[in] bufferedDuration - buffered duration
662  */
663  ProgressEvent(double duration, double position, double start, double end, float speed, long long pts, double bufferedDuration, std::string seiTimecode);
664 
665  /**
666  * @brief ProgressEvent Destructor
667  */
668  virtual ~ProgressEvent() { }
669 
670  /**
671  * @fn getDuration
672  */
673  double getDuration() const;
674 
675  /**
676  * @fn getPosition
677  *
678  */
679  double getPosition() const;
680 
681  /**
682  * @fn getStart
683  *
684  */
685  double getStart() const;
686 
687  /**
688  * @fn getEnd
689  */
690  double getEnd() const;
691 
692  /**
693  * @fn getSpeed
694  */
695  float getSpeed() const;
696 
697  /**
698  * @fn getPTS
699  *
700  */
701  long long getPTS() const;
702 
703  /**
704  * @fn getBufferedDuration
705  */
706  double getBufferedDuration() const;
707 
708  /**
709  * @fn getSEITimeCode
710  */
711  const char* getSEITimeCode() const;
712 };
713 
714 /**
715  * @class CCHandleEvent
716  * @brief Class for the Closed Caption Handle event
717  */
719 {
720  unsigned long mHandle; /**< Closed caption handle */
721 
722 public:
723  CCHandleEvent() = delete;
724  CCHandleEvent(const CCHandleEvent&) = delete;
725  CCHandleEvent& operator=(const CCHandleEvent&) = delete;
726 
727  /**
728  * @fn CCHandleEvent
729  */
730  CCHandleEvent(unsigned long handle);
731 
732  /**
733  * @brief CCHandleEvent Destructor
734  */
735  virtual ~CCHandleEvent() { }
736 
737  /**
738  * @fn getCCHandle
739  */
740  unsigned long getCCHandle() const;
741 };
742 
743 /**
744  * @class MediaMetadataEvent
745  * @brief Class for the Media Metadata event
746  */
748 {
749  long mDuration; /**< Asset duration in MS */
750  std::vector<std::string> mLanguages;/**< Available languages */
751  std::vector<long> mBitrates; /**< Available bitrates */
752  int mWidth; /**< Maximum video width */
753  int mHeight; /**< Maximum video height */
754  bool mHasDrm; /**< Drm enabled */
755  std::vector<float> mSupportedSpeeds; /**< Supported playback speeds */
756  bool mIsLive; /**< Is Live */
757  std::string mDrmType; /**< DRM type */
758  double mProgramStartTime; /**< Program/Availability start time */
759 
760  /* Additional data from ATSC playback */
761  std::string mPCRating; /**< Parental control rating json string object */
762  int mSsi; /**< Signal strength indicator 0-100 where 100 is a perfect signal. -1 indicates data not available */
763  /* Video info */
764  float mFrameRate; /**< FrameRate */
765  VideoScanType mVideoScanType; /**< Video Scan Type progressive/interlaced */
766  int mAspectRatioWidth; /**< Aspect Ratio Width*/
767  int mAspectRatioHeight; /**< Aspect Ratio Height*/
768  std::string mVideoCodec; /**< VideoCodec - E.g MPEG2.*/
769  std::string mHdrType; /**< type of HDR being played, in example "DOLBY_VISION" */
770  std::string mMediaFormatName; /*< Media format type */
771 
772  /* Audio Info */
773  std::vector<long> mAudioBitrates; /**< Available Audio bitrates */
774  std::string mAudioCodec; /**< AudioCodec E.g AC3.*/
775  std::string mAudioMixType; /**< AudioMixType(- E.g STEREO. */
776  bool isAtmos; /**< Is Atmos : 1 - True if audio playing is Dolby Atmos, 0 false , -1 indicates data not available */
777 
778 public:
779  MediaMetadataEvent() = delete;
780  MediaMetadataEvent(const MediaMetadataEvent&) = delete;
781  MediaMetadataEvent& operator=(const MediaMetadataEvent&) = delete;
782 
783  /**
784  * @fn MediaMetadataEvent
785  *
786  * @param[in] duration - Duration of Media Metadata
787  * @param[in] width - Video width
788  * @param[in] height - Video height
789  * @param[in] hasDrm - Drm enablement status
790  * @param[in] isLive - Is Live
791  * @param[in] DrmType - DRM Type
792  * @param[in] programStartTime - Program/Availability start time
793  */
794  MediaMetadataEvent(long duration, int width, int height, bool hasDrm, bool isLive, const std::string &DrmType, double programStartTime);
795 
796  /**
797  * @brief MediaMetadataEvent Destructor
798  */
799  virtual ~MediaMetadataEvent() { }
800 
801  /**
802  * @fn getDuration
803  */
804  long getDuration() const;
805 
806  /**
807  * @fn getProgramStartTime
808  */
809  double getProgramStartTime() const;
810 
811  /**
812  * @fn addLanguage
813  *
814  * @param[in] lang - Supported language
815  * @return void
816  */
817  void addLanguage(const std::string &lang);
818 
819  /**
820  * @fn getLanguages
821  */
822  const std::vector<std::string> &getLanguages() const;
823 
824  /**
825  * @fn getLanguagesCount
826  */
827  int getLanguagesCount() const;
828 
829  /**
830  * @fn addBitrate
831  *
832  * @param[in] bitrate - Supported bitrate
833  * @return void
834  */
835  void addBitrate(long bitrate);
836 
837  /**
838  * @fn getBitrates
839  */
840  const std::vector<long> &getBitrates() const;
841 
842  /**
843  * @fn getBitratesCount
844  */
845  int getBitratesCount() const;
846 
847  /**
848  * @fn getWidth
849  */
850  int getWidth() const;
851 
852  /**
853  * @fn getHeight
854  */
855  int getHeight() const;
856 
857  /**
858  * @fn hasDrmt
859  */
860  bool hasDrm() const;
861 
862  /**
863  * @fn isLive
864  */
865  bool isLive() const;
866 
867  /**
868  * @fn getDrmType
869  */
870  const std::string &getDrmType() const;
871 
872  /**
873  * @fn addSupportedSpeed
874  *
875  * @param[in] speed - Supported speed
876  * @return void
877  */
878  void addSupportedSpeed(float speed);
879 
880  /**
881  * @fn getSupportedSpeeds
882  */
883  const std::vector<float> &getSupportedSpeeds() const;
884 
885  /**
886  * @fn getSupportedSpeedCount
887  */
888  int getSupportedSpeedCount() const;
889 
890  /**
891  * @fn SetVideoMetaData
892  *
893  * @param[in] mFrameRate - video framerate
894  * @param[in] videoScanType - Scan Type progressive/interlaced
895  * @param[in] aspectRatioWidth - Aspect Ratio Width
896  * @param[in] aspectRatioHeight - Aspect Ratio Height
897  * @param[in] strVideoCodec - VideoCodec(v1) - E.g MPEG2.
898  * @param[in] strHdrType - type of HDR being played, in example "DOLBY_VISION"
899  * @param[in] strPCRating - Parental control rating json string object
900  * @param[int] ssi - Signal strength indicator 0-100 where 100 is a perfect signal. -1 indicates data not available
901  */
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);
903 
904  /**
905  * @fn getAudioBitrates
906  */
907  const std::vector<long> &getAudioBitrates() const { return mAudioBitrates; }
908 
909  /**
910  * @brief Sets additional metadata for Audio
911  *
912  * @param[in] strAudioCodec - AudioCodec - E.g AC3.
913  * @param[in] strMixType - AudioMixType - E.g STEREO.
914  * @param[in] iAtmos - 1 - True if audio playing is Dolby Atmos, 0 false , -1 indicates data not available
915  */
916  void SetAudioMetaData(const std::string &audioCodec,const std::string & mixType,bool isAtmos );
917 
918  /**
919  * @brief Add a supported bitrate
920  *
921  * @param[in] bitrate - Supported bitrate
922  * @return void
923  */
924  void addAudioBitrate(long bitrate) { return mAudioBitrates.push_back(bitrate); }
925 
926  /**
927  * @brief get Parental control ratings
928  *
929  * @return ratings string
930  */
931  const std::string & getRatings() const { return mPCRating;}
932 
933  /**
934  * @brief get Signal strength indicator
935  *
936  * @return ratings string
937  */
938  int getSsi() const { return mSsi;}
939 
940  /**
941  * @brief get framerate
942  *
943  * @return ratings string
944  */
945  float getFrameRate() const {return mFrameRate;}
946 
947  /**
948  * @brief Get VideoScanType
949  *
950  * @return VideoScanType
951  */
953 
954  /**
955  * @brief Get AspectRatioWidth
956  *
957  * @return AspectRatioWidth
958  */
959  int getAspectRatioWidth() const { return mAspectRatioWidth;}
960 
961  /**
962  * @brief Get AspectRatioHeight
963  *
964  * @return AspectRatioHeight
965  */
967 
968  /**
969  * @brief Get VideoCodec
970  *
971  * @return VideoCodec
972  */
973  const std::string & getVideoCodec() const { return mVideoCodec;}
974 
975  /**
976  * @brief Get HdrType
977  *
978  * @return HdrType
979  */
980  const std::string & getHdrType() const { return mHdrType;}
981 
982  /**
983  * @brief Get AudioCodec
984  *
985  * @return AudioCodec
986  */
987  const std::string & getAudioCodec() const {return mAudioCodec;}
988 
989  /**
990  * @brief returns AudioMixType
991  *
992  * @return AudioMixType
993  */
994  const std::string & getAudioMixType() const {return mAudioMixType;}
995 
996  /**
997  * @brief Get Atmos info
998  *
999  * @return true/false
1000  */
1001  bool getAtmosInfo() const {return isAtmos;}
1002  /**
1003  * @brief Get Media format type
1004  *
1005  * @return mediaFormat
1006  */
1007  const std::string & getMediaFormat() { return mMediaFormatName; }
1008 
1009  /**
1010  * @brief Set Media format type
1011  *
1012  * @return void
1013  */
1014  void setMediaFormat(const std::string &mediaFormatName) { mMediaFormatName = mediaFormatName; }
1015 };
1016 
1017 /**
1018  * @class BitrateChangeEvent
1019  * @brief Class for the Bitrate change event
1020  */
1022 {
1023  int mTime; /**< Playback time */
1024  long mBitrate; /**< Playback bitrate */
1025  std::string mDescription; /**< Bitrate change reason */
1026  int mWidth; /**< Video width */
1027  int mHeight; /**< Video height */
1028  double mFrameRate; /**< FrameRate */
1029  double mPosition; /**< Position at which bitrate changed */
1030  bool mCappedProfile; /**< Capped/Restricted profile status */
1031  int mDisplayWidth; /**< TV display width */
1032  int mDisplayHeight; /**< TV display height */
1033  VideoScanType mVideoScanType; /**< Video Scan Type progressive/interlaced */
1034  int mAspectRatioWidth; /**< Aspect Ratio Width*/
1035  int mAspectRatioHeight; /**< Aspect Ratio Height*/
1036 
1037 public:
1038  BitrateChangeEvent() = delete;
1039  BitrateChangeEvent(const BitrateChangeEvent&) = delete;
1040  BitrateChangeEvent& operator=(const BitrateChangeEvent&) = delete;
1041 
1042  /**
1043  * @fn BitrateChangeEvent
1044  *
1045  * @param[in] time - Time of bitrate change
1046  * @param[in] bitrate - New bitrate
1047  * @param[in] desc - Reason of change
1048  * @param[in] width - Video width
1049  * @param[in] height - Video height
1050  * @param[in] frameRate - Framerate
1051  * @param[in] position - Position
1052  * @param[in] cappedProfile - Profile capping status
1053  * @param[in] displayWidth - Output tv display width
1054  * @param[in] displayHeight - Output tv dispay height
1055  * @param[in] videoScanType - Video Scan Type
1056  * @param[in] position - Aspect Ratio Width
1057  * @param[in] position - Aspect Ratio Height
1058  */
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);
1060 
1061  /**
1062  * @brief BitrateChangeEvent Destructor
1063  */
1064  virtual ~BitrateChangeEvent() { }
1065 
1066  /**
1067  * @fn getTime
1068  */
1069  int getTime() const;
1070 
1071  /**
1072  * @fn getBitrate
1073  */
1074  long getBitrate() const;
1075 
1076  /**
1077  * @fn getDescription
1078  */
1079  const std::string &getDescription() const;
1080 
1081  /**
1082  * @fn getWidth
1083  */
1084  int getWidth() const;
1085 
1086  /**
1087  * @fn getHeight
1088  */
1089  int getHeight() const;
1090 
1091  /**
1092  * @fn getFrameRate
1093  */
1094  double getFrameRate() const;
1095 
1096  /**
1097  * @fn getPosition
1098  */
1099  double getPosition() const;
1100 
1101  /**
1102  * @fn getCappedProfileStatus
1103  */
1104  bool getCappedProfileStatus() const;
1105 
1106  /**
1107  * @fn getDisplayWidth
1108  */
1109  int getDisplayWidth() const;
1110 
1111  /**
1112  * @fn getDisplayHeight
1113  */
1114  int getDisplayHeight() const;
1115 
1116  /**
1117  * @fn getScanType
1118  */
1119  VideoScanType getScanType() const;
1120  /**
1121  * @fn getAspectRatioWidth
1122  */
1123  int getAspectRatioWidth() const;
1124  /**
1125  * @fn getAspectRatioHeight
1126  */
1127  int getAspectRatioHeight() const;
1128 };
1129 
1130 /**
1131  * @class TimedMetadataEvent
1132  * @brief Class for the Timed Metadata event
1133  */
1135 {
1136  std::string mName; /**< Metadata name */
1137  std::string mId; /**< Id of the timedMetadata */
1138  double mTime; /**< Playback position in MS- relative to tune time - starts at zero */
1139  double mDuration; /**< Duration of the timed event in MS */
1140  std::string mContent; /**< Metadata content */
1141 
1142 public:
1143  TimedMetadataEvent() = delete;
1144  TimedMetadataEvent(const TimedMetadataEvent&) = delete;
1145  TimedMetadataEvent& operator=(const TimedMetadataEvent&) = delete;
1146 
1147  /**
1148  * @fn TimedMetadataEvent
1149  *
1150  * @param[in] name - TimedMetadata name
1151  * @param[in] id - TimedMetadata id
1152  * @param[in] time - Time of event
1153  * @param[in] duration - Duration of event
1154  * @param[in] content - Content field of the TimedMetadata
1155  */
1156  TimedMetadataEvent(const std::string &name, const std::string &id, double time, double duration, const std::string &content);
1157 
1158  /**
1159  * @brief TimedMetadataEvent Destructor
1160  */
1161  virtual ~TimedMetadataEvent() { }
1162 
1163  /**
1164  * @fn getName
1165  */
1166  const std::string &getName() const;
1167 
1168  /**
1169  * @fn getId
1170  */
1171  const std::string &getId() const;
1172 
1173  /**
1174  * @fn getTime
1175  */
1176  double getTime() const;
1177 
1178  /**
1179  * @fn getDuration
1180  */
1181  double getDuration() const;
1182 
1183  /**
1184  * @fn getContent
1185  */
1186  const std::string &getContent() const;
1187 };
1188 
1189 /**
1190  * @class BulkTimedMetadataEvent
1191  * @brief Class for the Bulk TimedMetadata Event
1192  */
1194 {
1195  std::string mContent; /**< Metadata content */
1196 
1197 public:
1198  BulkTimedMetadataEvent() = delete;
1200  BulkTimedMetadataEvent& operator=(const BulkTimedMetadataEvent&) = delete;
1201 
1202  /**
1203  * @fn BulkTimedMetadataEvent
1204  *
1205  * @param[in] content - metadata serialized in JSON format
1206  */
1207  BulkTimedMetadataEvent(const std::string &content);
1208 
1209  /**
1210  * @brief BulkTimedMetadataEvent Destructor
1211  */
1213 
1214  /**
1215  * @fn getContent
1216  */
1217  const std::string &getContent() const;
1218 };
1219 
1220 /**
1221  * @class StateChangedEvent
1222  * @brief Class for the Player State Changed event
1223  */
1225 {
1226  PrivAAMPState mState; /**< Player state */
1227 
1228 public:
1229  StateChangedEvent() = delete;
1230  StateChangedEvent(const StateChangedEvent&) = delete;
1231  StateChangedEvent& operator=(const StateChangedEvent&) = delete;
1232 
1233  /**
1234  * @fn StateChangedEvent
1235  *
1236  * @param[in] state - New player state
1237  */
1239 
1240  /**
1241  * @brief StateChangedEvent Destructor
1242  */
1243  virtual ~StateChangedEvent() { }
1244 
1245  /**
1246  * @brief Get Current Player State
1247  *
1248  * @return Player state
1249  */
1250  PrivAAMPState getState() const;
1251 };
1252 
1253 /**
1254  * @class SupportedSpeedsChangedEvent
1255  * @brief Class for the supported speeds changed event
1256  */
1258 {
1259  std::vector<float> mSupportedSpeeds; /**< Supported playback speeds */
1260 
1261 public:
1262  /**
1263  * @brief Copy constructor disabled
1264  *
1265  */
1267  /**
1268  * @brief assignment operator disabled
1269  *
1270  */
1272 
1273  /**
1274  * @fn SupportedSpeedsChangedEvent
1275  */
1277 
1278  /**
1279  * @brief SupportedSpeedsChangedEvent Destructor
1280  */
1282 
1283  /**
1284  * @fn addSupportedSpeed
1285  *
1286  * @param[in] speed - Speed
1287  * @return void
1288  */
1289  void addSupportedSpeed(float speed);
1290 
1291  /**
1292  * @fn getSupportedSpeeds
1293  */
1294  const std::vector<float> &getSupportedSpeeds() const;
1295 
1296  /**
1297  * @fn getSupportedSpeedCount
1298  */
1299  int getSupportedSpeedCount() const;
1300 };
1301 
1302 /**
1303  * @class SeekedEvent
1304  * @brief Class for the Seeked Event
1305  */
1307 {
1308  double mPosition; /**< new seeked position in milliseconds */
1309 
1310 public:
1311  SeekedEvent() = delete;
1312  SeekedEvent(const SeekedEvent&) = delete;
1313  SeekedEvent& operator=(const SeekedEvent&) = delete;
1314 
1315  /**
1316  * @fn SeekedEvent
1317  */
1318  SeekedEvent(double positionMS);
1319 
1320  /**
1321  * @brief SeekedEvent Destructor
1322  */
1323  virtual ~SeekedEvent() { }
1324 
1325  /**
1326  * @fn getPosition
1327  */
1328  double getPosition() const;
1329 };
1330 
1331 /**
1332  * @class TuneProfilingEvent
1333  * @brief Class for the Tune Profilng Event
1334  */
1336 {
1337  std::string mProfilingData; /**< micro event data for profiling */
1338 
1339 public:
1340  TuneProfilingEvent() = delete;
1341  TuneProfilingEvent(const TuneProfilingEvent&) = delete;
1342  TuneProfilingEvent& operator=(const TuneProfilingEvent&) = delete;
1343 
1344  /**
1345  * @fn TuneProfilingEvent
1346  *
1347  * @param[in] profilingData - tune profiling data
1348  */
1349  TuneProfilingEvent(std::string &profilingData);
1350 
1351  /**
1352  * @brief TuneProfilingEvent Destructor
1353  */
1354  virtual ~TuneProfilingEvent() { }
1355 
1356  /**
1357  * @fn getProfilingData
1358  */
1359  const std::string &getProfilingData() const;
1360 };
1361 
1362 /**
1363  * @class BufferingChangedEvent
1364  * @brief Class for the Buffering Changed event
1365  */
1367 {
1368  bool mBuffering; /**< true : Availability of buffer to play, false : Underflow / non-availability of buffer to play */
1369 
1370 public:
1371  BufferingChangedEvent() = delete;
1373  BufferingChangedEvent& operator=(const BufferingChangedEvent&) = delete;
1374 
1375  /**
1376  * @fn BufferingChangedEvent
1377  *
1378  * @param[in] buffering - Buffering status
1379  */
1381 
1382  /**
1383  * @brief BufferingChangedEvent Destructor
1384  */
1386 
1387  /**
1388  * @fn buffering
1389  */
1390  bool buffering() const;
1391 };
1392 
1393 /**
1394  * @brief Class for the Drm Metadata event
1395  */
1397 {
1398  AAMPTuneFailure mFailure; /**< Error Type */
1399  std::string mAccessStatus; /**< Access status */
1400  int mAccessStatusValue; /**< Access status value */
1401  long mResponseCode; /**< Response code */
1402  bool mSecclientError; /**< Is secclient error */
1403 
1404  int32_t mSecManagerClass; /**< Secmanager error class */
1405  int32_t mSecManagerReasonCode; /**< Secmanager reason code */
1406  int32_t mBusinessStatus; /**< secclient business reason code */
1407 public:
1408  DrmMetaDataEvent() = delete;
1409  DrmMetaDataEvent(const DrmMetaDataEvent&) = delete;
1410  DrmMetaDataEvent& operator=(const DrmMetaDataEvent&) = delete;
1411 
1412  /*
1413  * @brief DrmMetaDataEvent Constructor
1414  *
1415  * @param[in] failure - Failure type
1416  * @param[in] accessStatus - Access status
1417  * @param[in] statusValue - Access status value
1418  * @param[in] responseCode - Response code
1419  * @param[in] secclientErr - Is secclient error
1420  */
1421  DrmMetaDataEvent(AAMPTuneFailure failure, const std::string &accessStatus, int statusValue, long responseCode, bool secclientErr);
1422 
1423  /**
1424  * @brief DrmMetaDataEvent Destructor
1425  */
1426  virtual ~DrmMetaDataEvent() { }
1427 
1428  /**
1429  * @brief Get Failure type
1430  *
1431  * @return Tune failure type
1432  */
1433  AAMPTuneFailure getFailure() const;
1434 
1435  /**
1436  * @brief Set Failure type
1437  *
1438  * @param[in] failure - Failure type
1439  * @return void
1440  */
1441  void setFailure(AAMPTuneFailure failure);
1442 
1443  /**
1444  * @brief Get Access Status
1445  *
1446  * @return Access status string
1447  */
1448  const std::string &getAccessStatus() const;
1449 
1450  /**
1451  * @brief Set Access Status
1452  *
1453  * @param[in] status - Access status
1454  * @return void
1455  */
1456  void setAccessStatus(const std::string &status);
1457 
1458  /**
1459  * @brief Get Access Status
1460  *
1461  * @return Access status value
1462  */
1463  int getAccessStatusValue() const;
1464 
1465  /**
1466  * @brief Set Access Status Value
1467  *
1468  * @param[in] value - Access status value
1469  * @return void
1470  */
1471  void setAccessStatusValue(int value);
1472 
1473  /**
1474  * @brief Get Response Code
1475  *
1476  * @return Response code
1477  */
1478  long getResponseCode() const;
1479 
1480  /**
1481  * @brief Get Response Code
1482  *
1483  * @return Response code
1484  */
1485  int32_t getSecManagerReasonCode() const;
1486 
1487  /**
1488  * @brief Get Response Code
1489  *
1490  * @return Response code
1491  */
1492  int32_t getSecManagerClassCode() const;
1493 
1494  /**
1495  * @brief Get Response Code
1496  *
1497  * @return Response code
1498  */
1499  int32_t getBusinessStatus() const;
1500 
1501  /**
1502  * @brief Set Response Code
1503  *
1504  * @param[in] code - Response code
1505  * @return void
1506  */
1507  void setResponseCode(long code);
1508 
1509  /**
1510  * @brief Get Secmanager response code
1511  * @param[string] code - secmanager reason code
1512  * @return Response code
1513  */
1514  void setSecManagerReasonCode(int32_t code);
1515 
1516  /**
1517  * @brief Get secclient error status
1518  *
1519  * @return secclient error (true/false)
1520  */
1521  bool getSecclientError() const;
1522 
1523  /**
1524  * @brief Set secclient error status
1525  *
1526  * @param[in] sec client error status (true/false)
1527  * @return void
1528  */
1529  void setSecclientError(bool secclientError);
1530 
1531  /**
1532  * @brief Set the secmanager DRM error responses
1533  */
1534  void SetVerboseErrorCode(int32_t statusCode, int32_t reasonCode, int32_t businessStatus );
1535 
1536  /**
1537  * @brief Convert the secclient DRM error code into secmanager error code to have a unified verbose error reported
1538  */
1539  void ConvertToVerboseErrorCode(int32_t httpCode, int32_t httpExtStatusCode );
1540 };
1541 
1542 
1543 /**
1544  * @class AnomalyReportEvent
1545  * @brief Class for the Anomaly Report Event.
1546  */
1548 {
1549  int mSeverity; /**< informative number indicates severity of msg, e.g Warning, Error, Trace etc */
1550  std::string mMsg; /**< Anomaly message */
1551 
1552 public:
1553  AnomalyReportEvent() = delete;
1554  AnomalyReportEvent(const AnomalyReportEvent&) = delete;
1555  AnomalyReportEvent& operator=(const AnomalyReportEvent&) = delete;
1556 
1557  /**
1558  * @fn AnomalyReportEvent
1559  *
1560  * @param[in] severity - Severity of message
1561  * @param[in] msg - Anomaly message
1562  */
1563  AnomalyReportEvent(int severity, const std::string &msg);
1564 
1565  /**
1566  * @brief AnomalyReportEvent Destructor
1567  */
1568  virtual ~AnomalyReportEvent() { }
1569 
1570  /**
1571  * @fn getSeverity
1572  */
1573  int getSeverity() const;
1574 
1575  /**
1576  * @fn getMessage
1577  */
1578  const std::string &getMessage() const;
1579 };
1580 
1581 /**
1582  * @class WebVttCueEvent
1583  * @brief Class for the Web VTT Cue Event
1584  */
1586 {
1587  VTTCue* mCueData; /**< Web VTT cue data */
1588 
1589 public:
1590  WebVttCueEvent() = delete;
1591  WebVttCueEvent(const WebVttCueEvent&) = delete;
1592  WebVttCueEvent& operator=(const WebVttCueEvent&) = delete;
1593 
1594  /**
1595  * @fn WebVttCueEvent
1596  *
1597  * @param[in] cueData - Pointer to VTT cue data
1598  */
1599  WebVttCueEvent(VTTCue* cueData);
1600 
1601  /**
1602  * @brief WebVttCueEvent Destructor
1603  */
1604  virtual ~WebVttCueEvent() { }
1605 
1606  /**
1607  * @fn getCueData
1608  */
1609  VTTCue* getCueData() const;
1610 };
1611 
1612 /**
1613  * @class AdResolvedEvent
1614  * @brief Class for ad fulfill status event
1615  */
1617 {
1618  bool mResolveStatus; /**<Ad resolve status */
1619  std::string mAdId; /**<Ad identifier */
1620  uint64_t mStartMS; /**<Ad's start position in MS */
1621  uint64_t mDurationMs; /**<Ad's duration in MS */
1622 
1623 public:
1624  AdResolvedEvent() = delete;
1625  AdResolvedEvent(const AdResolvedEvent&) = delete;
1626  AdResolvedEvent& operator=(const AdResolvedEvent&) = delete;
1627 
1628  /**
1629  * @fn AdResolvedEvent
1630  *
1631  * @param[in] resolveStatus - Ad resolve status
1632  * @param[in] adId - Identifier of the Ad
1633  * @param[in] startMS - Start position of Ad (relative to reservation start)
1634  * @param[in] durationMs - Duration of the Ad in MS
1635  */
1636  AdResolvedEvent(bool resolveStatus, const std::string &adId, uint64_t startMS, uint64_t durationMs);
1637 
1638  /**
1639  * @brief AdResolvedEvent Destructor
1640  */
1641  virtual ~AdResolvedEvent() { }
1642 
1643  /**
1644  * @fn getResolveStatus
1645  */
1646  bool getResolveStatus() const;
1647 
1648  /**
1649  * @fn getAdId
1650  */
1651  const std::string &getAdId() const;
1652 
1653  /**
1654  * @fn getStart
1655  */
1656  uint64_t getStart() const;
1657 
1658  /**
1659  * @fn getDuration
1660  */
1661  uint64_t getDuration() const;
1662 
1663 };
1664 
1665 /**
1666  * @class AdReservationEvent
1667  * @brief Class for ad reservation events
1668  */
1670 {
1671  std::string mAdBreakId; /**<Adbreak's id */
1672  uint64_t mPosition; /**<Adbreak's start position */
1673 
1674 public:
1675  AdReservationEvent() = delete;
1676  AdReservationEvent(const AdReservationEvent&) = delete;
1677  AdReservationEvent& operator=(const AdReservationEvent&) = delete;
1678 
1679  /**
1680  * @fn AdReservationEvent
1681  *
1682  * @param[in] evtType - Event Type
1683  * @param[in] breakId - Unique identifier of Ad reservation.
1684  * @param[in] position - Postion of reservation in content's PTS
1685  */
1686  AdReservationEvent(AAMPEventType evtType, const std::string &breakId, uint64_t position);
1687 
1688  /**
1689  * @brief AdReservationEvent Destructor
1690  */
1691  virtual ~AdReservationEvent() { }
1692 
1693  /**
1694  * @fn getAdBreakId
1695  */
1696  const std::string &getAdBreakId() const;
1697 
1698  /**
1699  * @fn getPosition
1700  */
1701  uint64_t getPosition() const;
1702 };
1703 
1704 /**
1705  * @class AdPlacementEvent
1706  * @brief Class for ad placement events
1707  */
1709 {
1710  std::string mAdId; /**< Ad Id */
1711  uint32_t mPosition; /**< Ad Position relative to Reservation Start */
1712  uint32_t mOffset; /**< Ad start offset */
1713  uint32_t mDuration; /**< Ad's duration */
1714  int mErrorCode; /**< Error code, if any */
1715 
1716 public:
1717  AdPlacementEvent() = delete;
1718  AdPlacementEvent(const AdPlacementEvent&) = delete;
1719  AdPlacementEvent& operator=(const AdPlacementEvent&) = delete;
1720 
1721  /**
1722  * @fn AdPlacementEvent
1723  *
1724  * @param[in] evtType - Event type
1725  * @param[in] adId - Ad Id
1726  * @param[in] position - Ad's position (in channel's PTS)
1727  * @param[in] offset - Ad's start offset
1728  * @param[in] duration - Ad's duration in MS
1729  * @param[in] errorCode - Error code, in case of placement error
1730  */
1731  AdPlacementEvent(AAMPEventType evtType, const std::string &adId, uint32_t position, uint32_t offset=0, uint32_t duration=0, int errorCode=0);
1732 
1733  /**
1734  * @brief AdPlacementEvent Destructor
1735  */
1736  virtual ~AdPlacementEvent() { }
1737 
1738  /**
1739  * @fn getAdId
1740  */
1741  const std::string &getAdId() const;
1742 
1743  /**
1744  * @fn getPosition
1745  */
1746  uint32_t getPosition() const;
1747 
1748  /**
1749  * @fn getOffset
1750  */
1751  uint32_t getOffset() const;
1752 
1753  /**
1754  * @fn getDuration
1755  */
1756  uint32_t getDuration() const;
1757 
1758  /**
1759  * @fn getErrorCode
1760  */
1761  int getErrorCode() const;
1762 };
1763 
1764 /**
1765  * @class MetricsDataEvent
1766  * @brief Class for the Metrics Data event
1767  */
1769 {
1770  MetricsDataType mMetricsDataType; /**< type of data , e.g AAMP_DATA_VIDEO_END for VideoEndEvent data */
1771  std::string mMetricUUID; /**< unique session id passed during tune */
1772  std::string mMetricsData; /**< metrics data */
1773 
1774 public:
1775  MetricsDataEvent() = delete;
1776  MetricsDataEvent(const MetricsDataEvent&) = delete;
1777  MetricsDataEvent& operator=(const MetricsDataEvent&) = delete;
1778 
1779  /**
1780  * @fn MetricsDataEvent
1781  *
1782  * @param[in] dataType - Data type
1783  * @param[in] uuid - unique identifier
1784  * @param[in] data - Metrics data
1785  */
1786  MetricsDataEvent(MetricsDataType dataType, const std::string &uuid, const std::string &data);
1787 
1788  /**
1789  * @brief MetricsDataEvent Destructor
1790  */
1791  virtual ~MetricsDataEvent() { }
1792 
1793  /**
1794  * @fn getMetricsDataType
1795  *
1796  */
1797  MetricsDataType getMetricsDataType() const;
1798 
1799  /**
1800  * @fn getMetricUUID
1801  */
1802  const std::string &getMetricUUID() const;
1803 
1804  /**
1805  * @fn getMetricsData
1806  */
1807  const std::string &getMetricsData() const;
1808 };
1809 
1810 /**
1811  * @class ID3MetadataEvent
1812  * @brief Class for the ID3 Metadata Event
1813  */
1815 {
1816  std::vector<uint8_t> mMetadata; /**< ID3 Metadata content */
1817  std::string mSchemeIdUri; // schemeIduri
1818  std::string mValue;
1819  uint32_t mTimeScale;
1820  uint64_t mPresentationTime;
1821  uint32_t mEventDuration;
1822  uint32_t mId;
1823  uint64_t mTimestampOffset;
1824 
1825 public:
1826  ID3MetadataEvent() = delete;
1827  ID3MetadataEvent(const ID3MetadataEvent&) = delete;
1828  ID3MetadataEvent& operator=(const ID3MetadataEvent&) = delete;
1829 
1830  /**
1831  * @brief ID3MetadataEvent
1832  *
1833  * @param[in] metadata - ID3 metadata
1834  * @param[in] timeScale - timeScale od ID3 data
1835  * @param[in] presentationTime - PTS value
1836  * @param[in] eventDuration - eventDuration
1837  * @param[in] id - id of ID3 data
1838  * @param[in] timestampOffset
1839  */
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);
1841 
1842  /**
1843  * @brief ID3MetadataEvent Destructor
1844  */
1845  virtual ~ID3MetadataEvent() { }
1846 
1847  /**
1848  * @fn getMetadata
1849  */
1850  const std::vector<uint8_t> &getMetadata() const;
1851 
1852  /**
1853  * @fn getMetadataSize
1854  */
1855  int getMetadataSize() const;
1856 
1857  /**
1858  * @fn getTimeScale
1859  */
1860  uint32_t getTimeScale() const;
1861 
1862  /**
1863  * @fn getEventDuration
1864  */
1865  uint32_t getEventDuration() const;
1866 
1867  /**
1868  * @fn getId
1869  */
1870  uint32_t getId() const;
1871 
1872  /**
1873  * @fn getTimestampOffset
1874  */
1875  uint64_t getTimestampOffset() const;
1876 
1877  /**
1878  * @fn getPresentationTime
1879  */
1880  uint64_t getPresentationTime() const;
1881 
1882  /**
1883  * @fn getSchemeIdUri
1884  */
1885  const std::string& getSchemeIdUri() const;
1886 
1887  /**
1888  * @fn getValue
1889  */
1890  const std::string& getValue() const;
1891 };
1892 
1893 /**
1894  * @class DrmMessageEvent
1895  * @brief Class for the DRM Message Event
1896  */
1898 {
1899  std::string mMessage; /**< DRM Message */
1900 
1901 public:
1902  DrmMessageEvent() = delete;
1903  DrmMessageEvent(const DrmMessageEvent&) = delete;
1904  DrmMessageEvent& operator=(const DrmMessageEvent&) = delete;
1905 
1906  /**
1907  * @fn DrmMessageEvent
1908  *
1909  * @param[in] msg - DRM message
1910  */
1911  DrmMessageEvent(const std::string &msg);
1912 
1913  /**
1914  * @brief DrmMessageEvent Destructor
1915  */
1916  virtual ~DrmMessageEvent() { }
1917 
1918  /**
1919  * @fn getMessage
1920  */
1921  const std::string &getMessage() const;
1922 };
1923 
1924 /**
1925  * @class BlockedEvent
1926  * @brief Class for the BlockedEvent event
1927  */
1929 {
1930  std::string mReason; /**< Blocked Reason */
1931 
1932 public:
1933  BlockedEvent() = delete;
1934  BlockedEvent(const BlockedEvent&) = delete;
1935  BlockedEvent& operator=(const BlockedEvent&) = delete;
1936 
1937  /**
1938  * @brief BlockedEvent Constructor
1939  * @param[in] reason - Blocked Reason
1940  */
1941  BlockedEvent(const std::string &reason) : AAMPEventObject(AAMP_EVENT_BLOCKED) , mReason(reason)
1942  {}
1943 
1944  /**
1945  * @brief BlockedEvent Destructor
1946  */
1947  virtual ~BlockedEvent() { }
1948 
1949  /**
1950  * @brief Get Description
1951  *
1952  * @return Blocked Reason
1953  */
1954  const std::string &getReason() const { return mReason; }
1955 };
1956 
1957 /**
1958  * @class ContentGapEvent
1959  * @brief Class for the Content gap event
1960  */
1962 {
1963  double mTime; /**< Playback position in MS- relative to tune time - starts at zero */
1964  double mDuration; /**< Duration of the timed event in MS */
1965 
1966 public:
1967  ContentGapEvent() = delete;
1968  ContentGapEvent(const ContentGapEvent&) = delete;
1969  ContentGapEvent& operator=(const ContentGapEvent&) = delete;
1970 
1971  /**
1972  * @fn ContentGapEvent
1973  * @param[in] time - Time of event
1974  * @param[in] duration - Duration of event
1975  */
1976  ContentGapEvent(double time, double duration);
1977 
1978  /**
1979  * @brief ContentGapEvent Destructor
1980  */
1981  virtual ~ContentGapEvent() { }
1982 
1983  /**
1984  * @fn getTime
1985  */
1986  double getTime() const;
1987 
1988  /**
1989  * @fn getDuration
1990  */
1991  double getDuration() const;
1992 };
1993 
1994 /**
1995  * @class HTTPResponseHeaderEvent
1996  * @brief Class for the HTTP Response Header event
1997  */
1999 {
2000  std::string mHeaderName; /**< Header name */
2001  std::string mHeaderResponse; /**< Header response */
2002 
2003 public:
2004  HTTPResponseHeaderEvent() = delete;
2006  HTTPResponseHeaderEvent& operator=(const HTTPResponseHeaderEvent&) = delete;
2007 
2008  /**
2009  * @fn HTTPResponseHeaderEvent
2010  *
2011  * @param[in] name - HTTPResponseHeader name
2012  * @param[in] response - HTTPResponseHeader response
2013  */
2014  HTTPResponseHeaderEvent(const std::string &name, const std::string &response);
2015 
2016  /**
2017  * @brief HTTPResponseHeaderEvent Destructor
2018  */
2020 
2021  /**
2022  * @fn getHeader
2023  */
2024  const std::string &getHeader() const;
2025 
2026  /**
2027  * @fn getResponse
2028  */
2029  const std::string &getResponse() const;
2030 
2031 };
2032 
2033 /**
2034  * @class WatermarkSessionUpdateEvent
2035  * @brief Class for the watermarkSession event
2036  */
2038 {
2039  uint32_t mSessionHandle; /**< Playback session handle used to track and manage sessions */
2040  uint32_t mStatus; /**< Provides the status of the watermark session. */
2041  std::string mSystem; /**< Describes content watermarking protection provider */
2042 public:
2043  WatermarkSessionUpdateEvent() = delete;
2045  WatermarkSessionUpdateEvent& operator=(const WatermarkSessionUpdateEvent&) = delete;
2046 
2047  /**
2048  * @brief WatermarkSessionUpdateEvent Constructor
2049  * @param[in] sessionHandle - Handle used to track and manage session
2050  * @param[in] status - Status of the watermark session
2051  * @param[in] system - Watermarking protection provider
2052  */
2054  {}
2055 
2056  /**
2057  * @brief WatermarkSessionUpdateEvent Destructor
2058  */
2060 
2061  /**
2062  * @brief Get session handle
2063  *
2064  * @return session handle
2065  */
2066  uint32_t getSessionHandle() const { return mSessionHandle; }
2067 
2068  /**
2069  * @brief Get session status
2070  *
2071  * @return status
2072  */
2073  uint32_t getStatus() const { return mStatus; }
2074 
2075  /**
2076  * @brief Get System
2077  *
2078  * @return System
2079  */
2080  const std::string &getSystem() const { return mSystem; }
2081 };
2082 
2083 /**
2084  * @brief Class for the Content Protection Data Update Event on Dynamic Key Rotation
2085  */
2087 {
2088  std::vector<uint8_t> mKeyID; /**< Key ID */
2089  std::string mStreamType; /**< Stream Type */
2090 public:
2091  ContentProtectionDataEvent() = delete;
2093  ContentProtectionDataEvent& operator=(const ContentProtectionDataEvent&) = delete;
2094 
2095  /*
2096  * @brief ContentProtectionDataEvent Constructor
2097  *
2098  * @param[in] keyID - KeyID
2099  * @param[in] streamType - Current StreamType
2100  */
2101 
2102  ContentProtectionDataEvent(const std::vector<uint8_t> &keyID, const std::string &streamType);
2103 
2104  /**
2105  * @brief ContentProtectionDataEvent Destructor
2106  */
2108  /**
2109  * @brief Get Current Key ID
2110  *
2111  * @return Current KeyID
2112  */
2113  const std::vector<uint8_t> &getKeyID() const;
2114 
2115  /**
2116  * @brief Get Current Stream Type
2117  *
2118  * @return Current StreamType
2119  */
2120  const std::string &getStreamType() const;
2121 };
2122 
2123 
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>;
2152 #endif /* __AAMP_EVENTS_H__ */
2153 
AAMP_EVENT_ASYNC_MODE
@ AAMP_EVENT_ASYNC_MODE
Definition: AampEvent.h:101
MediaMetadataEvent::mVideoScanType
VideoScanType mVideoScanType
Definition: AampEvent.h:765
DrmMetaDataEvent::getSecManagerClassCode
int32_t getSecManagerClassCode() const
Get Response Code.
Definition: AampEvent.cpp:946
StateChangedEvent::getState
PrivAAMPState getState() const
Get Current Player State.
Definition: AampEvent.cpp:757
eSTATE_STOPPED
@ eSTATE_STOPPED
Definition: AampEvent.h:168
TuneProfilingEvent::~TuneProfilingEvent
virtual ~TuneProfilingEvent()
TuneProfilingEvent Destructor.
Definition: AampEvent.h:1354
MediaMetadataEvent::getBitratesCount
int getBitratesCount() const
Get Bitrate Count.
Definition: AampEvent.cpp:410
ID3MetadataEvent::getId
uint32_t getId() const
Get id.
Definition: AampEvent.cpp:1311
AAMP_TUNE_INIT_FAILED_MANIFEST_PARSE_ERROR
@ AAMP_TUNE_INIT_FAILED_MANIFEST_PARSE_ERROR
Definition: AampEvent.h:113
ContentGapEvent::getTime
double getTime() const
Get Time.
Definition: AampEvent.cpp:1390
DrmMetaDataEvent::getFailure
AAMPTuneFailure getFailure() const
Get Failure type.
Definition: AampEvent.cpp:872
AdReservationEvent::~AdReservationEvent
virtual ~AdReservationEvent()
AdReservationEvent Destructor.
Definition: AampEvent.h:1691
AAMP_TUNE_INIT_FAILED_PLAYLIST_VIDEO_DNLD_ERROR
@ AAMP_TUNE_INIT_FAILED_PLAYLIST_VIDEO_DNLD_ERROR
Definition: AampEvent.h:114
AdPlacementEvent::mPosition
uint32_t mPosition
Definition: AampEvent.h:1711
AAMP_EVENT_DRM_METADATA
@ AAMP_EVENT_DRM_METADATA
Definition: AampEvent.h:71
AAMP_EVENT_BULK_TIMED_METADATA
@ AAMP_EVENT_BULK_TIMED_METADATA
Definition: AampEvent.h:59
eVIDEOSCAN_UNKNOWN
@ eVIDEOSCAN_UNKNOWN
Definition: AampEvent.h:194
MediaErrorEvent::MediaErrorEvent
MediaErrorEvent()=delete
MediaMetadataEvent::mAudioBitrates
std::vector< long > mAudioBitrates
Definition: AampEvent.h:773
AAMP_TUNE_GST_PIPELINE_ERROR
@ AAMP_TUNE_GST_PIPELINE_ERROR
Definition: AampEvent.h:138
CCHandleEvent::getCCHandle
unsigned long getCCHandle() const
Get Closed Caption Handle.
Definition: AampEvent.cpp:321
TimedMetadataEvent::getName
const std::string & getName() const
Get Timed Metadata Name.
Definition: AampEvent.cpp:679
ProgressEvent::getDuration
double getDuration() const
Get Duration of Asset.
Definition: AampEvent.cpp:230
BitrateChangeEvent::BitrateChangeEvent
BitrateChangeEvent()=delete
MediaMetadataEvent::getDrmType
const std::string & getDrmType() const
Get Current DRM Type.
Definition: AampEvent.cpp:489
BitrateChangeEvent::getScanType
VideoScanType getScanType() const
Get Video Scan Type.
Definition: AampEvent.cpp:639
AdReservationEvent::getAdBreakId
const std::string & getAdBreakId() const
Get Adbreak Identifier.
Definition: AampEvent.cpp:1142
eVIDEOSCAN_PROGRESSIVE
@ eVIDEOSCAN_PROGRESSIVE
Definition: AampEvent.h:192
SupportedSpeedsChangedEvent::getSupportedSpeedCount
int getSupportedSpeedCount() const
Get Supported Speeds Count.
Definition: AampEvent.cpp:794
AdPlacementEvent
Class for ad placement events.
Definition: AampEvent.h:1708
MetricsDataEvent::getMetricsDataType
MetricsDataType getMetricsDataType() const
Get Metrics Data Type.
Definition: AampEvent.cpp:1232
StateChangedEvent::mState
PrivAAMPState mState
Definition: AampEvent.h:1226
sessionHandle
Definition: dtcpmgr.cpp:25
eSTATE_INITIALIZED
@ eSTATE_INITIALIZED
Definition: AampEvent.h:160
MediaMetadataEvent::getRatings
const std::string & getRatings() const
get Parental control ratings
Definition: AampEvent.h:931
AdPlacementEvent::getPosition
uint32_t getPosition() const
Get Ad's Position.
Definition: AampEvent.cpp:1182
BitrateChangeEvent::mWidth
int mWidth
Definition: AampEvent.h:1026
CCHandleEvent::~CCHandleEvent
virtual ~CCHandleEvent()
CCHandleEvent Destructor.
Definition: AampEvent.h:735
TimedMetadataEvent::mName
std::string mName
Definition: AampEvent.h:1136
ProgressEvent::mPTS
long long mPTS
Definition: AampEvent.h:643
AAMP_TUNE_INIT_FAILED
@ AAMP_TUNE_INIT_FAILED
Definition: AampEvent.h:110
AAMP_EVENT_CONTENT_GAP
@ AAMP_EVENT_CONTENT_GAP
Definition: AampEvent.h:85
BlockedEvent::~BlockedEvent
virtual ~BlockedEvent()
BlockedEvent Destructor.
Definition: AampEvent.h:1947
MediaMetadataEvent::addAudioBitrate
void addAudioBitrate(long bitrate)
Add a supported bitrate.
Definition: AampEvent.h:924
WatermarkSessionUpdateEvent::getStatus
uint32_t getStatus() const
Get session status.
Definition: AampEvent.h:2073
ContentProtectionDataEvent::getKeyID
const std::vector< uint8_t > & getKeyID() const
Get Current Key ID.
Definition: AampEvent.cpp:1453
MetricsDataEvent::mMetricsData
std::string mMetricsData
Definition: AampEvent.h:1772
AAMP_EVENT_AD_PLACEMENT_END
@ AAMP_EVENT_AD_PLACEMENT_END
Definition: AampEvent.h:78
AdResolvedEvent::~AdResolvedEvent
virtual ~AdResolvedEvent()
AdResolvedEvent Destructor.
Definition: AampEvent.h:1641
TimedMetadataEvent::mDuration
double mDuration
Definition: AampEvent.h:1139
ProgressEvent::mBufferedDuration
double mBufferedDuration
Definition: AampEvent.h:644
MetricsDataEvent::mMetricUUID
std::string mMetricUUID
Definition: AampEvent.h:1771
AAMP_EVENT_BUFFERING_CHANGED
@ AAMP_EVENT_BUFFERING_CHANGED
Definition: AampEvent.h:64
AAMP_TUNE_MP4_INIT_FRAGMENT_MISSING
@ AAMP_TUNE_MP4_INIT_FRAGMENT_MISSING
Definition: AampEvent.h:146
MediaMetadataEvent::getHeight
int getHeight() const
Get Height.
Definition: AampEvent.cpp:430
ID3MetadataEvent::~ID3MetadataEvent
virtual ~ID3MetadataEvent()
ID3MetadataEvent Destructor.
Definition: AampEvent.h:1845
MediaMetadataEvent::mAspectRatioHeight
int mAspectRatioHeight
Definition: AampEvent.h:767
AAMP_TUNE_LICENCE_TIMEOUT
@ AAMP_TUNE_LICENCE_TIMEOUT
Definition: AampEvent.h:126
AAMP_TUNE_INIT_FRAGMENT_DOWNLOAD_FAILURE
@ AAMP_TUNE_INIT_FRAGMENT_DOWNLOAD_FAILURE
Definition: AampEvent.h:120
ProgressEvent
Class for the Progress event.
Definition: AampEvent.h:636
DrmMetaDataEvent::mAccessStatus
std::string mAccessStatus
Definition: AampEvent.h:1399
AAMP_TUNE_DRM_SELF_ABORT
@ AAMP_TUNE_DRM_SELF_ABORT
Definition: AampEvent.h:137
AdResolvedEvent::mAdId
std::string mAdId
Definition: AampEvent.h:1619
AAMPEventObject::mType
AAMPEventType mType
Definition: AampEvent.h:498
MediaMetadataEvent::addSupportedSpeed
void addSupportedSpeed(float speed)
Add a supported speed.
Definition: AampEvent.cpp:448
MediaErrorEvent::shouldRetry
bool shouldRetry() const
Retry or not.
Definition: AampEvent.cpp:164
AdReservationEvent::AdReservationEvent
AdReservationEvent()=delete
SeekedEvent
Class for the Seeked Event.
Definition: AampEvent.h:1306
AAMP_EVENT_REPORT_ANOMALY
@ AAMP_EVENT_REPORT_ANOMALY
Definition: AampEvent.h:72
MediaMetadataEvent::getVideoCodec
const std::string & getVideoCodec() const
Get VideoCodec.
Definition: AampEvent.h:973
AAMP_EVENT_TUNE_FAILED
@ AAMP_EVENT_TUNE_FAILED
Definition: AampEvent.h:48
AAMP_TUNE_DRM_CHALLENGE_FAILED
@ AAMP_TUNE_DRM_CHALLENGE_FAILED
Definition: AampEvent.h:125
WebVttCueEvent::WebVttCueEvent
WebVttCueEvent()=delete
HTTPResponseHeaderEvent::getResponse
const std::string & getResponse() const
Get HTTP Response Header response.
Definition: AampEvent.cpp:1430
MediaMetadataEvent::mVideoCodec
std::string mVideoCodec
Definition: AampEvent.h:768
BitrateChangeEvent::mDisplayHeight
int mDisplayHeight
Definition: AampEvent.h:1032
AAMP_TUNE_FAILED_TO_GET_KEYID
@ AAMP_TUNE_FAILED_TO_GET_KEYID
Definition: AampEvent.h:131
SeekedEvent::~SeekedEvent
virtual ~SeekedEvent()
SeekedEvent Destructor.
Definition: AampEvent.h:1323
AAMP_EVENT_DRM_MESSAGE
@ AAMP_EVENT_DRM_MESSAGE
Definition: AampEvent.h:83
DrmMetaDataEvent::mBusinessStatus
int32_t mBusinessStatus
Definition: AampEvent.h:1406
TimedMetadataEvent::getDuration
double getDuration() const
Get Duration.
Definition: AampEvent.cpp:709
SupportedSpeedsChangedEvent
Class for the supported speeds changed event.
Definition: AampEvent.h:1257
BulkTimedMetadataEvent::~BulkTimedMetadataEvent
virtual ~BulkTimedMetadataEvent()
BulkTimedMetadataEvent Destructor.
Definition: AampEvent.h:1212
HTTPResponseHeaderEvent::HTTPResponseHeaderEvent
HTTPResponseHeaderEvent()=delete
AdResolvedEvent::getAdId
const std::string & getAdId() const
Get Ad Identifier.
Definition: AampEvent.cpp:1103
AAMP_EVENT_AD_RESERVATION_END
@ AAMP_EVENT_AD_RESERVATION_END
Definition: AampEvent.h:76
AdResolvedEvent::mStartMS
uint64_t mStartMS
Definition: AampEvent.h:1620
BitrateChangeEvent::mBitrate
long mBitrate
Definition: AampEvent.h:1024
vttCue.h
Provides data structure to hold a WebVTT cue data.
AAMP_EVENT_AD_STARTED
@ AAMP_EVENT_AD_STARTED
Definition: AampEvent.h:69
AdPlacementEvent::mOffset
uint32_t mOffset
Definition: AampEvent.h:1712
AAMP_EVENT_AD_BREAKS_CHANGED
@ AAMP_EVENT_AD_BREAKS_CHANGED
Definition: AampEvent.h:68
AAMP_TUNE_UNTRACKED_DRM_ERROR
@ AAMP_TUNE_UNTRACKED_DRM_ERROR
Definition: AampEvent.h:121
ID3MetadataEvent::getPresentationTime
uint64_t getPresentationTime() const
Get presentationTime.
Definition: AampEvent.cpp:1321
DrmMetaDataEvent::getResponseCode
long getResponseCode() const
Get Response Code.
Definition: AampEvent.cpp:926
AAMP_EVENT_DURATION_CHANGED
@ AAMP_EVENT_DURATION_CHANGED
Definition: AampEvent.h:65
WebVttCueEvent::getCueData
VTTCue * getCueData() const
Get VTT Cue Data.
Definition: AampEvent.cpp:1073
BitrateChangeEvent::getTime
int getTime() const
Get Time.
Definition: AampEvent.cpp:539
MediaMetadataEvent::mAspectRatioWidth
int mAspectRatioWidth
Definition: AampEvent.h:766
MediaErrorEvent::getDescription
const std::string & getDescription() const
Get Description.
Definition: AampEvent.cpp:154
BlockedEvent::BlockedEvent
BlockedEvent(const std::string &reason)
BlockedEvent Constructor.
Definition: AampEvent.h:1941
BitrateChangeEvent
Class for the Bitrate change event.
Definition: AampEvent.h:1021
CCHandleEvent::mHandle
unsigned long mHandle
Definition: AampEvent.h:720
AdPlacementEvent::getOffset
uint32_t getOffset() const
Get Ad's Offset.
Definition: AampEvent.cpp:1192
AAMP_TUNE_FAILED_PTS_ERROR
@ AAMP_TUNE_FAILED_PTS_ERROR
Definition: AampEvent.h:145
BulkTimedMetadataEvent::getContent
const std::string & getContent() const
Get metadata content.
Definition: AampEvent.cpp:738
eSTATE_PAUSED
@ eSTATE_PAUSED
Definition: AampEvent.h:164
BufferingChangedEvent::BufferingChangedEvent
BufferingChangedEvent()=delete
DrmMessageEvent::DrmMessageEvent
DrmMessageEvent()=delete
TimedMetadataEvent::getContent
const std::string & getContent() const
Get Content.
Definition: AampEvent.cpp:719
AAMP_EVENT_AD_COMPLETED
@ AAMP_EVENT_AD_COMPLETED
Definition: AampEvent.h:70
DrmMessageEvent
Class for the DRM Message Event.
Definition: AampEvent.h:1897
MediaErrorEvent::mShouldRetry
bool mShouldRetry
Definition: AampEvent.h:539
AAMPEvent::AAMPEvent
AAMPEvent()
AAMPEvent Constructor.
Definition: AampEvent.h:465
ContentProtectionDataEvent::~ContentProtectionDataEvent
virtual ~ContentProtectionDataEvent()
ContentProtectionDataEvent Destructor.
Definition: AampEvent.h:2107
MediaMetadataEvent::mDrmType
std::string mDrmType
Definition: AampEvent.h:757
BitrateChangeEvent::mCappedProfile
bool mCappedProfile
Definition: AampEvent.h:1030
MediaMetadataEvent::mSupportedSpeeds
std::vector< float > mSupportedSpeeds
Definition: AampEvent.h:755
ID3MetadataEvent::mMetadata
std::vector< uint8_t > mMetadata
Definition: AampEvent.h:1816
AdResolvedEvent::mDurationMs
uint64_t mDurationMs
Definition: AampEvent.h:1621
MediaMetadataEvent::isLive
bool isLive() const
Check for Live content or VOD.
Definition: AampEvent.cpp:479
AAMP_TUNE_UNSUPPORTED_STREAM_TYPE
@ AAMP_TUNE_UNSUPPORTED_STREAM_TYPE
Definition: AampEvent.h:129
AAMP_EVENT_SYNC_MODE
@ AAMP_EVENT_SYNC_MODE
Definition: AampEvent.h:100
AAMP_TUNE_FAILURE_UNKNOWN
@ AAMP_TUNE_FAILURE_UNKNOWN
Definition: AampEvent.h:147
TuneProfilingEvent
Class for the Tune Profilng Event.
Definition: AampEvent.h:1335
eSTATE_STOPPING
@ eSTATE_STOPPING
Definition: AampEvent.h:167
AdPlacementEvent::mErrorCode
int mErrorCode
Definition: AampEvent.h:1714
AdPlacementEvent::AdPlacementEvent
AdPlacementEvent()=delete
BufferingChangedEvent::buffering
bool buffering() const
Get Buffering Status.
Definition: AampEvent.cpp:851
BlockedEvent
Class for the BlockedEvent event.
Definition: AampEvent.h:1928
AdResolvedEvent::AdResolvedEvent
AdResolvedEvent()=delete
BufferingChangedEvent::~BufferingChangedEvent
virtual ~BufferingChangedEvent()
BufferingChangedEvent Destructor.
Definition: AampEvent.h:1385
BitrateChangeEvent::mAspectRatioWidth
int mAspectRatioWidth
Definition: AampEvent.h:1034
AAMP_TUNE_DRM_INIT_FAILED
@ AAMP_TUNE_DRM_INIT_FAILED
Definition: AampEvent.h:122
MetricsDataEvent
Class for the Metrics Data event.
Definition: AampEvent.h:1768
AAMP_TUNE_INVALID_DRM_KEY
@ AAMP_TUNE_INVALID_DRM_KEY
Definition: AampEvent.h:128
DrmMessageEvent::~DrmMessageEvent
virtual ~DrmMessageEvent()
DrmMessageEvent Destructor.
Definition: AampEvent.h:1916
AnomalyReportEvent::mSeverity
int mSeverity
Definition: AampEvent.h:1549
HTTPResponseHeaderEvent::~HTTPResponseHeaderEvent
virtual ~HTTPResponseHeaderEvent()
HTTPResponseHeaderEvent Destructor.
Definition: AampEvent.h:2019
AAMP_EVENT_DEFAULT_MODE
@ AAMP_EVENT_DEFAULT_MODE
Definition: AampEvent.h:99
ProgressEvent::mSpeed
float mSpeed
Definition: AampEvent.h:642
SeekedEvent::mPosition
double mPosition
Definition: AampEvent.h:1308
AAMP_EVENT_WATERMARK_SESSION_UPDATE
@ AAMP_EVENT_WATERMARK_SESSION_UPDATE
Definition: AampEvent.h:87
ProgressEvent::mStart
double mStart
Definition: AampEvent.h:640
AAMP_TUNE_DRM_SESSIONID_EMPTY
@ AAMP_TUNE_DRM_SESSIONID_EMPTY
Definition: AampEvent.h:124
AnomalyReportEvent::getSeverity
int getSeverity() const
Get Severity.
Definition: AampEvent.cpp:1044
eSTATE_BLOCKED
@ eSTATE_BLOCKED
Definition: AampEvent.h:172
AnomalyReportEvent::mMsg
std::string mMsg
Definition: AampEvent.h:1550
SpeedChangedEvent::~SpeedChangedEvent
virtual ~SpeedChangedEvent()
SpeedChangedEvent Destructor.
Definition: AampEvent.h:624
WatermarkSessionUpdateEvent
Class for the watermarkSession event.
Definition: AampEvent.h:2037
MediaMetadataEvent::getDuration
long getDuration() const
Get Duration.
Definition: AampEvent.cpp:344
AAMP_TUNE_AUTHORISATION_FAILURE
@ AAMP_TUNE_AUTHORISATION_FAILURE
Definition: AampEvent.h:118
SupportedSpeedsChangedEvent::~SupportedSpeedsChangedEvent
virtual ~SupportedSpeedsChangedEvent()
SupportedSpeedsChangedEvent Destructor.
Definition: AampEvent.h:1281
AdPlacementEvent::getAdId
const std::string & getAdId() const
Get Ad's Identifier.
Definition: AampEvent.cpp:1172
MediaMetadataEvent::mHeight
int mHeight
Definition: AampEvent.h:753
MediaMetadataEvent::getLanguages
const std::vector< std::string > & getLanguages() const
Get Languages.
Definition: AampEvent.cpp:372
MediaMetadataEvent::getAudioMixType
const std::string & getAudioMixType() const
returns AudioMixType
Definition: AampEvent.h:994
VideoScanType
VideoScanType
VideoScanType - Progressive/Interlaced.
Definition: AampEvent.h:190
AdPlacementEvent::getErrorCode
int getErrorCode() const
Get Error Code.
Definition: AampEvent.cpp:1212
AAMP_EVENT_ENTERING_LIVE
@ AAMP_EVENT_ENTERING_LIVE
Definition: AampEvent.h:56
MediaMetadataEvent::SetAudioMetaData
void SetAudioMetaData(const std::string &audioCodec, const std::string &mixType, bool isAtmos)
Sets additional metadata for Audio.
Definition: AampEvent.cpp:515
MediaMetadataEvent::mAudioMixType
std::string mAudioMixType
Definition: AampEvent.h:775
eSTATE_PREPARED
@ eSTATE_PREPARED
Definition: AampEvent.h:162
eSTATE_PREPARING
@ eSTATE_PREPARING
Definition: AampEvent.h:161
TimedMetadataEvent::mContent
std::string mContent
Definition: AampEvent.h:1140
SupportedSpeedsChangedEvent::mSupportedSpeeds
std::vector< float > mSupportedSpeeds
Definition: AampEvent.h:1259
TuneProfilingEvent::getProfilingData
const std::string & getProfilingData() const
Get Tune profiling data.
Definition: AampEvent.cpp:832
SpeedChangedEvent::mRate
float mRate
Definition: AampEvent.h:607
eSTATE_ERROR
@ eSTATE_ERROR
Definition: AampEvent.h:170
DrmMetaDataEvent::setSecManagerReasonCode
void setSecManagerReasonCode(int32_t code)
Get Secmanager response code.
Definition: AampEvent.cpp:972
ProgressEvent::getSpeed
float getSpeed() const
Get Speed.
Definition: AampEvent.cpp:270
BulkTimedMetadataEvent::BulkTimedMetadataEvent
BulkTimedMetadataEvent()=delete
StateChangedEvent
Class for the Player State Changed event.
Definition: AampEvent.h:1224
AAMP_EVENT_PLAYLIST_INDEXED
@ AAMP_EVENT_PLAYLIST_INDEXED
Definition: AampEvent.h:51
AAMP_EVENT_STATE_CHANGED
@ AAMP_EVENT_STATE_CHANGED
Definition: AampEvent.h:60
MediaErrorEvent::~MediaErrorEvent
virtual ~MediaErrorEvent()
MediaErrorEvent Destructor.
Definition: AampEvent.h:563
BitrateChangeEvent::getAspectRatioWidth
int getAspectRatioWidth() const
Get Aspect Ratio Width.
Definition: AampEvent.cpp:649
BitrateChangeEvent::mDescription
std::string mDescription
Definition: AampEvent.h:1025
MediaErrorEvent::getFailure
AAMPTuneFailure getFailure() const
Get Failure Type.
Definition: AampEvent.cpp:134
SeekedEvent::getPosition
double getPosition() const
Get position.
Definition: AampEvent.cpp:813
MediaMetadataEvent::mFrameRate
float mFrameRate
Definition: AampEvent.h:764
MediaErrorEvent::mBusinessStatus
int32_t mBusinessStatus
Definition: AampEvent.h:543
ProgressEvent::mPosition
double mPosition
Definition: AampEvent.h:639
AAMP_EVENT_SPEEDS_CHANGED
@ AAMP_EVENT_SPEEDS_CHANGED
Definition: AampEvent.h:61
ProgressEvent::~ProgressEvent
virtual ~ProgressEvent()
ProgressEvent Destructor.
Definition: AampEvent.h:668
MediaMetadataEvent::mAudioCodec
std::string mAudioCodec
Definition: AampEvent.h:774
AnomalyReportEvent
Class for the Anomaly Report Event.
Definition: AampEvent.h:1547
SupportedSpeedsChangedEvent::operator=
SupportedSpeedsChangedEvent & operator=(const SupportedSpeedsChangedEvent &)=delete
assignment operator disabled
AAMP_EVENT_BLOCKED
@ AAMP_EVENT_BLOCKED
Definition: AampEvent.h:84
BitrateChangeEvent::getDisplayHeight
int getDisplayHeight() const
Get output tv display Height.
Definition: AampEvent.cpp:629
AAMP_TUNE_INIT_FAILED_MANIFEST_DNLD_ERROR
@ AAMP_TUNE_INIT_FAILED_MANIFEST_DNLD_ERROR
Definition: AampEvent.h:111
MetricsDataEvent::mMetricsDataType
MetricsDataType mMetricsDataType
Definition: AampEvent.h:1770
WebVttCueEvent::~WebVttCueEvent
virtual ~WebVttCueEvent()
WebVttCueEvent Destructor.
Definition: AampEvent.h:1604
AAMP_TUNE_INVALID_MANIFEST_FAILURE
@ AAMP_TUNE_INVALID_MANIFEST_FAILURE
Definition: AampEvent.h:144
BulkTimedMetadataEvent
Class for the Bulk TimedMetadata Event.
Definition: AampEvent.h:1193
BitrateChangeEvent::mTime
int mTime
Definition: AampEvent.h:1023
AAMP_TUNE_FRAGMENT_DOWNLOAD_FAILURE
@ AAMP_TUNE_FRAGMENT_DOWNLOAD_FAILURE
Definition: AampEvent.h:119
BitrateChangeEvent::getWidth
int getWidth() const
Get Width.
Definition: AampEvent.cpp:569
AAMP_EVENT_AD_PLACEMENT_PROGRESS
@ AAMP_EVENT_AD_PLACEMENT_PROGRESS
Definition: AampEvent.h:80
DrmMetaDataEvent::mResponseCode
long mResponseCode
Definition: AampEvent.h:1401
BitrateChangeEvent::getFrameRate
double getFrameRate() const
Get Frame Rate.
Definition: AampEvent.cpp:589
AAMP_EVENT_SPEED_CHANGED
@ AAMP_EVENT_SPEED_CHANGED
Definition: AampEvent.h:49
SupportedSpeedsChangedEvent::SupportedSpeedsChangedEvent
SupportedSpeedsChangedEvent()
SupportedSpeedsChangedEvent Constructor.
Definition: AampEvent.cpp:765
CCHandleEvent
Class for the Closed Caption Handle event.
Definition: AampEvent.h:718
AAMPEventMode
AAMPEventMode
AAMP event modes.
Definition: AampEvent.h:97
WatermarkSessionUpdateEvent::mSessionHandle
uint32_t mSessionHandle
Definition: AampEvent.h:2039
MediaErrorEvent
Class for the Media Error event.
Definition: AampEvent.h:534
ContentProtectionDataEvent
Class for the Content Protection Data Update Event on Dynamic Key Rotation.
Definition: AampEvent.h:2086
eSTATE_INITIALIZING
@ eSTATE_INITIALIZING
Definition: AampEvent.h:159
AAMP_EVENT_AD_RESOLVED
@ AAMP_EVENT_AD_RESOLVED
Definition: AampEvent.h:74
AAMP_EVENT_AUDIO_TRACKS_CHANGED
@ AAMP_EVENT_AUDIO_TRACKS_CHANGED
Definition: AampEvent.h:66
AnomalyReportEvent::getMessage
const std::string & getMessage() const
Get Anomaly Message.
Definition: AampEvent.cpp:1054
ContentGapEvent::mTime
double mTime
Definition: AampEvent.h:1963
DrmMetaDataEvent::getSecclientError
bool getSecclientError() const
Get secclient error status.
Definition: AampEvent.cpp:1017
AdResolvedEvent::getResolveStatus
bool getResolveStatus() const
Get Resolve Status.
Definition: AampEvent.cpp:1093
BitrateChangeEvent::mAspectRatioHeight
int mAspectRatioHeight
Definition: AampEvent.h:1035
MediaErrorEvent::mCode
int mCode
Definition: AampEvent.h:537
MediaMetadataEvent::mIsLive
bool mIsLive
Definition: AampEvent.h:756
BitrateChangeEvent::getAspectRatioHeight
int getAspectRatioHeight() const
Get Aspect Ratio Height.
Definition: AampEvent.cpp:659
AAMP_EVENT_JS_EVENT
@ AAMP_EVENT_JS_EVENT
Definition: AampEvent.h:54
MediaMetadataEvent::mHasDrm
bool mHasDrm
Definition: AampEvent.h:754
AAMP_EVENT_CONTENT_PROTECTION_DATA_UPDATE
@ AAMP_EVENT_CONTENT_PROTECTION_DATA_UPDATE
Definition: AampEvent.h:88
ProgressEvent::mEnd
double mEnd
Definition: AampEvent.h:641
AAMPEvent
Structure of the AAMP events. Recommend new AAMP integration layers to use AAMPEventObject based list...
Definition: AampEvent.h:204
AAMP_TUNE_DRM_DECRYPT_FAILED
@ AAMP_TUNE_DRM_DECRYPT_FAILED
Definition: AampEvent.h:135
WebVttCueEvent
Class for the Web VTT Cue Event.
Definition: AampEvent.h:1585
DrmMetaDataEvent::getAccessStatusValue
int getAccessStatusValue() const
Get Access Status.
Definition: AampEvent.cpp:908
AAMP_EVENT_TEXT_TRACKS_CHANGED
@ AAMP_EVENT_TEXT_TRACKS_CHANGED
Definition: AampEvent.h:67
ID3MetadataEvent::getEventDuration
uint32_t getEventDuration() const
Get eventDuration.
Definition: AampEvent.cpp:1301
DrmMessageEvent::getMessage
const std::string & getMessage() const
Get DRM Message.
Definition: AampEvent.cpp:1370
AAMPEvent::type
AAMPEventType type
Definition: AampEvent.h:206
MediaMetadataEvent::mHdrType
std::string mHdrType
Definition: AampEvent.h:769
ID3MetadataEvent::getTimeScale
uint32_t getTimeScale() const
Get TimeScale value.
Definition: AampEvent.cpp:1291
TimedMetadataEvent::TimedMetadataEvent
TimedMetadataEvent()=delete
MediaMetadataEvent::addBitrate
void addBitrate(long bitrate)
Add a supported bitrate.
Definition: AampEvent.cpp:390
MediaMetadataEvent::isAtmos
bool isAtmos
Definition: AampEvent.h:776
AAMP_TUNE_FAILED_TO_GET_ACCESS_TOKEN
@ AAMP_TUNE_FAILED_TO_GET_ACCESS_TOKEN
Definition: AampEvent.h:132
SupportedSpeedsChangedEvent::getSupportedSpeeds
const std::vector< float > & getSupportedSpeeds() const
Get Supported Speeds.
Definition: AampEvent.cpp:784
BlockedEvent::getReason
const std::string & getReason() const
Get Description.
Definition: AampEvent.h:1954
MediaMetadataEvent::getAudioCodec
const std::string & getAudioCodec() const
Get AudioCodec.
Definition: AampEvent.h:987
AAMP_TUNE_DRM_DATA_BIND_FAILED
@ AAMP_TUNE_DRM_DATA_BIND_FAILED
Definition: AampEvent.h:123
AAMP_TUNE_INIT_FAILED_TRACK_SYNC_ERROR
@ AAMP_TUNE_INIT_FAILED_TRACK_SYNC_ERROR
Definition: AampEvent.h:116
AdPlacementEvent::getDuration
uint32_t getDuration() const
Get Ad's Duration.
Definition: AampEvent.cpp:1202
BitrateChangeEvent::mDisplayWidth
int mDisplayWidth
Definition: AampEvent.h:1031
AAMPEventObject::getType
AAMPEventType getType() const
Get Event Type.
Definition: AampEvent.cpp:114
ID3MetadataEvent::getSchemeIdUri
const std::string & getSchemeIdUri() const
Get schemeIdUri.
Definition: AampEvent.cpp:1341
MediaMetadataEvent::~MediaMetadataEvent
virtual ~MediaMetadataEvent()
MediaMetadataEvent Destructor.
Definition: AampEvent.h:799
AAMP_EVENT_TUNE_PROFILING
@ AAMP_EVENT_TUNE_PROFILING
Definition: AampEvent.h:63
AdResolvedEvent::getDuration
uint64_t getDuration() const
Get Duration.
Definition: AampEvent.cpp:1123
SpeedChangedEvent
Class for the Speed changed event.
Definition: AampEvent.h:605
AdPlacementEvent::mAdId
std::string mAdId
Definition: AampEvent.h:1710
ContentProtectionDataEvent::mKeyID
std::vector< uint8_t > mKeyID
Definition: AampEvent.h:2088
MediaMetadataEvent::mDuration
long mDuration
Definition: AampEvent.h:749
MediaErrorEvent::mSecManagerReasonCode
int32_t mSecManagerReasonCode
Definition: AampEvent.h:542
VTTCue
Data structure to hold a VTT cue.
Definition: vttCue.h:39
ProgressEvent::getBufferedDuration
double getBufferedDuration() const
Get Buffered Duration.
Definition: AampEvent.cpp:290
MediaMetadataEvent::hasDrm
bool hasDrm() const
Supports DRM or not.
Definition: AampEvent.cpp:440
AAMPTuneFailure
AAMPTuneFailure
AAMP playback error codes.
Definition: AampEvent.h:108
HTTPResponseHeaderEvent::getHeader
const std::string & getHeader() const
Get HTTP Response Header Name.
Definition: AampEvent.cpp:1420
DrmMetaDataEvent::mSecclientError
bool mSecclientError
Definition: AampEvent.h:1402
eSTATE_RELEASED
@ eSTATE_RELEASED
Definition: AampEvent.h:171
MetricsDataEvent::~MetricsDataEvent
virtual ~MetricsDataEvent()
MetricsDataEvent Destructor.
Definition: AampEvent.h:1791
ContentGapEvent::mDuration
double mDuration
Definition: AampEvent.h:1964
ContentGapEvent::~ContentGapEvent
virtual ~ContentGapEvent()
ContentGapEvent Destructor.
Definition: AampEvent.h:1981
WebVttCueEvent::mCueData
VTTCue * mCueData
Definition: AampEvent.h:1587
MediaMetadataEvent::SetVideoMetaData
void SetVideoMetaData(float frameRate, VideoScanType videoScanType, int aspectRatioWidth, int aspectRatioHeight, const std::string &videoCodec, const std::string &hdrType, const std::string &pcRating, int ssi)
Sets additional metadata for video.
Definition: AampEvent.cpp:497
MediaErrorEvent::getCode
int getCode() const
Get Error Code.
Definition: AampEvent.cpp:144
MediaMetadataEvent::setMediaFormat
void setMediaFormat(const std::string &mediaFormatName)
Set Media format type.
Definition: AampEvent.h:1014
AAMP_EVENT_EOS
@ AAMP_EVENT_EOS
Definition: AampEvent.h:50
DrmMetaDataEvent::~DrmMetaDataEvent
virtual ~DrmMetaDataEvent()
DrmMetaDataEvent Destructor.
Definition: AampEvent.h:1426
DrmMetaDataEvent::mAccessStatusValue
int mAccessStatusValue
Definition: AampEvent.h:1400
MediaMetadataEvent::mPCRating
std::string mPCRating
Definition: AampEvent.h:761
AAMP_TUNE_DEVICE_NOT_PROVISIONED
@ AAMP_TUNE_DEVICE_NOT_PROVISIONED
Definition: AampEvent.h:142
MediaMetadataEvent::getWidth
int getWidth() const
Get Width.
Definition: AampEvent.cpp:420
AAMP_EVENT_ID3_METADATA
@ AAMP_EVENT_ID3_METADATA
Definition: AampEvent.h:82
BitrateChangeEvent::getCappedProfileStatus
bool getCappedProfileStatus() const
Get Capped Profile status.
Definition: AampEvent.cpp:609
AAMP_EVENT_TUNED
@ AAMP_EVENT_TUNED
Definition: AampEvent.h:47
MetricsDataEvent::getMetricUUID
const std::string & getMetricUUID() const
Get Metric UUID.
Definition: AampEvent.cpp:1242
AAMP_EVENT_REPORT_METRICS_DATA
@ AAMP_EVENT_REPORT_METRICS_DATA
Definition: AampEvent.h:81
TimedMetadataEvent::~TimedMetadataEvent
virtual ~TimedMetadataEvent()
TimedMetadataEvent Destructor.
Definition: AampEvent.h:1161
MediaMetadataEvent::mProgramStartTime
double mProgramStartTime
Definition: AampEvent.h:758
MediaMetadataEvent::getSupportedSpeeds
const std::vector< float > & getSupportedSpeeds() const
Get Supported Speeds.
Definition: AampEvent.cpp:458
MediaMetadataEvent::getAspectRatioWidth
int getAspectRatioWidth() const
Get AspectRatioWidth.
Definition: AampEvent.h:959
BulkTimedMetadataEvent::mContent
std::string mContent
Definition: AampEvent.h:1195
AnomalyReportEvent::~AnomalyReportEvent
virtual ~AnomalyReportEvent()
AnomalyReportEvent Destructor.
Definition: AampEvent.h:1568
AAMP_TUNE_LICENCE_REQUEST_FAILED
@ AAMP_TUNE_LICENCE_REQUEST_FAILED
Definition: AampEvent.h:127
DrmMessageEvent::mMessage
std::string mMessage
Definition: AampEvent.h:1899
AAMP_TUNE_CORRUPT_DRM_METADATA
@ AAMP_TUNE_CORRUPT_DRM_METADATA
Definition: AampEvent.h:134
AAMP_TUNE_CONTENT_NOT_FOUND
@ AAMP_TUNE_CONTENT_NOT_FOUND
Definition: AampEvent.h:140
ContentGapEvent
Class for the Content gap event.
Definition: AampEvent.h:1961
DrmMetaDataEvent::getBusinessStatus
int32_t getBusinessStatus() const
Get Response Code.
Definition: AampEvent.cpp:956
AAMP_TUNE_UNSUPPORTED_AUDIO_TYPE
@ AAMP_TUNE_UNSUPPORTED_AUDIO_TYPE
Definition: AampEvent.h:130
MediaMetadataEvent::getSupportedSpeedCount
int getSupportedSpeedCount() const
Get Supported Speed count.
Definition: AampEvent.cpp:468
TimedMetadataEvent
Class for the Timed Metadata event.
Definition: AampEvent.h:1134
MediaMetadataEvent::getAspectRatioHeight
int getAspectRatioHeight() const
Get AspectRatioHeight.
Definition: AampEvent.h:966
MediaErrorEvent::mFailure
AAMPTuneFailure mFailure
Definition: AampEvent.h:536
MediaMetadataEvent::addLanguage
void addLanguage(const std::string &lang)
Add a supported language.
Definition: AampEvent.cpp:362
AdReservationEvent::mPosition
uint64_t mPosition
Definition: AampEvent.h:1672
AAMP_EVENT_AD_RESERVATION_START
@ AAMP_EVENT_AD_RESERVATION_START
Definition: AampEvent.h:75
MediaMetadataEvent::mBitrates
std::vector< long > mBitrates
Definition: AampEvent.h:751
MediaErrorEvent::mSecManagerClass
int32_t mSecManagerClass
Definition: AampEvent.h:541
DrmMetaDataEvent::ConvertToVerboseErrorCode
void ConvertToVerboseErrorCode(int32_t httpCode, int32_t httpExtStatusCode)
Convert the secclient DRM error code into secmanager error code to have a unified verbose error repor...
Definition: AampEvent.cpp:980
AAMPEventObject::operator=
AAMPEventObject & operator=(const AAMPEventObject &)=delete
assignment operator disabled
ID3MetadataEvent::getValue
const std::string & getValue() const
Get value.
Definition: AampEvent.cpp:1351
ProgressEvent::getSEITimeCode
const char * getSEITimeCode() const
Get SEI Time Code information.
Definition: AampEvent.cpp:300
PrivAAMPState
PrivAAMPState
Mapping all required status codes based on JS player requirement. These requirements may be forced by...
Definition: AampEvent.h:156
MediaErrorEvent::mDescription
std::string mDescription
Definition: AampEvent.h:538
MediaMetadataEvent::mWidth
int mWidth
Definition: AampEvent.h:752
BitrateChangeEvent::mVideoScanType
VideoScanType mVideoScanType
Definition: AampEvent.h:1033
AAMP_EVENT_CC_HANDLE_RECEIVED
@ AAMP_EVENT_CC_HANDLE_RECEIVED
Definition: AampEvent.h:53
MediaMetadataEvent
Class for the Media Metadata event.
Definition: AampEvent.h:747
SpeedChangedEvent::SpeedChangedEvent
SpeedChangedEvent()=delete
MediaMetadataEvent::mSsi
int mSsi
Definition: AampEvent.h:762
DrmMetaDataEvent::setAccessStatusValue
void setAccessStatusValue(int value)
Set Access Status Value.
Definition: AampEvent.cpp:916
ProgressEvent::mDuration
double mDuration
Definition: AampEvent.h:638
DrmMetaDataEvent::SetVerboseErrorCode
void SetVerboseErrorCode(int32_t statusCode, int32_t reasonCode, int32_t businessStatus)
Set the secmanager DRM error responses.
Definition: AampEvent.cpp:1005
AAMPEvent::AAMPEvent
AAMPEvent(AAMPEventType t)
AAMPEvent Constructor.
Definition: AampEvent.h:475
BitrateChangeEvent::mHeight
int mHeight
Definition: AampEvent.h:1027
DrmMetaDataEvent::getAccessStatus
const std::string & getAccessStatus() const
Get Access Status.
Definition: AampEvent.cpp:890
ProgressEvent::mSEITimecode
std::string mSEITimecode
Definition: AampEvent.h:645
MediaMetadataEvent::getSsi
int getSsi() const
get Signal strength indicator
Definition: AampEvent.h:938
AdReservationEvent::mAdBreakId
std::string mAdBreakId
Definition: AampEvent.h:1671
DrmMetaDataEvent::mFailure
AAMPTuneFailure mFailure
Definition: AampEvent.h:1398
WatermarkSessionUpdateEvent::getSessionHandle
uint32_t getSessionHandle() const
Get session handle.
Definition: AampEvent.h:2066
WatermarkSessionUpdateEvent::~WatermarkSessionUpdateEvent
virtual ~WatermarkSessionUpdateEvent()
WatermarkSessionUpdateEvent Destructor.
Definition: AampEvent.h:2059
BitrateChangeEvent::~BitrateChangeEvent
virtual ~BitrateChangeEvent()
BitrateChangeEvent Destructor.
Definition: AampEvent.h:1064
AdPlacementEvent::mDuration
uint32_t mDuration
Definition: AampEvent.h:1713
AAMP_EVENT_WEBVTT_CUE_DATA
@ AAMP_EVENT_WEBVTT_CUE_DATA
Definition: AampEvent.h:73
AAMP_EVENT_MEDIA_METADATA
@ AAMP_EVENT_MEDIA_METADATA
Definition: AampEvent.h:55
DrmMetaDataEvent::mSecManagerReasonCode
int32_t mSecManagerReasonCode
Definition: AampEvent.h:1405
AdReservationEvent::getPosition
uint64_t getPosition() const
Get Ad's Position.
Definition: AampEvent.cpp:1152
eSTATE_BUFFERING
@ eSTATE_BUFFERING
Definition: AampEvent.h:163
StateChangedEvent::StateChangedEvent
StateChangedEvent()=delete
SpeedChangedEvent::getRate
float getRate() const
Get Rate.
Definition: AampEvent.cpp:206
TimedMetadataEvent::getId
const std::string & getId() const
Get Timed Metadata Id.
Definition: AampEvent.cpp:689
MediaMetadataEvent::getProgramStartTime
double getProgramStartTime() const
Get Program/Availability Start Time.
Definition: AampEvent.cpp:354
TimedMetadataEvent::mTime
double mTime
Definition: AampEvent.h:1138
AAMPEventType
AAMPEventType
Type of the events sending to the JSPP player.
Definition: AampEvent.h:44
ContentProtectionDataEvent::mStreamType
std::string mStreamType
Definition: AampEvent.h:2089
MediaMetadataEvent::getMediaFormat
const std::string & getMediaFormat()
Get Media format type.
Definition: AampEvent.h:1007
StateChangedEvent::~StateChangedEvent
virtual ~StateChangedEvent()
StateChangedEvent Destructor.
Definition: AampEvent.h:1243
HTTPResponseHeaderEvent::mHeaderResponse
std::string mHeaderResponse
Definition: AampEvent.h:2001
AAMP_TUNE_DRM_KEY_UPDATE_FAILED
@ AAMP_TUNE_DRM_KEY_UPDATE_FAILED
Definition: AampEvent.h:141
AAMP_TUNE_PLAYBACK_STALLED
@ AAMP_TUNE_PLAYBACK_STALLED
Definition: AampEvent.h:139
HTTPResponseHeaderEvent::mHeaderName
std::string mHeaderName
Definition: AampEvent.h:2000
DrmMetaDataEvent::mSecManagerClass
int32_t mSecManagerClass
Definition: AampEvent.h:1404
eSTATE_IDLE
@ eSTATE_IDLE
Definition: AampEvent.h:158
MediaMetadataEvent::getHdrType
const std::string & getHdrType() const
Get HdrType.
Definition: AampEvent.h:980
DrmMetaDataEvent::setResponseCode
void setResponseCode(long code)
Set Response Code.
Definition: AampEvent.cpp:964
ProgressEvent::getPosition
double getPosition() const
Get Current Position.
Definition: AampEvent.cpp:240
TimedMetadataEvent::getTime
double getTime() const
Get Time.
Definition: AampEvent.cpp:699
AAMP_EVENT_AD_PLACEMENT_START
@ AAMP_EVENT_AD_PLACEMENT_START
Definition: AampEvent.h:77
MediaMetadataEvent::getFrameRate
float getFrameRate() const
get framerate
Definition: AampEvent.h:945
AAMP_TUNE_INIT_FAILED_PLAYLIST_AUDIO_DNLD_ERROR
@ AAMP_TUNE_INIT_FAILED_PLAYLIST_AUDIO_DNLD_ERROR
Definition: AampEvent.h:115
AnomalyReportEvent::AnomalyReportEvent
AnomalyReportEvent()=delete
MediaMetadataEvent::mLanguages
std::vector< std::string > mLanguages
Definition: AampEvent.h:750
ProgressEvent::getPTS
long long getPTS() const
Get Video PTS.
Definition: AampEvent.cpp:280
ProgressEvent::getEnd
double getEnd() const
Get End Position.
Definition: AampEvent.cpp:260
WatermarkSessionUpdateEvent::WatermarkSessionUpdateEvent
WatermarkSessionUpdateEvent(uint32_t sessionHandle, uint32_t status, const std::string &system)
WatermarkSessionUpdateEvent Constructor.
Definition: AampEvent.h:2053
BitrateChangeEvent::mFrameRate
double mFrameRate
Definition: AampEvent.h:1028
ID3MetadataEvent
Class for the ID3 Metadata Event.
Definition: AampEvent.h:1814
AAMPEventObject
Base class of all AAMP events. New AAMP event object for ease of use While defining new event objects...
Definition: AampEvent.h:496
AAMP_EVENT_TIMED_METADATA
@ AAMP_EVENT_TIMED_METADATA
Definition: AampEvent.h:58
AdResolvedEvent::mResolveStatus
bool mResolveStatus
Definition: AampEvent.h:1618
ProgressEvent::getStart
double getStart() const
Get Start Position.
Definition: AampEvent.cpp:250
AdPlacementEvent::~AdPlacementEvent
virtual ~AdPlacementEvent()
AdPlacementEvent Destructor.
Definition: AampEvent.h:1736
AAMP_TUNE_MANIFEST_REQ_FAILED
@ AAMP_TUNE_MANIFEST_REQ_FAILED
Definition: AampEvent.h:117
AAMP_EVENT_SEEKED
@ AAMP_EVENT_SEEKED
Definition: AampEvent.h:62
DrmMetaDataEvent::setAccessStatus
void setAccessStatus(const std::string &status)
Set Access Status.
Definition: AampEvent.cpp:898
AAMPEvent::operator=
AAMPEvent & operator=(const AAMPEvent &)=delete
assignment operator disabled
MediaMetadataEvent::getLanguagesCount
int getLanguagesCount() const
Get Language Count.
Definition: AampEvent.cpp:382
AAMP_EVENT_PROGRESS
@ AAMP_EVENT_PROGRESS
Definition: AampEvent.h:52
DrmMetaDataEvent::getSecManagerReasonCode
int32_t getSecManagerReasonCode() const
Get Response Code.
Definition: AampEvent.cpp:936
AdResolvedEvent
Class for ad fulfill status event.
Definition: AampEvent.h:1616
ProgressEvent::ProgressEvent
ProgressEvent()=delete
BitrateChangeEvent::getDescription
const std::string & getDescription() const
Get Description.
Definition: AampEvent.cpp:559
BitrateChangeEvent::getHeight
int getHeight() const
Get Height.
Definition: AampEvent.cpp:579
MediaMetadataEvent::getAtmosInfo
bool getAtmosInfo() const
Get Atmos info.
Definition: AampEvent.h:1001
MetricsDataEvent::MetricsDataEvent
MetricsDataEvent()=delete
AAMP_TUNE_INIT_FAILED_MANIFEST_CONTENT_ERROR
@ AAMP_TUNE_INIT_FAILED_MANIFEST_CONTENT_ERROR
Definition: AampEvent.h:112
BitrateChangeEvent::getDisplayWidth
int getDisplayWidth() const
Get display width.
Definition: AampEvent.cpp:619
ContentGapEvent::ContentGapEvent
ContentGapEvent()=delete
TuneProfilingEvent::TuneProfilingEvent
TuneProfilingEvent()=delete
ID3MetadataEvent::getTimestampOffset
uint64_t getTimestampOffset() const
Get timestampOffset.
Definition: AampEvent.cpp:1331
BitrateChangeEvent::mPosition
double mPosition
Definition: AampEvent.h:1029
AAMP_EVENT_ALL_EVENTS
@ AAMP_EVENT_ALL_EVENTS
Definition: AampEvent.h:46
BufferingChangedEvent
Class for the Buffering Changed event.
Definition: AampEvent.h:1366
BufferingChangedEvent::mBuffering
bool mBuffering
Definition: AampEvent.h:1368
ID3MetadataEvent::getMetadata
const std::vector< uint8_t > & getMetadata() const
Get ID3 metdata.
Definition: AampEvent.cpp:1271
HTTPResponseHeaderEvent
Class for the HTTP Response Header event.
Definition: AampEvent.h:1998
DrmMetaDataEvent::setSecclientError
void setSecclientError(bool secclientError)
Set secclient error status.
Definition: AampEvent.cpp:1025
AAMP_TUNE_HDCP_COMPLIANCE_ERROR
@ AAMP_TUNE_HDCP_COMPLIANCE_ERROR
Definition: AampEvent.h:143
AAMP_EVENT_HTTP_RESPONSE_HEADER
@ AAMP_EVENT_HTTP_RESPONSE_HEADER
Definition: AampEvent.h:86
eSTATE_PLAYING
@ eSTATE_PLAYING
Definition: AampEvent.h:166
MediaMetadataEvent::getVideoScanType
VideoScanType getVideoScanType() const
Get VideoScanType.
Definition: AampEvent.h:952
WatermarkSessionUpdateEvent::getSystem
const std::string & getSystem() const
Get System.
Definition: AampEvent.h:2080
WatermarkSessionUpdateEvent::mStatus
uint32_t mStatus
Definition: AampEvent.h:2040
SupportedSpeedsChangedEvent::addSupportedSpeed
void addSupportedSpeed(float speed)
Add a Supported Speed.
Definition: AampEvent.cpp:774
TimedMetadataEvent::mId
std::string mId
Definition: AampEvent.h:1137
BitrateChangeEvent::getBitrate
long getBitrate() const
Get Bitrate.
Definition: AampEvent.cpp:549
AAMP_EVENT_BITRATE_CHANGED
@ AAMP_EVENT_BITRATE_CHANGED
Definition: AampEvent.h:57
eSTATE_COMPLETE
@ eSTATE_COMPLETE
Definition: AampEvent.h:169
AdResolvedEvent::getStart
uint64_t getStart() const
Get Start Positon.
Definition: AampEvent.cpp:1113
BitrateChangeEvent::getPosition
double getPosition() const
Get Position.
Definition: AampEvent.cpp:599
AAMP_EVENT_AD_PLACEMENT_ERROR
@ AAMP_EVENT_AD_PLACEMENT_ERROR
Definition: AampEvent.h:79
AAMP_TUNE_DRM_UNSUPPORTED
@ AAMP_TUNE_DRM_UNSUPPORTED
Definition: AampEvent.h:136
WatermarkSessionUpdateEvent::mSystem
std::string mSystem
Definition: AampEvent.h:2041
BlockedEvent::mReason
std::string mReason
Definition: AampEvent.h:1930
MediaMetadataEvent::getBitrates
const std::vector< long > & getBitrates() const
Get Bitrates.
Definition: AampEvent.cpp:400
MediaMetadataEvent::MediaMetadataEvent
MediaMetadataEvent()=delete
DrmMetaDataEvent
Class for the Drm Metadata event.
Definition: AampEvent.h:1396
MetricsDataEvent::getMetricsData
const std::string & getMetricsData() const
Get Metrics Data.
Definition: AampEvent.cpp:1252
TuneProfilingEvent::mProfilingData
std::string mProfilingData
Definition: AampEvent.h:1337
eSTATE_SEEKING
@ eSTATE_SEEKING
Definition: AampEvent.h:165
AdReservationEvent
Class for ad reservation events.
Definition: AampEvent.h:1669
AAMP_TUNE_CORRUPT_DRM_DATA
@ AAMP_TUNE_CORRUPT_DRM_DATA
Definition: AampEvent.h:133
ContentProtectionDataEvent::getStreamType
const std::string & getStreamType() const
Get Current Stream Type.
Definition: AampEvent.cpp:1463
AAMPEventObject::~AAMPEventObject
virtual ~AAMPEventObject()
AAMPEvent Destructor.
Definition: AampEvent.h:522
DrmMetaDataEvent::setFailure
void setFailure(AAMPTuneFailure failure)
Set Failure type.
Definition: AampEvent.cpp:880
ID3MetadataEvent::getMetadataSize
int getMetadataSize() const
Get ID3 metdata size.
Definition: AampEvent.cpp:1281
ContentGapEvent::getDuration
double getDuration() const
Get Duration.
Definition: AampEvent.cpp:1400
eVIDEOSCAN_INTERLACED
@ eVIDEOSCAN_INTERLACED
Definition: AampEvent.h:193