From 8f2e00f31be9116951dcb3893699eaad973f60a0 Mon Sep 17 00:00:00 2001 From: Loki Date: Mon, 14 Jun 2021 14:54:09 +0200 Subject: [PATCH] minor refactoring --- sunshine/cbs.cpp | 11 +++++++++++ sunshine/cbs.h | 3 +-- sunshine/video.cpp | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/sunshine/cbs.cpp b/sunshine/cbs.cpp index 6b3b9f04..ad8cc29c 100644 --- a/sunshine/cbs.cpp +++ b/sunshine/cbs.cpp @@ -189,6 +189,17 @@ util::buffer_t read_sps(const AVPacket *packet, int codec_id) { return write(*p, (AVCodecID)codec_id); } +util::buffer_t make_sps(const AVCodecContext *ctx, int format) { + switch(format) { + case 0: + return make_sps_h264(ctx); + } + + BOOST_LOG(warning) << "make_sps: video format ["sv << format << "] not supported"sv; + + return {}; +} + bool validate_sps(const AVPacket *packet, int codec_id) { cbs::ctx_t ctx; if(ff_cbs_init(&ctx, (AVCodecID)codec_id, nullptr)) { diff --git a/sunshine/cbs.h b/sunshine/cbs.h index 8d2554dd..721b24e0 100644 --- a/sunshine/cbs.h +++ b/sunshine/cbs.h @@ -8,8 +8,7 @@ struct AVCodecContext; namespace cbs { util::buffer_t read_sps(const AVPacket *packet, int codec_id); -util::buffer_t make_sps_h264(const AVCodecContext *ctx); -util::buffer_t make_sps_hevc(const AVCodecContext *ctx); +util::buffer_t make_sps(const AVCodecContext *ctx, int video_format); /** * Check if SPS->VUI is present diff --git a/sunshine/video.cpp b/sunshine/video.cpp index 20eadde5..1e4f495a 100644 --- a/sunshine/video.cpp +++ b/sunshine/video.cpp @@ -937,7 +937,7 @@ std::optional make_session(const encoder_t &encoder, const config_t & return std::make_optional( std::move(ctx), std::move(device), - cbs::make_sps_h264(ctx.get())); + cbs::make_sps(ctx.get(), config.videoFormat)); } void encode_run(