diff --git a/selfdrive/loggerd/encoder/ffmpeg_encoder.cc b/selfdrive/loggerd/encoder/ffmpeg_encoder.cc index 139ffe3f24..7011f43a23 100644 --- a/selfdrive/loggerd/encoder/ffmpeg_encoder.cc +++ b/selfdrive/loggerd/encoder/ffmpeg_encoder.cc @@ -47,7 +47,7 @@ FfmpegEncoder::~FfmpegEncoder() { } void FfmpegEncoder::encoder_open(const char* path) { - AVCodec *codec = avcodec_find_encoder(AV_CODEC_ID_FFVHUFF); + const AVCodec *codec = avcodec_find_encoder(AV_CODEC_ID_FFVHUFF); this->codec_ctx = avcodec_alloc_context3(codec); assert(this->codec_ctx); diff --git a/selfdrive/loggerd/encoder/video_writer.cc b/selfdrive/loggerd/encoder/video_writer.cc index c02592583a..4eb66606c6 100644 --- a/selfdrive/loggerd/encoder/video_writer.cc +++ b/selfdrive/loggerd/encoder/video_writer.cc @@ -1,5 +1,3 @@ -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - #include #include @@ -23,11 +21,8 @@ VideoWriter::VideoWriter(const char *path, const char *filename, bool remuxing, assert(this->ofmt_ctx); // set codec correctly. needed? - av_register_all(); - - AVCodec *avcodec = NULL; assert(codec != cereal::EncodeIndex::Type::FULL_H_E_V_C); - avcodec = avcodec_find_encoder(raw ? AV_CODEC_ID_FFVHUFF : AV_CODEC_ID_H264); + const AVCodec *avcodec = avcodec_find_encoder(raw ? AV_CODEC_ID_FFVHUFF : AV_CODEC_ID_H264); assert(avcodec); this->codec_ctx = avcodec_alloc_context3(avcodec); @@ -95,7 +90,7 @@ void VideoWriter::write(uint8_t *data, int len, long long timestamp, bool codecc int err = av_interleaved_write_frame(ofmt_ctx, &pkt); if (err < 0) { LOGW("ts encoder write issue"); } - av_free_packet(&pkt); + av_packet_unref(&pkt); } } } diff --git a/selfdrive/loggerd/encoder/video_writer.h b/selfdrive/loggerd/encoder/video_writer.h index 217964e0ef..01a243904c 100644 --- a/selfdrive/loggerd/encoder/video_writer.h +++ b/selfdrive/loggerd/encoder/video_writer.h @@ -4,6 +4,7 @@ extern "C" { #include +#include } #include "cereal/messaging/messaging.h"