[FFmpeg-cvslog] swr: Use a temporary buffer for dither/ Noise shaping when the input is read only

Nicolas George nicolas.george at normalesup.org
Thu Jan 10 20:00:13 CET 2013


Le primidi 21 nivôse, an CCXXI, Michael Niedermayer a écrit :
> ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Thu Jan 10 18:51:30 2013 +0100| [e5a736261bafb1bc5a4c51d614be63e0632b2e96] | committer: Michael Niedermayer
> 
> swr: Use a temporary buffer for dither/Noise shaping when the input is read only
> 
> This avoids copying the input

It seems to make ffmpeg segfault here:

~/prog/ffmpeg $ git checkout e5a736261bafb1bc5a4c51d614be63e0632b2e96\~1
<snip>
~/prog/ffmpeg $ make fate-mapchan-6ch-extract-2-downmix-mono
<snip>
TEST    mapchan-6ch-extract-2-downmix-mono

~/prog/ffmpeg $ git checkout e5a736261bafb1bc5a4c51d614be63e0632b2e96
<snip>
~/prog/ffmpeg $ make fate-mapchan-6ch-extract-2-downmix-mono
<snip>
make: *** [fate-mapchan-6ch-extract-2-downmix-mono] Error 139

==15385== Invalid read of size 4
==15385==    at 0x67DA207: swri_audio_convert (audioconvert.c:175)
==15385==    by 0x67E035A: swr_convert_internal.part.3 (swresample.c:629)
==15385==    by 0x67E124E: swr_convert (swresample.c:454)
==15385==    by 0x506012B: filter_frame (af_aresample.c:199)
==15385==    by 0x50695FD: ff_filter_frame_framed (avfilter.c:719)
==15385==    by 0x5064A45: filter_frame (af_pan.c:369)
==15385==    by 0x50695FD: ff_filter_frame_framed (avfilter.c:719)
==15385==    by 0x50695FD: ff_filter_frame_framed (avfilter.c:719)
==15385==    by 0x506CF11: request_frame (buffersrc.c:372)
==15385==    by 0x506D0D5: av_buffersrc_add_ref (buffersrc.c:150)
==15385==    by 0x506D2D7: av_buffersrc_add_frame (buffersrc.c:89)
==15385==    by 0x4198CA: decode_audio (ffmpeg.c:1569)
==15385==  Address 0x0 is not stack'd, malloc'd or (recently) free'd

Program received signal SIGSEGV, Segmentation fault.
swri_audio_convert (ctx=0x0, out=out at entry=0x640688, in=in at entry=0x640568, len=len at entry=341)
    at libswresample/audioconvert.c:175
175         av_assert0(ctx->channels == out->ch_count);

#0  swri_audio_convert (ctx=0x0, out=out at entry=0x640688, in=in at entry=0x640568, len=len at entry=341)
    at libswresample/audioconvert.c:175
#1  0x00002aaaac68035b in swr_convert_internal (s=s at entry=0x63ee00, out=out at entry=0x6409e8, out_count=out_count at entry=341, 
    in=in at entry=0x640568, in_count=in_count at entry=341) at libswresample/swresample.c:629
#2  0x00002aaaac68124f in fill_audiodata (out=<optimized out>, in_arg=<optimized out>) at libswresample/swresample.c:454
#3  fill_audiodata (in_arg=<optimized out>, out=0x6409e8) at libswresample/swresample.c:697
#4  swr_convert (s=0x63ee00, out_arg=<optimized out>, out_count=out_count at entry=938, in_arg=<optimized out>, 
    in_count=in_count at entry=341) at libswresample/swresample.c:736
#5  0x00002aaaaaeff12c in filter_frame (inlink=0x634340, insamplesref=0x634880) at libavfilter/af_aresample.c:199
#6  0x00002aaaaaf085fe in ff_filter_frame_framed (link=link at entry=0x634340, frame=frame at entry=0x634880)
    at libavfilter/avfilter.c:719
#7  0x00002aaaaaf08ed8 in ff_filter_frame (link=link at entry=0x634340, frame=frame at entry=0x634880) at libavfilter/avfilter.c:791
#8  0x00002aaaaaf03a46 in filter_frame (inlink=0x633740, insamples=0x654e20) at libavfilter/af_pan.c:369
#9  0x00002aaaaaf085fe in ff_filter_frame_framed (link=0x633740, frame=<optimized out>) at libavfilter/avfilter.c:719
#10 0x00002aaaaaf085fe in ff_filter_frame_framed (link=link at entry=0x633dc0, frame=<optimized out>)
    at libavfilter/avfilter.c:719
#11 0x00002aaaaaf08ed8 in ff_filter_frame (link=link at entry=0x633dc0, frame=<optimized out>) at libavfilter/avfilter.c:791
#12 0x00002aaaaaf0bf12 in request_frame (link=0x633dc0) at libavfilter/buffersrc.c:372
#13 0x00002aaaaaf0c0d6 in av_buffersrc_add_ref (s=s at entry=0x6b7280, buf=0x640688, buf at entry=0x654d40, flags=flags at entry=4)
    at libavfilter/buffersrc.c:150
#14 0x00002aaaaaf0c2d8 in av_buffersrc_add_frame (buffer_src=0x6b7280, frame=frame at entry=0x635020, flags=flags at entry=4)
    at libavfilter/buffersrc.c:89
#15 0x00000000004198cb in decode_audio (ist=ist at entry=0x6623c0, pkt=pkt at entry=0x7fffffffe0a0, 
    got_output=got_output at entry=0x7fffffffde3c) at ffmpeg.c:1569
#16 0x000000000041b748 in output_packet (pkt=0x7fffffffe040, ist=0x6623c0) at ffmpeg.c:1789
#17 process_input (file_index=<optimized out>) at ffmpeg.c:2886
#18 0x00000000004083d5 in transcode_step () at ffmpeg.c:2982
#19 transcode () at ffmpeg.c:3034
#20 main (argc=<optimized out>, argv=<optimized out>) at ffmpeg.c:3209


Regards,

-- 
  Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-cvslog/attachments/20130110/ffb83d81/attachment.asc>


More information about the ffmpeg-cvslog mailing list