1
mirror of https://code.videolan.org/videolan/vlc synced 2024-09-28 23:09:59 +02:00

lua: playlist/appletrailers: handle stream creation error

Add additional error handling/logging and some general cleanup of
parse_json.
This commit is contained in:
Marvin Scholz 2018-04-25 13:47:06 +02:00
parent c5c44df639
commit 875ff3187c

View File

@ -32,26 +32,27 @@ function find( haystack, needle )
end
function parse_json(url)
vlc.msg.dbg("Trying to parse JSON from " .. url)
local json = require ("dkjson")
-- Use vlc.stream to grab a remote json file, place it in a string,
-- decode it and return the decoded data.
local json = require("dkjson")
local stream = vlc.stream(url)
local string = ""
local line = ""
if not stream then return false end
if not stream then
return nil, nil, "Failed creating VLC stream"
end
while true do
line = stream:readline()
if not line then break end
if not line then
break
end
string = string .. line
end
if string == "" then
return 0, 0, "Got empty response from server."
return nil, nil, "Got empty response from server."
end
return json.decode(string)