[FFmpeg-devel] [PATCH 2/2] webmdashenc: Validate the 'streams' adaptation sets parameter
Michael Niedermayer
michael at niedermayer.cc
Thu Apr 20 17:47:29 EEST 2017
On Thu, Apr 20, 2017 at 01:14:43PM +0100, Derek Buitenhuis wrote:
> It should not be a value larger than the number of streams we have,
> or it will cause invalid reads and/or SIGSEGV.
>
> Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>
> ---
> libavformat/webmdashenc.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
breaks fate
--- ./tests/ref/fate/webm-dash-manifest 2017-04-18 01:26:16.687146020 +0200
+++ tests/data/fate/webm-dash-manifest 2017-04-20 16:10:26.923696509 +0200
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<MPD
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="urn:mpeg:DASH:schema:MPD:2011"
- xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011"
- type="static"
- mediaPresentationDuration="PT32.501S"
- minBufferTime="PT1S"
- profiles="urn:webm:dash:profile:webm-on-demand:2012">
-<Period id="0" start="PT0S" duration="PT32.501S" >
-<AdaptationSet id="0" mimeType="video/webm" codecs="vp8" lang="eng" width="640" height="360" bitstreamSwitching="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
-<Representation id="0" bandwidth="302355">
-<BaseURL>dash_video1.webm</BaseURL>
-<SegmentBase
- indexRange="1115974-1116097">
-<Initialization
- range="0-441" />
-</SegmentBase>
-</Representation>
-<Representation id="1" bandwidth="302355">
-<BaseURL>dash_video2.webm</BaseURL>
-<SegmentBase
- indexRange="1115782-1115879">
-<Initialization
- range="0-249" />
-</SegmentBase>
-</Representation>
-</AdaptationSet>
-<AdaptationSet id="1" mimeType="audio/webm" codecs="vorbis" lang="eng" audioSamplingRate="44100" bitstreamSwitching="true" subsegmentAlignment="false" subsegmentStartsWithSAP="1">
-<Representation id="2" bandwidth="82867">
-<BaseURL>dash_audio1.webm</BaseURL>
-<SegmentBase
- indexRange="335488-335612">
-<Initialization
- range="0-4103" />
-</SegmentBase>
-</Representation>
-<Representation id="3" bandwidth="82814">
-<BaseURL>dash_audio2.webm</BaseURL>
-<SegmentBase
- indexRange="335312-335425">
-<Initialization
- range="0-3927" />
-</SegmentBase>
-</Representation>
-</AdaptationSet>
-</Period>
-</MPD>
Test webm-dash-manifest failed. Look at tests/data/fate/webm-dash-manifest.err for details.
make: *** [fate-webm-dash-manifest] Error 1
TEST webm-dash-manifest-live-bandwidth
--- ./tests/ref/fate/webm-dash-manifest-live 2017-04-18 01:26:16.687146020 +0200
+++ tests/data/fate/webm-dash-manifest-live 2017-04-20 16:10:26.939696503 +0200
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<MPD
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="urn:mpeg:DASH:schema:MPD:2011"
- xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011"
- type="dynamic"
- minBufferTime="PT1S"
- profiles="urn:mpeg:dash:profile:isoff-live:2011"
- availabilityStartTime=""
- timeShiftBufferDepth="PT7200S"
- minimumUpdatePeriod="PT60S">
-<Period id="0" start="PT0S" >
-<AdaptationSet id="0" mimeType="video/webm" codecs="vp9" bitstreamSwitching="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
-<ContentComponent id="1" type="video"/>
-<SegmentTemplate timescale="1000" duration="5000" media="dash_live_video_$RepresentationID$_$Number$.chk" startNumber="1" initialization="dash_live_video_$RepresentationID$.hdr"/>
-<Representation id="360" bandwidth="1000000" width="640" height="360" codecs="vp9" mimeType="video/webm" startsWithSAP="1"></Representation>
-</AdaptationSet>
-<AdaptationSet id="1" mimeType="audio/webm" codecs="vorbis" bitstreamSwitching="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
-<ContentComponent id="1" type="audio"/>
-<SegmentTemplate timescale="1000" duration="5000" media="dash_live_audio_$RepresentationID$_$Number$.chk" startNumber="1" initialization="dash_live_audio_$RepresentationID$.hdr"/>
-<Representation id="171" bandwidth="128000" audioSamplingRate="32000" codecs="vorbis" mimeType="audio/webm" startsWithSAP="1"></Representation>
-</AdaptationSet>
-</Period>
-</MPD>
Test webm-dash-manifest-live failed. Look at tests/data/fate/webm-dash-manifest-live.err for details.
make: *** [fate-webm-dash-manifest-live] Error 1
TEST vp8-test-vector-005
TEST vp8-test-vector-006
TEST vp8-test-vector-007
--- ./tests/ref/fate/webm-dash-manifest-live-bandwidth 2017-04-18 12:31:39.137491812 +0200
+++ tests/data/fate/webm-dash-manifest-live-bandwidth 2017-04-20 16:10:26.975696506 +0200
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<MPD
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="urn:mpeg:DASH:schema:MPD:2011"
- xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011"
- type="dynamic"
- minBufferTime="PT1S"
- profiles="urn:mpeg:dash:profile:isoff-live:2011"
- availabilityStartTime=""
- timeShiftBufferDepth="PT7200S"
- minimumUpdatePeriod="PT60S">
-<Period id="0" start="PT0S" >
-<AdaptationSet id="0" mimeType="video/webm" codecs="vp9" bitstreamSwitching="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
-<ContentComponent id="1" type="video"/>
-<SegmentTemplate timescale="1000" duration="5000" media="dash_live_video_$RepresentationID$_$Number$.chk" startNumber="1" initialization="dash_live_video_$RepresentationID$.hdr"/>
-<Representation id="360" bandwidth="100" width="640" height="360" codecs="vp9" mimeType="video/webm" startsWithSAP="1"></Representation>
-</AdaptationSet>
-<AdaptationSet id="1" mimeType="audio/webm" codecs="vorbis" bitstreamSwitching="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
-<ContentComponent id="1" type="audio"/>
-<SegmentTemplate timescale="1000" duration="5000" media="dash_live_audio_$RepresentationID$_$Number$.chk" startNumber="1" initialization="dash_live_audio_$RepresentationID$.hdr"/>
-<Representation id="171" bandwidth="200" audioSamplingRate="32000" codecs="vorbis" mimeType="audio/webm" startsWithSAP="1"></Representation>
-</AdaptationSet>
-</Period>
-</MPD>
Test webm-dash-manifest-live-bandwidth failed. Look at tests/data/fate/webm-dash-manifest-live-bandwidth.err for details.
make: *** [fate-webm-dash-manifest-live-bandwidth] Error 1
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
The bravest are surely those who have the clearest vision
of what is before them, glory and danger alike, and yet
notwithstanding go out to meet it. -- Thucydides
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170420/ae5432df/attachment.sig>
More information about the ffmpeg-devel
mailing list