Source code for bitmovin_api_sdk.models.hls_manifest_ad_marker_settings

# coding: utf-8

from enum import Enum
from six import string_types, iteritems
from bitmovin_api_sdk.common.poscheck import poscheck_model
import pprint
import six


[docs]class HlsManifestAdMarkerSettings(object): @poscheck_model def __init__(self, enabled_marker_types=None, disable_preannouncing=None): # type: (list[HlsManifestAdMarkerType], bool) -> None self._enabled_marker_types = list() self._disable_preannouncing = None self.discriminator = None if enabled_marker_types is not None: self.enabled_marker_types = enabled_marker_types if disable_preannouncing is not None: self.disable_preannouncing = disable_preannouncing @property def openapi_types(self): types = { 'enabled_marker_types': 'list[HlsManifestAdMarkerType]', 'disable_preannouncing': 'bool' } return types @property def attribute_map(self): attributes = { 'enabled_marker_types': 'enabledMarkerTypes', 'disable_preannouncing': 'disablePreannouncing' } return attributes @property def enabled_marker_types(self): # type: () -> list[HlsManifestAdMarkerType] """Gets the enabled_marker_types of this HlsManifestAdMarkerSettings. Ad marker types that will be inserted. More than one type is possible. - EXT_X_CUE_OUT_IN: Ad markers will be inserted using `#EXT-X-CUE-OUT` and `#EXT-X-CUE-IN` tags - EXT_OATCLS_SCTE35: Ad markers will be inserted using `#EXT-OATCLS-SCTE35` tags. They contain the base64 encoded raw bytes of the original SCTE-35 trigger. - EXT_X_SPLICEPOINT_SCTE35: Ad markers will be inserted using `#EXT-X-SPLICEPOINT-SCTE35` tags. They contain the base64 encoded raw bytes of the original SCTE-35 trigger. - EXT_X_DATERANGE: Ad markers will be inserted using `#EXT-X-DATERANGE` tags. They contain the ID, start timestamp and hex encoded raw bytes of the original SCTE-35 trigger. - EXT_X_SCTE35: Ad markers will be inserted using `#EXT-X-SCTE35` tags. They contain the base64 encoded raw bytes of the original SCTE-35 trigger. :return: The enabled_marker_types of this HlsManifestAdMarkerSettings. :rtype: list[HlsManifestAdMarkerType] """ return self._enabled_marker_types @enabled_marker_types.setter def enabled_marker_types(self, enabled_marker_types): # type: (list) -> None """Sets the enabled_marker_types of this HlsManifestAdMarkerSettings. Ad marker types that will be inserted. More than one type is possible. - EXT_X_CUE_OUT_IN: Ad markers will be inserted using `#EXT-X-CUE-OUT` and `#EXT-X-CUE-IN` tags - EXT_OATCLS_SCTE35: Ad markers will be inserted using `#EXT-OATCLS-SCTE35` tags. They contain the base64 encoded raw bytes of the original SCTE-35 trigger. - EXT_X_SPLICEPOINT_SCTE35: Ad markers will be inserted using `#EXT-X-SPLICEPOINT-SCTE35` tags. They contain the base64 encoded raw bytes of the original SCTE-35 trigger. - EXT_X_DATERANGE: Ad markers will be inserted using `#EXT-X-DATERANGE` tags. They contain the ID, start timestamp and hex encoded raw bytes of the original SCTE-35 trigger. - EXT_X_SCTE35: Ad markers will be inserted using `#EXT-X-SCTE35` tags. They contain the base64 encoded raw bytes of the original SCTE-35 trigger. :param enabled_marker_types: The enabled_marker_types of this HlsManifestAdMarkerSettings. :type: list[HlsManifestAdMarkerType] """ if enabled_marker_types is not None: if not isinstance(enabled_marker_types, list): raise TypeError("Invalid type for `enabled_marker_types`, type has to be `list[HlsManifestAdMarkerType]`") self._enabled_marker_types = enabled_marker_types @property def disable_preannouncing(self): # type: () -> bool """Gets the disable_preannouncing of this HlsManifestAdMarkerSettings. Certain tags, such as EXT_X_DATERANGE, may be preannounced in the HLS manifest. This means they are inserted as early as possible, before the actual ad break begins or ends. Preannouncing helps clients anticipate upcoming splice points, but may cause compatibility issues with some downstream consumers (e.g., AWS MediaTailor SSAI). When this setting is enabled, preannouncing of tags is disabled, and tags are inserted at the segment corresponding to the event's splice time. :return: The disable_preannouncing of this HlsManifestAdMarkerSettings. :rtype: bool """ return self._disable_preannouncing @disable_preannouncing.setter def disable_preannouncing(self, disable_preannouncing): # type: (bool) -> None """Sets the disable_preannouncing of this HlsManifestAdMarkerSettings. Certain tags, such as EXT_X_DATERANGE, may be preannounced in the HLS manifest. This means they are inserted as early as possible, before the actual ad break begins or ends. Preannouncing helps clients anticipate upcoming splice points, but may cause compatibility issues with some downstream consumers (e.g., AWS MediaTailor SSAI). When this setting is enabled, preannouncing of tags is disabled, and tags are inserted at the segment corresponding to the event's splice time. :param disable_preannouncing: The disable_preannouncing of this HlsManifestAdMarkerSettings. :type: bool """ if disable_preannouncing is not None: if not isinstance(disable_preannouncing, bool): raise TypeError("Invalid type for `disable_preannouncing`, type has to be `bool`") self._disable_preannouncing = disable_preannouncing
[docs] def to_dict(self): """Returns the model properties as a dict""" result = {} for attr, _ in six.iteritems(self.openapi_types): value = getattr(self, attr) if value is None: continue if isinstance(value, list): if len(value) == 0: continue result[self.attribute_map.get(attr)] = [y.value if isinstance(y, Enum) else y for y in [x.to_dict() if hasattr(x, "to_dict") else x for x in value]] elif hasattr(value, "to_dict"): result[self.attribute_map.get(attr)] = value.to_dict() elif isinstance(value, Enum): result[self.attribute_map.get(attr)] = value.value elif isinstance(value, dict): result[self.attribute_map.get(attr)] = {k: (v.to_dict() if hasattr(v, "to_dict") else v) for (k, v) in value.items()} else: result[self.attribute_map.get(attr)] = value return result
[docs] def to_str(self): """Returns the string representation of the model""" return pprint.pformat(self.to_dict())
def __repr__(self): """For `print` and `pprint`""" return self.to_str() def __eq__(self, other): """Returns true if both objects are equal""" if not isinstance(other, HlsManifestAdMarkerSettings): return False return self.__dict__ == other.__dict__ def __ne__(self, other): """Returns true if both objects are not equal""" return not self == other