meson: Fix build error caused by missing rtp dep
authorSeungha Yang <seungha@centricular.com>
Mon, 24 May 2021 15:32:24 +0000 (00:32 +0900)
committerSeungha Yang <seungha@centricular.com>
Mon, 24 May 2021 15:36:29 +0000 (00:36 +0900)
Missing RTP dep causes build error on Windows
webrtc-sendrecv.c.obj : error LNK2019: unresolved external symbol
  __imp_gst_rtp_header_extension_set_id referenced in function start_pipeline
webrtc-sendrecv.c.obj : error LNK2019: unresolved external symbol
  __imp_gst_rtp_header_extension_create_from_uri referenced in function start_pipeline

... and match required GStreamer to gst-example project version

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/40>

meson.build
webrtc/sendrecv/gst/meson.build

index 3f0f994..7d0cab3 100644 (file)
@@ -9,6 +9,14 @@ if cc.get_id() == 'msvc'
       language : 'c')
 endif
 
+gst_version = meson.project_version()
+version_arr = gst_version.split('.')
+
+gst_version_major = version_arr[0].to_int()
+gst_version_minor = version_arr[1].to_int()
+
+gst_req = '>= @0@.@1@.0'.format(gst_version_major, gst_version_minor)
+
 glib_dep = dependency('glib-2.0', version: '>= 2.38',
     fallback: ['glib', 'libglib_dep'])
 gio_dep = dependency('gio-2.0',
@@ -18,16 +26,18 @@ gobject_dep = dependency('gobject-2.0', version: '>= 2.38',
 gmodule_dep = dependency('gmodule-2.0',
     fallback: ['glib', 'libgmodule_dep'])
 
-gst_dep = dependency('gstreamer-1.0',
+gst_dep = dependency('gstreamer-1.0', version: gst_req,
     fallback : ['gstreamer', 'gst_dep'])
-gstplay_dep = dependency('gstreamer-play-1.0', version: '>= 1.19.0.1',
+gstplay_dep = dependency('gstreamer-play-1.0', version: gst_req,
     fallback: ['gst-plugins-bad', 'gstplay_dep'])
-gsttag_dep = dependency('gstreamer-tag-1.0',
+gsttag_dep = dependency('gstreamer-tag-1.0', version: gst_req,
     fallback: ['gst-plugins-base', 'tag_dep'])
-gstwebrtc_dep = dependency('gstreamer-webrtc-1.0', version: '>= 1.14.0',
+gstwebrtc_dep = dependency('gstreamer-webrtc-1.0', version: gst_req,
     fallback: ['gst-plugins-bad', 'gstwebrtc_dep'])
-gstsdp_dep = dependency('gstreamer-webrtc-1.0',
-    fallback : ['gst-plugins-bad', 'gstwebrtc_dep'])
+gstsdp_dep = dependency('gstreamer-sdp-1.0', version : gst_req,
+    fallback : ['gst-plugins-base', 'sdp_dep'])
+gstrtp_dep = dependency('gstreamer-rtp-1.0', version : gst_req,
+    fallback : ['gst-plugins-base', 'rtp_dep'])
 
 subdir('playback')
 subdir('network')
index 5c9509c..1ed55e5 100644 (file)
@@ -1,5 +1,5 @@
 executable('webrtc-sendrecv',
            'webrtc-sendrecv.c',
-            dependencies : [gst_dep, gstsdp_dep, gstwebrtc_dep, libsoup_dep, json_glib_dep ])
+            dependencies : [gst_dep, gstsdp_dep, gstwebrtc_dep, gstrtp_dep, libsoup_dep, json_glib_dep])
 
 webrtc_py = files('webrtc_sendrecv.py')