网站大量收购闲置独家精品文档,联系QQ:2885784924

整理mplayer 源码分析.pptx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一.Mplayer 支持的格式MPlayer 是一个LINUX 下的视频播放器,它支持相当多的媒体格式,无论在音频播放还是 在视频播放方面,可以说它支持的格式是相当全面的。视频格式支持:MPEG、AVI、ASF 与WMV、QuickTime 与 OGG/OGM、SDP、PVA、 GIF。音频格式支持:MP3、WAV、OGG/OGM 文件(Vorbis)、WMA 与 ASF、MP4、CD 音 频、XMMS。 二. Mplayer 中头文件的功能分析1. config.h // 各种本地配置宏定义头2. version.h // 版本定义头 #define VERSION 1.0pre7try2-3.4.23. mp_msg.h // 消息处理头4. help_mp.h // 根据配置自动生成的帮助头 #include help/help_mpen.h5. cfg-mplayer-def.h // Mplayer 运行时的选项缺省值头文件 char*6. default_config =7. sub_reader.h // 拥有格式自动发现功能的字幕(subtitle)阅读器8. libvo/video_out.h // 该文件包含 libvo 视频输出的公共函数、变量9. libvo/font_load.h // 有关字体装载的例程10. libao2/audio_out.h // 音频输出驱动程序相关结构定义和全局数据11. libmpcodecs/dec_audio.h // 音频解码12. libmpcodecs/dec_video.h // 视频解码13. libmpdemux/matroska.h // 多路解复用,媒体容器格式 matroska 处理头14. libmpdemux/stream.h // 流处理15. libmpdemux/demuxer.h // 多路解复用头文件16. libmpdemux/stheader.h // 媒体流头处理17. get_path.c // 路径获取头文件18. spudec.h // SPU 子画面单元头,DVD 字幕流19. edl.h // 剪辑控制清单20. m_option.h // 选项类型处理头21. m_config.h // 配置处理头文件 三. MPlayer.main 主流程简要说明1. int main() {2. 1) 变量声明,电影信息 movie info:3. 2) 初始化,消息系统……4. play_next_file:5. 3)播放文件 filename 的循环 goto play_next_file 开始6. main:7. 4) 主处理 main8. 5) 播放真正主循环 2010 ~3541 while (!eof)9. while (!eof) {10. 5.1) 播放音频 PLAY AUDIO 2017 ~ 2064 decode_audio(sh_audio, ...);11. 5.2) 播放视频 PLAY VIDEO, 2068 ~ 2300 decode_video(sh_video, ...);12. 5.3) 处理暂停 PAUSE13. 5.4) 处理 EDL14. 5.5) 键盘事件处理, 搜索 2400~3216 while (!brk_cmd 15. (cmd=mp_input_get_cmd(0,0,0))!=NULL)16. 5.6) 时间寻道(秒) if (seek_to_sec)17. 5.7) 寻道 3243 ~ 3306, if (rel_seek_secs || abs_seek_pos)18. 5.8) 处理 GUI19. 5.9) 变更 Update OSD20. 5.10) 找到字幕 find sub21. 5.11) 处理 X11 窗口22. 5.12) DVD 字幕 sub:23. }24. goto_next_file:25. 6) 播放结束,转到下个文件 goto_next_file:26. } 四.Mplayer 源码分析从 Mplayer.c 的main 开始处理参数 1. mconfig = m_config_new();2. m_config_register_options(mconfig,mplayer_opts);3. // TODO : add something to let modules register their options4. mp_input_register_options(mconfig);5. parse_cfgfiles(mconfig);初始化 mpctx 结构体,mpctx 应该是mplayer context 的意思,顾名思义是一个统筹

文档评论(0)

number02 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档