On date Monday 2012-12-03 17:52:57 +0200, Rafi Fisher encoded: > hello > > i'm using *swresample lib*. my code is used to convert mp2 or mp4 into > wav file. > the code fragment : > ....... > > SwrContext *swr = swr_alloc(); > ret = av_opt_set_int(swr, "in_channel_layout", AV_CH_LAYOUT_STEREO, 0); > ret = av_opt_set_int(swr, "out_channel_layout", AV_CH_LAYOUT_MONO, > 0); > ret = av_opt_set_int(swr, "in_sample_rate", IN_SAMPLE_RATE, 0); > ret = av_opt_set_int(swr, "out_sample_rate", OUT_SAMPLE_RATE, 0); > ret = av_opt_set_int(swr, "in_sample_fmt", AV_SAMPLE_FMT_S16, 0); > ret = av_opt_set_int(swr, "out_sample_fmt", AV_SAMPLE_FMT_S16, 0); > ret = swr_init(swr); > > ....... > > out_samples = swr_convert(swr, output, out_samples,(const uint8_t **) > (inframe->data), in_samples); > if out_channel_layout = AV_CH_LAYOUT_ STEREO resampling works fine > > if out_channel_layout = AV_CH_LAYOUT_MONO & other set options remain > same it fails that is: >
> the swr_convert fails that is somwhere inside the code of this function > there is a call to* exit* which is problematic by itself (exit a program > from av. library) > instead of returning some error code. > There is no call to exit() in libswresample, it seems more likely like a crash. Make sure that you correctly allocated the samples buffers. Also check my recently posted resampling example: http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/155151 > help will be appreciated thanks rafi -- FFmpeg = Forgiving and Fostering Mega Puristic Explosive Genius _______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
