diff --git a/src/media/media_encoder.cpp b/src/media/media_encoder.cpp index f3988403c1a1977ab42afbab01bf21bd442ca92f..5efb03dbc1d2b84d833d2a3459f1096baa6e9afc 100644 --- a/src/media/media_encoder.cpp +++ b/src/media/media_encoder.cpp @@ -46,10 +46,13 @@ extern "C" { #include <json/json.h> #include <sstream> #include <thread> // hardware_concurrency +#include <string_view> // Define following line if you need to debug libav SDP //#define DEBUG_SDP 1 +using namespace std::literals; + namespace jami { constexpr double LOGREG_PARAM_A {79}; @@ -979,17 +982,17 @@ MediaEncoder::initH263(AVCodecContext* encoderCtx, uint64_t br) void MediaEncoder::initAccel(AVCodecContext* encoderCtx, uint64_t br) { - if (!accel_) + if (not accel_) return; - if (accel_->getName() == "nvenc") { + if (accel_->getName() == "nvenc"sv) { // Use same parameters as software - } else if (accel_->getName() == "vaapi") { + } else if (accel_->getName() == "vaapi"sv) { // Use VBR encoding with bitrate target set to 80% of the maxrate av_opt_set_int(encoderCtx, "crf", -1, AV_OPT_SEARCH_CHILDREN); av_opt_set_int(encoderCtx, "b", br * 1000 * 0.8f, AV_OPT_SEARCH_CHILDREN); - } else if (accel_->getName() == "videotoolbox") { + } else if (accel_->getName() == "videotoolbox"sv) { // Use same parameters as software - } else if (accel_->getName() == "qsv") { + } else if (accel_->getName() == "qsv"sv) { // Use Video Conferencing Mode av_opt_set_int(encoderCtx, "vcm", 1, AV_OPT_SEARCH_CHILDREN); av_opt_set_int(encoderCtx, "b", br * 1000 * 0.8f, AV_OPT_SEARCH_CHILDREN); diff --git a/src/media/video/accel.h b/src/media/video/accel.h index fade4290c9eae3525e10aad4fb62f935d1c2a11e..cf26043984d3d5b6af3b1d2a3bf71a682aaf16b0 100644 --- a/src/media/video/accel.h +++ b/src/media/video/accel.h @@ -83,7 +83,7 @@ public: /** * @brief Name of the hardware layer/API being used. */ - std::string getName() const { return name_; }; + const std::string& getName() const { return name_; }; /** * @brief Hardware format.