gst_v4l2camsrc_libmfldcam_init (GstMFLDV4l2CamSrc * v4l2camsrc)
{
cam_err_t err;
+ struct v4l2_input input;
+ int ret;
+ char *name, *space;
+
+ memset(&input, 0, sizeof(input));
if (v4l2camsrc->input_sensor == GST_CAMERA_INPUT_SENSOR_PRIMARY)
- err = cam_driver_init (v4l2camsrc->video_fd, "mt9e013");
+ input.index = V2L2_CAMERA_INPUT_SENSOR_PRIMARY;
else
- err = cam_driver_init (v4l2camsrc->video_fd, "mt9m114");
+ input.index = V2L2_CAMERA_INPUT_SENSOR_SECONDARY;
+
+ ret = ioctl(v4l2camsrc->video_fd, VIDIOC_ENUMINPUT, &input);
+ if (ret < 0) {
+ return FALSE;
+ }
+ name = (char*)input.name;
+ space = strchr(name, ' ');
+ if (space > name) {
+ name[space - name] = '\0';
+ }
+ GST_DEBUG_OBJECT (v4l2camsrc, "sensor name %s", name);
+
+ err = cam_driver_init (v4l2camsrc->video_fd, name);
if (err != CAM_ERR_NONE) {
GST_WARNING ("libmfldcam initialization failed");