diff options
Diffstat (limited to 'src/buffer')
| -rw-r--r-- | src/buffer/video.c | 8 | ||||
| -rw-r--r-- | src/buffer/video.h | 2 |
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); |