前一段时间学得很辛苦这几天有点头疼。
第六天首先是学习了互斥锁的使用,为了保护数据被单独读取,使用,和保存。通常要对某个对象,特定线程加锁,在这期间便只有一个线程能访问和修改它。
在SetCMD的过程中,会以一个线程Set,另一个线程Wait,交替地获取锁和解锁,同时push和pop 出cmd。
第七天在播放/PVR,针对不同格式标准(TTX和MHEG5)的subtitle,subtitle monitor 自动控制subtitle的open 和 close
第八天,了解了选择subtitle的方式方法和 选择原则,遥控器上的subtitle 键是通过MenuIndex的方法来设置subtitle
默认的选则规则:优先m_u8SubtitleMenuIdx 如果没有设 再通过上层带的参数 语言 去选,如果上层没有设置 语言, 会去拿languagelist的语言去匹配,如果找到第一个subtitle的语言和系统默认设置的语言相同则选中,否则继续匹配,如果所有的系统默认语言都没有匹配上,会默认选择第一个。
第九天,学习了解码器对subtitle解码的开始的具体流程,从decoder的open ,close,connect ,disconnect,到创建subtitle,filter-copy-buffer的 初始的 subtitle thread的工作,以及穿插在其之间的回调函数的使用