\n')
tsx=edcb.GetPrivateProfile('SET','TSExt','.ts','EpgTimerSrv.ini')
info=nil
for i,v in ipairs({table.unpack(MEDIA_EXTENSION_LIST),tsx}) do
for j,w in ipairs(edcb.FindFile(dir..'\\*'..v,0) or {}) do
if not w.isdir and mg.md5(w.name)==hash then
info=w
info.ists=v==tsx
break
end
end
if info then
break
end
end
edcb.htmlEscape=15
if info then
ref=dirname..'/'..info.name
ct:Append('Parent directory ..
\n'
..'→Video' or '0">DL')..'
\n')
ct:Append((vtag==1 and VideoWrapperBegin()
..''..VideoWrapperEnd()..'\n'..VideoScriptTemplete() or ''))
if info.ists then
fsec,fsize=0,0
f=edcb.io.open(dir..'\\'..info.name,'rb')
if f then
fsec,fsize=GetDurationSec(f)
f:close()
end
ct:Append(' ('..('%dm%02ds|'):format(math.floor(fsec/60),fsec%60)..math.floor(fsize/1048576)..'M)
\n'
..'')
if vtag==10 then
src='xcode.lua?fname='..mg.url_encode(ref)..ConstructTranscodeQueries(xq)
ct:Append('\n'..VideoWrapperBegin()
..''..VideoWrapperEnd()..'\n'
..'\n'..TranscodeScriptTemplete(false,{ofssec=fsec*(xq.offset or 0)/100,fast=xq.fast}))
if ALLOW_HLS then
ct:Append(HlsScriptTemplete())
end
end
else
ct:Append(' ('..math.floor(info.size/1048576)..'M)
\n')
end
end
ct:Append('
\n')
end
end
ct:Append([=[