mirror of
https://github.com/libretro/RetroArch
synced 2025-03-21 04:21:13 +00:00
Better error handling in *xv_init()
This commit is contained in:
parent
07566c51a1
commit
d29e8c18fa
@ -421,6 +421,7 @@ static void *xv_init(const video_info_t *video,
|
|||||||
const input_driver_t **input, void **input_data)
|
const input_driver_t **input, void **input_data)
|
||||||
{
|
{
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
int ret;
|
||||||
XWindowAttributes target;
|
XWindowAttributes target;
|
||||||
char buf[128] = {0};
|
char buf[128] = {0};
|
||||||
char title[128] = {0};
|
char title[128] = {0};
|
||||||
@ -445,6 +446,13 @@ static void *xv_init(const video_info_t *video,
|
|||||||
XInitThreads();
|
XInitThreads();
|
||||||
|
|
||||||
g_x11_dpy = XOpenDisplay(NULL);
|
g_x11_dpy = XOpenDisplay(NULL);
|
||||||
|
|
||||||
|
if (g_x11_dpy == NULL)
|
||||||
|
{
|
||||||
|
RARCH_ERR("[XVideo]: Cannot connect to the X server.\n");
|
||||||
|
RARCH_ERR("[XVideo]: Check DISPLAY variable and if X is running.\n");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
av_info = video_viewport_get_system_av_info();
|
av_info = video_viewport_get_system_av_info();
|
||||||
|
|
||||||
@ -461,9 +469,27 @@ static void *xv_init(const video_info_t *video,
|
|||||||
|
|
||||||
/* Find an appropriate Xv port. */
|
/* Find an appropriate Xv port. */
|
||||||
xv->port = 0;
|
xv->port = 0;
|
||||||
XvQueryAdaptors(g_x11_dpy,
|
ret = XvQueryAdaptors(g_x11_dpy,
|
||||||
DefaultRootWindow(g_x11_dpy), &adaptor_count, &adaptor_info);
|
DefaultRootWindow(g_x11_dpy), &adaptor_count, &adaptor_info);
|
||||||
|
|
||||||
|
if (ret != Success)
|
||||||
|
{
|
||||||
|
if (ret == XvBadExtension)
|
||||||
|
RARCH_ERR("[XVideo]: Xv extension not found.\n");
|
||||||
|
else if (ret == XvBadAlloc)
|
||||||
|
RARCH_ERR("[XVideo]: XvQueryAdaptors() failed to allocate memory.\n");
|
||||||
|
else
|
||||||
|
RARCH_ERR("[XVideo]: Unkown error in XvQueryAdaptors().\n");
|
||||||
|
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (adaptor_count == 0)
|
||||||
|
{
|
||||||
|
RARCH_ERR("[XVideo]: XvQueryAdaptors() found 0 adaptors.\n");
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < adaptor_count; i++)
|
for (i = 0; i < adaptor_count; i++)
|
||||||
{
|
{
|
||||||
/* Find adaptor that supports both input (memory->drawable)
|
/* Find adaptor that supports both input (memory->drawable)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user