1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #pragma once
- #include "ivideorenderinterface.h"
- #ifdef _WIN32
- #else
- #include<semaphore.h>
- #endif // _WIN32
- #ifndef MAX_PATH
- #define MAX_PATH 260
- #endif
- typedef struct rvc_video_box_move_callback_s {
- void (*on_video_box_move)(int imessagetype, int ivideotype, int ileft, int ibottom, void* user_data);
- void* user_data;
- }rvc_video_box_move_callback_t;
- typedef struct rvc_video_render_callback_s {
- int (*on_stop_remote_video_render)(void* user_data);
- int (*on_remote_video_render)(void* videoframe, void* user_data);
- void* user_data;
- }rvc_video_render_callback_t;
- typedef struct rvc_video_render_window_type_callback_s {
- int (*on_window_type)(void* user_data);
- void* user_data;
- }rvc_video_render_window_type_callback_t;
- typedef struct rvc_video_render_params_s {
- int ilocal_view_x;
- int ilocal_view_y;
- int ilocal_view_cx;
- int ilocal_view_cy;
- int iremote_view_x;
- int iremote_view_y;
- int iremote_view_cx;
- int iremote_view_cy;
- int ilocal_move;
- int iremote_move;
- int ilocal_fresh_time;
- int iremote_fresh_time;
- }rvc_video_render_params_t;
- typedef struct rvc_video_render_s {
- IVideoRender* plocal_render;
- IVideoRender* premote_render;
- #ifdef _WIN32
- #else
- pthread_t local_render_threadid;
- sem_t local_render_stop_sem;
- pthread_t remote_render_threadid;
- sem_t remote_render_stop_sem;
- #endif
- rvc_video_render_params_t render_param;
- rvc_video_render_window_type_callback_t cb;
- }rvc_video_render_t;
- int rvc_start_video_render(rvc_video_render_t* prender, bool bremote, rvc_video_box_move_callback_t* cb);
- int rvc_stop_video_render(rvc_video_render_t* prender);
- int rvc_remote_video_render(rvc_video_render_t* prender, void* videoframe);
- int rvc_stop_remote_video_render(rvc_video_render_t* prender);
|