mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-09-21 12:49:40 +08:00
libobs, plugins: Deprecate obs_output_t functions with flag parameters
This deprecates the following functions, replacing them with new versions: - `obs_output_can_begin_data_capture()` - now `*capture2()` - `obs_output_initialize_encoders()` - now `*encoders2()` - `obs_output_begin_data_capture()` - now `*capture2()` The flags parameter was initially designed to support audio-only or video-only operation of an output which had the `OBS_OUTPUT_AV` flag, however, full support for that was never implemented, and there are likely fundamental issues with an implementation, mainly that most outputs are programmed assuming that there will always be at least one audio and one video track. This requires new flags specifying support for optional audio/video, among other things. An implementation to allow audio/video to be optional is best done using the flag technique above, with audio/video enablement specified by whether media (raw, `video_t/audio_t`) or encoder (`obs_encoder_t`) objects are specified. Since every implementation I could find always specifies `flags` as 0, I was able to safely conclude that immediately removing the parameter's functionality is safe to do.
This commit is contained in:
@@ -154,9 +154,9 @@ static bool flv_output_start(void *data)
|
||||
obs_data_t *settings;
|
||||
const char *path;
|
||||
|
||||
if (!obs_output_can_begin_data_capture(stream->output, 0))
|
||||
if (!obs_output_can_begin_data_capture2(stream->output))
|
||||
return false;
|
||||
if (!obs_output_initialize_encoders(stream->output, 0))
|
||||
if (!obs_output_initialize_encoders2(stream->output))
|
||||
return false;
|
||||
|
||||
stream->got_first_video = false;
|
||||
@@ -177,7 +177,7 @@ static bool flv_output_start(void *data)
|
||||
|
||||
/* write headers and start capture */
|
||||
os_atomic_set_bool(&stream->active, true);
|
||||
obs_output_begin_data_capture(stream->output, 0);
|
||||
obs_output_begin_data_capture2(stream->output);
|
||||
|
||||
info("Writing FLV file '%s'...", stream->path.array);
|
||||
return true;
|
||||
|
||||
@@ -593,7 +593,7 @@ static int init_send(struct ftl_stream *stream)
|
||||
|
||||
os_atomic_set_bool(&stream->active, true);
|
||||
|
||||
obs_output_begin_data_capture(stream->output, 0);
|
||||
obs_output_begin_data_capture2(stream->output);
|
||||
|
||||
return OBS_OUTPUT_SUCCESS;
|
||||
}
|
||||
@@ -649,10 +649,10 @@ static bool ftl_stream_start(void *data)
|
||||
obs_data_set_int(video_settings, "bf", 0);
|
||||
obs_data_release(video_settings);
|
||||
|
||||
if (!obs_output_can_begin_data_capture(stream->output, 0)) {
|
||||
if (!obs_output_can_begin_data_capture2(stream->output)) {
|
||||
return false;
|
||||
}
|
||||
if (!obs_output_initialize_encoders(stream->output, 0)) {
|
||||
if (!obs_output_initialize_encoders2(stream->output)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -51,15 +51,15 @@ static bool null_output_start(void *data)
|
||||
{
|
||||
struct null_output *context = data;
|
||||
|
||||
if (!obs_output_can_begin_data_capture(context->output, 0))
|
||||
if (!obs_output_can_begin_data_capture2(context->output))
|
||||
return false;
|
||||
if (!obs_output_initialize_encoders(context->output, 0))
|
||||
if (!obs_output_initialize_encoders2(context->output))
|
||||
return false;
|
||||
|
||||
if (context->stop_thread_active)
|
||||
pthread_join(context->stop_thread, NULL);
|
||||
|
||||
obs_output_begin_data_capture(context->output, 0);
|
||||
obs_output_begin_data_capture2(context->output);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1137,7 +1137,7 @@ static int init_send(struct rtmp_stream *stream)
|
||||
}
|
||||
|
||||
if (!silently_reconnecting(stream))
|
||||
obs_output_begin_data_capture(stream->output, 0);
|
||||
obs_output_begin_data_capture2(stream->output);
|
||||
|
||||
return OBS_OUTPUT_SUCCESS;
|
||||
}
|
||||
@@ -1456,9 +1456,9 @@ static bool rtmp_stream_start(void *data)
|
||||
struct rtmp_stream *stream = data;
|
||||
|
||||
if (!silently_reconnecting(stream)) {
|
||||
if (!obs_output_can_begin_data_capture(stream->output, 0))
|
||||
if (!obs_output_can_begin_data_capture2(stream->output))
|
||||
return false;
|
||||
if (!obs_output_initialize_encoders(stream->output, 0))
|
||||
if (!obs_output_initialize_encoders2(stream->output))
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user