def set_input_stream_addon_input(strm, proxy=None, headers=None, license_key=None, license_type="com.widevine.alpha", max_bit_rate=None, persist_storage=False, service_certificate=None, manifest_update=None): """ Parsers standard M3U8 lists and returns a list of tuples with streams and bitrates that can be used by other methods. :param strm: (MediaStream) the MediaStream to update :param proxy: (Proxy) The proxy to use for opening :param dict headers: Possible HTTP Headers :param str license_key: The value of the license key request :param str license_type: The type of license key request used (see below) :param int max_bit_rate: The maximum bitrate to use (optional) :param bool persist_storage: Should we store certificates? And request server certificates? :param str service_certificate: Use the specified server certificate Can be used like this: part = item.create_new_empty_media_part() stream = part.append_media_stream(m3u8url, 0) M3u8.set_input_stream_addon_input(stream, self.proxy, self.headers) item.complete = True if maxBitRate is not set, the bitrate will be configured via the normal generic Retrospect or channel settings. """ if license_key is not None: # Local import to make sure the overhead is low import inputstreamhelper from logger import Logger is_helper = inputstreamhelper.Helper('mpd', drm=license_type) if is_helper.check_inputstream(): Logger.info( "Widevine library was already installed or installed succesfully." ) else: Logger.error( "Widevine was not installed or failed to install.") return Adaptive.set_input_stream_addon_input( strm, proxy, headers, manifest_type="mpd", license_key=license_key, license_type=license_type, max_bit_rate=max_bit_rate, persist_storage=persist_storage, service_certificate=service_certificate, manifest_update=manifest_update)
def set_input_stream_addon_input(strm, proxy=None, headers=None, license_key=None, license_type=None, max_bit_rate=None, persist_storage=False, service_certificate=None, manifest_update=None): """ Parsers standard M3U8 lists and returns a list of tuples with streams and bitrates that can be used by other methods. :param strm: (MediaStream) the MediaStream to update :param proxy: (Proxy) The proxy to use for opening :param dict headers: Possible HTTP Headers :param str license_key: The value of the license key request :param str license_type: The type of license key request used (see below) :param int max_bit_rate: The maximum bitrate to use (optional) :param bool persist_storage: Should we store certificates? And request server certificates? :param str service_certificate: Use the specified server certificate Can be used like this: part = item.create_new_empty_media_part() stream = part.append_media_stream(m3u8url, 0) M3u8.set_input_stream_addon_input(stream, self.proxy, self.headers) item.complete = True if maxBitRate is not set, the bitrate will be configured via the normal generic Retrospect or channel settings. """ return Adaptive.set_input_stream_addon_input( strm, proxy, headers, manifest_type="hls", license_key=license_key, license_type=license_type, max_bit_rate=max_bit_rate, persist_storage=persist_storage, service_certificate=service_certificate, manifest_update=manifest_update)