mirror of
https://github.com/pvvx/RTL00_WEB.git
synced 2024-12-27 08:15:17 +00:00
32 lines
781 B
C
32 lines
781 B
C
#ifndef _MEDIA_H
|
|
#define _MEDIA_H
|
|
#include "cmsis_os.h"
|
|
#include "mmf_common.h"
|
|
|
|
typedef struct _media_source_module{
|
|
void* (*create)(void);
|
|
void (*destroy)(void*);
|
|
int (*set_param)(void*, int, int);
|
|
int (*handle)(void*, void*); // input output will cast to exch_buf_t
|
|
}msrc_module_t;
|
|
|
|
|
|
|
|
typedef struct _media_source_context{
|
|
xQueueHandle input_qid;
|
|
xQueueHandle output_qid;
|
|
int state;
|
|
xTaskHandle hdl_task;
|
|
|
|
void* drv_priv;
|
|
msrc_module_t* source;
|
|
}msrc_context;
|
|
|
|
void mmf_source_close(msrc_context* ctx);
|
|
msrc_context* mmf_source_open(msrc_module_t* source);
|
|
int mmf_source_ctrl(msrc_context* ctx, int cmd, int arg);
|
|
int mmf_source_get_frame(msrc_context* ctx, exch_buf_t *exbuf);
|
|
|
|
// must be here
|
|
#include "mmf_source_modules/mmf_source_list.h"
|
|
#endif
|