From 1f005df2f3ff78458f332f9bf1cf2e78b6a8e8e4 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期四, 26 九月 2019 14:43:52 +0800 Subject: [PATCH] bug fix audio codec --- csrc/ffmpeg/format/FormatIn.hpp | 22 +++++++++------------- 1 files changed, 9 insertions(+), 13 deletions(-) diff --git a/csrc/ffmpeg/format/FormatIn.hpp b/csrc/ffmpeg/format/FormatIn.hpp index ca14f81..4eb7847 100644 --- a/csrc/ffmpeg/format/FormatIn.hpp +++ b/csrc/ffmpeg/format/FormatIn.hpp @@ -3,6 +3,7 @@ #include <stdint.h> #include <memory> +#include <vector> #include "PsToEs.hpp" struct AVFormatContext; @@ -19,8 +20,6 @@ namespace ffwrapper{ class VideoProp; - class CodedData; - class FrameData; class FormatIn { @@ -35,25 +34,22 @@ 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); - bool readPacket(std::shared_ptr<CodedData> &data); + 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 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 = -1); + std::vector<AVStream*> allStreams(); AVCodecContext *getCodecContext(int type = 0); + AVFormatContext *getFromatContext(){return ctx_;} const double getFPS()const{return fps_;} private: AVFormatContext *ctx_; -- Gitblit v1.8.0