diff --git a/resources/lib/API.py b/resources/lib/API.py index d484f1b8..03e3b0f1 100644 --- a/resources/lib/API.py +++ b/resources/lib/API.py @@ -81,6 +81,8 @@ class API(): channels = '' videocodec = '' audiocodec = '' + audiolanguage = '' + subtitlelanguage = '' height = '' width = '' aspectratio = '1:1' @@ -114,15 +116,36 @@ class API(): except: aspectfloat = 1.85 if(mediaStream.get("Type") == "Audio"): - audiocodec = mediaStream.get("Codec") - channels = mediaStream.get("Channels") - return {'channels' : str(channels), - 'videocodec' : videocodec, - 'audiocodec' : audiocodec, - 'height' : height, - 'width' : width, - 'aspectratio' : aspectfloat, - '3dformat' : Video3DFormat + isdefault = mediaStream.get("IsDefault") == "true" + if audiocodec == '': + audiocodec = mediaStream.get("Codec") + if channels == '': + channels = mediaStream.get("Channels") + if audiolanguage == '': + audiolanguage = mediaStream.get("Language") + # only overwrite if default + if isdefault: + audiocodec = mediaStream.get("Codec") + channels = mediaStream.get("Channels") + audiolanguage = mediaStream.get("Language") + if(mediaStream.get("Type") == "Subtitle"): + isdefault = mediaStream.get("IsDefault") == "true" + if subtitlelanguage == '': + subtitlelanguage = mediaStream.get("Language") + # only overwrite if default + if isdefault: + subtitlelanguage = mediaStream.get("Language") + + + return {'channels' : str(channels), + 'videocodec' : videocodec, + 'audiocodec' : audiocodec, + 'audiolanguage' : audiolanguage, + 'subtitlelanguage' : subtitlelanguage, + 'height' : height, + 'width' : width, + 'aspectratio' : aspectfloat, + '3dformat' : Video3DFormat } def getChecksum(self, item): diff --git a/resources/lib/WriteKodiVideoDB.py b/resources/lib/WriteKodiVideoDB.py index 442c082e..e43d8686 100644 --- a/resources/lib/WriteKodiVideoDB.py +++ b/resources/lib/WriteKodiVideoDB.py @@ -1116,8 +1116,8 @@ class WriteKodiVideoDB(): sql="insert into streamdetails(idFile, iStreamType, strVideoCodec, fVideoAspect, iVideoWidth, iVideoHeight, strStereoMode) values(?, ?, ?, ?, ?, ?, ?)" cursor.execute(sql, (fileid,0,streamdetails.get("videocodec"),streamdetails.get("aspectratio"),streamdetails.get("width"),streamdetails.get("height"),streamdetails.get("3dformat"))) #audio details - sql="insert into streamdetails(idFile, iStreamType, strAudioCodec, iAudioChannels) values(?, ?, ?, ?)" - cursor.execute(sql, (fileid,1,streamdetails.get("audiocodec"),streamdetails.get("channels"))) + sql="insert into streamdetails(idFile, iStreamType, strAudioCodec, iAudioChannels, strAudioLanguage, strSubtitleLanguage) values(?, ?, ?, ?, ?, ?)" + cursor.execute(sql, (fileid,1,streamdetails.get("audiocodec"),streamdetails.get("channels"),streamdetails.get("audiolanguage"),streamdetails.get("subtitlelanguage"))) def addBoxsetToKodiLibrary(self, boxset, connection, cursor):