From d04ddf9eee23e4058461d4f86e88e5e22a06c7fb Mon Sep 17 00:00:00 2001
From: pansen <pansen626@sina.com>
Date: 星期五, 08 三月 2019 15:13:47 +0800
Subject: [PATCH] 局部变量转换为成员变量
---
QiaoJiaSystem/DataManagerServer/http_configserver.cpp | 2
QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.h | 11 +++++
QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.cpp | 61 +++++++++++++++---------------
QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp | 1
4 files changed, 44 insertions(+), 31 deletions(-)
diff --git a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
index cf857db..5474b99 100644
--- a/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
+++ b/QiaoJiaSystem/DataManagerServer/http_configserver.cpp
@@ -2422,7 +2422,7 @@
bool ret = false;
if (SyncType == 1) {
//鍚屾搴�
- ret = erlangDbTool->updateDatabase(Uuid, fieldValues);
+ ret = erlangDbTool->updateDatabase("sys_o_tables", fieldValues);
} else if (SyncType == 0) {
//鏈湴搴�
if (TableName.find("lt_") != 0) {
diff --git a/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.cpp b/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.cpp
index c353675..c701ddb 100644
--- a/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.cpp
+++ b/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.cpp
@@ -146,37 +146,39 @@
p_this->m_running = true;
av_register_all();
avformat_network_init();
- AVFormatContext *ic = avformat_alloc_context();
+ p_this->ic = avformat_alloc_context();
- unsigned char *iobuffer = (unsigned char *) av_malloc(p_this->m_buf_size);
- AVIOContext *avio = avio_alloc_context(iobuffer, p_this->m_buf_size, 0, p_this, p_this->read_data, NULL, NULL);
- ic->pb = avio;
+ p_this->iobuffer = (unsigned char *) av_malloc(p_this->m_buf_size);
+ p_this->avio = avio_alloc_context(p_this->iobuffer, p_this->m_buf_size, 0, p_this, p_this->read_data, NULL, NULL);
+ p_this->ic->pb = p_this->avio;
- int err = av_probe_input_buffer(ic->pb, &ic->iformat, nullptr, nullptr, 0, p_this->m_buf_size);
- int err1 = avformat_open_input(&ic, "", NULL, NULL);
- int err2 = avformat_find_stream_info(ic, nullptr);
+ int err = av_probe_input_buffer(p_this->ic->pb, &p_this->ic->iformat, nullptr, nullptr, 0, p_this->m_buf_size);
+ int err1 = avformat_open_input(&p_this->ic, "", NULL, NULL);
+// int err2 = avformat_find_stream_info(ic, nullptr);
+ int err2 = avformat_find_stream_info(p_this->ic, NULL);
int vi = -1;
- for (int i = 0; i < ic->nb_streams; ++i) {
- if (ic->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {
+ for (int i = 0; i < p_this->ic->nb_streams; ++i) {
+ if (p_this->ic->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {
vi = i;
break;
}
}
- AVStream *stream = ic->streams[vi];
- p_this->video_st = stream;
- AVCodecContext *ctx = avcodec_alloc_context3(nullptr);
- int err3 = avcodec_parameters_to_context(ctx, stream->codecpar);
+ p_this->stream = p_this->ic->streams[vi];
+ p_this->video_st = p_this->stream;
+ p_this->ctx = avcodec_alloc_context3(nullptr);
+ int err3 = avcodec_parameters_to_context(p_this->ctx, p_this->stream->codecpar);
- AVCodec *codec = avcodec_find_decoder(ctx->codec_id);
+ p_this->codec = avcodec_find_decoder(p_this->ctx->codec_id);
//鏄惁鍚敤GPU
if (p_this->m_gpuIdx >= 0) {
- if (codec != NULL) {
+ if (p_this->codec != NULL) {
char cuvidName[40] = {0};
- sprintf(cuvidName, "%s_cuvid", codec->name);
- if (!strcmp(codec->name, "h264") || !strcmp(codec->name, "h265") || !strcmp(codec->name, "hevc")) {
- AVCodec *codec_cuvid = avcodec_find_decoder_by_name(cuvidName);
- if (codec_cuvid != NULL) {
- codec = codec_cuvid;
+ sprintf(cuvidName, "%s_cuvid", p_this->codec->name);
+ if (!strcmp(p_this->codec->name, "h264") || !strcmp(p_this->codec->name, "h265") ||
+ !strcmp(p_this->codec->name, "hevc")) {
+ p_this->codec_cuvid = avcodec_find_decoder_by_name(cuvidName);
+ if (p_this->codec_cuvid != NULL) {
+ p_this->codec = p_this->codec_cuvid;
} else {
// return false;
ERR("codec_cuvid is NULL");
@@ -184,12 +186,11 @@
}
}
}
- int err4 = avcodec_open2(ctx, codec, nullptr);
+ int err4 = avcodec_open2(p_this->ctx, p_this->codec, nullptr);
- AVPacket pkt;
- av_init_packet(&pkt);
+ av_init_packet(&p_this->pkt);
- AVFrame *frame = av_frame_alloc();
+ p_this->frame = av_frame_alloc();
unsigned int usleepTime = (1000 / p_this->m_fps) - 12;
usleepTime *= 1000;
DBG(" before while <<usleepTime is " << usleepTime);
@@ -197,13 +198,13 @@
#ifdef TestCode
ClockTimer Test("while time");
#endif
- int err5 = av_read_frame(ic, &pkt);
+ int err5 = av_read_frame(p_this->ic, &p_this->pkt);
//# todo save package
p_this->frame_number++;
- int err6 = avcodec_send_packet(ctx, &pkt);
+ int err6 = avcodec_send_packet(p_this->ctx, &p_this->pkt);
// av_packet_unref(&pkt);
- int err7 = avcodec_receive_frame(ctx, frame);
+ int err7 = avcodec_receive_frame(p_this->ctx, p_this->frame);
if ((err7 == AVERROR(EAGAIN)) || (err5 < 0) || (err6 < 0)) {
ERR(" error << err7:" << err7 << " err5: " << err5 << " err6: " << err6);
usleep(40000);
@@ -211,11 +212,11 @@
}
//DBG("GotPicture "<<m_camId<<":"<<frame_number);
//鏀惧湪姝ゅ鏄洜涓轰箣鍓嶆斁鍦ㄥ墠闈�,鏀跺埌鐨勫抚涓嶅畬鎴�
- p_this->SaveToPacketVector(pkt);
+ p_this->SaveToPacketVector(p_this->pkt);
p_this->CheckSave();
// BASICGB28181::avframe_to_cvmat(frame).copyTo(p_this->m_image);
- p_this->m_image = std::move(BASICGB28181::avframe_to_cvmat(frame));
+ p_this->m_image = std::move(BASICGB28181::avframe_to_cvmat(p_this->frame));
#ifdef TestCode
{
@@ -271,7 +272,7 @@
}
DBG(" after while ");
- av_frame_free(&frame);
+ av_frame_free(&p_this->frame);
}
bool BASICGB28181::FFmpegDecoderJPG::startThd(const std::string &camIdx, const int &fps, const int &gpuIdx) {
diff --git a/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.h b/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.h
index a593baa..65a7dfa 100644
--- a/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.h
+++ b/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.h
@@ -166,7 +166,18 @@
//瀵规敹鍒扮殑甯ц繘琛岃鏁�
int64_t m_frameIndex = 0;
+//*******************************************
+ AVFormatContext *ic;
+ unsigned char *iobuffer;
+ AVIOContext *avio;
+ AVStream *stream;
+ AVCodecContext *ctx;
+ AVCodec *codec;
+ AVCodec *codec_cuvid;
+ AVPacket pkt;
+ AVFrame *frame;
+ //*******************************************
//灏嗗抚淇濆瓨鍒板抚鏁扮粍
void SaveToPacketVector(AVPacket &packet);
diff --git a/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp b/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp
index a49c256..1959a8a 100644
--- a/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp
+++ b/QiaoJiaSystem/VideoToImageMulth/RtspAnalysManager.cpp
@@ -58,6 +58,7 @@
// item.str_password.toStdString(), item.str_brand.toStdString());
INFO("cam add is " << item.str_addr.toStdString());
addCamera(t_camIdex, rtsp_url);
+ sleep(1);
}
} else {
ERR("searchCamDevTableAll size is 0");
--
Gitblit v1.8.0