ffplay播放原理
ffplay是使用ffmpeg api开发的功能完善的开源播放器。在ffplay中各个线程,如图5-47所示,扮演角色如下:read_thread线程扮演着图中Demuxer的角色;video_thread线程扮演着图中Video Decoder的角色;audio_thread线程扮演着图中Audio Decoder的角色。主线程中的event_loop函数循环调用refresh_loop_wait_event则扮演着视频渲染的角色。回调函数sdl_audio_callback扮演图中音频播放的角色。VideoState结构体变量则扮演者各个线程之间的信使。