[FFmpeg-trac] #8838(avformat:new): concat demuxer fails on double dots in file name
FFmpeg
trac at avcodec.org
Tue Aug 4 05:30:46 EEST 2020
#8838: concat demuxer fails on double dots in file name
-------------------------------------+-------------------------------------
Reporter: sgugler | Type: defect
Status: new | Priority: important
Component: avformat | Version: git-
Keywords: concat | master
demuxer | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
'''SUMMARY'''
The "concat" demuxer (`libavformat/concatdec.c`) fails to correctly parse
a `file` directive in its input script, if the listed file has two
consecutive dots in the filename.
This appears to be a regression from 4.2 when it worked as expected.
It is broken in 4.3 and in 20200803 builds.
Observed on Windows 7 with 64-bit build from zeranoe.
'''TO REPRODUCE'''
No real avi file needs to exist, only the concat script. The error is
observable before the avi it references is ever opened.
{{{
C:\Projects\video>echo file 'one..two.avi' > test.concat
C:\Projects\video>ffmpeg -f concat -i test.concat test.avi
}}}
EXPECTED LOG: `Opening 'one..two.avi' for reading`
OBSERVED LOG: `Opening 'wo.avi' for reading`
Report from build 4.2
{{{
ffmpeg started on 2020-08-03 at 18:53:39
Report written to "ffmpeg-20200803-185339.log"
Command line:
"C:\\e\\PortApps\\ffmpeg-4.2-win64-static\\bin\\ffmpeg" -hide_banner
-report -v 9 -loglevel 99 -safe 0 -f concat -i test.concat test.avi
Splitting the commandline.
Reading option '-hide_banner' ... matched as option 'hide_banner' (do not
show program banner) with argument '1'.
Reading option '-report' ... matched as option 'report' (generate a
report) with argument '1'.
Reading option '-v' ... matched as option 'v' (set logging level) with
argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging
level) with argument '99'.
Reading option '-safe' ... matched as AVOption 'safe' with argument '0'.
Reading option '-f' ... matched as option 'f' (force format) with argument
'concat'.
Reading option '-i' ... matched as input url with argument 'test.concat'.
Reading option 'test.avi' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option hide_banner (do not show program banner) with argument 1.
Applying option report (generate a report) with argument 1.
Applying option v (set logging level) with argument 9.
Applying option loglevel (set logging level) with argument 99.
Successfully parsed a group of options.
Parsing a group of options: input url test.concat.
Applying option f (force format) with argument concat.
Successfully parsed a group of options.
Opening an input file: test.concat.
[concat @ 0000000000ab9740] Opening 'test.concat' for reading
[file @ 0000000000abafc0] Setting default whitelist 'file,crypto'
[NULL @ 0000000000ac3940] Opening 'one..two.avi' for reading
[concat @ 0000000000ab9740] Impossible to open 'one..two.avi'
[AVIOContext @ 0000000000ac31c0] Statistics: 22 bytes read, 0 seeks
test.concat: No such file or directory
}}}
Report from build 20200802
{{{
ffmpeg started on 2020-08-03 at 18:57:27
Report written to "ffmpeg-20200803-185727.log"
Log level: 99
Command line:
"C:\\e\\PortApps\\ffmpeg-20200802-b48397e-win64-static\\bin\\ffmpeg"
-hide_banner -report -v 9 -loglevel 99 -safe 0 -f concat -i test.concat
test.avi
Splitting the commandline.
Reading option '-hide_banner' ... matched as option 'hide_banner' (do not
show program banner) with argument '1'.
Reading option '-report' ... matched as option 'report' (generate a
report) with argument '1'.
Reading option '-v' ... matched as option 'v' (set logging level) with
argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging
level) with argument '99'.
Reading option '-safe' ... matched as AVOption 'safe' with argument '0'.
Reading option '-f' ... matched as option 'f' (force format) with argument
'concat'.
Reading option '-i' ... matched as input url with argument 'test.concat'.
Reading option 'test.avi' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option hide_banner (do not show program banner) with argument 1.
Applying option report (generate a report) with argument 1.
Applying option v (set logging level) with argument 9.
Applying option loglevel (set logging level) with argument 99.
Successfully parsed a group of options.
Parsing a group of options: input url test.concat.
Applying option f (force format) with argument concat.
Successfully parsed a group of options.
Opening an input file: test.concat.
[concat @ 000000000066dfc0] Opening 'test.concat' for reading
[file @ 000000000066f6c0] Setting default whitelist 'file,crypto,data'
[NULL @ 0000000000678080] Opening 'wo.avi' for reading
[concat @ 000000000066dfc0] Impossible to open 'wo.avi'
[AVIOContext @ 0000000000677900] Statistics: 22 bytes read, 0 seeks
test.concat: No such file or directory
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8838>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list