From 79822a58c3a447b13ee181c8cb77739ceed69dec Mon Sep 17 00:00:00 2001 From: gxalpha Date: Sun, 4 Jun 2023 14:00:37 +0200 Subject: [PATCH] libobs,plugins: Remove new obs_output_*2 functions Effectively reverting parts of d314d47, this commit removes the new functions that got added to remove the flags parameter. Instead, it just marks the parameter as unused and documents this. Having what is effectively an API break just to remove a parameter is a bit overkill. The other parts of d314d47 which cleaned up the usage of the flags parameter are untouched here. --- docs/sphinx/reference-outputs.rst | 14 +++++--- libobs/obs-output-delay.c | 6 ++-- libobs/obs-output.c | 32 ++++++------------- libobs/obs.h | 16 ++++------ plugins/aja/aja-output.cpp | 2 +- plugins/decklink/decklink-output.cpp | 2 +- plugins/linux-v4l2/v4l2-output.c | 2 +- .../src/obs-plugin/plugin-main.mm | 2 +- plugins/obs-ffmpeg/obs-ffmpeg-hls-mux.c | 6 ++-- plugins/obs-ffmpeg/obs-ffmpeg-mpegts.c | 6 ++-- plugins/obs-ffmpeg/obs-ffmpeg-mux.c | 12 +++---- plugins/obs-ffmpeg/obs-ffmpeg-output.c | 4 +-- plugins/obs-outputs/flv-output.c | 6 ++-- plugins/obs-outputs/ftl-stream.c | 6 ++-- plugins/obs-outputs/null-output.c | 6 ++-- plugins/obs-outputs/rtmp-stream.c | 6 ++-- plugins/win-dshow/virtualcam.c | 2 +- 17 files changed, 60 insertions(+), 70 deletions(-) diff --git a/docs/sphinx/reference-outputs.rst b/docs/sphinx/reference-outputs.rst index 3fbb07de0..4e854e0bb 100644 --- a/docs/sphinx/reference-outputs.rst +++ b/docs/sphinx/reference-outputs.rst @@ -882,32 +882,38 @@ Functions used by outputs --------------------- -.. function:: bool obs_output_can_begin_data_capture2(const obs_output_t *output) +.. function:: bool obs_output_can_begin_data_capture(const obs_output_t *output, int flags) Determines whether video/audio capture (encoded or raw) is able to start. Call this before initializing any output state to ensure that the output can start. + :param output: The output + :param flags: Reserved. Set this to 0. :return: *true* if data capture can begin --------------------- -.. function:: bool obs_output_initialize_encoders2(obs_output_t *output) +.. function:: bool obs_output_initialize_encoders(obs_output_t *output, int flags) Initializes any encoders/services associated with the output. This must be called for encoded outputs before calling - :c:func:`obs_output_begin_data_capture2()`. + :c:func:`obs_output_begin_data_capture()`. + :param output: The output + :param flags: Reserved. Set this to 0. :return: *true* if successful, *false* otherwise --------------------- -.. function:: bool obs_output_begin_data_capture2(obs_output_t *output) +.. function:: bool obs_output_begin_data_capture(obs_output_t *output, int flags) Begins data capture from raw media or encoders. This is typically when the output actually activates (starts) internally. Video/audio data will start being sent to the callbacks of the output. + :param output: The output + :param flags: Reserved. Set this to 0. :return: *true* if successful, *false* otherwise. Typically the return value does not need to be checked if :c:func:`obs_output_can_begin_data_capture2()` was diff --git a/libobs/obs-output-delay.c b/libobs/obs-output-delay.c index cbbd0c7bc..3b232f1f5 100644 --- a/libobs/obs-output-delay.c +++ b/libobs/obs-output-delay.c @@ -157,10 +157,10 @@ bool obs_output_delay_start(obs_output_t *output) }; if (!delay_active(output)) { - bool can_begin = obs_output_can_begin_data_capture2(output); + bool can_begin = obs_output_can_begin_data_capture(output, 0); if (!can_begin) return false; - if (!obs_output_initialize_encoders2(output)) + if (!obs_output_initialize_encoders(output, 0)) return false; } @@ -175,7 +175,7 @@ bool obs_output_delay_start(obs_output_t *output) return true; } - if (!obs_output_begin_data_capture2(output)) { + if (!obs_output_begin_data_capture(output, 0)) { obs_output_cleanup_delay(output); return false; } diff --git a/libobs/obs-output.c b/libobs/obs-output.c index 4b029ea80..c36eaa038 100644 --- a/libobs/obs-output.c +++ b/libobs/obs-output.c @@ -2107,8 +2107,11 @@ static inline void signal_stop(struct obs_output *output) calldata_free(¶ms); } -bool obs_output_can_begin_data_capture2(const obs_output_t *output) +bool obs_output_can_begin_data_capture(const obs_output_t *output, + uint32_t flags) { + UNUSED_PARAMETER(flags); + if (!obs_output_valid(output, "obs_output_can_begin_data_capture")) return false; @@ -2123,13 +2126,6 @@ bool obs_output_can_begin_data_capture2(const obs_output_t *output) return can_begin_data_capture(output); } -bool obs_output_can_begin_data_capture(const obs_output_t *output, - uint32_t flags) -{ - UNUSED_PARAMETER(flags); - return obs_output_can_begin_data_capture2(output); -} - static inline bool initialize_audio_encoders(obs_output_t *output) { for (size_t i = 0; i < MAX_OUTPUT_AUDIO_ENCODERS; i++) { @@ -2179,8 +2175,10 @@ static inline void pair_encoders(obs_output_t *output) } } -bool obs_output_initialize_encoders2(obs_output_t *output) +bool obs_output_initialize_encoders(obs_output_t *output, uint32_t flags) { + UNUSED_PARAMETER(flags); + if (!obs_output_valid(output, "obs_output_initialize_encoders")) return false; if (!log_flag_encoded(output, __FUNCTION__, false)) @@ -2201,12 +2199,6 @@ bool obs_output_initialize_encoders2(obs_output_t *output) return true; } -bool obs_output_initialize_encoders(obs_output_t *output, uint32_t flags) -{ - UNUSED_PARAMETER(flags); - return obs_output_initialize_encoders2(output); -} - static bool begin_delayed_capture(obs_output_t *output) { if (delay_capturing(output)) @@ -2263,8 +2255,10 @@ static void reset_raw_output(obs_output_t *output) pause_reset(&output->pause); } -bool obs_output_begin_data_capture2(obs_output_t *output) +bool obs_output_begin_data_capture(obs_output_t *output, uint32_t flags) { + UNUSED_PARAMETER(flags); + if (!obs_output_valid(output, "obs_output_begin_data_capture")) return false; @@ -2307,12 +2301,6 @@ bool obs_output_begin_data_capture2(obs_output_t *output) return true; } -bool obs_output_begin_data_capture(obs_output_t *output, uint32_t flags) -{ - UNUSED_PARAMETER(flags); - return obs_output_begin_data_capture2(output); -} - static inline void stop_audio_encoders(obs_output_t *output, encoded_callback_t encoded_callback) { diff --git a/libobs/obs.h b/libobs/obs.h index 88166e066..30ad96b56 100644 --- a/libobs/obs.h +++ b/libobs/obs.h @@ -2249,15 +2249,13 @@ EXPORT void obs_output_set_audio_conversion(obs_output_t *output, const struct audio_convert_info *conversion); -/** Returns whether data capture can begin with the specified flags */ -EXPORT bool obs_output_can_begin_data_capture2(const obs_output_t *output); -OBS_DEPRECATED EXPORT bool -obs_output_can_begin_data_capture(const obs_output_t *output, uint32_t flags); +/** Returns whether data capture can begin */ +EXPORT bool obs_output_can_begin_data_capture(const obs_output_t *output, + uint32_t flags); /** Initializes encoders (if any) */ -EXPORT bool obs_output_initialize_encoders2(obs_output_t *output); -OBS_DEPRECATED EXPORT bool obs_output_initialize_encoders(obs_output_t *output, - uint32_t flags); +EXPORT bool obs_output_initialize_encoders(obs_output_t *output, + uint32_t flags); /** * Begins data capture from media/encoders. @@ -2265,9 +2263,7 @@ OBS_DEPRECATED EXPORT bool obs_output_initialize_encoders(obs_output_t *output, * @param output Output context * @return true if successful, false otherwise. */ -EXPORT bool obs_output_begin_data_capture2(obs_output_t *output); -OBS_DEPRECATED EXPORT bool obs_output_begin_data_capture(obs_output_t *output, - uint32_t flags); +EXPORT bool obs_output_begin_data_capture(obs_output_t *output, uint32_t flags); /** Ends data capture from media/encoders */ EXPORT void obs_output_end_data_capture(obs_output_t *output); diff --git a/plugins/aja/aja-output.cpp b/plugins/aja/aja-output.cpp index 3dd9774c8..02e9f7d90 100644 --- a/plugins/aja/aja-output.cpp +++ b/plugins/aja/aja-output.cpp @@ -1229,7 +1229,7 @@ static bool aja_output_start(void *data) obs_output_set_audio_conversion(ajaOutput->GetOBSOutput(), &conversion); - if (!obs_output_begin_data_capture2(ajaOutput->GetOBSOutput())) { + if (!obs_output_begin_data_capture(ajaOutput->GetOBSOutput(), 0)) { blog(LOG_ERROR, "aja_output_start: Begin OBS data capture failed!"); return false; diff --git a/plugins/decklink/decklink-output.cpp b/plugins/decklink/decklink-output.cpp index 38431eef1..2aade8376 100644 --- a/plugins/decklink/decklink-output.cpp +++ b/plugins/decklink/decklink-output.cpp @@ -110,7 +110,7 @@ static bool decklink_output_start(void *data) obs_output_set_audio_conversion(decklink->GetOutput(), &conversion); - if (!obs_output_begin_data_capture2(decklink->GetOutput())) + if (!obs_output_begin_data_capture(decklink->GetOutput(), 0)) return false; return true; diff --git a/plugins/linux-v4l2/v4l2-output.c b/plugins/linux-v4l2/v4l2-output.c index 1a582fddd..0d07d0d8a 100644 --- a/plugins/linux-v4l2/v4l2-output.c +++ b/plugins/linux-v4l2/v4l2-output.c @@ -173,7 +173,7 @@ static bool try_connect(void *data, const char *device) } blog(LOG_INFO, "Virtual camera started"); - obs_output_begin_data_capture2(vcam->output); + obs_output_begin_data_capture(vcam->output, 0); return true; diff --git a/plugins/mac-virtualcam/src/obs-plugin/plugin-main.mm b/plugins/mac-virtualcam/src/obs-plugin/plugin-main.mm index 772e5faa8..281620fa4 100644 --- a/plugins/mac-virtualcam/src/obs-plugin/plugin-main.mm +++ b/plugins/mac-virtualcam/src/obs-plugin/plugin-main.mm @@ -523,7 +523,7 @@ static bool virtualcam_output_start(void *data) [vcam->machServer run]; } - if (!obs_output_begin_data_capture2(vcam->output)) { + if (!obs_output_begin_data_capture(vcam->output, 0)) { return false; } diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-hls-mux.c b/plugins/obs-ffmpeg/obs-ffmpeg-hls-mux.c index fdd28713b..9df75263e 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-hls-mux.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-hls-mux.c @@ -118,9 +118,9 @@ bool ffmpeg_hls_mux_start(void *data) obs_data_t *settings; int keyint_sec; - if (!obs_output_can_begin_data_capture2(stream->output)) + if (!obs_output_can_begin_data_capture(stream->output, 0)) return false; - if (!obs_output_initialize_encoders2(stream->output)) + if (!obs_output_initialize_encoders(stream->output, 0)) return false; service = obs_output_get_service(stream->output); @@ -170,7 +170,7 @@ bool ffmpeg_hls_mux_start(void *data) stream->dropped_frames = 0; stream->min_priority = 0; - obs_output_begin_data_capture2(stream->output); + obs_output_begin_data_capture(stream->output, 0); dstr_copy(&stream->printable_path, path_str); info("Writing to path '%s'...", stream->printable_path.array); diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-mpegts.c b/plugins/obs-ffmpeg/obs-ffmpeg-mpegts.c index 471dad0d7..f7a899f1d 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-mpegts.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-mpegts.c @@ -1025,9 +1025,9 @@ static bool set_config(struct ffmpeg_output *stream) } av_dump_format(ff_data->output, 0, NULL, 1); } - if (!obs_output_can_begin_data_capture2(stream->output)) + if (!obs_output_can_begin_data_capture(stream->output, 0)) return false; - if (!obs_output_initialize_encoders2(stream->output)) + if (!obs_output_initialize_encoders(stream->output, 0)) return false; ret = pthread_create(&stream->write_thread, NULL, write_thread, stream); @@ -1042,7 +1042,7 @@ static bool set_config(struct ffmpeg_output *stream) os_atomic_set_bool(&stream->active, true); stream->write_thread_active = true; stream->total_bytes = 0; - obs_output_begin_data_capture2(stream->output); + obs_output_begin_data_capture(stream->output, 0); return true; fail: diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-mux.c b/plugins/obs-ffmpeg/obs-ffmpeg-mux.c index 1a6c2871b..92912a7f3 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-mux.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-mux.c @@ -411,9 +411,9 @@ static inline bool ffmpeg_mux_start_internal(struct ffmpeg_muxer *stream, update_encoder_settings(stream, path); - if (!obs_output_can_begin_data_capture2(stream->output)) + if (!obs_output_can_begin_data_capture(stream->output, 0)) return false; - if (!obs_output_initialize_encoders2(stream->output)) + if (!obs_output_initialize_encoders(stream->output, 0)) return false; if (stream->is_network) { @@ -468,7 +468,7 @@ static inline bool ffmpeg_mux_start_internal(struct ffmpeg_muxer *stream, os_atomic_set_bool(&stream->active, true); os_atomic_set_bool(&stream->capturing, true); stream->total_bytes = 0; - obs_output_begin_data_capture2(stream->output); + obs_output_begin_data_capture(stream->output, 0); info("Writing file '%s'...", stream->path.array); return true; @@ -1039,9 +1039,9 @@ static bool replay_buffer_start(void *data) { struct ffmpeg_muxer *stream = data; - if (!obs_output_can_begin_data_capture2(stream->output)) + if (!obs_output_can_begin_data_capture(stream->output, 0)) return false; - if (!obs_output_initialize_encoders2(stream->output)) + if (!obs_output_initialize_encoders(stream->output, 0)) return false; obs_data_t *s = obs_output_get_settings(stream->output); @@ -1052,7 +1052,7 @@ static bool replay_buffer_start(void *data) os_atomic_set_bool(&stream->active, true); os_atomic_set_bool(&stream->capturing, true); stream->total_bytes = 0; - obs_output_begin_data_capture2(stream->output); + obs_output_begin_data_capture(stream->output, 0); return true; } diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-output.c b/plugins/obs-ffmpeg/obs-ffmpeg-output.c index eed34ad7c..7c587fdd6 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-output.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-output.c @@ -1209,7 +1209,7 @@ static bool try_connect(struct ffmpeg_output *output) output->active = true; - if (!obs_output_can_begin_data_capture2(output->output)) + if (!obs_output_can_begin_data_capture(output->output, 0)) return false; ret = pthread_create(&output->write_thread, NULL, write_thread, output); @@ -1223,7 +1223,7 @@ static bool try_connect(struct ffmpeg_output *output) obs_output_set_video_conversion(output->output, NULL); obs_output_set_audio_conversion(output->output, &aci); - obs_output_begin_data_capture2(output->output); + obs_output_begin_data_capture(output->output, 0); output->write_thread_active = true; return true; } diff --git a/plugins/obs-outputs/flv-output.c b/plugins/obs-outputs/flv-output.c index 06b47fc57..3d5d3c10e 100644 --- a/plugins/obs-outputs/flv-output.c +++ b/plugins/obs-outputs/flv-output.c @@ -154,9 +154,9 @@ static bool flv_output_start(void *data) obs_data_t *settings; const char *path; - if (!obs_output_can_begin_data_capture2(stream->output)) + if (!obs_output_can_begin_data_capture(stream->output, 0)) return false; - if (!obs_output_initialize_encoders2(stream->output)) + if (!obs_output_initialize_encoders(stream->output, 0)) 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_capture2(stream->output); + obs_output_begin_data_capture(stream->output, 0); info("Writing FLV file '%s'...", stream->path.array); return true; diff --git a/plugins/obs-outputs/ftl-stream.c b/plugins/obs-outputs/ftl-stream.c index 7200ea9f8..9d7ff2d88 100644 --- a/plugins/obs-outputs/ftl-stream.c +++ b/plugins/obs-outputs/ftl-stream.c @@ -593,7 +593,7 @@ static int init_send(struct ftl_stream *stream) os_atomic_set_bool(&stream->active, true); - obs_output_begin_data_capture2(stream->output); + obs_output_begin_data_capture(stream->output, 0); 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_capture2(stream->output)) { + if (!obs_output_can_begin_data_capture(stream->output, 0)) { return false; } - if (!obs_output_initialize_encoders2(stream->output)) { + if (!obs_output_initialize_encoders(stream->output, 0)) { return false; } diff --git a/plugins/obs-outputs/null-output.c b/plugins/obs-outputs/null-output.c index 35bd09edb..c8997b3c3 100644 --- a/plugins/obs-outputs/null-output.c +++ b/plugins/obs-outputs/null-output.c @@ -51,15 +51,15 @@ static bool null_output_start(void *data) { struct null_output *context = data; - if (!obs_output_can_begin_data_capture2(context->output)) + if (!obs_output_can_begin_data_capture(context->output, 0)) return false; - if (!obs_output_initialize_encoders2(context->output)) + if (!obs_output_initialize_encoders(context->output, 0)) return false; if (context->stop_thread_active) pthread_join(context->stop_thread, NULL); - obs_output_begin_data_capture2(context->output); + obs_output_begin_data_capture(context->output, 0); return true; } diff --git a/plugins/obs-outputs/rtmp-stream.c b/plugins/obs-outputs/rtmp-stream.c index 14b2e525e..22e0e1911 100644 --- a/plugins/obs-outputs/rtmp-stream.c +++ b/plugins/obs-outputs/rtmp-stream.c @@ -1071,7 +1071,7 @@ static int init_send(struct rtmp_stream *stream) return OBS_OUTPUT_DISCONNECTED; } - obs_output_begin_data_capture2(stream->output); + obs_output_begin_data_capture(stream->output, 0); return OBS_OUTPUT_SUCCESS; } @@ -1373,9 +1373,9 @@ static bool rtmp_stream_start(void *data) { struct rtmp_stream *stream = data; - if (!obs_output_can_begin_data_capture2(stream->output)) + if (!obs_output_can_begin_data_capture(stream->output, 0)) return false; - if (!obs_output_initialize_encoders2(stream->output)) + if (!obs_output_initialize_encoders(stream->output, 0)) return false; os_atomic_set_bool(&stream->connecting, true); diff --git a/plugins/win-dshow/virtualcam.c b/plugins/win-dshow/virtualcam.c index 010477366..ded9fabf9 100644 --- a/plugins/win-dshow/virtualcam.c +++ b/plugins/win-dshow/virtualcam.c @@ -68,7 +68,7 @@ static bool virtualcam_start(void *data) os_atomic_set_bool(&vcam->active, true); os_atomic_set_bool(&vcam->stopping, false); blog(LOG_INFO, "Virtual output started"); - obs_output_begin_data_capture2(vcam->output); + obs_output_begin_data_capture(vcam->output, 0); return true; }