[MPlayer-users] mencoder -demuxer +lavf crash when copying audio
Pascal Stumpf
Pascal.Stumpf at cubes.de
Tue Feb 17 11:29:18 CET 2015
ogmrip/shrip uses an mencoder command line like this:
./mencoder -nocache -noslices -noconfig all -demuxer +lavf -o
/tmp/audio.LDUTTX -aid 128 -noskip -mc 0 -ovc copy -of rawaudio
-oac copy dvd://1
This crashes with a SIGBUS; backtrace:
#0 0x00000695ad9e2f1a in demux_lavf_control (demuxer=Variable "demuxer"
is not available.
)
at libmpdemux/demux_lavf.c:808
808 priv->avfc->streams[ds->id]->discard =
AVDISCARD_ALL;
(gdb) p ds->id
$1 = 128
(gdb) bt
#0 0x00000695ad9e2f1a in demux_lavf_control (demuxer=Variable "demuxer"
is not available.
)
at libmpdemux/demux_lavf.c:808
#1 0x00000695ad969c2b in demuxer_switch_audio (demuxer=0x697ea13c000,
index=128) at libmpdemux/demuxer.c:1555
#2 0x00000695ad910a42 in select_audio (demuxer=0x697ea13c000,
audio_id=128,
audio_lang=Variable "audio_lang" is not available.
) at mpcommon.c:411
#3 0x00000695ad8ee9e3 in main (argc=21, argv=0x7f7ffffdbf48) at
mencoder.c:721
(gdb)
As you can sea, line 808 reads beyond the array because it tries to use
ds->id as index, which is much too large. In this case, the array goes
up to 8.
I don't know how to calculate the correct index here, but surely there's
someone here who knows the code well enough.
More information about the MPlayer-users
mailing list