From 28f56c02012bcb73c07a7a30c387a6c9815259b1 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Thu, 3 Sep 2020 05:26:42 -0700 Subject: [PATCH] UI: Do not show media controls on network media source --- UI/window-basic-main.cpp | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index 5b6667823..1274f8f92 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -2902,6 +2902,18 @@ void OBSBasic::ClearContextBar() } } +static bool is_network_media_source(obs_source_t *source, const char *id) +{ + if (strcmp(id, "ffmpeg_source") != 0) + return false; + + obs_data_t *s = obs_source_get_settings(source); + bool is_local_file = obs_data_get_bool(s, "is_local_file"); + obs_data_release(s); + + return !is_local_file; +} + void OBSBasic::UpdateContextBar() { OBSSceneItem item = GetCurrentSceneItem(); @@ -2914,14 +2926,15 @@ void OBSBasic::UpdateContextBar() uint32_t flags = obs_source_get_output_flags(source); if (flags & OBS_SOURCE_CONTROLLABLE_MEDIA) { - MediaControls *mediaControls = - new MediaControls(ui->emptySpace); - mediaControls->SetSource(source); + if (!is_network_media_source(source, id)) { + MediaControls *mediaControls = + new MediaControls(ui->emptySpace); + mediaControls->SetSource(source); - ui->emptySpace->layout()->addWidget(mediaControls); - } - - if (strcmp(id, "browser_source") == 0) { + ui->emptySpace->layout()->addWidget( + mediaControls); + } + } else if (strcmp(id, "browser_source") == 0) { BrowserToolbar *c = new BrowserToolbar(ui->emptySpace, source); ui->emptySpace->layout()->addWidget(c);