From fd0cdccc7cf66bc0734889ce53f9c7d958774a9b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafa=C3=ABl=20Carr=C3=A9?= Date: Thu, 20 Mar 2008 23:48:45 +0100 Subject: [PATCH] DM: Use built-in priority for known codecs Not every dailymotion video is available in vp6 --- share/luaplaylist/dailymotion.lua | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/share/luaplaylist/dailymotion.lua b/share/luaplaylist/dailymotion.lua index 41b7cd6be5..2cbae59842 100644 --- a/share/luaplaylist/dailymotion.lua +++ b/share/luaplaylist/dailymotion.lua @@ -42,22 +42,33 @@ function parse() and resolutions: /A@@spark||/B@@spark-mini||/C@@vp6-hd||/D@@vp6||/E@@h264 Not everybody can decode HD, not everybody has a 80x60 screen, - H264/MP4 is buggy , so i choose VP6 + H264/MP4 is buggy , so i choose VP6 as the highest priority Ideally, VLC would propose the different streams available, codecs and resolutions (the resolutions are part of the URL) + + For now we just built a list of preferred codecs : lowest value + means highest priority ]] + local pref = { ["vp6"]=0, ["spark"]=1, ["h264"]=2, ["vp6-hd"]=3, ["spark-mini"]=4 } + local available = {} for n in string.gmatch(videos, "[^|]+") do i = string.find(n, "@@") if i then - video = string.sub( n, 0, i - 1) - codec = string.sub( n, i + 2 ) - if video and codec and string.match(codec, "vp6") then - path = "http://dailymotion.com" .. video - break - end + available[string.sub(n, i+2)] = string.sub(n, 0, i-1) + end + end + local score = 666 + local bestcodec + for codec,_ in pairs(available) do + if pref[codec] < score then + bestcodec = codec + score = pref[codec] end end + if bestcodec then + path = "http://dailymotion.com" .. available[bestcodec] + end end if string.match( line, "