From d6735566cebf82a5d22a3ade22b9acd52fbe11a5 Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Sun, 27 Oct 2024 19:58:31 -0400 Subject: Buffer tweaks Signed-off-by: Andrew Opalach --- src/codec/ffmpeg/decoder.c | 3 ++- src/codec/ffmpeg/demuxer.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'src/codec/ffmpeg') diff --git a/src/codec/ffmpeg/decoder.c b/src/codec/ffmpeg/decoder.c index 375bdfe..03940a0 100644 --- a/src/codec/ffmpeg/decoder.c +++ b/src/codec/ffmpeg/decoder.c @@ -43,7 +43,8 @@ static bool ff_decoder_init(struct camu_decoder *dec, struct camu_renderer *rend av->codec_context->thread_type = FF_THREAD_SLICE; al_log_debug("ff_decoder", "Using %i threads for decoder.", cpus); -#ifndef CAMU_SINK_NO_VIDEO +//#ifndef CAMU_SINK_NO_VIDEO +#if 0 if (codecpar->codec_type == AVMEDIA_TYPE_VIDEO && renderer && renderer->get_buffer2) { av->codec_context->get_buffer2 = renderer->get_buffer2; av->codec_context->opaque = renderer->opaque; diff --git a/src/codec/ffmpeg/demuxer.c b/src/codec/ffmpeg/demuxer.c index 7ff0dca..8ea645b 100644 --- a/src/codec/ffmpeg/demuxer.c +++ b/src/codec/ffmpeg/demuxer.c @@ -154,13 +154,13 @@ static u64 ff_demuxer_get_duration(struct camu_demuxer *demux) static bool ff_demuxer_seek(struct camu_demuxer *demux, u64 pos) { struct camu_ff_demuxer *av = (struct camu_ff_demuxer *)demux; - if (pos > av->duration) pos = av->duration; al_assert(pos <= INT64_MAX); - s64 ts = av_rescale_q((s64)pos, (AVRational){ 1, 1000000 }, AV_TIME_BASE_Q); + if (pos > av->duration) pos = av->duration; if (av->eof) { avformat_flush(av->format_context); av->eof = false; } + 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