From f99ba40cc92e27dc4cb43921fe4d9bbb02506166 Mon Sep 17 00:00:00 2001 From: Iwan Timmer Date: Wed, 15 Jul 2015 11:43:34 +0200 Subject: [PATCH] Enable fake video output only in debug builds --- CMakeLists.txt | 8 +++++++- src/video.c | 7 +++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bb342a4..10d213c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,6 @@ cmake_minimum_required(VERSION 3.1) SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") aux_source_directory(./src SRC_LIST) -list(APPEND SRC_LIST ./src/video/fake.c) aux_source_directory(./third_party/moonlight-common-c/limelight-common SRC_LIST) aux_source_directory(./third_party/moonlight-common-c/limelight-common/OpenAES SRC_LIST) @@ -33,6 +32,13 @@ if(CEC_FOUND) list(APPEND MOONLIGHT_DEFINITIONS HAVE_LIBCEC) endif() +if(CMAKE_BUILD_TYPE MATCHES Debug) + list(APPEND SRC_LIST ./src/video/fake.c) + list(APPEND MOONLIGHT_DEFINITIONS HAVE_FAKE) +elseif(NOT BROADCOM_FOUND AND NOT FREESCALE_FOUND) + message(FATAL_ERROR "No video output available") +endif() + if(BROADCOM_FOUND) aux_source_directory(./third_party/ilclient SRC_LIST) aux_source_directory(./third_party/h264bitstream SRC_LIST) diff --git a/src/video.c b/src/video.c index 1c462ab..a8125f1 100644 --- a/src/video.c +++ b/src/video.c @@ -25,13 +25,16 @@ #include #include +#include DECODER_RENDERER_CALLBACKS *decoder_callbacks; static int decoder_level; void video_init() { + #ifdef HAVE_FAKE decoder_callbacks = &decoder_callbacks_fake; + #endif #ifdef HAVE_IMX if (dlsym(RTLD_DEFAULT, "vpu_Init") != NULL && video_imx_init()) { decoder_callbacks = &decoder_callbacks_imx; @@ -42,4 +45,8 @@ void video_init() { decoder_callbacks = &decoder_callbacks_omx; } #endif + if (decoder_callbacks == NULL) { + fprintf(stderr, "No video output available\n"); + exit(EXIT_FAILURE); + } }