| 123456789101112131415161718192021222324252627282930313233343536373839 |
- #pragma once
- #include "ivideorenderinterface.h"
- #include <SDL2/SDL.h>
- #include <SDL2/SDL_video.h>
- #include <SDL2/SDL_render.h>
- #include <SDL2/SDL_rect.h>
- #include <SDL2/SDL_mutex.h>
- class VideoRenderImpl : public IVideoRender
- {
- public:
- VideoRenderImpl(IRenderCallback* pCallback);
- ~VideoRenderImpl();
- int VideoRenderSetParam();
- int StartVideoRender();
- int StopVideoRender();
- void VideoRenderDestroy();
- int ShowVideoWindow();
- int HideVideoWindow();
- int RenderVideoFrame(video_frame* pframe);
- private:
- SDL_Window* m_sdl_window;
- SDL_Texture* m_rending_texture;
- SDL_Renderer* m_renderer;
- IRenderCallback* m_callback;
- int m_cx;
- int m_cy;
- uint32_t m_videowidth;
- uint32_t m_videoheight;
- uint32_t m_width;
- uint32_t m_height;
- uint32_t m_flags;
- };
|