mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-07-15 07:44:10 +00:00
libobs: Add API to specify codec support on encoded outputs
(This commit also modifies obs-outputs)
This commit is contained in:
parent
aa78b1bbee
commit
d839c77824
|
@ -2162,3 +2162,15 @@ bool obs_output_reconnecting(const obs_output_t *output)
|
||||||
|
|
||||||
return reconnecting(output);
|
return reconnecting(output);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *obs_output_get_supported_video_codecs(const obs_output_t *output)
|
||||||
|
{
|
||||||
|
return obs_output_valid(output, __FUNCTION__) ?
|
||||||
|
output->info.encoded_video_codecs : NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *obs_output_get_supported_audio_codecs(const obs_output_t *output)
|
||||||
|
{
|
||||||
|
return obs_output_valid(output, __FUNCTION__) ?
|
||||||
|
output->info.encoded_audio_codecs : NULL;
|
||||||
|
}
|
||||||
|
|
|
@ -67,6 +67,10 @@ struct obs_output_info {
|
||||||
|
|
||||||
float (*get_congestion)(void *data);
|
float (*get_congestion)(void *data);
|
||||||
int (*get_connect_time_ms)(void *data);
|
int (*get_connect_time_ms)(void *data);
|
||||||
|
|
||||||
|
/* only used with encoded outputs, separated with semicolon */
|
||||||
|
const char *encoded_video_codecs;
|
||||||
|
const char *encoded_audio_codecs;
|
||||||
};
|
};
|
||||||
|
|
||||||
EXPORT void obs_register_output_s(const struct obs_output_info *info,
|
EXPORT void obs_register_output_s(const struct obs_output_info *info,
|
||||||
|
|
|
@ -1524,6 +1524,11 @@ EXPORT bool obs_output_reconnecting(const obs_output_t *output);
|
||||||
EXPORT void obs_output_set_last_error(obs_output_t *output,
|
EXPORT void obs_output_set_last_error(obs_output_t *output,
|
||||||
const char *message);
|
const char *message);
|
||||||
|
|
||||||
|
EXPORT const char *obs_output_get_supported_video_codecs(
|
||||||
|
const obs_output_t *output);
|
||||||
|
EXPORT const char *obs_output_get_supported_audio_codecs(
|
||||||
|
const obs_output_t *output);
|
||||||
|
|
||||||
/* ------------------------------------------------------------------------- */
|
/* ------------------------------------------------------------------------- */
|
||||||
/* Functions used by outputs */
|
/* Functions used by outputs */
|
||||||
|
|
||||||
|
|
|
@ -222,6 +222,8 @@ static obs_properties_t *flv_output_properties(void *unused)
|
||||||
struct obs_output_info flv_output_info = {
|
struct obs_output_info flv_output_info = {
|
||||||
.id = "flv_output",
|
.id = "flv_output",
|
||||||
.flags = OBS_OUTPUT_AV | OBS_OUTPUT_ENCODED,
|
.flags = OBS_OUTPUT_AV | OBS_OUTPUT_ENCODED,
|
||||||
|
.encoded_video_codecs = "h264",
|
||||||
|
.encoded_audio_codecs = "aac",
|
||||||
.get_name = flv_output_getname,
|
.get_name = flv_output_getname,
|
||||||
.create = flv_output_create,
|
.create = flv_output_create,
|
||||||
.destroy = flv_output_destroy,
|
.destroy = flv_output_destroy,
|
||||||
|
|
|
@ -1178,6 +1178,8 @@ struct obs_output_info rtmp_output_info = {
|
||||||
OBS_OUTPUT_ENCODED |
|
OBS_OUTPUT_ENCODED |
|
||||||
OBS_OUTPUT_SERVICE |
|
OBS_OUTPUT_SERVICE |
|
||||||
OBS_OUTPUT_MULTI_TRACK,
|
OBS_OUTPUT_MULTI_TRACK,
|
||||||
|
.encoded_video_codecs = "h264",
|
||||||
|
.encoded_audio_codecs = "aac",
|
||||||
.get_name = rtmp_stream_getname,
|
.get_name = rtmp_stream_getname,
|
||||||
.create = rtmp_stream_create,
|
.create = rtmp_stream_create,
|
||||||
.destroy = rtmp_stream_destroy,
|
.destroy = rtmp_stream_destroy,
|
||||||
|
|
Loading…
Reference in a new issue