sony开源播放器的架构设计

Sony开源播放器采用多线程架构,每个线程使用EventHandler进行状态管理与通信。MediaPlayer线程负责初始化和状态通知,PlayerThread处理下载与渲染,DashSourceThread专注于数据下载和缓冲。VideoThread和AudioThread分别处理视频解码和音频解码。解码逻辑中,VideoThread包含两个线程,一个负责解码调度,另一个负责渲染。音频线程的解码过程与视频类似。
摘要由CSDN通过智能技术生成
1.架构设计为多线程,每个线程中采用EventHandler来维系状态交替,线程之间通过将Handler传入其他的线程中关键函数的构造函数来完成线程间的通信。
具体的例子如:MediaPlayer中创建了自己的EventHandler,并设置了MediaPlayer的各种状态和接收到不同状态通知时应该处理的事情。然后将该EventHandler传入到Player这个类的构造函数中,同时Player自身也创建了自己的HandlerThread,用于维系Player thread的状态,player自身状态在发生变化的时候将信息通过MediaPlayer线程传递过来的Handler来将信息传递给MediaPlayer线程。同时Player自身又将自己的Handler传递给了DashSource中的构造函数,以便能够监测DashSource中的各种变化。接下来DashSource又采用相同的方式来建立与DashSession之间的通信机制。
架构设计
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值