1 Star 1 Fork 0

MorningLight/QTFFmpegSDLPlayer

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Video.h 1.30 KB
一键复制 编辑 原始数据 按行查看 历史
huimingli 提交于 2018-02-23 20:50 . 视频播放器收尾
#pragma once
#include "PacketQueue.h"
#include "FrameQueue.h"
#include <QThread>
extern "C" {
#include <libavformat/avformat.h>
#include<libswscale/swscale.h>
#include <libswresample/swresample.h>
}
class Video:public QThread
{
public:
Video();
~Video();
void run();
double synchronizeVideo(AVFrame *&srcFrame, double &pts);
int getStreamIndex();
AVCodecContext * getAVCodecCotext();
void enqueuePacket(const AVPacket &pkt);
AVFrame * dequeueFrame();
void setStreamIndex(const int &streamIndex);
int getVideoQueueSize();
void setVideoStream(AVStream *& stream);
AVStream * getVideoStream();
void setAVCodecCotext(AVCodecContext *avCodecContext);
void setFrameTimer(const double &frameTimer);
double getFrameTimer();
void setFrameLastPts(const double &frameLastPts);
double getFrameLastPts();
void setFrameLastDelay(const double &frameLastDelay);
double getFrameLastDelay();
void setVideoClock(const double &videoClock);
double getVideoClock();
int getVideoFrameSiez();
SwsContext *swsContext = NULL;
void clearFrames();
void clearPackets();
private:
double frameTimer; // Sync fields
double frameLastPts;
double frameLastDelay;
double videoClock;
PacketQueue *videoPackets;
FrameQueue frameQueue;
AVStream *stream;
int streamIndex = -1;
QMutex mutex;
AVCodecContext *videoContext;
};
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/MorningLight/QTFFmpegSDLPlayer.git
git@gitee.com:MorningLight/QTFFmpegSDLPlayer.git
MorningLight
QTFFmpegSDLPlayer
QTFFmpegSDLPlayer
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385