diff --git a/recording-daemon/output.c b/recording-daemon/output.c index a656e9f62..389cffebd 100644 --- a/recording-daemon/output.c +++ b/recording-daemon/output.c @@ -266,6 +266,9 @@ static void output_shutdown(output_t *output) { avio_closep(&output->fmtctx->pb); } avcodec_close(output->avcctx); +#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 0, 0) + avcodec_free_context(&output->avcctx); +#endif avformat_free_context(output->fmtctx); av_audio_fifo_free(output->fifo); av_frame_free(&output->frame); diff --git a/recording-daemon/packet.c b/recording-daemon/packet.c index 7ec8786f5..63e540423 100644 --- a/recording-daemon/packet.c +++ b/recording-daemon/packet.c @@ -275,6 +275,7 @@ seq_ok: dupe: dbg("skipping dupe packet (new seq %i prev seq %i)", packet->seq, ssrc->seq); pthread_mutex_unlock(&ssrc->lock); + packet_free(packet); log_info_ssrc = 0; return;