Explorar el Código

libobs: Use extern "C" on export headers if C++

I neglected to surround some files with extern "C", so if something
written with C++ used the files it would cause function exports to not
be mangled by it correctly.
jp9000 hace 11 años
padre
commit
923916ecce
Se han modificado 3 ficheros con 24 adiciones y 0 borrados
  1. 8 0
      libobs/obs-encoder.h
  2. 8 0
      libobs/obs-output.h
  3. 8 0
      libobs/obs-service.h

+ 8 - 0
libobs/obs-encoder.h

@@ -25,6 +25,10 @@
  * to process output data.
  */
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /** Specifies the encoder type */
 enum obs_encoder_type {
 	OBS_ENCODER_AUDIO, /**< The encoder provides an audio codec */
@@ -230,3 +234,7 @@ EXPORT void obs_register_encoder_s(const struct obs_encoder_info *info,
  */
 #define obs_register_encoder(info) \
 	obs_register_encoder_s(info, sizeof(struct obs_encoder_info))
+
+#ifdef __cplusplus
+}
+#endif

+ 8 - 0
libobs/obs-output.h

@@ -17,6 +17,10 @@
 
 #pragma once
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #define OBS_OUTPUT_VIDEO       (1<<0)
 #define OBS_OUTPUT_AUDIO       (1<<1)
 #define OBS_OUTPUT_AV          (OBS_OUTPUT_VIDEO | OBS_OUTPUT_AUDIO)
@@ -63,3 +67,7 @@ EXPORT void obs_register_output_s(const struct obs_output_info *info,
 
 #define obs_register_output(info) \
 	obs_register_output_s(info, sizeof(struct obs_output_info))
+
+#ifdef __cplusplus
+}
+#endif

+ 8 - 0
libobs/obs-service.h

@@ -24,6 +24,10 @@
  * Services are modules that implement provider specific settings for outputs.
  */
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 struct obs_service_info {
 	/* required */
 	const char *id;
@@ -67,3 +71,7 @@ EXPORT void obs_register_service_s(const struct obs_service_info *info,
 
 #define obs_register_service(info) \
 	obs_register_service_s(info, sizeof(struct obs_service_info))
+
+#ifdef __cplusplus
+}
+#endif