Method: Video4Linux2::Camera#controls

Defined in:
ext/v4l2/v4l2.c

#controlsObject



249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
# File 'ext/v4l2/v4l2.c', line 249

static VALUE
rb_camera_get_controls(VALUE self)
{
  VALUE ret;
  camera_t* ptr;
  int i;
  VALUE info;

  Data_Get_Struct(self, camera_t, ptr);

  ret = rb_ary_new();

  for (i = 0; i < 43; i++) {
    info = get_control_info(ptr, V4L2_CID_BASE + i);
    if (info != Qnil) rb_ary_push(ret, info);
  }

  for (i = 0; i < 30; i++) {
    info = get_control_info(ptr, V4L2_CID_CAMERA_CLASS_BASE + i);
    if (info != Qnil) rb_ary_push(ret, info);
  }

  for (i = 0; i < 20; i++) {
    info = get_control_info(ptr, V4L2_CID_JPEG_CLASS_BASE + i);
    if (info != Qnil) rb_ary_push(ret, info);
  }

  return ret;
}