mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-11-14 04:57:54 +00:00
[obs] fix compilation for older versions of OBS
This commit is contained in:
parent
fb1d96e147
commit
0990c59eff
1 changed files with 16 additions and 0 deletions
16
obs/lg.c
16
obs/lg.c
|
@ -95,7 +95,9 @@ typedef struct
|
||||||
DMAFrameInfo dmaInfo[LGMP_Q_FRAME_LEN];
|
DMAFrameInfo dmaInfo[LGMP_Q_FRAME_LEN];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if LIBOBS_API_MAJOR_VER >= 28
|
||||||
enum gs_color_space colorSpace;
|
enum gs_color_space colorSpace;
|
||||||
|
#endif
|
||||||
|
|
||||||
pthread_t frameThread, pointerThread;
|
pthread_t frameThread, pointerThread;
|
||||||
os_sem_t * frameSem;
|
os_sem_t * frameSem;
|
||||||
|
@ -681,19 +683,25 @@ static void lgVideoTick(void * data, float seconds)
|
||||||
case FRAME_TYPE_BGRA:
|
case FRAME_TYPE_BGRA:
|
||||||
format = GS_BGRA_UNORM;
|
format = GS_BGRA_UNORM;
|
||||||
drm_format = DRM_FORMAT_ARGB8888;
|
drm_format = DRM_FORMAT_ARGB8888;
|
||||||
|
#if LIBOBS_API_MAJOR_VER >= 28
|
||||||
this->colorSpace = GS_CS_SRGB;
|
this->colorSpace = GS_CS_SRGB;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FRAME_TYPE_RGBA:
|
case FRAME_TYPE_RGBA:
|
||||||
format = GS_RGBA_UNORM;
|
format = GS_RGBA_UNORM;
|
||||||
drm_format = DRM_FORMAT_ARGB8888;
|
drm_format = DRM_FORMAT_ARGB8888;
|
||||||
|
#if LIBOBS_API_MAJOR_VER >= 28
|
||||||
this->colorSpace = GS_CS_SRGB;
|
this->colorSpace = GS_CS_SRGB;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FRAME_TYPE_RGBA10:
|
case FRAME_TYPE_RGBA10:
|
||||||
format = GS_R10G10B10A2;
|
format = GS_R10G10B10A2;
|
||||||
drm_format = DRM_FORMAT_BGRA1010102;
|
drm_format = DRM_FORMAT_BGRA1010102;
|
||||||
|
#if LIBOBS_API_MAJOR_VER >= 28
|
||||||
this->colorSpace = GS_CS_709_SCRGB;
|
this->colorSpace = GS_CS_709_SCRGB;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FRAME_TYPE_RGB_24:
|
case FRAME_TYPE_RGB_24:
|
||||||
|
@ -704,7 +712,9 @@ static void lgVideoTick(void * data, float seconds)
|
||||||
case FRAME_TYPE_BGR_32:
|
case FRAME_TYPE_BGR_32:
|
||||||
format = GS_BGRA_UNORM;
|
format = GS_BGRA_UNORM;
|
||||||
drm_format = DRM_FORMAT_ARGB8888;
|
drm_format = DRM_FORMAT_ARGB8888;
|
||||||
|
#if LIBOBS_API_MAJOR_VER >= 28
|
||||||
this->colorSpace = GS_CS_SRGB;
|
this->colorSpace = GS_CS_SRGB;
|
||||||
|
#endif
|
||||||
unpack = true;
|
unpack = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -712,7 +722,9 @@ static void lgVideoTick(void * data, float seconds)
|
||||||
this->bpp = 8;
|
this->bpp = 8;
|
||||||
format = GS_RGBA16F;
|
format = GS_RGBA16F;
|
||||||
drm_format = DRM_FORMAT_ABGR16161616F;
|
drm_format = DRM_FORMAT_ABGR16161616F;
|
||||||
|
#if LIBOBS_API_MAJOR_VER >= 28
|
||||||
this->colorSpace = GS_CS_709_SCRGB;
|
this->colorSpace = GS_CS_709_SCRGB;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -901,12 +913,14 @@ static void lgVideoRender(void * data, gs_effect_t * effect)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if LIBOBS_API_MAJOR_VER >= 28
|
||||||
static enum gs_color_space lgVideoGetColorSpace(void *data, size_t count,
|
static enum gs_color_space lgVideoGetColorSpace(void *data, size_t count,
|
||||||
const enum gs_color_space *preferred_spaces)
|
const enum gs_color_space *preferred_spaces)
|
||||||
{
|
{
|
||||||
LGPlugin * this = (LGPlugin *)data;
|
LGPlugin * this = (LGPlugin *)data;
|
||||||
return this->colorSpace;
|
return this->colorSpace;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static uint32_t lgGetWidth(void * data)
|
static uint32_t lgGetWidth(void * data)
|
||||||
{
|
{
|
||||||
|
@ -934,7 +948,9 @@ struct obs_source_info lg_source =
|
||||||
.get_properties = lgGetProperties,
|
.get_properties = lgGetProperties,
|
||||||
.video_tick = lgVideoTick,
|
.video_tick = lgVideoTick,
|
||||||
.video_render = lgVideoRender,
|
.video_render = lgVideoRender,
|
||||||
|
#if LIBOBS_API_MAJOR_VER >= 28
|
||||||
.video_get_color_space = lgVideoGetColorSpace,
|
.video_get_color_space = lgVideoGetColorSpace,
|
||||||
|
#endif
|
||||||
.get_width = lgGetWidth,
|
.get_width = lgGetWidth,
|
||||||
.get_height = lgGetHeight,
|
.get_height = lgGetHeight,
|
||||||
.icon_type = OBS_ICON_TYPE_DESKTOP_CAPTURE
|
.icon_type = OBS_ICON_TYPE_DESKTOP_CAPTURE
|
||||||
|
|
Loading…
Reference in a new issue