减少unsport code打印,新增git信息获取

This commit is contained in:
monktan 2020-12-29 11:36:06 +08:00
parent 871127d11a
commit 47f2f5b349
5 changed files with 63 additions and 1 deletions

View File

@ -15,6 +15,40 @@ else()
message(STATUS "Debug版本") message(STATUS "Debug版本")
endif() endif()
# git
set(COMMIT_HASH "Git_NotFound_Unkown_commit")
set(BRANCH_NAME "Git_NotFound_Unkown_branch")
set(BUILD_TIME "")
string(TIMESTAMP BUILD_TIME "%Y/%m/%d-%H:%M:%S")
find_package(Git QUIET)
if(GIT_FOUND)
execute_process(
COMMAND ${GIT_EXECUTABLE} log -1 --pretty=format:%H
OUTPUT_VARIABLE COMMIT_HASH
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
execute_process(
COMMAND ${GIT_EXECUTABLE} symbolic-ref --short -q HEAD
OUTPUT_VARIABLE BRANCH_NAME
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
endif()
message(STATUS "Git version is ${BRANCH_NAME}:${COMMIT_HASH}:${BUILD_TIME}")
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/version.h.ini
${CMAKE_BINARY_DIR}/Version.h
@ONLY
)
include_directories(${CMAKE_BINARY_DIR})
#binlib #binlib
set(RELEASE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/release) set(RELEASE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/release)
if (CMAKE_SYSTEM_NAME MATCHES "Linux") if (CMAKE_SYSTEM_NAME MATCHES "Linux")

View File

@ -27,6 +27,7 @@
#include "Rtp/RtpServer.h" #include "Rtp/RtpServer.h"
#include "WebApi.h" #include "WebApi.h"
#include "WebHook.h" #include "WebHook.h"
#include "Version.h"
#if !defined(_WIN32) #if !defined(_WIN32)
#include "System.h" #include "System.h"
@ -154,6 +155,18 @@ public:
false,/*该选项是否必须赋值如果没有默认值且为ArgRequired时用户必须提供该参数否则将抛异常*/ false,/*该选项是否必须赋值如果没有默认值且为ArgRequired时用户必须提供该参数否则将抛异常*/
"MediaServerId自定义值",/*该选项说明文字*/ "MediaServerId自定义值",/*该选项说明文字*/
nullptr); nullptr);
(*_parser) << Option('v', "version", Option::ArgNone, nullptr ,false, "显示版本号",
[this](const std::shared_ptr<ostream> &stream, const string &arg){
//版本信息
*stream << "当前版本信息:" << std::endl;
*stream << "编译日期: " << build_time << std::endl;
*stream << "当前git分支: " << branch_name << std::endl;
*stream << "当前git hash值: " << commit_hash << std::endl;
stringstream ss;
ss << "\n输入\"-h\"选项获取更详细帮助";
throw std::invalid_argument(ss.str());
return false;
});
} }
virtual ~CMD_main() {} virtual ~CMD_main() {}

View File

@ -216,7 +216,10 @@ void DecoderImp::onDecode(int stream,int codecid,int flags,int64_t pts,int64_t d
default: default:
if(codecid != 0){ if(codecid != 0){
WarnL<< "unsupported codec type:" << getCodecName(codecid) << " " << (int)codecid; if(_last_unsported_print.elapsedTime()/1000 > 5){
_last_unsported_print.resetTime();
WarnL<< "unsupported codec type:" << getCodecName(codecid) << " " << (int)codecid;
}
} }
break; break;
} }

View File

@ -72,6 +72,7 @@ private:
Decoder::Ptr _decoder; Decoder::Ptr _decoder;
MediaSinkInterface *_sink; MediaSinkInterface *_sink;
FrameMerger _merger; FrameMerger _merger;
Ticker _last_unsported_print;
}; };
}//namespace mediakit }//namespace mediakit

11
version.h.ini Normal file
View File

@ -0,0 +1,11 @@
#ifndef __GIT_VERSION_H__
#define __GIT_VERSION_H__
#include <string>
const std::string commit_hash = "@COMMIT_HASH@";
const std::string branch_name = "@BRANCH_NAME@";
const std::string build_time = "@BUILD_TIME@";
#endif //__GIT_VERSION_H__