| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #ifndef VIDEORENDER_H
- #define VIDEORENDER_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "videoutil.h"
- typedef struct videorender* videorender_t;
- /**
- * create videorender instance,
- * @param hWnd which window you want to show the video
- * @param top
- * @param q_max_size maximum size of video display queue, if 0 use default 16
- * @param free_frame_cb the callback funtion will called after displaying the frame, usually to free videoframe
- * @param p_render result of videorender intance
- * @return zero on success
- */
- int videorender_create(HWND hWnd,
- int top,
- int left,
- int width,
- int height,
- int q_max_size,
- void (*free_frame_cb)(video_frame *frame),
- videorender_t *p_render);
- /**
- * destroy videorender instance and release all resource
- * @param render the videorender instance handler
- */
- void videorender_destroy(videorender_t render);
- /**
- * put a video frame to display queue
- * @param render the videorender instance handler
- * @param frame video frame you want display, only support RGB24 and I420 format
- * @param disp_ts displaying timestamp of frame
- */
- int videorender_queue_frame(videorender_t render,
- video_frame *frame,
- video_timestamp *disp_ts);
- #ifdef __cplusplus
- }//extern "C" {
- #endif
- #endif // VIDEORENDER_H
|