vlc | branch: master | Francois Cartegnie <[email protected]> | Tue Oct 6 00:21:24 2015 +0200| [9fce6fdc36bbf345c5ed04513326981acf4df747] | committer: Francois Cartegnie
demux: hls: handle key relative uri > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9fce6fdc36bbf345c5ed04513326981acf4df747 --- modules/demux/hls/playlist/Parser.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/demux/hls/playlist/Parser.cpp b/modules/demux/hls/playlist/Parser.cpp index f9a272e..9f44cc9 100644 --- a/modules/demux/hls/playlist/Parser.cpp +++ b/modules/demux/hls/playlist/Parser.cpp @@ -266,8 +266,14 @@ void M3U8Parser::parseSegments(vlc_object_t *p_obj, Representation *rep, const s encryption.method = SegmentEncryption::AES_128; encryption.key.clear(); uint8_t *p_data; - const uint64_t read = Retrieve::HTTP(p_obj, keytag->getAttributeByName("URI")->quotedString(), - (void **) &p_data); + + Url keyurl(keytag->getAttributeByName("URI")->quotedString()); + if(!keyurl.hasScheme()) + { + keyurl.prepend(Helper::getDirectoryPath(rep->getPlaylistUrl().toString()).append("/")); + } + + const uint64_t read = Retrieve::HTTP(p_obj, keyurl.toString(), (void **) &p_data); if(p_data) { if(read == 16) _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
