mdia box的解析

常见的MP4结构图

mdia box的定义

/*
** mdia box的定义,包含:
** mdhd、hdlr、minf等box
*/
static mp4_atom_handler mp4_mdia_atoms[] = {  { "mdhd", &Mp4Meta::mp4_read_mdhd_atom },  { "hdlr", &Mp4Meta::mp4_read_hdlr_atom },  { "minf", &Mp4Meta::mp4_read_minf_atom },  { NULL, NULL }
};  

mdia box的解析

对mdia box的处理,会转换成对mdhd box、hdlr、minf box的处理。也就是mp4_read_mdia_atom会间接调用 mp4_read_mdhd_atom、 mp4_read_hdlr_atom、mp4_read_minf_atom

/*
** 对mdia box的处理,会转换成对mdhd box、hdlr、minf box的处理
** 也就是mp4_read_mdia_atom会间接调用 mp4_read_mdhd_atom、 mp4_read_hdlr_atom、mp4_read_minf_atom
*/
int
Mp4Meta::mp4_read_mdia_atom(int64_t atom_header_size, int64_t atom_data_size)
{Mp4Trak             *trak;trak = trak_vec[trak_num-1];trak->mdia_atom.buffer = TSIOBufferCreate();trak->mdia_atom.reader = TSIOBufferReaderAlloc(trak->mdia_atom.buffer);TSIOBufferCopy(trak->mdia_atom.buffer, meta_reader, atom_header_size, 0);mp4_meta_consume(atom_header_size);/* ** 内部根据mp4_mdia_atoms(即mdia box)的定义,分别调用:** mp4_read_mdhd_atom、mp4_read_hdlr_atom、mp4_read_minf_atom*/ return mp4_read_atom(mp4_mdia_atoms, atom_data_size);
}

MP4学习(九)ts-mp4源码阅读(7)mdia box的解析相关推荐

  1. Vue源码阅读(12):解析器

    今天聊聊解析器,解析器的作用是将程序员编写的模板字符串解析成抽象语法树,抽象语法树可以理解成模板字符串的对象表示形式,其本质并没有什么神奇的,只不过是 JS 中最为常见的对象字面量. 通过抽象语法树, ...

  2. Halide学习笔记----Halide tutorial源码阅读3

    Halide入门教程03 // Halide tutorial lesson 3: Inspecting the generated code // Halide入门第三课:检测生成代码// This ...

  3. C-libev学习笔记-事件库源码阅读6-API-ev_default_loop(),ev_init()

    ev_default_loop() 声明: EV_API_DECL struct ev_loop *ev_default_loop (unsigned int flags EV_CPP (= 0)) ...

  4. Halide学习笔记----Halide tutorial源码阅读2

    Halide入门教程02 // Halide tutorial lesson 2: Processing images // Halide入门第二课: 处理图像// This lesson demon ...

  5. Halide学习笔记----Halide tutorial源码阅读5

    Halide入门教程05 // Halide教程第五课:向量化,并行化,平铺,数据分块 // 本课展示了如何才操作函数像素索引的计算顺序,包括向量化/并行化/平铺/分块等技术// 在linux系统中, ...

  6. python学习笔记之三——MakeHuman源码阅读

    1.@装饰器的用法 简单的说,@装饰器就是用来提供调用的, def funA(arg):print 'A'a=arg()@funA def funB():print 'B' 此处的@相当于funA(f ...

  7. 源码阅读:SDWebImage(十九)——UIImage+ForceDecode/UIImage+GIF/UIImage+MultiFormat

    该文章阅读的SDWebImage的版本为4.3.3. 由于这几个分类都是UIImage的分类,并且内容相对较少,就写在一篇文章中. 1.UIImage+ForceDecode 这个分类为UIImage ...

  8. 源码阅读:AFNetworking(十六)——UIWebView+AFNetworking

    该文章阅读的AFNetworking的版本为3.2.0. 这个分类提供了对请求周期进行控制的方法,包括进度监控.成功和失败的回调. 1.接口文件 1.1.属性 /**网络会话管理者对象*/ @prop ...

  9. 源码阅读:SDWebImage(六)——SDWebImageCoderHelper

    该文章阅读的SDWebImage的版本为4.3.3. 这个类提供了四个方法,这四个方法可分为两类,一类是动图处理,一类是图像方向处理. 1.私有函数 先来看一下这个类里的两个函数 /**这个函数是计算 ...

最新文章

  1. mysql查询字段大小写结果相同,mysql大小写查询不敏感,mysql5.7查询不区分大小写解决方案。
  2. linux环境对apk文件写入数据,Linux下7zip命令apk中插入文件标识渠道批量打包
  3. 架构师说了:不想做背锅侠?生产问题要这样查
  4. YOLOP ONNXRuntime C++工程化记录
  5. Sean Lynch谈Facebook Claspin监控工具的由来
  6. 微软网站开始出现大量的关于Office 2007的相关下载
  7. Explore Scheduling
  8. 深度学习核心技术精讲100篇(四十四)-深度召回在招聘推荐中的挑战和实践
  9. 数据分析思维框架---认知决定差异
  10. Oracle11gR2下搭建DataGuard主备同步详解
  11. Win10 64位安装SQL2000(个人版)
  12. 米家小白增强固件_中考体育:男1000米/女800米想拿满分,掌握呼吸法是关键
  13. 卷积神经网络中的权值共享
  14. 【bzoj1194】 HNOI2006—潘多拉的盒子
  15. MVC在Web框架中的应用
  16. 8253/8255/8259相关知识
  17. win7系统配置ntp服务器,技术员教你解决win7系统NTP时间服务器设置的设置方法
  18. 小程序电商系统后台功能详解
  19. 百度李彦宏:人工智能时代将接替移动互联网时代
  20. 元宇宙浪潮震撼来袭,抓住时机,齐心协力

热门文章

  1. Java笔试/面试题
  2. C++封装zlib库
  3. Win10系统在当前文件夹下打开cmd(命令行)窗口
  4. 区块链技术中隐私计算的技术特点
  5. 蓝桥 卷“兔”来袭编程竞赛专场-06姜子牙阴书加密 题解
  6. c-free语言编程软件,c-free软件下载_c-free官方下载_3DM软件
  7. 十分钟手把手教你设计简单易用的组件级考试题(单选、多选、填空、图片),建议收藏
  8. 用 Code 改变世界 —— 阿里百川 Hackathon 回顾
  9. addon游戏_addon_game_mode游戏基本情况设置
  10. linux更换steam目录,如何在Linux上备份Steam游戏数据 | MOS86