summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarijn Suijten <marijns95@gmail.com>2021-01-12 10:36:34 +0100
committerTim-Philipp Müller <tim@centricular.com>2021-01-28 17:56:03 +0000
commit7b1fc3eac637a54d59b17f9bc052224031e0a081 (patch)
tree0b59eb56ce2956545d2433a033e883e10a555070
parent6dcdfee6e83204ae88d0d037970758827b27aada (diff)
downloadgstreamer-plugins-base-7b1fc3eac637a54d59b17f9bc052224031e0a081.tar.gz
video: Convert info_to_caps to take self as const ptr
This requires a slight modification to the function itself because it was overwriting a member locally. However, now this side-effect cannot be observed outside the function anymore. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1024>
-rw-r--r--gst-libs/gst/video/video-info.c12
-rw-r--r--gst-libs/gst/video/video-info.h2
2 files changed, 7 insertions, 7 deletions
diff --git a/gst-libs/gst/video/video-info.c b/gst-libs/gst/video/video-info.c
index b937e9fde..1e8bce310 100644
--- a/gst-libs/gst/video/video-info.c
+++ b/gst-libs/gst/video/video-info.c
@@ -641,7 +641,7 @@ gst_video_info_is_equal (const GstVideoInfo * info, const GstVideoInfo * other)
* Returns: a new #GstCaps containing the info of @info.
*/
GstCaps *
-gst_video_info_to_caps (GstVideoInfo * info)
+gst_video_info_to_caps (const GstVideoInfo * info)
{
GstCaps *caps;
const gchar *format;
@@ -686,14 +686,14 @@ gst_video_info_to_caps (GstVideoInfo * info)
if (GST_VIDEO_INFO_MULTIVIEW_MODE (info) != GST_VIDEO_MULTIVIEW_MODE_NONE) {
const gchar *caps_str = NULL;
+ GstVideoMultiviewFlags multiview_flags =
+ GST_VIDEO_INFO_MULTIVIEW_FLAGS (info);
/* If the half-aspect flag is set, applying it into the PAR of the
* resulting caps now seems safe, and helps with automatic behaviour
* in elements that aren't explicitly multiview aware */
- if (GST_VIDEO_INFO_MULTIVIEW_FLAGS (info) &
- GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT) {
- GST_VIDEO_INFO_MULTIVIEW_FLAGS (info) &=
- ~GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT;
+ if (multiview_flags & GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT) {
+ multiview_flags &= ~GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT;
switch (GST_VIDEO_INFO_MULTIVIEW_MODE (info)) {
case GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE:
case GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX:
@@ -716,7 +716,7 @@ gst_video_info_to_caps (GstVideoInfo * info)
if (caps_str != NULL) {
gst_caps_set_simple (caps, "multiview-mode", G_TYPE_STRING,
caps_str, "multiview-flags", GST_TYPE_VIDEO_MULTIVIEW_FLAGSET,
- GST_VIDEO_INFO_MULTIVIEW_FLAGS (info), GST_FLAG_SET_MASK_EXACT, NULL);
+ multiview_flags, GST_FLAG_SET_MASK_EXACT, NULL);
}
}
diff --git a/gst-libs/gst/video/video-info.h b/gst-libs/gst/video/video-info.h
index 435db812e..6ec3b9269 100644
--- a/gst-libs/gst/video/video-info.h
+++ b/gst-libs/gst/video/video-info.h
@@ -452,7 +452,7 @@ GST_VIDEO_API
gboolean gst_video_info_from_caps (GstVideoInfo *info, const GstCaps * caps);
GST_VIDEO_API
-GstCaps * gst_video_info_to_caps (GstVideoInfo *info);
+GstCaps * gst_video_info_to_caps (const GstVideoInfo *info);
GST_VIDEO_API
gboolean gst_video_info_convert (GstVideoInfo *info,