2015-01-23 14:34 GMT+02:00 Max Vlasov <[email protected]>:
> On Fri, Jan 23, 2015 at 2:20 PM, Anton Shekhovtsov <[email protected]> > wrote: > >> I used swresample only to convert format but it looks simple as brick to >> me. >> >> > Is there somewhere a hidden question "What is the problem in the first > place?" :) > > Probably I missed the point somewhere, but some codecs report particular > frame_size so one should feed data only with blocks having this particular > size. A quote from the sources about > AVCodecContext.frame_size > ... > * - encoding: ... Each submitted frame > * except the last must contain exactly frame_size samples per > channel. > * May be 0 when the codec has CODEC_CAP_VARIABLE_FRAME_SIZE set, > then the > * frame size is not restricted. > *) > > > If incoming data has the same sample_rate as outgoing, no problem, > swr_convert will output the same amount of frames as it accepted. But if > the sample rate are different (44.1k vs 48 k), you can't avoid tricky > arithmetic/logic or caching extra data somewhere unless you have plans to > violate the rule. > > _______________________________________________ > Libav-user mailing list > [email protected] > http://ffmpeg.org/mailman/listinfo/libav-user > > Yes, in the code fragment above "buf_data" is assumed to hold data between invocations. Exactly that - caching somewhere But it is plain memory buffer, not tricky :)
_______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
