summaryrefslogtreecommitdiff
path: root/src/render/queue_momo.c
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2026-07-02 17:58:38 -0400
committerAndrew Opalach <andrew@akon.city> 2026-07-02 18:00:10 -0400
commit38cce5e94a10e5420e4685bbe5ebb1aade6d522f (patch)
treee2e49e69c225a9f9a224d02ae1f7a5c27af91f19 /src/render/queue_momo.c
parent34933b7e1d682e67702999270cd3ceec0e167316 (diff)
downloadcamu-38cce5e94a10e5420e4685bbe5ebb1aade6d522f.tar.gz
camu-38cce5e94a10e5420e4685bbe5ebb1aade6d522f.tar.bz2
camu-38cce5e94a10e5420e4685bbe5ebb1aade6d522f.zip
Allow count to be more correct in frame_queue API
queue_libplacebo's behavior is currently unchanged, though. Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/render/queue_momo.c')
-rw-r--r--src/render/queue_momo.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/render/queue_momo.c b/src/render/queue_momo.c
index bc7caf8..2f7d535 100644
--- a/src/render/queue_momo.c
+++ b/src/render/queue_momo.c
@@ -11,20 +11,22 @@ static bool queue_momo_configure_subtitles(struct camu_frame_queue *queue, u32 w
return false;
}
-static void queue_momo_push(struct camu_frame_queue *queue, struct camu_codec_frame *frame, f64 pts)
+static void queue_momo_push(struct camu_frame_queue *queue, struct camu_codec_frame *frame, f64 pts, u32 *count)
{
struct camu_frame_queue_momo *mq = (struct camu_frame_queue_momo *)queue;
(void)mq;
(void)pts;
+ (void)count;
camu_codec_frame_discard(frame);
}
#ifdef CAMU_HAVE_FFMPEG
-static void queue_momo_push_av_frame(struct camu_frame_queue *queue, AVFrame *frame, f64 pts)
+static void queue_momo_push_av_frame(struct camu_frame_queue *queue, AVFrame *frame, f64 pts, u32 *count)
{
struct camu_frame_queue_momo *mq = (struct camu_frame_queue_momo *)queue;
(void)mq;
(void)pts;
+ (void)count;
av_frame_free(&frame);
}
#endif
@@ -36,24 +38,19 @@ static void queue_momo_push_subtitle(struct camu_frame_queue *queue, struct camu
(void)packet;
}
-static void queue_momo_flush(struct camu_frame_queue *queue)
+static void queue_momo_flush(struct camu_frame_queue *queue, u32 *count)
{
(void)queue;
+ (void)count;
}
-static s32 queue_momo_count(struct camu_frame_queue *queue)
-{
- struct camu_frame_queue_momo *mq = (struct camu_frame_queue_momo *)queue;
- (void)mq;
- return 1;
-}
-
-static u8 queue_momo_read(struct camu_frame_queue *queue, f64 pts, void *out)
+static u8 queue_momo_read(struct camu_frame_queue *queue, f64 pts, void *out, u32 *count)
{
struct camu_frame_queue_momo *mq = (struct camu_frame_queue_momo *)queue;
(void)mq;
(void)pts;
(void)out;
+ (void)count;
return CAMU_QUEUE_OK;
}
@@ -80,7 +77,6 @@ struct camu_frame_queue *camu_frame_queue_momo_create(void)
#endif
mq->q.push_subtitle = queue_momo_push_subtitle;
mq->q.flush = queue_momo_flush;
- mq->q.count = queue_momo_count;
mq->q.read = queue_momo_read;
mq->q.reset = queue_momo_reset;
mq->q.free = queue_momo_free;