From d86e3f6dade53d5ca3b23a5c72c550b8f0583f91 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Fri, 3 Jan 2025 16:53:06 -0500 Subject: Audio buffer, mixer and sink improvements Signed-off-by: Andrew Opalach --- src/codec/ffmpeg/decoder.c | 2 ++ src/codec/ffmpeg/demuxer.c | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src/codec') diff --git a/src/codec/ffmpeg/decoder.c b/src/codec/ffmpeg/decoder.c index ce974f3..c2d95ce 100644 --- a/src/codec/ffmpeg/decoder.c +++ b/src/codec/ffmpeg/decoder.c @@ -58,9 +58,11 @@ static bool ff_decoder_init(struct camu_decoder *dec, struct camu_renderer *rend AVCodecParameters *codecpar = stream->av.stream->codecpar; const AVCodec *codec = avcodec_find_decoder(codecpar->codec_id); +#ifdef CAMU_FF_DECODER_HWACCEL if (strcmp(codec->name, "libdav1d") == 0) { codec = avcodec_find_decoder_by_name("av1"); } +#endif if (!codec) { al_log_error("ff_decoder", "Failed to find decoder."); diff --git a/src/codec/ffmpeg/demuxer.c b/src/codec/ffmpeg/demuxer.c index 286be73..1e92186 100644 --- a/src/codec/ffmpeg/demuxer.c +++ b/src/codec/ffmpeg/demuxer.c @@ -3,7 +3,7 @@ #include "demuxer.h" #include "avio.h" -#define DEMUX_BUFFER_SIZE (4096 * 4) +#define DEMUX_BUFFER_SIZE 4096 static void close_internal(struct camu_ff_demuxer *av) { @@ -164,9 +164,9 @@ static bool ff_demuxer_seek(struct camu_demuxer *demux, u64 pos) al_assert(pos <= INT64_MAX); if (pos > av->duration) pos = av->duration; if (av->eof) { - avformat_flush(av->format_context); av->eof = false; } + avformat_flush(av->format_context); s64 ts = (s64)pos; if (avformat_seek_file(av->format_context, -1, INT64_MIN, ts, ts, 0) < 0) { return false; -- cgit v1.2.3-101-g0448