|
|
@@ -262,6 +262,10 @@ static void maybe_set_up_gpu_rescale(struct obs_encoder *encoder)
|
|
|
if (!current_mix)
|
|
|
return;
|
|
|
|
|
|
+ /* Store original video_t so it can be restored if scaling is disabled. */
|
|
|
+ if (!current_mix->encoder_only_mix)
|
|
|
+ encoder->original_video = encoder->media;
|
|
|
+
|
|
|
pthread_mutex_lock(&obs->video.mixes_mutex);
|
|
|
for (size_t i = 0; i < obs->video.mixes.num; i++) {
|
|
|
struct obs_core_video_mix *current = obs->video.mixes.array[i];
|
|
|
@@ -687,7 +691,7 @@ static void maybe_clear_encoder_core_video_mix(obs_encoder_t *encoder)
|
|
|
if (!mix->encoder_only_mix)
|
|
|
break;
|
|
|
|
|
|
- encoder_set_video(encoder, obs_get_video());
|
|
|
+ encoder_set_video(encoder, encoder->original_video);
|
|
|
mix->encoder_refs -= 1;
|
|
|
if (mix->encoder_refs == 0) {
|
|
|
da_erase(obs->video.mixes, i);
|