|
@@ -37,13 +37,43 @@ VideoRenderImpl::~VideoRenderImpl()
|
|
|
SDL_Quit();
|
|
|
}
|
|
|
|
|
|
+int VideoRenderImpl::SetWindowProperty(videorender_param_t* tparam)
|
|
|
+{
|
|
|
+ int iRet = -1;
|
|
|
+ if (NULL == tparam){
|
|
|
+ return iRet;
|
|
|
+ }
|
|
|
+
|
|
|
+ m_cx = tparam->icy;
|
|
|
+ m_cy = tparam->icy;
|
|
|
+ m_width = tparam->uwidth;
|
|
|
+ m_height = tparam->uheight;
|
|
|
+ m_videowidth = m_width;
|
|
|
+ m_videoheight = m_height;
|
|
|
+ if (tparam->uvideowidth > 0){
|
|
|
+ m_videowidth = tparam->uvideowidth;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (tparam->uvideoheight > 0){
|
|
|
+ m_videoheight = tparam->uvideoheight;
|
|
|
+ }
|
|
|
+
|
|
|
+ m_flags |= tparam->uwinflags;
|
|
|
|
|
|
-int VideoRenderImpl::VideoRenderSetParam()
|
|
|
+ iRet = 0;
|
|
|
+
|
|
|
+ return iRet;
|
|
|
+}
|
|
|
+
|
|
|
+int VideoRenderImpl::VideoRenderSetParam(videorender_param_t* tparam)
|
|
|
{
|
|
|
- if (NULL == m_sdl_window) /*init SDL*/
|
|
|
- {
|
|
|
- if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER) < 0)
|
|
|
- {
|
|
|
+ if (SetWindowProperty(tparam)){
|
|
|
+ m_callback->Debug("SetWindowProperty failed for param error.");
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (NULL == m_sdl_window){
|
|
|
+ if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER) < 0){
|
|
|
m_callback->Debug("RENDER: Couldn't initialize SDL2: %s", SDL_GetError());
|
|
|
return -1;
|
|
|
}
|
|
@@ -156,14 +186,14 @@ int VideoRenderImpl::VideoRenderSetParam()
|
|
|
|
|
|
free(render_info);
|
|
|
|
|
|
- SDL_RenderSetLogicalSize(m_renderer, m_width, m_height);
|
|
|
+ SDL_RenderSetLogicalSize(m_renderer, m_videowidth, m_videoheight);
|
|
|
SDL_SetRenderDrawBlendMode(m_renderer, SDL_BLENDMODE_NONE);
|
|
|
|
|
|
m_rending_texture = SDL_CreateTexture(m_renderer,
|
|
|
SDL_PIXELFORMAT_BGR24,
|
|
|
SDL_TEXTUREACCESS_STREAMING,
|
|
|
- m_width,
|
|
|
- m_height);
|
|
|
+ m_videowidth,
|
|
|
+ m_videoheight);
|
|
|
|
|
|
if (m_rending_texture == NULL){
|
|
|
m_callback->Debug("RENDER: (SDL2) Couldn't get a texture for rendering: %s", SDL_GetError());
|