X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=resources%2Flib%2FMSL.py;h=409411322adeb342fb32fb2a09432144617ff31e;hb=f583b2d28ebdfa61283f68995b729e1f17aa5148;hp=e2e7248f2da085dece0ff614d79f4358515f70c9;hpb=d6c102c7e99ca8cb1871ee3ef951c35fcd824b84;p=plugin.video.netflix.git diff --git a/resources/lib/MSL.py b/resources/lib/MSL.py index e2e7248..4094113 100644 --- a/resources/lib/MSL.py +++ b/resources/lib/MSL.py @@ -1,3 +1,8 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Module: MSL +# Created on: 26.01.2017 + import base64 import gzip import json @@ -147,11 +152,13 @@ class MSL: # Audio 'heaac-2-dash', - 'ddplus-2.0-dash', - 'ddplus-5.1-dash', + + #subtiltes 'dfxp-ls-sdh', - 'simplesdh', - 'nflx-cmisc', + #'simplesdh', + #'nflx-cmisc', + + #unkown 'BIF240', 'BIF320' ], @@ -171,6 +178,12 @@ class MSL: 'clientVersion': '4.0004.899.011', 'uiVersion': 'akira' } + + # Check if dolby sound is enabled and add to profles + if self.kodi_helper.get_dolby_setting(): + manifest_request_data['profiles'].append('ddplus-2.0-dash') + manifest_request_data['profiles'].append('ddplus-5.1-dash') + request_data = self.__generate_msl_request_data(manifest_request_data) resp = self.session.post(self.endpoints['manifest'], request_data) @@ -340,6 +353,26 @@ class MSL: segment_base = ET.SubElement(rep, 'SegmentBase', indexRange="0-"+str(init_length), indexRangeExact="true") ET.SubElement(segment_base, 'Initialization', range='0-'+str(init_length)) + # Multiple Adaption Set for subtiles + for text_track in manifest['textTracks']: + print text_track + if 'downloadables' not in text_track or text_track['downloadables'] is None: + continue + subtiles_adaption_set = ET.SubElement(period, 'AdaptationSet', + lang=text_track['bcp47'], + contentType='text', + mimeType='text/vtt') + for downloadable in text_track['downloadables']: + rep = ET.SubElement(subtiles_adaption_set, 'Representation', + bandwidth='0', + nflxProfile=downloadable['contentProfile'] + ) + print downloadable['urls'] + ET.SubElement(rep, 'BaseURL').text = self.__get_base_url(downloadable['urls']) + + + + xml = ET.tostring(root, encoding='utf-8', method='xml') xml = xml.replace('\n', '').replace('\r', '')