Source code for bitmovin_api_sdk.models.broadcast_ts_video_input_stream_configuration

# coding: utf-8

from enum import Enum
from six import string_types, iteritems
from bitmovin_api_sdk.common.poscheck import poscheck_model
from bitmovin_api_sdk.models.broadcast_ts_input_stream_configuration import BroadcastTsInputStreamConfiguration
from bitmovin_api_sdk.models.rai_unit import RaiUnit
import pprint
import six


[docs]class BroadcastTsVideoInputStreamConfiguration(BroadcastTsInputStreamConfiguration): @poscheck_model def __init__(self, stream_id=None, packet_identifier=None, start_with_discontinuity_indicator=None, align_pes=None, set_rai_on_au=None, insert_access_unit_delimiter_in_avc=None, max_decode_delay=None): # type: (string_types, int, bool, bool, RaiUnit, bool, int) -> None super(BroadcastTsVideoInputStreamConfiguration, self).__init__(stream_id=stream_id, packet_identifier=packet_identifier, start_with_discontinuity_indicator=start_with_discontinuity_indicator, align_pes=align_pes, set_rai_on_au=set_rai_on_au) self._insert_access_unit_delimiter_in_avc = None self._max_decode_delay = None self.discriminator = None if insert_access_unit_delimiter_in_avc is not None: self.insert_access_unit_delimiter_in_avc = insert_access_unit_delimiter_in_avc if max_decode_delay is not None: self.max_decode_delay = max_decode_delay @property def openapi_types(self): types = {} if hasattr(super(BroadcastTsVideoInputStreamConfiguration, self), 'openapi_types'): types = getattr(super(BroadcastTsVideoInputStreamConfiguration, self), 'openapi_types') types.update({ 'insert_access_unit_delimiter_in_avc': 'bool', 'max_decode_delay': 'int' }) return types @property def attribute_map(self): attributes = {} if hasattr(super(BroadcastTsVideoInputStreamConfiguration, self), 'attribute_map'): attributes = getattr(super(BroadcastTsVideoInputStreamConfiguration, self), 'attribute_map') attributes.update({ 'insert_access_unit_delimiter_in_avc': 'insertAccessUnitDelimiterInAvc', 'max_decode_delay': 'maxDecodeDelay' }) return attributes @property def insert_access_unit_delimiter_in_avc(self): # type: () -> bool """Gets the insert_access_unit_delimiter_in_avc of this BroadcastTsVideoInputStreamConfiguration. If true, add access unit delimiters (AUD) to AVC stream if AUD is missing from input elementary stream. :return: The insert_access_unit_delimiter_in_avc of this BroadcastTsVideoInputStreamConfiguration. :rtype: bool """ return self._insert_access_unit_delimiter_in_avc @insert_access_unit_delimiter_in_avc.setter def insert_access_unit_delimiter_in_avc(self, insert_access_unit_delimiter_in_avc): # type: (bool) -> None """Sets the insert_access_unit_delimiter_in_avc of this BroadcastTsVideoInputStreamConfiguration. If true, add access unit delimiters (AUD) to AVC stream if AUD is missing from input elementary stream. :param insert_access_unit_delimiter_in_avc: The insert_access_unit_delimiter_in_avc of this BroadcastTsVideoInputStreamConfiguration. :type: bool """ if insert_access_unit_delimiter_in_avc is not None: if not isinstance(insert_access_unit_delimiter_in_avc, bool): raise TypeError("Invalid type for `insert_access_unit_delimiter_in_avc`, type has to be `bool`") self._insert_access_unit_delimiter_in_avc = insert_access_unit_delimiter_in_avc @property def max_decode_delay(self): # type: () -> int """Gets the max_decode_delay of this BroadcastTsVideoInputStreamConfiguration. Maximum Decoder Delay in 90 KHz cycles. When non-zero, the difference between the PCR and the DTS for each picture as it is inserted into the output transport stream is limited to this number of 90 KHz cycles. Values below 1000 are treated as 0 and ignored. Valid Range [0, 1000-900000] :return: The max_decode_delay of this BroadcastTsVideoInputStreamConfiguration. :rtype: int """ return self._max_decode_delay @max_decode_delay.setter def max_decode_delay(self, max_decode_delay): # type: (int) -> None """Sets the max_decode_delay of this BroadcastTsVideoInputStreamConfiguration. Maximum Decoder Delay in 90 KHz cycles. When non-zero, the difference between the PCR and the DTS for each picture as it is inserted into the output transport stream is limited to this number of 90 KHz cycles. Values below 1000 are treated as 0 and ignored. Valid Range [0, 1000-900000] :param max_decode_delay: The max_decode_delay of this BroadcastTsVideoInputStreamConfiguration. :type: int """ if max_decode_delay is not None: if max_decode_delay is not None and max_decode_delay > 900000: raise ValueError("Invalid value for `max_decode_delay`, must be a value less than or equal to `900000`") if max_decode_delay is not None and max_decode_delay < 1000: raise ValueError("Invalid value for `max_decode_delay`, must be a value greater than or equal to `1000`") if not isinstance(max_decode_delay, int): raise TypeError("Invalid type for `max_decode_delay`, type has to be `int`") self._max_decode_delay = max_decode_delay
[docs] def to_dict(self): """Returns the model properties as a dict""" result = {} if hasattr(super(BroadcastTsVideoInputStreamConfiguration, self), "to_dict"): result = super(BroadcastTsVideoInputStreamConfiguration, self).to_dict() 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, BroadcastTsVideoInputStreamConfiguration): return False return self.__dict__ == other.__dict__ def __ne__(self, other): """Returns true if both objects are not equal""" return not self == other