RDK Documentation (Open Sourced RDK Components)
AampEvent.cpp
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.cpp
22  * @brief Implementation of AAMPEventObject and derived class.
23  */
24 
25 #include "AampEvent.h"
26 #include "AampDefine.h"
27 #include <map>
28 #ifdef USE_SECCLIENT
29 #include "sec_client.h"
30 #endif
31 
32 #ifdef USE_SECCLIENT
33 //Lookup table to convert secclient error to secmanager error
34 std::map<const int32_t, std::pair<const int32_t, const int32_t>> secClientSeManagerErrorLookUp =
35 {
36  {SEC_CLIENT_RESULT_SUCCESS, {SECMANAGER_CLASS_RESULT_SUCCESS, SECMANAGER_SUCCESS}},
37  {SEC_CLIENT_RESULT_FAILURE, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
38  {SEC_CLIENT_RESULT_INVALID_PARAMETERS, {SECMANAGER_CLASS_RESULT_SECCLIENT_FAIL, 0}},
39  {SEC_CLIENT_RESULT_HTTP_RESULT_FAILURE_GENERIC, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_LICENSE_NETWORK_FAIL}},
40  {SEC_CLIENT_RESULT_HTTP_RESULT_FAILURE_TOO_MANY_REDIRECTS, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_LICENSE_NETWORK_FAIL}},
41  {SEC_CLIENT_RESULT_HTTP_RESULT_FAILURE_CONNECTIVITY, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_LICENSE_NETWORK_FAIL}},
42  {SEC_CLIENT_RESULT_HTTP_RESULT_FAILURE_HOST_RESOLUTION, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_LICENSE_NETWORK_FAIL}},
43  {SEC_CLIENT_RESULT_HTTP_RESULT_FAILURE_TIMEOUT, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_LICENSE_NETWORK_FAIL}},
44  {SEC_CLIENT_RESULT_HTTP_RESULT_FAILURE_TLS, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_LICENSE_NETWORK_FAIL}},
45  {SEC_CLIENT_RESULT_MAC_AUTH_NOT_PROVISIONED, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_MAC_TOKEN_NO_PROV}},
46  {SEC_CLIENT_RESULT_MONEYTRACE_MISSING_OR_MALFORMED, {SECMANAGER_CLASS_RESULT_SECCLIENT_FAIL, 0}},
47  {SEC_CLIENT_RESULT_REQUEST_CREATION_ERROR, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
48  {SEC_CLIENT_RESULT_MALFORMED_RESPONSE_ERROR, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
49  {SEC_CLIENT_RESULT_MALFORMED_CONFIGURATION_PARAMETER_ERROR,{SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
50  {SEC_CLIENT_RESULT_MEMORY_ERROR, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_MEMORY_ALLOCATION_ERROR}},
51  {SEC_CLIENT_RESULT_FAILED_TO_LOAD_SEC_LIBRARY_ERROR, {SECMANAGER_CLASS_RESULT_SECCLIENT_FAIL, 0}},
52  {SEC_CLIENT_RESULT_INVALID_LOAD_CONFIGURATION_ERROR, {SECMANAGER_CLASS_RESULT_SECCLIENT_FAIL, 0}},
53  {SEC_CLIENT_RESULT_INVALID_LOAD_CRYPTO_TYPE_ERROR, {SECMANAGER_CLASS_RESULT_SECCLIENT_FAIL, 0}},
54  {SEC_CLIENT_RESULT_INVALID_LOAD_TIMEOUT_ERROR, {SECMANAGER_CLASS_RESULT_SECCLIENT_FAIL, 0}},
55  {SEC_CLIENT_RESULT_JSON_ENCODING_ERROR, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
56  {SEC_CLIENT_RESULT_UNSUPPORTED_FEATURE, {SECMANAGER_CLASS_RESULT_SECCLIENT_FAIL, 0}},
57  {SEC_CLIENT_RESULT_WATERMARKING_NOT_REQUIRED, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
58  {SEC_CLIENT_RESULT_WATERMARKING_SESSION_DENIED, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
59  {SEC_CLIENT_RESULT_GENERAL_CRYPTOGRAPHIC_ERROR, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
60  {SEC_CLIENT_RESULT_UNKNOWN_CRYPTO_ENGINE, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
61  {SEC_CLIENT_RESULT_UNKNOWN_KEY_AGREEMENT_ALGO, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
62  {SEC_CLIENT_RESULT_INTERNAL_ERROR_EXPONENT, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
63  {SEC_CLIENT_RESULT_INTERNAL_ERROR_RANDOM, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
64  {SEC_CLIENT_RESULT_UNSUPPORTED_HASH_ALGORITHM, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
65  {SEC_CLIENT_RESULT_ERROR_CREATING_MAC_AUTH_HEADER, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
66  {SEC_CLIENT_RESULT_ERROR_GENERATING_KEY_PAIR, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
67  {SEC_CLIENT_RESULT_ERROR_GENERATING_DERIVED_KEYS, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
68  {SEC_CLIENT_RESULT_ERROR_GENERATING_MAC_VALUE, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
69  {SEC_CLIENT_RESULT_CLIENT_VERFICATION_ERROR, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
70  {SEC_CLIENT_RESULT_MISSING_SESSION_CREDENTIALS, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
71  {SEC_CLIENT_RESULT_ENCRYPTION_KEY_MISMATCH, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
72  {SEC_CLIENT_RESULT_PKCS7_SIGNATURE_ERROR, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_UNDEFINED_ERROR}}, // Undefined
73  {SEC_CLIENT_RESULT_CLIENT_AUTH_TOKEN_FAILURE, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_UNDEFINED_ERROR}}, // Undefined
74  {SEC_CLIENT_RESULT_MISSING_KEY_PROVISIONING_DATA, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_UNDEFINED_ERROR}}, // Undefined
75  {SEC_CLIENT_RESULT_MISSING_DEVICE_AUTH_DATA, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_UNDEFINED_ERROR}}, // Undefined
76  {SEC_CLIENT_RESULT_INVALID_CONFIGURATION_PARAMETER, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
77  {SEC_CLIENT_RESULT_INVALID_DEVICE_TOKEN_PARAMETER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_UNDEFINED_ERROR}}, // Undefined
78  {SEC_CLIENT_RESULT_INVALID_KEY_PROVISION_RESULT_PARAMETER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_UNDEFINED_ERROR}}, // Undefined
79  {SEC_CLIENT_RESULT_INVALID_DEVICE_AUTHENTICATION_RESULT_PARAMETER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_UNDEFINED_ERROR}}, // Undefined
80  {SEC_CLIENT_RESULT_INVALID_DEVICE_ATTRIBUTES_PARAMETER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_UNDEFINED_ERROR}}, // Undefined
81  {SEC_CLIENT_RESULT_INVALID_ACCESS_TOKEN_PARAMETER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_INVALID_ACCESS_TOKEN}},
82  {SEC_CLIENT_RESULT_INVALID_ACCESS_ATTRIBUTES_PARAMETER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_INVALID_ACCESS_ATTRIBUTE}},
83  {SEC_CLIENT_RESULT_INVALID_KEY_SYSTEM_PARAMETER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_INVALID_KEY_SYSTEM_PARAM}},
84  {SEC_CLIENT_RESULT_INVALID_LICENSE_REQUEST_PARAMETER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_INVALID_DRM_LICENSE_PARAM}},
85  {SEC_CLIENT_RESULT_INVALID_CONTENT_METADATA_PARAMETER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_INVALID_CONTENT_METADATA}},
86  {SEC_CLIENT_RESULT_INVALID_MEDIA_USAGE_PARAMETER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_INVALID_MEDIA_USAGE}},
87  {SEC_CLIENT_RESULT_INVALID_LICENSE_IDENTIFIER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_UNDEFINED_ERROR}}, // Undefined
88  {SEC_CLIENT_RESULT_INVALID_REQUEST_BODY, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_ENTITLEMENT_ERROR}}, // Undefined
89  {SEC_CLIENT_RESULT_INVALID_ACCOUNT_TOKEN_PARAMETER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_UNDEFINED_ERROR}}, // Undefined
90  {SEC_CLIENT_RESULT_INVALID_REQUEST_METADATA_PARAMETER, {SECMANAGER_CLASS_RESULT_SECCLIENT_FAIL, 0}},
91  {SEC_CLIENT_RESULT_INVALID_CONTENT_IDENTIFIER_PARAMETER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_UNDEFINED_ERROR}}, // Undefined
92  {SEC_CLIENT_RESULT_INVALID_DOWNLOADS_LIST_PARAMETER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_UNDEFINED_ERROR}}, // Undefined
93  {SEC_CLIENT_RESULT_INVALID_ACQUIRE_SAT_FUNCTION_PARAMETER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_UNDEFINED_ERROR}}, // Undefined
94  {SEC_CLIENT_RESULT_INVALID_WATERMARKING_SYSTEM_PARAMETER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_INVALID_WATERMARK_PARAMETER}},
95  {SEC_CLIENT_RESULT_INVALID_CONTENT_ATTRIBUTES_PARAMETER, {SECMANAGER_CLASS_RESULT_API_FAIL, SECMANAGER_REASON_API_INVALID_CONTENT_PARAMETER}},
96  {SEC_CLIENT_RESULT_UNSUPPORTED_OR_INVALID_WATERMARK_FEATURE, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}},
97  {SEC_CLIENT_RESULT_INVALID_WATERMARK_SESSION_RESPONSE, {SECMANAGER_CLASS_RESULT_DRM_FAIL, SECMANAGER_REASON_DRM_GENERAL_FAILURE}}
98 };
99 #endif
100 
101 /**
102  * @brief AAMPEventObject Constructor
103  */
104 AAMPEventObject::AAMPEventObject(AAMPEventType type): mType(type)
105 {
106 
107 }
108 
109 /**
110  * @brief Get Event Type
111  *
112  * @return Event Type
113  */
115 {
116  return mType;
117 }
118 
119 /**
120  * @brief MediaErrorEvent Constructor
121  */
122 MediaErrorEvent::MediaErrorEvent(AAMPTuneFailure failure, int code, const std::string &desc, bool shouldRetry, int classCode, int reason, int businessStatus):
123  AAMPEventObject(AAMP_EVENT_TUNE_FAILED), mFailure(failure), mCode(code),
124  mDescription(desc), mShouldRetry(shouldRetry), mSecManagerClass(classCode), mSecManagerReasonCode(reason), mBusinessStatus(businessStatus)
125 {
126 
127 }
128 
129 /**
130  * @brief Get Failure Type
131  *
132  * @return Tune failure type
133  */
135 {
136  return mFailure;
137 }
138 
139 /**
140  * @brief Get Error Code
141  *
142  * @return Tune error code
143  */
145 {
146  return mCode;
147 }
148 
149 /**
150  * @brief Get Description
151  *
152  * @return Error description
153  */
154 const std::string &MediaErrorEvent::getDescription() const
155 {
156  return mDescription;
157 }
158 
159 /**
160  * @brief Retry or not
161  *
162  * @return Retry or don't retry
163  */
165 {
166  return mShouldRetry;
167 }
168 
169 /**
170  * @fn getClass
171  */
172 int32_t MediaErrorEvent::getClass() const
173 {
174  return mSecManagerClass;
175 }
176 
177 /**
178  * @fn getReason
179  */
180 int32_t MediaErrorEvent::getReason() const
181 {
182  return mSecManagerReasonCode;
183 }
184 /**
185  * @fn getBusinessStatus
186  */
187 int32_t MediaErrorEvent::getBusinessStatus() const
188 {
189  return mBusinessStatus;
190 }
191 
192 /**
193  * @brief SpeedChangedEvent Constructor
194  */
197 {
198 
199 }
200 
201 /**
202  * @brief Get Rate
203  *
204  * @return New speed
205  */
207 {
208  return mRate;
209 }
210 
211 /**
212  * @brief ProgressEvent Constructor
213  *
214  */
215 ProgressEvent::ProgressEvent(double duration, double position, double start, double end, float speed, long long pts, double bufferedDuration, std::string seiTimecode):
216  AAMPEventObject(AAMP_EVENT_PROGRESS), mDuration(duration),
217  mPosition(position), mStart(start),
218  mEnd(end), mSpeed(speed), mPTS(pts),
219  mBufferedDuration(bufferedDuration),
220  mSEITimecode(seiTimecode)
221 {
222 
223 }
224 
225 /**
226  * @brief Get Duration of Asset
227  *
228  * @return Asset duration in MS
229  */
231 {
232  return mDuration;
233 }
234 
235 /**
236  * @brief Get Current Position
237  *
238  * @return Current position in MS
239  */
241 {
242  return mPosition;
243 }
244 
245 /**
246  * @brief Get Start Position
247  *
248  * @return Start position in MS
249  */
251 {
252  return mStart;
253 }
254 
255 /**
256  * @brief Get End Position
257  *
258  * @return End position in MS
259  */
260 double ProgressEvent::getEnd() const
261 {
262  return mEnd;
263 }
264 
265 /**
266  * @brief Get Speed
267  *
268  * @return Current speed
269  */
271 {
272  return mSpeed;
273 }
274 
275 /**
276  * @brief Get Video PTS
277  *
278  * @return Video PTS
279  */
280 long long ProgressEvent::getPTS() const
281 {
282  return mPTS;
283 }
284 
285 /**
286  * @brief Get Buffered Duration
287  *
288  * @return Buffered duration
289  */
291 {
292  return mBufferedDuration;
293 }
294 
295 /**
296  * @brief Get SEI Time Code information
297  *
298  * @return SEI Time Code
299  */
300 const char* ProgressEvent::getSEITimeCode() const
301 {
302  return mSEITimecode.c_str();
303 }
304 
305 /**
306  * @brief CCHandleEvent Constructor
307  *
308  * @param[in] handle - Handle to close caption
309  */
310 CCHandleEvent::CCHandleEvent(unsigned long handle):
312 {
313 
314 }
315 
316 /**
317  * @brief Get Closed Caption Handle
318  *
319  * @return Handle to the closed caption
320  */
321 unsigned long CCHandleEvent::getCCHandle() const
322 {
323  return mHandle;
324 }
325 
326 /**
327  * @brief MediaMetadataEvent Constructor
328  */
329 MediaMetadataEvent::MediaMetadataEvent(long duration, int width, int height, bool hasDrm, bool isLive, const std::string &DrmType, double programStartTime):
330  AAMPEventObject(AAMP_EVENT_MEDIA_METADATA), mDuration(duration),
331  mLanguages(), mBitrates(), mWidth(width), mHeight(height),
332  mHasDrm(hasDrm), mSupportedSpeeds(), mIsLive(isLive), mDrmType(DrmType), mProgramStartTime(programStartTime),
333  mPCRating(),mSsi(-1),mFrameRate(0),mVideoScanType(eVIDEOSCAN_UNKNOWN),mAspectRatioWidth(0),mAspectRatioHeight(0),
334  mVideoCodec(),mHdrType(),mAudioBitrates(),mAudioCodec(),mAudioMixType(),isAtmos(false),mMediaFormatName()
335 {
336 
337 }
338 
339 /**
340  * @brief Get Duration
341  *
342  * @return Asset duration
343  */
345 {
346  return mDuration;
347 }
348 
349 /**
350  * @brief Get Program/Availability Start Time.
351  *
352  * @return Program/Availability Start Time.
353  */
355 {
356  return mProgramStartTime;
357 }
358 
359 /**
360  * @brief Add a supported language
361  */
362 void MediaMetadataEvent::addLanguage(const std::string &lang)
363 {
364  return mLanguages.push_back(lang);
365 }
366 
367 /**
368  * @brief Get Languages
369  *
370  * @return Vector of supported languages
371  */
372 const std::vector<std::string> &MediaMetadataEvent::getLanguages() const
373 {
374  return mLanguages;
375 }
376 
377 /**
378  * @brief Get Language Count
379  *
380  * @return Supported language count
381  */
383 {
384  return mLanguages.size();
385 }
386 
387 /**
388  * @brief Add a supported bitrate
389  */
391 {
392  return mBitrates.push_back(bitrate);
393 }
394 
395 /**
396  * @brief Get Bitrates
397  *
398  * @return Vector of supported bitrates
399  */
400 const std::vector<long> &MediaMetadataEvent::getBitrates() const
401 {
402  return mBitrates;
403 }
404 
405 /**
406  * @brief Get Bitrate Count
407  *
408  * @return Supported bitrate count
409  */
411 {
412  return mBitrates.size();
413 }
414 
415 /**
416  * @brief Get Width
417  *
418  * @return Video width
419  */
421 {
422  return mWidth;
423 }
424 
425 /**
426  * @brief Get Height
427  *
428  * @return Video height
429  */
431 {
432  return mHeight;
433 }
434 
435 /**
436  * @brief Supports DRM or not
437  *
438  * @return DRM enablement status
439  */
441 {
442  return mHasDrm;
443 }
444 
445 /**
446  * @brief Add a supported speed
447  */
449 {
450  return mSupportedSpeeds.push_back(speed);
451 }
452 
453 /**
454  * @brief Get Supported Speeds
455  *
456  * @return Vector of supported speeds
457  */
458 const std::vector<float> &MediaMetadataEvent::getSupportedSpeeds() const
459 {
460  return mSupportedSpeeds;
461 }
462 
463 /**
464  * @brief Get Supported Speed count
465  *
466  * @return Supported speeds count
467  */
469 {
470  return mSupportedSpeeds.size();
471 }
472 
473 /**
474  * @brief Check for Live content or VOD
475  *
476  * @return isLive
477  */
478 
480 {
481  return mIsLive;
482 }
483 
484 /**
485  * @brief Get Current DRM Type
486  *
487  * @return Current DRM
488  */
489 const std::string &MediaMetadataEvent::getDrmType() const
490 {
491  return mDrmType;
492 }
493 
494 /**
495  * @brief Sets additional metadata for video
496  */
497 void MediaMetadataEvent::SetVideoMetaData(float frameRate,VideoScanType videoScanType,int aspectRatioWidth,int aspectRatioHeight, const std::string & videoCodec, const std::string & strHdrType, const std::string & strPCRating, int ssi)
498 {
499  this->mFrameRate = frameRate;
500  this->mVideoScanType = videoScanType;
501  this->mAspectRatioWidth = aspectRatioWidth;
502  this->mAspectRatioHeight = aspectRatioHeight;
503  this->mVideoCodec = videoCodec;
504  this->mHdrType = strHdrType;
505  this->mSsi = ssi;
506  this->mPCRating = strPCRating;
507  return;
508 }
509 
510 /**
511  * @brief Get Bitrates
512  *
513  * @return Vector of supported bitrates
514  */
515 void MediaMetadataEvent::SetAudioMetaData(const std::string &audioCodec,const std::string &mixType,bool isAtmos )
516 {
517  mAudioCodec = audioCodec;
518  mAudioMixType = mixType;
519  isAtmos = isAtmos;
520  return;
521 }
522 
523 /**
524  * @brief BitrateChangeEvent Constructor
525  */
526 BitrateChangeEvent::BitrateChangeEvent(int time, long bitrate, const std::string &desc, int width, int height, double frameRate, double position, bool cappedProfile, int displayWidth, int displayHeight, VideoScanType videoScanType, int aspectRatioWidth, int aspectRatioHeight):
528  mBitrate(bitrate), mDescription(desc), mWidth(width),
529  mHeight(height), mFrameRate(frameRate), mPosition(position), mCappedProfile(cappedProfile), mDisplayWidth(displayWidth), mDisplayHeight(displayHeight), mVideoScanType(videoScanType), mAspectRatioWidth(aspectRatioWidth), mAspectRatioHeight(aspectRatioHeight)
530 {
531 
532 }
533 
534 /**
535  * @brief Get Time
536  *
537  * @return Playback time
538  */
540 {
541  return mTime;
542 }
543 
544 /**
545  * @brief Get Bitrate
546  *
547  * @return Current bitrate
548  */
550 {
551  return mBitrate;
552 }
553 
554 /**
555  * @brief Get Description
556  *
557  * @return Reason of bitrate change
558  */
559 const std::string &BitrateChangeEvent::getDescription() const
560 {
561  return mDescription;
562 }
563 
564 /**
565  * @brief Get Width
566  *
567  * @return Video width
568  */
570 {
571  return mWidth;
572 }
573 
574 /**
575  * @brief Get Height
576  *
577  * @return Video height
578  */
580 {
581  return mHeight;
582 }
583 
584 /**
585  * @brief Get Frame Rate
586  *
587  * @return Frame Rate
588  */
590 {
591  return mFrameRate;
592 }
593 
594 /**
595  * @brief Get Position
596  *
597  * @return Position
598  */
600 {
601  return mPosition;
602 }
603 
604 /**
605  * @brief Get Capped Profile status
606  *
607  * @return profile filterting restricted status
608  */
610 {
611  return mCappedProfile;
612 }
613 
614 /**
615  * @brief Get display width
616  *
617  * @return output display tv width
618  */
620 {
621  return mDisplayWidth;
622 }
623 
624 /**
625  * @brief Get output tv display Height
626  *
627  * @return output display tv height
628  */
630 {
631  return mDisplayHeight;
632 }
633 
634 /**
635  * @brief Get Video Scan Type
636  *
637  * @return output video scan type
638  */
640 {
641  return mVideoScanType;
642 }
643 
644 /**
645  * @brief Get Aspect Ratio Width
646  *
647  * @return output aspect ratio width
648  */
650 {
651  return mAspectRatioWidth;
652 }
653 
654 /**
655  * @brief Get Aspect Ratio Height
656  *
657  * @return output Aspect Ratio Height
658  */
660 {
661  return mAspectRatioHeight;
662 }
663 
664 /**
665  * @brief TimedMetadataEvent Constructor
666  */
667 TimedMetadataEvent::TimedMetadataEvent(const std::string &name, const std::string &id, double time, double duration, const std::string &content):
668  AAMPEventObject(AAMP_EVENT_TIMED_METADATA), mName(name), mId(id),
669  mTime(time), mDuration(duration), mContent(content)
670 {
671 
672 }
673 
674 /**
675  * @brief Get Timed Metadata Name
676  *
677  * @return TimedMetadata name string
678  */
679 const std::string &TimedMetadataEvent::getName() const
680 {
681  return mName;
682 }
683 
684 /**
685  * @brief Get Timed Metadata Id
686  *
687  * @return TimedMetadata id string
688  */
689 const std::string &TimedMetadataEvent::getId() const
690 {
691  return mId;
692 }
693 
694 /**
695  * @brief Get Time
696  *
697  * @return Time of the Timed Metadata
698  */
700 {
701  return mTime;
702 }
703 
704 /**
705  * @brief Get Duration
706  *
707  * @return Duration (in MS) of the TimedMetadata
708  */
710 {
711  return mDuration;
712 }
713 
714 /**
715  * @brief Get Content
716  *
717  * @return Content field of the TimedMetadata
718  */
719 const std::string &TimedMetadataEvent::getContent() const
720 {
721  return mContent;
722 }
723 
724 /**
725  * @brief BulkTimedMetadataEvent Constructor
726  */
729 {
730 
731 }
732 
733 /**
734  * @brief Get metadata content
735  *
736  * @return metadata content
737  */
738 const std::string &BulkTimedMetadataEvent::getContent() const
739 {
740  return mContent;
741 }
742 
743 /**
744  * @brief StateChangedEvent Constructor
745  */
748 {
749 
750 }
751 
752 /**
753  * @brief Get Current Player State
754  *
755  * @return Player state
756  */
758 {
759  return mState;
760 }
761 
762 /**
763  * @brief SupportedSpeedsChangedEvent Constructor
764  */
766  AAMPEventObject(AAMP_EVENT_SPEEDS_CHANGED), mSupportedSpeeds()
767 {
768 
769 }
770 
771 /**
772  * @brief Add a Supported Speed
773  */
775 {
776  return mSupportedSpeeds.push_back(speed);
777 }
778 
779 /**
780  * @brief Get Supported Speeds
781  *
782  * @return Vector of supported speeds
783  */
784 const std::vector<float> &SupportedSpeedsChangedEvent::getSupportedSpeeds() const
785 {
786  return mSupportedSpeeds;
787 }
788 
789 /**
790  * @brief Get Supported Speeds Count
791  *
792  * @return Supported speeds count
793  */
795 {
796  return mSupportedSpeeds.size();
797 }
798 
799 /**
800  * @brief SeekedEvent Constructor
801  */
802 SeekedEvent::SeekedEvent(double positionMS):
803  AAMPEventObject(AAMP_EVENT_SEEKED), mPosition(positionMS)
804 {
805 
806 }
807 
808 /**
809  * @brief Get position
810  *
811  * @return Seeked position
812  */
814 {
815  return mPosition;
816 }
817 
818 /**
819  * @brief TuneProfilingEvent Constructor
820  */
821 TuneProfilingEvent::TuneProfilingEvent(std::string &profilingData):
822  AAMPEventObject(AAMP_EVENT_TUNE_PROFILING), mProfilingData(profilingData)
823 {
824 
825 }
826 
827 /**
828  * @brief Get Tune profiling data
829  *
830  * @return Tune profiling data
831  */
832 const std::string &TuneProfilingEvent::getProfilingData() const
833 {
834  return mProfilingData;
835 }
836 
837 /**
838  * @brief BufferingChangedEvent Constructor
839  */
841  AAMPEventObject(AAMP_EVENT_BUFFERING_CHANGED), mBuffering(buffering)
842 {
843 
844 }
845 
846 /**
847  * @brief Get Buffering Status
848  *
849  * @return Buffering status (true/false)
850  */
852 {
853  return mBuffering;
854 }
855 
856 /**
857  * @brief DrmMetaDataEvent Constructor
858  */
859 DrmMetaDataEvent::DrmMetaDataEvent(AAMPTuneFailure failure, const std::string &accessStatus, int statusValue, long responseCode, bool secclientErr):
860  AAMPEventObject(AAMP_EVENT_DRM_METADATA), mFailure(failure), mAccessStatus(accessStatus),
861  mAccessStatusValue(statusValue), mResponseCode(responseCode), mSecclientError(secclientErr), mSecManagerReasonCode(-1), mSecManagerClass(-1),
862  mBusinessStatus(-1)
863 {
864 
865 }
866 
867 /**
868  * @brief Get Failure type
869  *
870  * @return Tune failure type
871  */
873 {
874  return mFailure;
875 }
876 
877 /**
878  * @brief Set Failure type
879  */
881 {
882  mFailure = failure;
883 }
884 
885 /**
886  * @brief Get Access Status
887  *
888  * @return Access status string
889  */
890 const std::string &DrmMetaDataEvent::getAccessStatus() const
891 {
892  return mAccessStatus;
893 }
894 
895 /**
896  * @brief Set Access Status
897  */
898 void DrmMetaDataEvent::setAccessStatus(const std::string &status)
899 {
900  mAccessStatus = status;
901 }
902 
903 /**
904  * @brief Get Access Status
905  *
906  * @return Access status value
907  */
909 {
910  return mAccessStatusValue;
911 }
912 
913 /**
914  * @brief Set Access Status Value
915  */
917 {
918  mAccessStatusValue = value;
919 }
920 
921 /**
922  * @brief Get Response Code
923  *
924  * @return Response code
925  */
927 {
928  return mResponseCode;
929 }
930 
931 /**
932  * @brief Get Response Code
933  *
934  * @return Response code
935  */
937 {
938  return mSecManagerReasonCode;
939 }
940 
941 /**
942  * @brief Get Response Code
943  *
944  * @return Response code
945  */
947 {
948  return mSecManagerClass;
949 }
950 
951 /**
952  * @brief Get Response Code
953  *
954  * @return Response code
955  */
957 {
958  return mBusinessStatus;
959 }
960 
961 /**
962  * @brief Set Response Code
963  */
965 {
966  mResponseCode = code;
967 }
968 
969 /**
970  * @brief Set Secmanager response code
971  */
973 {
974  mSecManagerReasonCode = code;
975 }
976 
977 /**
978  * @brief Convert the secclient DRM error code into secmanager error code to have a unified verbose error reported
979  */
980 void DrmMetaDataEvent::ConvertToVerboseErrorCode(int32_t httpCode, int32_t httpExtStatusCode )
981 {
982  mSecManagerClass = SECMANAGER_CLASS_RESULT_DRM_FAIL;
983  mSecManagerReasonCode = SECMANAGER_REASON_DRM_GENERAL_FAILURE;
984 #ifdef USE_SECCLIENT
985  //look for the correct code from the lookup
986  auto it = secClientSeManagerErrorLookUp.find(-httpCode); //Secclient error codes are -ve
987  if (it != secClientSeManagerErrorLookUp.end()) {
988  mSecManagerClass = it->second.first;
989  mSecManagerReasonCode = it->second.second;
990  if(412 == httpCode && 401 == httpExtStatusCode)
991  {
992  mSecManagerReasonCode = SECMANAGER_REASON_DRM_ACCESS_TOKEN_EXPIRED;
993  }
994  if (mSecManagerClass == SECMANAGER_CLASS_RESULT_SECCLIENT_FAIL) {
995  mSecManagerReasonCode = httpCode;
996  }
997  }
998  mBusinessStatus = httpExtStatusCode;
999 #endif
1000 }
1001 
1002 /**
1003  * @brief Set the secmanager DRM error responses
1004  */
1005 void DrmMetaDataEvent::SetVerboseErrorCode(int32_t statusCode, int32_t reasonCode, int32_t businessStatus )
1006 {
1007  mSecManagerClass = statusCode;
1008  mSecManagerReasonCode = reasonCode;
1009  mBusinessStatus = businessStatus;
1010 }
1011 
1012 /**
1013  * @brief Get secclient error status
1014  *
1015  * @return secclient error (true/false)
1016  */
1018 {
1019  return mSecclientError;
1020 }
1021 
1022 /**
1023  * @brief Set secclient error status
1024  */
1025 void DrmMetaDataEvent::setSecclientError(bool secClientError)
1026 {
1027  mSecclientError = secClientError;
1028 }
1029 
1030 /**
1031  * @brief AnomalyReportEvent Constructor
1032  */
1033 AnomalyReportEvent::AnomalyReportEvent(int severity, const std::string &msg):
1034  AAMPEventObject(AAMP_EVENT_REPORT_ANOMALY), mSeverity(severity), mMsg(msg)
1035 {
1036 
1037 }
1038 
1039 /**
1040  * @brief Get Severity
1041  *
1042  * @return Severity value
1043  */
1045 {
1046  return mSeverity;
1047 }
1048 
1049 /**
1050  * @brief Get Anomaly Message
1051  *
1052  * @return Anomaly message string
1053  */
1054 const std::string &AnomalyReportEvent::getMessage() const
1055 {
1056  return mMsg;
1057 }
1058 
1059 /**
1060  * @brief WebVttCueEvent Constructor
1061  */
1063  AAMPEventObject(AAMP_EVENT_WEBVTT_CUE_DATA), mCueData(cueData)
1064 {
1065 
1066 }
1067 
1068 /**
1069  * @brief Get VTT Cue Data
1070  *
1071  * @return Pointer to VTT cue data
1072  */
1074 {
1075  return mCueData;
1076 }
1077 
1078 /**
1079  * @brief AdResolvedEvent Constructor
1080  */
1081 AdResolvedEvent::AdResolvedEvent(bool resolveStatus, const std::string &adId, uint64_t startMS, uint64_t durationMs):
1082  AAMPEventObject(AAMP_EVENT_AD_RESOLVED), mResolveStatus(resolveStatus), mAdId(adId),
1083  mStartMS(startMS), mDurationMs(durationMs)
1084 {
1085 
1086 }
1087 
1088 /**
1089  * @brief Get Resolve Status
1090  *
1091  * @return Ad resolve status
1092  */
1094 {
1095  return mResolveStatus;
1096 }
1097 
1098 /**
1099  * @brief Get Ad Identifier
1100  *
1101  * @return Ad's identifier
1102  */
1103 const std::string &AdResolvedEvent::getAdId() const
1104 {
1105  return mAdId;
1106 }
1107 
1108 /**
1109  * @brief Get Start Positon
1110  *
1111  * @return Start position (in MS), relative to Adbreak
1112  */
1114 {
1115  return mStartMS;
1116 }
1117 
1118 /**
1119  * @brief Get Duration
1120  *
1121  * @return Ad's duration in MS
1122  */
1124 {
1125  return mDurationMs;
1126 }
1127 
1128 /**
1129  * @brief AdReservationEvent Constructor
1130  */
1131 AdReservationEvent::AdReservationEvent(AAMPEventType evtType, const std::string &breakId, uint64_t position):
1132  AAMPEventObject(evtType), mAdBreakId(breakId), mPosition(position)
1133 {
1134 
1135 }
1136 
1137 /**
1138  * @brief Get Adbreak Identifier
1139  *
1140  * @return Adbreak's id
1141  */
1142 const std::string &AdReservationEvent::getAdBreakId() const
1143 {
1144  return mAdBreakId;
1145 }
1146 
1147 /**
1148  * @brief Get Ad's Position
1149  *
1150  * @return Ad's position (in channel's PTS)
1151  */
1153 {
1154  return mPosition;
1155 }
1156 
1157 /**
1158  * @brief AdPlacementEvent Constructor
1159  */
1160 AdPlacementEvent::AdPlacementEvent(AAMPEventType evtType, const std::string &adId, uint32_t position, uint32_t offset, uint32_t duration, int errorCode):
1161  AAMPEventObject(evtType), mAdId(adId), mPosition(position),
1162  mOffset(offset), mDuration(duration), mErrorCode(errorCode)
1163 {
1164 
1165 }
1166 
1167 /**
1168  * @brief Get Ad's Identifier
1169  *
1170  * @return Ad's id
1171  */
1172 const std::string &AdPlacementEvent::getAdId() const
1173 {
1174  return mAdId;
1175 }
1176 
1177 /**
1178  * @brief Get Ad's Position
1179  *
1180  * @return Ad's position (in channel's PTS)
1181  */
1183 {
1184  return mPosition;
1185 }
1186 
1187 /**
1188  * @brief Get Ad's Offset
1189  *
1190  * @return Ad's start offset
1191  */
1193 {
1194  return mOffset;
1195 }
1196 
1197 /**
1198  * @brief Get Ad's Duration
1199  *
1200  * @return Ad's duration in MS
1201  */
1203 {
1204  return mDuration;
1205 }
1206 
1207 /**
1208  * @brief Get Error Code
1209  *
1210  * @return Error code
1211  */
1213 {
1214  return mErrorCode;
1215 }
1216 
1217 /**
1218  * @brief MetricsDataEvent Constructor
1219  */
1220 MetricsDataEvent::MetricsDataEvent(MetricsDataType dataType, const std::string &uuid, const std::string &data):
1221  AAMPEventObject(AAMP_EVENT_REPORT_METRICS_DATA), mMetricsDataType(dataType),
1222  mMetricUUID(uuid), mMetricsData(data)
1223 {
1224 
1225 }
1226 
1227 /**
1228  * @brief Get Metrics Data Type
1229  *
1230  * @return Metrics data type
1231  */
1233 {
1234  return mMetricsDataType;
1235 }
1236 
1237 /**
1238  * @brief Get Metric UUID
1239  *
1240  * @return Uuid string
1241  */
1242 const std::string &MetricsDataEvent::getMetricUUID() const
1243 {
1244  return mMetricUUID;
1245 }
1246 
1247 /**
1248  * @brief Get Metrics Data
1249  *
1250  * @return Metrics data string
1251  */
1252 const std::string &MetricsDataEvent::getMetricsData() const
1253 {
1254  return mMetricsData;
1255 }
1256 
1257 /**
1258  * @brief ID3MetadataEvent Constructor
1259  */
1260 ID3MetadataEvent::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):
1261  AAMPEventObject(AAMP_EVENT_ID3_METADATA), mMetadata(metadata), mId(id), mTimeScale(timeScale), mSchemeIdUri(schIDUri), mValue(id3Value), mEventDuration(eventDuration), mPresentationTime(presentationTime), mTimestampOffset(timestampOffset)
1262 {
1263 
1264 }
1265 
1266 /**
1267  * @brief Get ID3 metdata
1268  *
1269  * @return ID3 metadata content
1270  */
1271 const std::vector<uint8_t> &ID3MetadataEvent::getMetadata() const
1272 {
1273  return mMetadata;
1274 }
1275 
1276 /**
1277  * @brief Get ID3 metdata size
1278  *
1279  * @return ID3 metadata size
1280  */
1282 {
1283  return mMetadata.size();
1284 }
1285 
1286 /**
1287  * @brief Get TimeScale value
1288  *
1289  * @return TimeScale value
1290  */
1292 {
1293  return mTimeScale;
1294 }
1295 
1296 /**
1297  * @brief Get eventDuration
1298  *
1299  * @return eventDuration value
1300  */
1302 {
1303  return mEventDuration;
1304 }
1305 
1306 /**
1307  * @brief Get id
1308  *
1309  * @return id value
1310  */
1311 uint32_t ID3MetadataEvent::getId() const
1312 {
1313  return mId;
1314 }
1315 
1316 /**
1317  * @brief Get presentationTime
1318  *
1319  * @return presentationTime value
1320  */
1322 {
1323  return mPresentationTime;
1324 }
1325 
1326 /**
1327  * @brief Get timestampOffset
1328  *
1329  * @return timestampOffset value
1330  */
1332 {
1333  return mTimestampOffset;
1334 }
1335 
1336 /**
1337  * @brief Get schemeIdUri
1338  *
1339  * @return schemeIdUri value
1340  */
1341 const std::string& ID3MetadataEvent::getSchemeIdUri() const
1342 {
1343  return mSchemeIdUri;
1344 }
1345 
1346 /**
1347  * @brief Get value
1348  *
1349  * @return schemeIdUri value
1350  */
1351 const std::string& ID3MetadataEvent::getValue() const
1352 {
1353  return mValue;
1354 }
1355 
1356 /**
1357  * @brief DrmMessageEvent Constructor
1358  */
1359 DrmMessageEvent::DrmMessageEvent(const std::string &msg):
1360  AAMPEventObject(AAMP_EVENT_DRM_MESSAGE), mMessage(msg)
1361 {
1362 
1363 }
1364 
1365 /**
1366  * @brief Get DRM Message
1367  *
1368  * @return DRM message
1369  */
1370 const std::string &DrmMessageEvent::getMessage() const
1371 {
1372  return mMessage;
1373 }
1374 
1375 /**
1376  * @brief ContentGapEvent Constructor
1377  */
1378 ContentGapEvent::ContentGapEvent(double time, double duration):
1380  , mTime(time), mDuration(duration)
1381 {
1382 
1383 }
1384 
1385 /**
1386  * @brief Get Time
1387  *
1388  * @return Time of the ContentGap
1389  */
1391 {
1392  return mTime;
1393 }
1394 
1395 /**
1396  * @brief Get Duration
1397  *
1398  * @return Duration (in MS) of the ContentGap
1399  */
1401 {
1402  return mDuration;
1403 }
1404 
1405 /**
1406  * @brief HTTPResponseHeaderEvent Constructor
1407  */
1408 HTTPResponseHeaderEvent::HTTPResponseHeaderEvent(const std::string &header, const std::string &response):
1410  , mHeaderName(header), mHeaderResponse(response)
1411 {
1412 
1413 }
1414 
1415 /**
1416  * @brief Get HTTP Response Header Name
1417  *
1418  * @return HTTP Response Header name string
1419  */
1420 const std::string &HTTPResponseHeaderEvent::getHeader() const
1421 {
1422  return mHeaderName;
1423 }
1424 
1425 /**
1426  * @brief Get HTTP Response Header response
1427  *
1428  * @return HTTP Response Header response string
1429  */
1430 const std::string &HTTPResponseHeaderEvent::getResponse() const
1431 {
1432  return mHeaderResponse;
1433 }
1434 
1435 /*
1436  * @brief ContentProtectionDataEvent Constructor
1437  *
1438  * @param[in] keyID - Current Session KeyID
1439  * @param[in] streamType - Current StreamType
1440  */
1441 ContentProtectionDataEvent::ContentProtectionDataEvent(const std::vector<uint8_t> &keyID, const std::string &streamType):
1443  , mKeyID(keyID), mStreamType(streamType)
1444 {
1445 
1446 }
1447 
1448 /**
1449  * @brief Get Session KeyID
1450  *
1451  * @return keyID
1452  */
1453 const std::vector<uint8_t> &ContentProtectionDataEvent::getKeyID() const
1454 {
1455  return mKeyID;
1456 }
1457 
1458 /**
1459  * @brief Get StreamType
1460  *
1461  * @return streamType
1462  */
1464 {
1465  return mStreamType;
1466 }
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
MediaMetadataEvent::getBitratesCount
int getBitratesCount() const
Get Bitrate Count.
Definition: AampEvent.cpp:410
ID3MetadataEvent::getId
uint32_t getId() const
Get id.
Definition: AampEvent.cpp:1311
ContentGapEvent::getTime
double getTime() const
Get Time.
Definition: AampEvent.cpp:1390
DrmMetaDataEvent::getFailure
AAMPTuneFailure getFailure() const
Get Failure type.
Definition: AampEvent.cpp:872
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
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
SupportedSpeedsChangedEvent::getSupportedSpeedCount
int getSupportedSpeedCount() const
Get Supported Speeds Count.
Definition: AampEvent.cpp:794
MetricsDataEvent::getMetricsDataType
MetricsDataType getMetricsDataType() const
Get Metrics Data Type.
Definition: AampEvent.cpp:1232
StateChangedEvent::mState
PrivAAMPState mState
Definition: AampEvent.h:1226
AdPlacementEvent::getPosition
uint32_t getPosition() const
Get Ad's Position.
Definition: AampEvent.cpp:1182
BitrateChangeEvent::mWidth
int mWidth
Definition: AampEvent.h:1026
TimedMetadataEvent::mName
std::string mName
Definition: AampEvent.h:1136
ProgressEvent::mPTS
long long mPTS
Definition: AampEvent.h:643
AAMP_EVENT_CONTENT_GAP
@ AAMP_EVENT_CONTENT_GAP
Definition: AampEvent.h:85
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
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
MediaMetadataEvent::getHeight
int getHeight() const
Get Height.
Definition: AampEvent.cpp:430
MediaMetadataEvent::mAspectRatioHeight
int mAspectRatioHeight
Definition: AampEvent.h:767
DrmMetaDataEvent::mAccessStatus
std::string mAccessStatus
Definition: AampEvent.h:1399
AdResolvedEvent::mAdId
std::string mAdId
Definition: AampEvent.h:1619
AAMPEventObject::mType
AAMPEventType mType
Definition: AampEvent.h:498
AampDefine.h
Macros for Aamp.
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
AAMP_EVENT_REPORT_ANOMALY
@ AAMP_EVENT_REPORT_ANOMALY
Definition: AampEvent.h:72
AAMP_EVENT_TUNE_FAILED
@ AAMP_EVENT_TUNE_FAILED
Definition: AampEvent.h:48
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_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
HTTPResponseHeaderEvent::HTTPResponseHeaderEvent
HTTPResponseHeaderEvent()=delete
AdResolvedEvent::getAdId
const std::string & getAdId() const
Get Ad Identifier.
Definition: AampEvent.cpp:1103
AdResolvedEvent::mStartMS
uint64_t mStartMS
Definition: AampEvent.h:1620
BitrateChangeEvent::mBitrate
long mBitrate
Definition: AampEvent.h:1024
AdPlacementEvent::mOffset
uint32_t mOffset
Definition: AampEvent.h:1712
ID3MetadataEvent::getPresentationTime
uint64_t getPresentationTime() const
Get presentationTime.
Definition: AampEvent.cpp:1321
DrmMetaDataEvent::getResponseCode
long getResponseCode() const
Get Response Code.
Definition: AampEvent.cpp:926
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
CCHandleEvent::mHandle
unsigned long mHandle
Definition: AampEvent.h:720
AdPlacementEvent::getOffset
uint32_t getOffset() const
Get Ad's Offset.
Definition: AampEvent.cpp:1192
BulkTimedMetadataEvent::getContent
const std::string & getContent() const
Get metadata content.
Definition: AampEvent.cpp:738
BufferingChangedEvent::BufferingChangedEvent
BufferingChangedEvent()=delete
DrmMessageEvent::DrmMessageEvent
DrmMessageEvent()=delete
TimedMetadataEvent::getContent
const std::string & getContent() const
Get Content.
Definition: AampEvent.cpp:719
MediaErrorEvent::mShouldRetry
bool mShouldRetry
Definition: AampEvent.h:539
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
AdPlacementEvent::mErrorCode
int mErrorCode
Definition: AampEvent.h:1714
AdPlacementEvent::AdPlacementEvent
AdPlacementEvent()=delete
BufferingChangedEvent::buffering
bool buffering() const
Get Buffering Status.
Definition: AampEvent.cpp:851
AdResolvedEvent::AdResolvedEvent
AdResolvedEvent()=delete
BitrateChangeEvent::mAspectRatioWidth
int mAspectRatioWidth
Definition: AampEvent.h:1034
AnomalyReportEvent::mSeverity
int mSeverity
Definition: AampEvent.h:1549
ProgressEvent::mSpeed
float mSpeed
Definition: AampEvent.h:642
SeekedEvent::mPosition
double mPosition
Definition: AampEvent.h:1308
ProgressEvent::mStart
double mStart
Definition: AampEvent.h:640
AnomalyReportEvent::getSeverity
int getSeverity() const
Get Severity.
Definition: AampEvent.cpp:1044
AnomalyReportEvent::mMsg
std::string mMsg
Definition: AampEvent.h:1550
MediaMetadataEvent::getDuration
long getDuration() const
Get Duration.
Definition: AampEvent.cpp:344
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
VideoScanType
VideoScanType
VideoScanType - Progressive/Interlaced.
Definition: AampEvent.h:190
AdPlacementEvent::getErrorCode
int getErrorCode() const
Get Error Code.
Definition: AampEvent.cpp:1212
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
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
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
AAMP_EVENT_STATE_CHANGED
@ AAMP_EVENT_STATE_CHANGED
Definition: AampEvent.h:60
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
MediaMetadataEvent::mAudioCodec
std::string mAudioCodec
Definition: AampEvent.h:774
BitrateChangeEvent::getDisplayHeight
int getDisplayHeight() const
Get output tv display Height.
Definition: AampEvent.cpp:629
MetricsDataEvent::mMetricsDataType
MetricsDataType mMetricsDataType
Definition: AampEvent.h:1770
BitrateChangeEvent::mTime
int mTime
Definition: AampEvent.h:1023
BitrateChangeEvent::getWidth
int getWidth() const
Get Width.
Definition: AampEvent.cpp:569
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
AAMP_EVENT_AD_RESOLVED
@ AAMP_EVENT_AD_RESOLVED
Definition: AampEvent.h:74
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
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
DrmMetaDataEvent::getAccessStatusValue
int getAccessStatusValue() const
Get Access Status.
Definition: AampEvent.cpp:908
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
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
SupportedSpeedsChangedEvent::getSupportedSpeeds
const std::vector< float > & getSupportedSpeeds() const
Get Supported Speeds.
Definition: AampEvent.cpp:784
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
AAMP_EVENT_TUNE_PROFILING
@ AAMP_EVENT_TUNE_PROFILING
Definition: AampEvent.h:63
AdResolvedEvent::getDuration
uint64_t getDuration() const
Get Duration.
Definition: AampEvent.cpp:1123
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
ContentGapEvent::mDuration
double mDuration
Definition: AampEvent.h:1964
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
DrmMetaDataEvent::mAccessStatusValue
int mAccessStatusValue
Definition: AampEvent.h:1400
MediaMetadataEvent::mPCRating
std::string mPCRating
Definition: AampEvent.h:761
AAMP_EVENT_ID3_METADATA
@ AAMP_EVENT_ID3_METADATA
Definition: AampEvent.h:82
MediaMetadataEvent::getWidth
int getWidth() const
Get Width.
Definition: AampEvent.cpp:420
BitrateChangeEvent::getCappedProfileStatus
bool getCappedProfileStatus() const
Get Capped Profile status.
Definition: AampEvent.cpp:609
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
MediaMetadataEvent::mProgramStartTime
double mProgramStartTime
Definition: AampEvent.h:758
MediaMetadataEvent::getSupportedSpeeds
const std::vector< float > & getSupportedSpeeds() const
Get Supported Speeds.
Definition: AampEvent.cpp:458
BulkTimedMetadataEvent::mContent
std::string mContent
Definition: AampEvent.h:1195
DrmMessageEvent::mMessage
std::string mMessage
Definition: AampEvent.h:1899
DrmMetaDataEvent::getBusinessStatus
int32_t getBusinessStatus() const
Get Response Code.
Definition: AampEvent.cpp:956
MediaMetadataEvent::getSupportedSpeedCount
int getSupportedSpeedCount() const
Get Supported Speed count.
Definition: AampEvent.cpp:468
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
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
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
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
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
AdReservationEvent::mAdBreakId
std::string mAdBreakId
Definition: AampEvent.h:1671
AampEvent.h
Events supported by the AAMP player.
DrmMetaDataEvent::mFailure
AAMPTuneFailure mFailure
Definition: AampEvent.h:1398
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
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
HTTPResponseHeaderEvent::mHeaderResponse
std::string mHeaderResponse
Definition: AampEvent.h:2001
HTTPResponseHeaderEvent::mHeaderName
std::string mHeaderName
Definition: AampEvent.h:2000
DrmMetaDataEvent::mSecManagerClass
int32_t mSecManagerClass
Definition: AampEvent.h:1404
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
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
BitrateChangeEvent::mFrameRate
double mFrameRate
Definition: AampEvent.h:1028
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
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
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
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
MetricsDataEvent::MetricsDataEvent
MetricsDataEvent()=delete
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
BufferingChangedEvent::mBuffering
bool mBuffering
Definition: AampEvent.h:1368
ID3MetadataEvent::getMetadata
const std::vector< uint8_t > & getMetadata() const
Get ID3 metdata.
Definition: AampEvent.cpp:1271
DrmMetaDataEvent::setSecclientError
void setSecclientError(bool secclientError)
Set secclient error status.
Definition: AampEvent.cpp:1025
AAMP_EVENT_HTTP_RESPONSE_HEADER
@ AAMP_EVENT_HTTP_RESPONSE_HEADER
Definition: AampEvent.h:86
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
AdResolvedEvent::getStart
uint64_t getStart() const
Get Start Positon.
Definition: AampEvent.cpp:1113
BitrateChangeEvent::getPosition
double getPosition() const
Get Position.
Definition: AampEvent.cpp:599
MediaMetadataEvent::getBitrates
const std::vector< long > & getBitrates() const
Get Bitrates.
Definition: AampEvent.cpp:400
MediaMetadataEvent::MediaMetadataEvent
MediaMetadataEvent()=delete
MetricsDataEvent::getMetricsData
const std::string & getMetricsData() const
Get Metrics Data.
Definition: AampEvent.cpp:1252
TuneProfilingEvent::mProfilingData
std::string mProfilingData
Definition: AampEvent.h:1337
ContentProtectionDataEvent::getStreamType
const std::string & getStreamType() const
Get Current Stream Type.
Definition: AampEvent.cpp:1463
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