FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
GST_PARAM_CONTROLLABLE));
+ g_object_class_install_property (gobject_class, PROP_CAPTURE_WIDTH,
+ g_param_spec_int ("capture-width", "Capture Widht",
+ "Image width used in capture mode.In case capture is done when pipeline is already running in viewfinder mode", 0,
+ G_MAXINT, 0,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | GST_PARAM_CONTROLLABLE));
+
+ g_object_class_install_property (gobject_class, PROP_CAPTURE_HEIGHT,
+ g_param_spec_int ("capture-height", "Capture Height",
+ "Image height used in capture mode. In case capture is done when pipeline is already running in viewfinder mode", 0,
+ G_MAXINT, 0,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | GST_PARAM_CONTROLLABLE));
+
/**
* GstCameraSrc:capture-mode:
*
bclass->set_vfinder_mode (camerasrc, camerasrc->viewfinder_mode);
}
break;
-
+ case PROP_CAPTURE_WIDTH:
+ camerasrc->capture_w = g_value_get_int (value);
+ GST_DEBUG_OBJECT (camerasrc, "Capture width %d",
+ camerasrc->capture_w);
+ /* both width & height should be set before setting flag to TRUE */
+ if(camerasrc->capture_h != 0)
+ camerasrc->capture_resolution_set = TRUE;
+ break;
+ case PROP_CAPTURE_HEIGHT:
+ camerasrc->capture_h = g_value_get_int (value);
+ GST_DEBUG_OBJECT (camerasrc, "Capture Height: %d",
+ camerasrc->capture_h);
+ /* both width & height should be set before setting flag to TRUE */
+ if(camerasrc->capture_w != 0)
+ camerasrc->capture_resolution_set = TRUE;
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
case PROP_VIEWFINDER_MODE:
g_value_set_enum (value, camerasrc->viewfinder_mode);
break;
+ case PROP_CAPTURE_WIDTH:
+ g_value_set_int (value, camerasrc->capture_w);
+ break;
+ case PROP_CAPTURE_HEIGHT:
+ g_value_set_int (value, camerasrc->capture_h);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;