summaryrefslogtreecommitdiff
path: root/src/buffer
diff options
context:
space:
mode:
Diffstat (limited to 'src/buffer')
-rw-r--r--src/buffer/video.c8
-rw-r--r--src/buffer/video.h2
2 files changed, 5 insertions, 5 deletions
diff --git a/src/buffer/video.c b/src/buffer/video.c
index 7874615..0e9ce28 100644
--- a/src/buffer/video.c
+++ b/src/buffer/video.c
@@ -15,8 +15,8 @@
// quite incompatible with very low frame rates.
// MARK_LOW is considered directly after reading a frame, so in other words,
// it will trigger at the point where there is about (LOW+1) frames left. Even at
-// something like 240fps that's still ~(4*(LOW+1))ms to uncork and produce a new frame.
-#define BUFFER_MARK_LOW 3
+// something like 240fps that's still ~(4.16*(LOW+1))ms to uncork and produce a new frame.
+#define BUFFER_MARK_LOW 4
#define BUFFER_MARK_BUFFERED 6 // Must be >1.
#define BUFFER_MARK_HIGH 8
#define BUFFER_MARK_RESET (BUFFER_MARK_HIGH * 2)
@@ -112,9 +112,9 @@ bool camu_video_buffer_configure_subtitles(struct camu_video_buffer *buf, struct
return buf->queue->configure_subtitles(buf->queue, fmt->width, fmt->height, stream);
}
-void camu_video_buffer_set_latency(struct camu_video_buffer *buf, s32 frames)
+void camu_video_buffer_set_latency(struct camu_video_buffer *buf, f64 latency)
{
- buf->latency = frames * buf->avg_frame_duration;
+ buf->latency = latency;
}
static void after_push_internal(struct camu_video_buffer *buf)
diff --git a/src/buffer/video.h b/src/buffer/video.h
index d844d80..380943e 100644
--- a/src/buffer/video.h
+++ b/src/buffer/video.h
@@ -49,7 +49,7 @@ bool camu_video_buffer_init(struct camu_video_buffer *buf, struct camu_clock *cl
bool camu_video_buffer_configure(struct camu_video_buffer *buf, struct camu_codec_stream *stream,
struct camu_renderer *renderer);
bool camu_video_buffer_configure_subtitles(struct camu_video_buffer *buf, struct camu_codec_stream *stream);
-void camu_video_buffer_set_latency(struct camu_video_buffer *buf, s32 frames);
+void camu_video_buffer_set_latency(struct camu_video_buffer *buf, f64 latency);
void camu_video_buffer_push(struct camu_video_buffer *buf, struct camu_codec_frame *frame);
void camu_video_buffer_push_subtitle(struct camu_video_buffer *buf, struct camu_codec_packet *packet);
void camu_video_buffer_flush(struct camu_video_buffer *buf);