mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 03:35:21 +00:00
rpicamsrc: Read and set H.264 profile from negotiated caps
This commit is contained in:
parent
2087b1e44e
commit
3abe941e74
1 changed files with 19 additions and 4 deletions
|
@ -566,8 +566,7 @@ gst_rpi_cam_src_set_property (GObject * object, guint prop_id,
|
|||
- 1] = '\0';
|
||||
break;
|
||||
case PROP_INTRA_REFRESH_TYPE:
|
||||
src->capture_config.intra_refresh_type =
|
||||
g_value_get_enum (value);
|
||||
src->capture_config.intra_refresh_type = g_value_get_enum (value);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
|
@ -698,8 +697,7 @@ gst_rpi_cam_src_get_property (GObject * object, guint prop_id,
|
|||
src->capture_config.camera_parameters.annotate_string);
|
||||
break;
|
||||
case PROP_INTRA_REFRESH_TYPE:
|
||||
g_value_set_enum (value,
|
||||
src->capture_config.intra_refresh_type);
|
||||
g_value_set_enum (value, src->capture_config.intra_refresh_type);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
|
@ -804,9 +802,26 @@ gst_rpi_cam_src_set_caps (GstBaseSrc * bsrc, GstCaps * caps)
|
|||
{
|
||||
GstRpiCamSrc *src = GST_RPICAMSRC (bsrc);
|
||||
GstVideoInfo info;
|
||||
GstStructure *structure;
|
||||
const gchar *profile_str = NULL;
|
||||
|
||||
GST_DEBUG_OBJECT (src, "In set_caps %" GST_PTR_FORMAT, caps);
|
||||
if (!gst_video_info_from_caps (&info, caps))
|
||||
return FALSE;
|
||||
|
||||
structure = gst_caps_get_structure (caps, 0);
|
||||
profile_str = gst_structure_get_string (structure, "profile");
|
||||
if (profile_str) {
|
||||
if (g_str_equal (profile_str, "baseline"))
|
||||
src->capture_config.profile = MMAL_VIDEO_PROFILE_H264_BASELINE;
|
||||
else if (g_str_equal (profile_str, "main"))
|
||||
src->capture_config.profile = MMAL_VIDEO_PROFILE_H264_MAIN;
|
||||
else if (g_str_equal (profile_str, "high"))
|
||||
src->capture_config.profile = MMAL_VIDEO_PROFILE_H264_HIGH;
|
||||
else
|
||||
g_warning ("Unknown profile string in rpicamsrc caps: %s", profile_str);
|
||||
}
|
||||
|
||||
src->capture_config.width = info.width;
|
||||
src->capture_config.height = info.height;
|
||||
src->capture_config.fps_n = info.fps_n;
|
||||
|
|
Loading…
Reference in a new issue