浏览代码

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 10 年之前
父节点
当前提交
923916ecce
共有 3 个文件被更改,包括 24 次插入0 次删除
  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