From d3d1d88da20abffe10c62089e758768a3461b8ca Mon Sep 17 00:00:00 2001 From: chenshijun <csj_sky@126.com> Date: 星期四, 14 三月 2019 18:01:28 +0800 Subject: [PATCH] 解决ffmpeg打开失败没处理导致段错误的问题 --- QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.h | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 deletions(-) diff --git a/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.h b/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.h index 1f495fc..235cbed 100644 --- a/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.h +++ b/QiaoJiaSystem/GB28181DecoderModel/FFmpegDecoderJPG.h @@ -13,13 +13,12 @@ #include <iostream> #include <unistd.h> #include <MyQueue.h> -#include <Debug.h> #include <atomic> -#include "GlobalSignalWaitLock.hpp" #include "opencv2/core.hpp" #include "opencv2/highgui.hpp" #include <list> +#include "GlobalSignalWaitLock.hpp" #include "basic_struct_for_video_image.h" extern "C" @@ -167,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); @@ -189,7 +199,7 @@ int stopWrite(); //瀵筽acket鍋氳浆鎹� - void conversion(void *packet, const long int &firstKeyPts, const long int &firstKeyDts, void *inVideoStream); + void conversion(void *packet, const long int &firstKeyPts, const long int &firstKeyDts, void *inVideoStream, unsigned long int frame_index = 0); bool m_bstartWrite = {false}; bool m_bFirstKeyFrame = {false}; -- Gitblit v1.8.0