From c8f3f9201cb029f310089e1fc0666c33ea3c8528 Mon Sep 17 00:00:00 2001 From: Michael Fabian 'Xaymar' Dirks Date: Wed, 24 Jul 2019 20:03:44 +0200 Subject: [PATCH] ui/handler: Add ability to override UI name --- source/encoder.cpp | 4 ++++ source/ui/handler.cpp | 2 ++ source/ui/handler.hpp | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/source/encoder.cpp b/source/encoder.cpp index 591f24b..a9f052e 100644 --- a/source/encoder.cpp +++ b/source/encoder.cpp @@ -76,6 +76,10 @@ void obsffmpeg::encoder_factory::register_encoder() sstr << " [" << caps << "]"; } this->info.readable_name = sstr.str(); + + // Allow UI Handler to replace visible name. + obsffmpeg::find_codec_handler(this->avcodec_ptr->name) + ->override_visible_name(this->avcodec_ptr, this->info.readable_name); } // Assign Ids. diff --git a/source/ui/handler.cpp b/source/ui/handler.cpp index 8322f05..3873fc9 100644 --- a/source/ui/handler.cpp +++ b/source/ui/handler.cpp @@ -20,3 +20,5 @@ // SOFTWARE. #include "handler.hpp" + +void obsffmpeg::ui::handler::override_visible_name(AVCodec* codec, std::string& name) {} diff --git a/source/ui/handler.hpp b/source/ui/handler.hpp index abb5c22..9317709 100644 --- a/source/ui/handler.hpp +++ b/source/ui/handler.hpp @@ -21,7 +21,10 @@ #pragma once +#include + extern "C" { +#include #include #pragma warning(push) #pragma warning(disable : 4244) @@ -33,6 +36,8 @@ namespace obsffmpeg { namespace ui { class handler { public: + virtual void override_visible_name(AVCodec* codec, std::string& name); + virtual void get_defaults(obs_data_t* settings, AVCodec* codec, AVCodecContext* context) = 0; virtual void get_properties(obs_properties_t* props, AVCodec* codec,