libobs: Add source output flag OBS_SOURCE_DO_NOT_DUPLICATE

Certain types of sources (display captures, game captures, audio
device captures, video device captures) should not be duplicated.  This
capability flag hints that the source prefers references over full
duplication.
This commit is contained in:
jp9000
2016-01-12 16:25:47 -08:00
parent 56dc605497
commit cd97ce2a17
15 changed files with 43 additions and 17 deletions

View File

@@ -783,7 +783,8 @@ static obs_properties_t *coreaudio_output_properties(void *unused)
struct obs_source_info coreaudio_input_capture_info = {
.id = "coreaudio_input_capture",
.type = OBS_SOURCE_TYPE_INPUT,
.output_flags = OBS_SOURCE_AUDIO,
.output_flags = OBS_SOURCE_AUDIO |
OBS_SOURCE_DO_NOT_DUPLICATE,
.get_name = coreaudio_input_getname,
.create = coreaudio_create_input_capture,
.destroy = coreaudio_destroy,
@@ -795,7 +796,8 @@ struct obs_source_info coreaudio_input_capture_info = {
struct obs_source_info coreaudio_output_capture_info = {
.id = "coreaudio_output_capture",
.type = OBS_SOURCE_TYPE_INPUT,
.output_flags = OBS_SOURCE_AUDIO,
.output_flags = OBS_SOURCE_AUDIO |
OBS_SOURCE_DO_NOT_DUPLICATE,
.get_name = coreaudio_output_getname,
.create = coreaudio_create_output_capture,
.destroy = coreaudio_destroy,

View File

@@ -657,7 +657,8 @@ struct obs_source_info display_capture_info = {
.create = display_capture_create,
.destroy = display_capture_destroy,
.output_flags = OBS_SOURCE_VIDEO | OBS_SOURCE_CUSTOM_DRAW,
.output_flags = OBS_SOURCE_VIDEO | OBS_SOURCE_CUSTOM_DRAW |
OBS_SOURCE_DO_NOT_DUPLICATE,
.video_tick = display_capture_video_tick,
.video_render = display_capture_video_render,