0. 先建立一张「总地图」
可以把播放器想成一条流水线:
| 快递员 | read_thread | 从文件/网络拆包取出压缩包 AVPacket | 放入 PacketQueue |
| 拆包员 | video_thread / audio_thread | 把压缩包解码成可看/可听的 AVFrame | 放入 FrameQueue |
| 放映员 | video_refresh / sdl_audio_callback | 按时显示画面、播放声音 | 从 FrameQueue 取 |
对应关系(背这张表就够):
可以把播放器想成一条流水线:
| 快递员 | read_thread | 从文件/网络拆包取出压缩包 AVPacket | 放入 PacketQueue |
| 拆包员 | video_thread / audio_thread | 把压缩包解码成可看/可听的 AVFrame | 放入 FrameQueue |
| 放映员 | video_refresh / sdl_audio_callback | 按时显示画面、播放声音 | 从 FrameQueue 取 |
对应关系(背这张表就够):