From 0a889a53b5b5cf09b7358727524d8a1985d41d41 Mon Sep 17 00:00:00 2001
From: 554325746@qq.com <554325746@qq.com>
Date: 星期二, 10 三月 2020 10:45:23 +0800
Subject: [PATCH] bug fixed file frmaes statistic
---
csrc/ffmpeg/format/FormatIn.hpp | 27 +++++++++++++--------------
1 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/csrc/ffmpeg/format/FormatIn.hpp b/csrc/ffmpeg/format/FormatIn.hpp
index 4155aae..e904145 100644
--- a/csrc/ffmpeg/format/FormatIn.hpp
+++ b/csrc/ffmpeg/format/FormatIn.hpp
@@ -19,8 +19,6 @@
namespace ffwrapper{
class VideoProp;
- class CodedData;
- class FrameData;
class FormatIn
{
@@ -35,35 +33,36 @@
int open(const char *filename, AVDictionary **options);
bool findStreamInfo(AVDictionary **options);
- bool openCodec(const int type, AVDictionary **options);
+ bool openCodec(AVDictionary **options);
- bool readPacket(AVPacket &pkt_out, int stream_index = 0);
- bool readPacket(std::shared_ptr<CodedData> &data, int stream_index = 0);
+ int readPacket(AVPacket *pkt_out);
- int decode(AVFrame* &frame, AVPacket &pkt);
- int decode(std::shared_ptr<FrameData> &frame_data,
- std::shared_ptr<CodedData> &data);
+ int decode(AVFrame* frame, AVPacket *pkt);
- int readFrame(AVFrame* &frame);
- int readFrame(std::shared_ptr<FrameData> &frame_data);
-
+ bool isVideoPkt(AVPacket *pkt);
+ bool isAudioPkt(AVPacket *pkt);
+ bool notVideoAudio(AVPacket *pkt);
private:
bool allocCodec(AVCodec *dec, AVStream *s, AVDictionary **options);
public:
- AVStream *getStream(int type = 0);
+ AVStream *getStream(int type = -1);
AVCodecContext *getCodecContext(int type = 0);
+ AVFormatContext *getFromatContext(){return ctx_;}
+ const double getFPS()const{return fps_;}
+ const bool IsHEVC()const;
private:
AVFormatContext *ctx_;
AVCodecContext *dec_ctx_;
int vs_idx_;
+ int as_idx_;
bool hw_accl_;
-
+ double fps_;
private:
AVIOContext *io_ctx_;
uint8_t *read_io_buff_;
const int read_io_buff_size_;
- GB28181API handle_gb28181;
+ GB28181API *handle_gb28181;
};
}
--
Gitblit v1.8.0