#include "queue_momo.h" static bool queue_momo_configure_subtitles(struct camu_frame_queue *queue, u32 width, u32 height, struct camu_codec_stream *stream) { struct camu_frame_queue_momo *mq = (struct camu_frame_queue_momo *)queue; (void)mq; (void)width; (void)height; (void)stream; return false; } 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, 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 static void queue_momo_push_subtitle(struct camu_frame_queue *queue, struct camu_codec_packet *packet) { struct camu_frame_queue_momo *mq = (struct camu_frame_queue_momo *)queue; (void)mq; (void)packet; } static void queue_momo_flush(struct camu_frame_queue *queue, u32 *count) { (void)queue; (void)count; } 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; } static void queue_momo_reset(struct camu_frame_queue *queue) { struct camu_frame_queue_momo *tq = (struct camu_frame_queue_momo *)queue; (void)tq; } static void queue_momo_free(struct camu_frame_queue **queue) { struct camu_frame_queue_momo *mq = (struct camu_frame_queue_momo *)*queue; al_free(mq); *queue = NULL; } struct camu_frame_queue *camu_frame_queue_momo_create(void) { struct camu_frame_queue_momo *mq = al_alloc_object(struct camu_frame_queue_momo); mq->q.configure_subtitles = queue_momo_configure_subtitles; mq->q.push = queue_momo_push; #ifdef CAMU_HAVE_FFMPEG mq->q.push_av_frame = queue_momo_push_av_frame; #endif mq->q.push_subtitle = queue_momo_push_subtitle; mq->q.flush = queue_momo_flush; mq->q.read = queue_momo_read; mq->q.reset = queue_momo_reset; mq->q.free = queue_momo_free; return (struct camu_frame_queue *)mq; }