blob: 2d5389d9535dd9a6b58ebe4bb3641f158b2bb139 [file] [log] [blame]
Patrick Williamsd8c66bc2016-06-20 12:57:21 -05001From 2262ba4b686d5cc0d3e894707fe1d31619a3a8f1 Mon Sep 17 00:00:00 2001
2From: Andre McCurdy <armccurdy@gmail.com>
3Date: Tue, 9 Feb 2016 14:00:00 -0800
4Subject: [PATCH] ensure valid sentinals for gst_structure_get() etc
5
6For GStreamer functions declared with G_GNUC_NULL_TERMINATED,
7ie __attribute__((__sentinel__)), gcc will generate a warning if the
8last parameter passed to the function is not NULL (where a valid NULL
9in this context is defined as zero with any pointer type).
10
11The C callers to such functions within gst-plugins-bad use the C NULL
12definition (ie ((void*)0)), which is a valid sentinel.
13
14However the C++ NULL definition (ie 0L), is not a valid sentinel
15without an explicit cast to a pointer type.
16
17Upstream-Status: Pending
18
19Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
20---
21 sys/decklink/gstdecklink.cpp | 10 +++++-----
22 sys/decklink/gstdecklinkaudiosrc.cpp | 2 +-
23 sys/decklink/gstdecklinkvideosink.cpp | 2 +-
24 3 files changed, 7 insertions(+), 7 deletions(-)
25
Brad Bishop6e60e8b2018-02-01 10:27:11 -050026Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp
27===================================================================
28--- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklink.cpp
29+++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp
Brad Bishop15ae2502019-06-18 21:44:24 -040030@@ -617,7 +617,7 @@ gst_decklink_mode_get_structure (GstDeck
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050031 "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d,
Brad Bishop6e60e8b2018-02-01 10:27:11 -050032 "interlace-mode", G_TYPE_STRING,
33 mode->interlaced ? "interleaved" : "progressive",
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050034- "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL);
Brad Bishop6e60e8b2018-02-01 10:27:11 -050035+ "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, (void*)NULL);
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050036
Brad Bishop6e60e8b2018-02-01 10:27:11 -050037 if (input && mode->interlaced) {
38 if (mode->tff)
Brad Bishop15ae2502019-06-18 21:44:24 -040039@@ -632,16 +632,16 @@ gst_decklink_mode_get_structure (GstDeck
Brad Bishop6e60e8b2018-02-01 10:27:11 -050040 case bmdFormat8BitYUV: /* '2vuy' */
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050041 gst_structure_set (s, "format", G_TYPE_STRING, "UYVY",
42 "colorimetry", G_TYPE_STRING, mode->colorimetry,
43- "chroma-site", G_TYPE_STRING, "mpeg2", NULL);
Brad Bishop6e60e8b2018-02-01 10:27:11 -050044+ "chroma-site", G_TYPE_STRING, "mpeg2", (void*)NULL);
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050045 break;
Brad Bishop6e60e8b2018-02-01 10:27:11 -050046 case bmdFormat10BitYUV: /* 'v210' */
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050047- gst_structure_set (s, "format", G_TYPE_STRING, "v210", NULL);
Brad Bishop6e60e8b2018-02-01 10:27:11 -050048+ gst_structure_set (s, "format", G_TYPE_STRING, "v210", (void*)NULL);
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050049 break;
Brad Bishop6e60e8b2018-02-01 10:27:11 -050050 case bmdFormat8BitARGB: /* 'ARGB' */
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050051- gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", NULL);
Brad Bishop6e60e8b2018-02-01 10:27:11 -050052+ gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", (void*)NULL);
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050053 break;
Brad Bishop6e60e8b2018-02-01 10:27:11 -050054 case bmdFormat8BitBGRA: /* 'BGRA' */
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050055- gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", NULL);
Brad Bishop6e60e8b2018-02-01 10:27:11 -050056+ gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", (void*)NULL);
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050057 break;
Brad Bishop6e60e8b2018-02-01 10:27:11 -050058 case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */
59 case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */
60Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp
61===================================================================
62--- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklinkaudiosrc.cpp
63+++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp
Brad Bishop15ae2502019-06-18 21:44:24 -040064@@ -387,7 +387,7 @@ gst_decklink_audio_src_set_caps (GstBase
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050065 g_mutex_unlock (&self->input->lock);
66
67 if (videosrc) {
68- g_object_get (videosrc, "connection", &vconn, NULL);
69+ g_object_get (videosrc, "connection", &vconn, (void *) NULL);
70 gst_object_unref (videosrc);
71
72 switch (vconn) {
Brad Bishop6e60e8b2018-02-01 10:27:11 -050073Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp
74===================================================================
75--- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklinkvideosink.cpp
76+++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp
Brad Bishop15ae2502019-06-18 21:44:24 -040077@@ -285,7 +285,7 @@ reset_framerate (GstCapsFeatures * featu
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050078 gpointer user_data)
79 {
80 gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1,
81- G_MAXINT, 1, NULL);
82+ G_MAXINT, 1, (void *) NULL);
83
84 return TRUE;
85 }