2) rtsp_main 函数。
(1) recvMiddlewareMsg(fromeMiddleQid,url):从中间件传递url的值赋给变量url.(关于url的定义是在中间件里完成的,因此需要从中间件获得);
(2)playCommon.cpp中的函数:客户端向服务器发出请求时,服务器响应请求,创建媒体会话并播放数据流。
(3) main_player_entry(gTrans. first Create):客户端接收流并调用播放器的入口函数,对播放器进行初始化配置
(4) void send_data_to_player():调用播放器 ,将从网上接收来的数据发送至播放器,并开始播放。
1. 3. 2 播放模块
播放模块如图 3 所示 ,主要完成点播、直播、时移模式下文件的播放以及对播放状态的控制, 如快进、快退、暂停、播放等。1 )process_playback_state( )根据点播 、直播、时移调用不同的函数,相同的是要设置音视频同 步 .2) handle_playback_state(state,time) 设置不同的时间戳 ( state Tmp . multiple) 来控制播放状态。

图3 播放模块结构图
2 结 语
IPTV 机顶盒软件功能模块主要包括: 流媒体的传输模块,媒体播放器模块,电子节目菜单模块, WEB浏览器模块。其中,流媒体的传输模块、媒体播放器模块合起来构成机顶盒播放器; 电子节目菜单模块、WEB 浏览器模块合起来构成中间件的基本模块。研究的重点就是播放器。运用设计的方法制作的IPTV机顶盒已经生产出来,并且经测试性能稳定。