1From 001fa08542dd5fc79571f7c803b2d3dd59c04a06 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--- 22 sys/decklink/gstdecklink.cpp | 10 +++++----- 23 sys/decklink/gstdecklinkaudiosrc.cpp | 2 +- 24 sys/decklink/gstdecklinkvideosink.cpp | 2 +- 25 3 files changed, 7 insertions(+), 7 deletions(-) 26 27diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp 28index 3f79deb..96600c6 100644 29--- a/sys/decklink/gstdecklink.cpp 30+++ b/sys/decklink/gstdecklink.cpp 31@@ -680,7 +680,7 @@ gst_decklink_mode_get_generic_structure (GstDecklinkModeEnum e) 32 "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d, 33 "interlace-mode", G_TYPE_STRING, 34 mode->interlaced ? "interleaved" : "progressive", 35- "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL); 36+ "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, (void*)NULL); 37 38 return s; 39 } 40@@ -705,16 +705,16 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f, 41 case bmdFormat8BitYUV: /* '2vuy' */ 42 gst_structure_set (s, "format", G_TYPE_STRING, "UYVY", 43 "colorimetry", G_TYPE_STRING, mode->colorimetry, 44- "chroma-site", G_TYPE_STRING, "mpeg2", NULL); 45+ "chroma-site", G_TYPE_STRING, "mpeg2", (void*)NULL); 46 break; 47 case bmdFormat10BitYUV: /* 'v210' */ 48- gst_structure_set (s, "format", G_TYPE_STRING, "v210", NULL); 49+ gst_structure_set (s, "format", G_TYPE_STRING, "v210", (void*)NULL); 50 break; 51 case bmdFormat8BitARGB: /* 'ARGB' */ 52- gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", NULL); 53+ gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", (void*)NULL); 54 break; 55 case bmdFormat8BitBGRA: /* 'BGRA' */ 56- gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", NULL); 57+ gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", (void*)NULL); 58 break; 59 case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */ 60 case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */ 61diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp 62index 50ad5cc..d209180 100644 63--- a/sys/decklink/gstdecklinkaudiosrc.cpp 64+++ b/sys/decklink/gstdecklinkaudiosrc.cpp 65@@ -388,7 +388,7 @@ gst_decklink_audio_src_start (GstDecklinkAudioSrc * self) 66 g_mutex_unlock (&self->input->lock); 67 68 if (videosrc) { 69- g_object_get (videosrc, "connection", &vconn, NULL); 70+ g_object_get (videosrc, "connection", &vconn, (void *) NULL); 71 gst_object_unref (videosrc); 72 73 switch (vconn) { 74diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp 75index a64c046..07a09e8 100644 76--- a/sys/decklink/gstdecklinkvideosink.cpp 77+++ b/sys/decklink/gstdecklinkvideosink.cpp 78@@ -288,7 +288,7 @@ reset_framerate (GstCapsFeatures * features, GstStructure * structure, 79 gpointer user_data) 80 { 81 gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, 82- G_MAXINT, 1, NULL); 83+ G_MAXINT, 1, (void *) NULL); 84 85 return TRUE; 86 } 87