0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00

Merge pull request #160 from fryshorts/v4l2-input

Fix infinite loop in v4l2 plugin
This commit is contained in:
Jim 2014-07-11 17:10:54 -07:00
commit 40566fd411

View File

@ -408,6 +408,9 @@ static bool device_selected(obs_properties_t props, obs_property_t p,
UNUSED_PARAMETER(p); UNUSED_PARAMETER(p);
int dev = open(obs_data_getstring(settings, "device_id"), int dev = open(obs_data_getstring(settings, "device_id"),
O_RDWR | O_NONBLOCK); O_RDWR | O_NONBLOCK);
if (dev == -1)
return false;
obs_property_t prop = obs_properties_get(props, "pixelformat"); obs_property_t prop = obs_properties_get(props, "pixelformat");
v4l2_format_list(dev, prop); v4l2_format_list(dev, prop);
obs_property_modified(prop, settings); obs_property_modified(prop, settings);
@ -424,6 +427,9 @@ static bool format_selected(obs_properties_t props, obs_property_t p,
UNUSED_PARAMETER(p); UNUSED_PARAMETER(p);
int dev = open(obs_data_getstring(settings, "device_id"), int dev = open(obs_data_getstring(settings, "device_id"),
O_RDWR | O_NONBLOCK); O_RDWR | O_NONBLOCK);
if (dev == -1)
return false;
obs_property_t prop = obs_properties_get(props, "resolution"); obs_property_t prop = obs_properties_get(props, "resolution");
v4l2_resolution_list(dev, obs_data_getint(settings, "pixelformat"), v4l2_resolution_list(dev, obs_data_getint(settings, "pixelformat"),
prop); prop);
@ -442,6 +448,9 @@ static bool resolution_selected(obs_properties_t props, obs_property_t p,
int width, height; int width, height;
int dev = open(obs_data_getstring(settings, "device_id"), int dev = open(obs_data_getstring(settings, "device_id"),
O_RDWR | O_NONBLOCK); O_RDWR | O_NONBLOCK);
if (dev == -1)
return false;
obs_property_t prop = obs_properties_get(props, "framerate"); obs_property_t prop = obs_properties_get(props, "framerate");
unpack_tuple(&width, &height, obs_data_getint(settings, unpack_tuple(&width, &height, obs_data_getint(settings,
"resolution")); "resolution"));