summaryrefslogtreecommitdiff
path: root/src/codec
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2024-10-27 19:58:31 -0400
committerAndrew Opalach <andrew@akon.city> 2024-10-27 19:58:31 -0400
commitd6735566cebf82a5d22a3ade22b9acd52fbe11a5 (patch)
tree7240a91747013e0dcdf133ea916e8fe1aaf7f2a7 /src/codec
parent72eb0c6381f9406a4e45d23f65373d4936770433 (diff)
downloadcamu-d6735566cebf82a5d22a3ade22b9acd52fbe11a5.tar.gz
camu-d6735566cebf82a5d22a3ade22b9acd52fbe11a5.tar.bz2
camu-d6735566cebf82a5d22a3ade22b9acd52fbe11a5.zip
Buffer tweaks
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/codec')
-rw-r--r--src/codec/ffmpeg/decoder.c3
-rw-r--r--src/codec/ffmpeg/demuxer.c4
2 files changed, 4 insertions, 3 deletions
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;
}