Use (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO now in place of bit-mapped AV_CH_LAYOUT_STEREO -- possible from FFmpeg 5.1, mandatory in FFmpeg 7. Also remove deprecated avcodec_close.
This commit is contained in:
@@ -2097,7 +2097,7 @@ void avcodec_alloc_context3_cleanup_handler(void *arg) {
|
||||
void avcodec_open2_cleanup_handler(void *arg) {
|
||||
debug(3, "avcodec_open2_cleanup_handler");
|
||||
AVCodecContext *codec_context = arg;
|
||||
avcodec_close(codec_context);
|
||||
avcodec_free_context(&codec_context);
|
||||
}
|
||||
|
||||
void av_parser_init_cleanup_handler(void *arg) {
|
||||
@@ -2313,8 +2313,15 @@ void *rtp_buffered_audio_processor(void *arg) {
|
||||
// push a deallocator -- av_packet_free(pkt);
|
||||
pthread_cleanup_push(swr_alloc_cleanup_handler, &swr);
|
||||
|
||||
|
||||
// FFmpeg 5.1 or later...
|
||||
#if LIBAVUTIL_VERSION_MAJOR >= 57
|
||||
av_opt_set_chlayout(swr, "in_chlayout", &(AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO, 0);
|
||||
av_opt_set_chlayout(swr, "out_chlayout", &(AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO, 0);
|
||||
#else
|
||||
av_opt_set_int(swr, "in_channel_layout", AV_CH_LAYOUT_STEREO, 0);
|
||||
av_opt_set_int(swr, "out_channel_layout", AV_CH_LAYOUT_STEREO, 0);
|
||||
#endif
|
||||
av_opt_set_int(swr, "in_sample_rate", conn->input_rate, 0);
|
||||
av_opt_set_int(swr, "out_sample_rate", conn->input_rate,
|
||||
0); // must match or the timing will be wrong`
|
||||
|
||||
Reference in New Issue
Block a user