当前位置: 首页 > news >正文

咋做网站代码背景图岳阳市网页设计人才网

咋做网站代码背景图,岳阳市网页设计人才网,深圳网站开发招聘,提高网站权重工具介绍 在本系列,我打算花大篇幅讲解我的 gitee 项目音视频播放器,在这个项目,您可以学到音视频解封装,解码,SDL渲染相关的知识。您对源代码感兴趣的话,请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本…

介绍

在本系列,我打算花大篇幅讲解我的 gitee 项目音视频播放器,在这个项目,您可以学到音视频解封装,解码,SDL渲染相关的知识。您对源代码感兴趣的话,请查看基于FFmpeg和SDL的音视频播放器

如果您不理解本文,可参考我的前一篇文章音视频项目—基于FFmpeg和SDL的音视频播放器解析(十七)

解析

之前解析的 fill_audio_pcm 函数有点复杂,先不继续讲这个了。

我们讲最后一个类 videooutput,可见这是负责视频播放的函数,先看 .h 文件

#ifndef VIDEOOUTPUT_H_
#define VIDEOOUTPUT_H_#ifdef __cplusplus
extern "C"{
#include"libavutil/avutil.h"
#include"SDL.h"
#include"libavutil/time.h"
}
#endif#include"avframequeue.h"
#include"avsync.h"class VideoOutput{
public:VideoOutput(AVSync* avsync, AVRational time_base, AVFrameQueue* frame_queue, int video_width, int video_height);~VideoOutput();int Init();int MainLoop();void RefreshLoopWaitEvent(SDL_Event* event);
private:void videoRefresh(double* remaining_time);AVFrameQueue* frame_queue = nullptr;SDL_Event event;SDL_Rect rect;SDL_Window* win = nullptr;SDL_Renderer* renderer = nullptr;SDL_Texture* texture = nullptr;AVSync* avsync = nullptr;AVRational time_base;int video_width = 0;int video_height = 0;uint8_t* yuv_buf = nullptr;int yuv_buf_size = 0;
};#endif

公有成员,都是构造函数,析构函数,初始化函数,循环函数,等待函数。

私有成员有比较多,我们这篇文章解析一下。

    void videoRefresh(double* remaining_time);        负责刷新的函数

    AVFrameQueue* frame_queue = nullptr;              视频帧数据队列

    SDL_Event event;                                                 SDL 事件

    SDL_Rect rect;                                                      SDL rectangle

    SDL_Window* win = nullptr;                                  SDL 窗口

    SDL_Renderer* renderer = nullptr;                        SDL 渲染器

    SDL_Texture* texture = nullptr;                              SDL 纹理

    AVSync* avsync = nullptr;                                       负责音视频同步的类

    AVRational time_base;                                           用于计算时间戳与帧率

    int video_width = 0;                                                视频窗口的宽度

    int video_height = 0;                                               视频窗口的高度

    uint8_t* yuv_buf = nullptr;                                       存放 yuv 数据的数组

    int yuv_buf_size = 0;                                               存放 yuv 数据的数组长度

好了,这篇文章讲解了 VieoOutput 类的私有成员变量,下一篇文章开始讲解函数。

欲知后事如何,请听下回分解。

http://www.yayakq.cn/news/90822/

相关文章:

  • 网站流量怎么做乡1万wordpress添加支付宝支付
  • 做海淘的网站要哪些证网站设计与推广
  • 深圳网站开发公司有哪些wordpress应用软件下载主题
  • 网站策划报告二手书网站建设
  • 建设银行网站信任Wordpress 防注入代码
  • 做外贸一般在哪个网站免费十大软件app
  • 网站建设定制单描述网站建设的基本流程图
  • 桂林象鼻山离哪个高铁站近网页制作工具按其制作方式有
  • 做网站的会淘宝美工么个人在百度上发广告怎么发
  • 广州购物网站建设价格如何seo搜索引擎优化
  • 帮人做网站收费合法吗wordpress标签随机调用
  • 做阿胶上什么网站比较好手机优化好还是不优化好
  • 使用word做网站wordpress 登录很慢
  • 网站制作需要多少钱官网wp去掉又一个WordPress
  • 网站建设合同怎么写室内3d设计软件
  • ie10网站后台无法编辑wordpress phpstorm
  • 服务器上给网站做301跳转域名
  • 网站页面禁止访问湖南怀化市住房城乡建设局网站
  • 中国建设银行官网站汽车卡竞价sem托管
  • 社交网站是怎么做的wordpress会员内容
  • 游民星空是谁做的网站wordpress插件 占用内存
  • 门业东莞网站建设技术支持网站建设分析案例
  • 网站备案网站前置审批免费素材视频网站
  • ps临摹网站php网站方案
  • 网站推广营销应该怎么做wordpress图片专辑
  • 网站建设 镇江万达前端面试
  • 怎么做购物车网站南宁建企业网站
  • 网站常用图片苍南县规划建设局网站
  • 论坛购物网站开发我先做个网站怎么做
  • 网站如何做触屏滑动效果毕节做网站