Skip to content

Commit cdc615f

Browse files
committed
Merge remote-tracking branch 'origin/streamlabs' into fix_build_upmerged
2 parents 8f4935a + 23015d6 commit cdc615f

File tree

9 files changed

+31
-27
lines changed

9 files changed

+31
-27
lines changed

libobs/obs-output.c

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -888,30 +888,19 @@ proc_handler_t *obs_output_get_proc_handler(const obs_output_t *output)
888888
: NULL;
889889
}
890890

891-
void obs_output_set_media(obs_output_t *output, obs_core_video_mix_t *mix,
892-
audio_t *audio)
891+
void obs_output_set_media(obs_output_t *output, video_t *video, audio_t *audio)
893892
{
894893
if (!obs_output_valid(output, "obs_output_set_media"))
895894
return;
896895
if (log_flag_encoded(output, __FUNCTION__, true))
897896
return;
898897

899898
if (flag_video(output))
900-
output->video = mix->video;
899+
output->video = video;
901900
if (flag_audio(output))
902901
output->audio = audio;
903902
}
904903

905-
void obs_output_set_video_mix(obs_output_t *output, obs_core_video_mix_t *mix,
906-
audio_t *audio)
907-
{
908-
if (!obs_output_valid(output, "obs_output_set_media"))
909-
return;
910-
911-
output->video = mix->video;
912-
output->audio = audio;
913-
}
914-
915904
video_t *obs_output_video(const obs_output_t *output)
916905
{
917906
if (!obs_output_valid(output, "obs_output_video"))

libobs/obs-source-transition.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1181,7 +1181,7 @@ bool obs_transition_audio_render_do(obs_source_t *transition, uint64_t *ts_out,
11811181
if (!transition_valid(transition, "obs_transition_audio_render"))
11821182
return false;
11831183

1184-
blog(LOG_INFO, "[AUDIO_CANVAS] obs_transition_audio_render_do started");
1184+
//blog(LOG_INFO, "[AUDIO_CANVAS] obs_transition_audio_render_do started");
11851185
lock_transition(transition);
11861186

11871187
sources[0] = transition->transition_sources[0];

libobs/obs-view.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,9 +160,9 @@ static inline void set_main_mix()
160160
obs->video.main_mix = mix;
161161
}
162162

163-
video_t *obs_view_add(obs_view_t *view, struct obs_video_info *ovi)
163+
video_t *obs_view_add(obs_view_t *view)
164164
{
165-
return obs_view_add2(view, ovi);
165+
return obs_view_add2(view, obs->video.main_mix->ovi);
166166
}
167167

168168
video_t *obs_view_add2(obs_view_t *view, struct obs_video_info *ovi)

libobs/obs.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -802,7 +802,7 @@ static int obs_init_video()
802802
if (!ovi->initialized)
803803
continue;
804804

805-
if (!obs_view_add(&obs->data.main_view, ovi))
805+
if (!obs_view_add2(&obs->data.main_view, ovi))
806806
return OBS_VIDEO_FAIL;
807807

808808
if (!obs_stream_view_add(&obs->data.stream_view, ovi))
@@ -2727,6 +2727,15 @@ obs_core_video_mix_t *obs_video_mix_get(struct obs_video_info *ovi,
27272727
return NULL;
27282728
}
27292729

2730+
video_t *obs_video_mix_get_video(struct obs_core_video_mix *mix)
2731+
{
2732+
if (mix) {
2733+
return mix->video;
2734+
}
2735+
2736+
return NULL;
2737+
}
2738+
27302739
void obs_set_audio_rendering_mode(enum obs_audio_rendering_mode mode)
27312740
{
27322741
if (!obs)

libobs/obs.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,7 +1061,7 @@ EXPORT obs_source_t *obs_view_get_source(obs_view_t *view, uint32_t channel);
10611061
EXPORT void obs_view_render(obs_view_t *view);
10621062

10631063
/** Adds a view to the main render loop */
1064-
EXPORT video_t *obs_view_add(obs_view_t *view, struct obs_video_info *ovi);
1064+
EXPORT video_t *obs_view_add(obs_view_t *view);
10651065

10661066
/** Adds a view to the main render loop */
10671067
EXPORT video_t *obs_stream_view_add(obs_view_t *view,
@@ -2308,8 +2308,8 @@ EXPORT proc_handler_t *obs_output_get_proc_handler(const obs_output_t *output);
23082308
* Sets the current audio/video media contexts associated with this output,
23092309
* required for non-encoded outputs. Can be null.
23102310
*/
2311-
EXPORT void obs_output_set_media(obs_output_t *output,
2312-
obs_core_video_mix_t *mix, audio_t *audio);
2311+
EXPORT void obs_output_set_media(obs_output_t *output, video_t *video,
2312+
audio_t *audio);
23132313

23142314
/** Returns the video media context associated with this output */
23152315
EXPORT video_t *obs_output_video(const obs_output_t *output);
@@ -2593,6 +2593,8 @@ EXPORT const char *obs_encoder_get_name(const obs_encoder_t *encoder);
25932593
EXPORT void obs_encoder_set_video_mix(obs_encoder_t *encoder,
25942594
struct obs_core_video_mix *video);
25952595

2596+
EXPORT video_t *obs_video_mix_get_video(struct obs_core_video_mix *mix);
2597+
25962598
EXPORT obs_core_video_mix_t *
25972599
obs_video_mix_get(struct obs_video_info *ovi,
25982600
enum obs_video_rendering_mode mode);

plugins/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,5 +180,6 @@ add_subdirectory(obs-filters)
180180
add_subdirectory(obs-transitions)
181181
add_subdirectory(rtmp-services)
182182
add_subdirectory(text-freetype2)
183+
add_subdirectory(obs-ndi)
183184
#add_subdirectory(aja)
184185
add_subdirectory(obs-webrtc)

plugins/obs-qsv11/QSV_Encoder.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -180,16 +180,17 @@ void qsv_encoder_version(unsigned short *major, unsigned short *minor)
180180
}
181181

182182
qsv_t *qsv_encoder_open(qsv_param_t *pParams, enum qsv_codec codec,
183-
bool useTexAlloc)
183+
bool useTexAlloc, obs_encoder_t *encoder)
184184
{
185185
QSV_Encoder_Internal *pEncoder =
186186
new QSV_Encoder_Internal(ver, useTexAlloc);
187187
mfxStatus sts = pEncoder->Open(pParams, codec);
188188
if (sts != MFX_ERR_NONE) {
189189

190-
#define WARN_ERR_IMPL(err, str, err_name) \
191-
case err: \
192-
do_log(LOG_WARNING, str " (" err_name ")"); \
190+
#define WARN_ERR_IMPL(err, str, err_name) \
191+
case err: \
192+
obs_encoder_set_last_error(encoder, str " (" err_name ")"); \
193+
do_log(LOG_WARNING, str " (" err_name ")"); \
193194
break;
194195
#define WARN_ERR(err, str) WARN_ERR_IMPL(err, str, #err)
195196

plugins/obs-qsv11/QSV_Encoder.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
6161
#include <stdint.h>
6262
#include <stdbool.h>
6363
#include <stddef.h>
64+
#include <obs.h>
6465
#include "common_utils.h"
6566

6667
#ifdef __cplusplus
@@ -157,7 +158,8 @@ int qsv_param_default_preset(qsv_param_t *, const char *preset,
157158
const char *tune);
158159
int qsv_encoder_reconfig(qsv_t *, qsv_param_t *);
159160
void qsv_encoder_version(unsigned short *major, unsigned short *minor);
160-
qsv_t *qsv_encoder_open(qsv_param_t *, enum qsv_codec codec, bool useTexAlloc);
161+
qsv_t *qsv_encoder_open(qsv_param_t *, enum qsv_codec codec, bool useTexAlloc,
162+
obs_encoder_t *encoder);
161163
void qsv_encoder_add_roi(qsv_t *, const struct obs_encoder_roi *roi);
162164
void qsv_encoder_clear_roi(qsv_t *pContext);
163165
int qsv_encoder_encode(qsv_t *, uint64_t, uint8_t *, uint8_t *, uint32_t,

plugins/obs-qsv11/obs-qsv11.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -869,8 +869,8 @@ static void *obs_qsv_create(enum qsv_codec codec, obs_data_t *settings,
869869

870870
if (update_settings(obsqsv, settings)) {
871871
pthread_mutex_lock(&g_QsvLock);
872-
obsqsv->context =
873-
qsv_encoder_open(&obsqsv->params, codec, useTexAlloc);
872+
obsqsv->context = qsv_encoder_open(&obsqsv->params, codec,
873+
useTexAlloc, encoder);
874874
pthread_mutex_unlock(&g_QsvLock);
875875

876876
if (obsqsv->context == NULL)

0 commit comments

Comments
 (0)