Felix Paul Kühne pushed to branch master at VideoLAN / VLC


Commits:
53cef95f by Alexandre Janniaux at 2024-04-07T13:33:14+00:00
stream_out: meson: refactor chromaprint enabled

- - - - -
ee8329a5 by Alexandre Janniaux at 2024-04-07T13:33:14+00:00
stream_out: meson: add chromecast module

- - - - -


3 changed files:

- meson_options.txt
- + modules/stream_out/chromecast/meson.build
- modules/stream_out/meson.build


Changes:

=====================================
meson_options.txt
=====================================
@@ -115,6 +115,10 @@ option('css_engine',
     description : 'CSS selector engine for WebVTT')
 
 # Dependency options
+option('chromecast',
+    type : 'feature',
+    value : 'auto',
+    description : 'Enable chromecast support')
 
 option('qt',
     type : 'feature',


=====================================
modules/stream_out/chromecast/meson.build
=====================================
@@ -0,0 +1,49 @@
+# Chromecast module
+protobuf_dep = dependency('protobuf', required: get_option('chromecast'))
+protoc = disabler()
+chromecast_proto = []
+
+if protobuf_dep.found()
+    protobuf_version_list = protobuf_dep.version().split('.')
+    protoc = find_program('protoc',
+        version: '@0@.@1@'.format(protobuf_version_list[0], 
protobuf_version_list[1]),
+        required: get_option('chromecast'))
+    protobuf_gen = generator(protoc,
+        output: [
+            '@basen...@.pb.cc'.format(protobuf_dep.version()),
+            '@BASENAME@.pb.h'.format(protobuf_dep.version())
+        ],
+        arguments: [
+            '--proto_path=@CURRENT_SOURCE_DIR@',
+            '--cpp_out=@BUILD_DIR@',
+            '@INPUT@',
+        ])
+    chromecast_proto += [protobuf_gen.process('cast_channel.proto')]
+endif
+
+vlc_modules += {
+    'name' : 'demux_chromecast',
+    'sources' : files(
+        'chromecast_demux.cpp',
+        'chromecast.h',
+        'chromecast_common.h') + chromecast_proto,
+    'dependencies' : [protobuf_dep],
+    'enabled': get_option('stream_outputs') and protoc.found() and 
protobuf_dep.found(),
+}
+
+vlc_modules += {
+    'name' : 'chromecast',
+    'sources' : files(
+        'cast.cpp',
+        'chromecast.h',
+        'chromecast_common.h',
+        'chromecast_ctrl.cpp',
+        'chromecast_communication.cpp',
+        '../../misc/webservices/json.c',
+        '../../misc/webservices/json.h',
+        '../renderer_common.cpp',
+        '../renderer_common.hpp') +
+        chromecast_proto,
+    'dependencies' : [socket_libs, protobuf_dep],
+    'enabled': get_option('stream_outputs') and protobuf_dep.found() and 
protoc.found(),
+}


=====================================
modules/stream_out/meson.build
=====================================
@@ -141,10 +141,12 @@ vlc_modules += {
 
 # Chromaprint module
 libchromaprint_dep = dependency('libchromaprint', version: '>= 0.6.0', 
required: get_option('libchromaprint'))
-if libchromaprint_dep.found()
-    vlc_modules += {
-        'name' : 'stream_out_chromaprint',
-        'sources' : files('chromaprint.c'),
-        'dependencies' : [libchromaprint_dep]
-    }
-endif
+vlc_modules += {
+    'name' : 'stream_out_chromaprint',
+    'sources' : files('chromaprint.c'),
+    'dependencies' : [libchromaprint_dep],
+    'enabled' : libchromaprint_dep.found(),
+}
+
+# Chromecast module
+subdir('chromecast')



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/07f3a9cc958b9cf19ff1fabd1930ce7aefbf7ded...ee8329a5afc0af367324c838e3336c8b267a489e

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/07f3a9cc958b9cf19ff1fabd1930ce7aefbf7ded...ee8329a5afc0af367324c838e3336c8b267a489e
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance
_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to