diff options
| author | 2025-01-03 16:53:06 -0500 | |
|---|---|---|
| committer | 2025-01-03 16:53:06 -0500 | |
| commit | d86e3f6dade53d5ca3b23a5c72c550b8f0583f91 (patch) | |
| tree | 2452d09fda386a497a82eb120d8f36ac59dc912f /src/codec | |
| parent | 298debac881c1e7ca5e3a28834f32ff3e74e45f6 (diff) | |
| download | camu-d86e3f6dade53d5ca3b23a5c72c550b8f0583f91.tar.gz camu-d86e3f6dade53d5ca3b23a5c72c550b8f0583f91.tar.bz2 camu-d86e3f6dade53d5ca3b23a5c72c550b8f0583f91.zip | |
Audio buffer, mixer and sink improvements
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/codec')
| -rw-r--r-- | src/codec/ffmpeg/decoder.c | 2 | ||||
| -rw-r--r-- | src/codec/ffmpeg/demuxer.c | 4 |
2 files changed, 4 insertions, 2 deletions
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; |