GNOME Bugzilla – Bug 725140
hlsdemux: fails to correctly parse CODECS and RESOLUTION
Last modified: 2014-02-28 08:38:08 UTC
hlsdemux does not check for the '"' character in #EXT-X-STREAM-INF attributes. The CODECS parameter is an example of an attribute that might use the '"' symbol and might contain a ',' character inside this quoted string. For example: CODECS="avc1.77.30, mp4a.40.2" hlsdemux does not correctly parse the RESOLUTION attribute, it assumes that an '=' character is used to delineate the width and height values, but the HLS RFC states that a 'x' character must be used as the delimiter between width and height.
Created attachment 270265 [details] [review] fix parsing of CODECS and RESOLUTION An example of an m3u8 that fails to parse without this patch: #EXTM3U #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1588000,CODECS="avc1.77.30, mp4a.40.2",RESOLUTION=704x396 index_0_av.m3u8?e=b471643725c47acd
commit 161254d7c0cd2866b05d35d4aa1eed7e876779fc Author: Alex Ashley <bugzilla@ashley-family.net> Date: Fri Feb 21 09:36:51 2014 +0000 hlsdemux: Fix parsing of CODECS and RESOLUTION hlsdemux does not check for the '"' character in #EXT-X-STREAM-INF attributes. The CODECS parameter is an example of an attribute that might use the '"' symbol and might contain a ',' character inside this quoted string. For example: CODECS="avc1.77.30, mp4a.40.2" hlsdemux does not correctly parse the RESOLUTION attribute, it assumes that an '=' character is used to delineate the width and height values, but the HLS RFC states that a 'x' character must be used as the delimiter between width and height. https://bugzilla.gnome.org/show_bug.cgi?id=725140