Skip to content

Commit

Permalink
droidcamsrc: Use preview size values if video size values are missing.
Browse files Browse the repository at this point in the history
  • Loading branch information
mlehtima committed Nov 14, 2016
1 parent 03d59e8 commit e5e7968
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
5 changes: 4 additions & 1 deletion gst/droidcamsrc/gstdroidcamsrc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1659,7 +1659,10 @@ gst_droidcamsrc_vidsrc_negotiate (GstDroidCamSrcPad * data)
}

vid = g_strdup_printf ("%ix%i", info.width, info.height);
gst_droidcamsrc_params_set_string (src->dev->params, "video-size", vid);
gchar *key =
src->dev->
params->has_separate_video_size_values ? "video-size" : "preview-size";
gst_droidcamsrc_params_set_string (src->dev->params, key, vid);

/* Now we need to find a picture size that is equal to our video size.
* Some devices need to have a picture size otherwise the video mode viewfinder
Expand Down
10 changes: 9 additions & 1 deletion gst/droidcamsrc/gstdroidcamsrcparams.c
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,8 @@ gst_droidcamsrc_params_reload_locked (GstDroidCamSrcParams * params,
gst_droidcamsrc_params_fill_fps_range_arrays_locked (params);

params->is_dirty = FALSE;
params->has_separate_video_size_values =
g_hash_table_lookup (params->params, "video-size-values") != NULL;
}

GstDroidCamSrcParams *
Expand Down Expand Up @@ -389,8 +391,14 @@ gst_droidcamsrc_params_get_video_caps (GstDroidCamSrcParams * params)
GstCaps *caps;

g_mutex_lock (&params->lock);
caps = gst_droidcamsrc_params_get_caps_locked (params, "video-size-values",

gchar *key =
params->has_separate_video_size_values ? "video-size-values" :
"preview-size-values";

caps = gst_droidcamsrc_params_get_caps_locked (params, key,
"video/x-raw", GST_CAPS_FEATURE_MEMORY_DROID_VIDEO_META_DATA, "YV12");

g_mutex_unlock (&params->lock);

return caps;
Expand Down
1 change: 1 addition & 0 deletions gst/droidcamsrc/gstdroidcamsrcparams.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ struct _GstDroidCamSrcParams
GHashTable *params;
gboolean is_dirty;
GArray *min_fps_range, *max_fps_range;
gboolean has_separate_video_size_values;
GMutex lock;
};

Expand Down

0 comments on commit e5e7968

Please sign in to comment.