lisa_media_player
概览
lisa_media_player 是一个面向嵌入式的轻量媒体播放组件集合,目前包含两部分:
avi_player:AVI 容器 demux + PTS 生成 + 数据源抽象(本地文件/可选 HTTP Range)。av_render:音视频渲染管线(音频为主时钟)+ MJPEG 解码 + RGB565 LCD 输出。
目标是把“容器解析/取流(player)”与“渲染/同步(render)”解耦,便于未来并列扩展
例如 mp4_player、flv_player 等,而复用同一套 av_render。
整体框架(端到端)
+--------------------+ +--------------------+
| Data Source | | Render/Device |
| (avi_io backend) | | (display / audio) |
+---------+----------+ +---------+----------+
| ^
v |
+--------------------+ push packets |
| avi_player +-----------------+
| - RIFF/AVI demux | |
| - PTS generation | |
+---------+----------+ |
| |
v |
+--------------------+ |
| av_render |-----------------+
| - queues/threads |
| - A/V sync |
| - MJPEG decode |
| - RGB565 output |
+--------------------+
依赖关系(构建/运行)
avi_player必选:
av_render(推送目标)、AVI 解析(RIFF/movi/idx1)- 数据源:
本地文件:LSFS/FATFS(示例默认
/SD:/default.avi)HTTP Range(可选):需要
CONFIG_AVI_PLAYER_HTTP_RANGE=y,并在 Kconfig 中selecthttpclient 与 WiFi 管理
av_render必选:LISA 线程/队列/内存
可选:若使用内置 LISA
render_impl输出(音频/显示),则需要对应的 LISA 设备栈(例如lisa_audio/lisa_display)视频:RGB565 输出到 display;MJPEG 解码为内置实现(可被运行期注册替换)
同步:默认
AV_RENDER_SYNC_AUDIO(音频为主时钟)