param_s param_table[] = {
{MEDIA_STREAMER_PARAM_CAMERA_ID, "camera-id"},
- {MEDIA_STREAMER_PARAM_CAMERA_ID, "device"},
{MEDIA_STREAMER_PARAM_CAPTURE_WIDTH, "capture-width"},
{MEDIA_STREAMER_PARAM_CAPTURE_HEIGHT, "capture-height"},
{MEDIA_STREAMER_PARAM_IS_LIVE_STREAM, "is-live"},
}
if (!g_strcmp0(param->param_name, MEDIA_STREAMER_PARAM_CAMERA_ID))
- if (G_VALUE_HOLDS_STRING(&value)) {
- /* v4l2src have string property 'device' with value /dev/video[0-n].
- * Try to get index from it. */
- const char *str_val = g_value_get_string(&value);
- if (str_val && g_str_has_prefix(str_val, "/dev/video")) {
- string_val = g_strdup(str_val + strlen("/dev/video"));
- } else {
- ms_info("Parameter [%s] was got not for MEDIA_STREAMER_NODE_SRC_TYPE_CAMERA type of nodes", param->param_name);
- ret = MEDIA_STREAMER_ERROR_INVALID_PARAMETER;
- }
- } else {
+ if (G_VALUE_HOLDS_INT(&value))
string_val = g_strdup_printf("%d", g_value_get_int(&value));
- }
+ else
+ string_val = g_strdup_printf("%u", g_value_get_uint(&value));
else if (!g_strcmp0(param->param_name, MEDIA_STREAMER_PARAM_CAPTURE_WIDTH))
string_val = g_strdup_printf("%d", g_value_get_int(&value));
else if (!g_strcmp0(param->param_name, MEDIA_STREAMER_PARAM_CAPTURE_HEIGHT))
if (!g_strcmp0(param->param_name, MEDIA_STREAMER_PARAM_CAMERA_ID)) {
int camera_id = (int)strtol(param_value, NULL, 10);
ms_retvm_if(camera_id == -1, MEDIA_STREAMER_ERROR_INVALID_PARAMETER, "Invalid %s value", param->param_name);
- if (g_str_has_prefix(ms_node->name, "v4l2src")) {
- /* v4l2src have string property 'device' with value /dev/video[0-n]. */
- gchar *camera_device_str = g_strdup_printf("/dev/video%d", camera_id);
- g_object_set(ms_node->gst_element, param->origin_name, camera_device_str, NULL);
- MS_SAFE_GFREE(camera_device_str);
- } else
- g_object_set(ms_node->gst_element, param->origin_name, camera_id, NULL);
+ g_object_set(ms_node->gst_element, param->origin_name, camera_id, NULL);
} else if (!g_strcmp0(param->param_name, MEDIA_STREAMER_PARAM_CAPTURE_WIDTH))
g_object_set(ms_node->gst_element, param->origin_name, (int)strtol(param_value, NULL, 10), NULL);
else if (!g_strcmp0(param->param_name, MEDIA_STREAMER_PARAM_CAPTURE_HEIGHT))