Browse Source

libobs,docs: Add supported codecs functions with output id

tytan652 3 years ago
parent
commit
48dc6dde68
3 changed files with 18 additions and 0 deletions
  1. 2 0
      docs/sphinx/reference-outputs.rst
  2. 12 0
      libobs/obs-output.c
  3. 4 0
      libobs/obs.h

+ 2 - 0
docs/sphinx/reference-outputs.rst

@@ -679,7 +679,9 @@ General Output Functions
 ---------------------
 
 .. function:: const char *obs_output_get_supported_video_codecs(const obs_output_t *output)
+              const char *obs_get_output_supported_video_codecs(const char *id)
               const char *obs_output_get_supported_audio_codecs(const obs_output_t *output)
+              const char *obs_get_output_supported_video_codecs(const char *id)
 
    :return: Supported video/audio codecs of an encoded output, separated
             by semicolon

+ 12 - 0
libobs/obs-output.c

@@ -2751,3 +2751,15 @@ void obs_enum_output_types_with_protocol(const char *protocol, void *data,
 		}
 	}
 }
+
+const char *obs_get_output_supported_video_codecs(const char *id)
+{
+	const struct obs_output_info *info = find_output(id);
+	return info ? info->encoded_video_codecs : NULL;
+}
+
+const char *obs_get_output_supported_audio_codecs(const char *id)
+{
+	const struct obs_output_info *info = find_output(id);
+	return info ? info->encoded_audio_codecs : NULL;
+}

+ 4 - 0
libobs/obs.h

@@ -2221,6 +2221,10 @@ EXPORT void obs_enum_output_types_with_protocol(
 	const char *protocol, void *data,
 	bool (*enum_cb)(void *data, const char *id));
 
+EXPORT const char *obs_get_output_supported_video_codecs(const char *id);
+
+EXPORT const char *obs_get_output_supported_audio_codecs(const char *id);
+
 /* ------------------------------------------------------------------------- */
 /* Functions used by outputs */