Skip to content

Commit

Permalink
Use (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO now in place of bit-map…
Browse files Browse the repository at this point in the history
…ped AV_CH_LAYOUT_STEREO -- possible from FFmpeg 5.1, mandatory in FFmpeg 7. Also remove deprecated avcodec_close.
  • Loading branch information
mikebrady committed Jul 16, 2024
1 parent 9809f9d commit 9909bc2
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion rtp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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`
Expand Down

0 comments on commit 9909bc2

Please sign in to comment.