[FFmpeg-trac] #3358(swresample:new): swr_convert crash
FFmpeg
trac at avcodec.org
Mon Jan 27 23:18:33 CET 2014
#3358: swr_convert crash
-------------------------------------+-------------------------------------
Reporter: TheSHEEEP | Type: defect
Status: new | Priority: normal
Component: swresample | Version:
Keywords: | unspecified
Blocking: | Blocked By:
Analyzed by developer: 0 | Reproduced by developer: 0
-------------------------------------+-------------------------------------
Summary of the bug:
When I call swr_convert() I get a crash somewhere inside .
Here is a stack trace:
{{{
#0 0x1413ad9a in ff_float_to_int16_a_sse2 ()
from C:\MyProject\bin\Debug_Win\libFFmpegVideoPlugin_d.dll
#1 0x141379ec in swri_audio_convert (ctx=0x3fba2e40,
out=out at entry=0x4029136c, in=in at entry=0x4029110c, len=len at entry=5
at libswresample/audioconvert.c:203
#2 0x141315a8 in swr_convert_internal (in_count=576, in=0x4029110c,
out_count=576, out=0x4029136c, s=0x4028fac0)
at libswresample/swresample.c:618
#3 swr_convert (s=0x4028fac0, out_arg=0x477dfd30, out_count=2048,
in_arg=0x3fd29ae0, in_count=576)
at libswresample/swresample.c:817
}}}
This is the line that calls the sse2 function:
{{{
ctx->simd_f(out->ch+ch, (const uint8_t **)in->ch+ch, off * (out->planar ?
1 :out->ch_count));
}}}
How to reproduce:
Here is how I initialize the context and the output buffer:
{{{
SwrContext* swrContext = swr_alloc_set_opts(NULL,
audioCodecContext->channel_layout, AV_SAMPLE_FMT_S16P,
audioCodecContext->sample_rate,
audioCodecContext->channel_layout,
audioCodecContext->sample_fmt, audioCodecContext->sample_rate,
0, NULL);
int result = swr_init(swrContext);
// Create destination sample buffer
uint8_t** destBuffer = NULL;
int destBufferLinesize;
av_samples_alloc_array_and_samples( &destBuffer,
&destBufferLinesize,
videoInfo.audioNumChannels,
2048,
AV_SAMPLE_FMT_S16P,
0);
}}}
And here is the call to convert:
{{{
int outputSamples = swr_convert(swrContext,
destBuffer, 2048,
(const uint8_t**)frame->extended_data,
frame->nb_samples);
}}}
Also, I do not get any FFmpeg errors in the log and av_samples_alloc,
swr_alloc_set_opts and swr_init do not return any errors, either.
I am using a self compiled version of FFmpeg on Windows with MinGW
(www.mingw.org).
--
Ticket URL: <https://trac.ffmpeg.org/ticket/3358>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list