feat(media): 批3歌词数据源框架 — meow_media_session扩实时歌词(lrc/tlrc/seq)+MSG_META_LYRIC上报分片+ncm上报+launcher读meow_media_lyric_* 接批1/2;宿主L1-L7全过/ncm热更27554dd8,launcher待固件收编

This commit is contained in:
AskaEth committed 2026-09-03 19:49:28 +08:00
1 parent 7ca3e5bd84
commit 2e5b814059
8 files changed
+363 -4

No files matched your search

+16
View File
@@ -1633,6 +1633,22 @@ static void ipc_dispatch(struct meow_ipc_msg *m)
(long long)c.seek_ms, rc);
break;
}
/* 阶段D·批3:媒体会话歌词上报(App 播放时把 lrc/tlrc 上报到会话)。分片经
* meow_media_lyric 归并(有界缓冲+seq 代际);回 ACK。 */
case MSG_META_LYRIC: {
m_lyric_t l;
memset(&l, 0, sizeof l);
memcpy(&l, m->payload, m->plen < (uint16_t)sizeof l ? m->plen : (uint16_t)sizeof l);
l.app_id[MEOW_APP_ID_MAX - 1] = 0;
int rc = meow_media_lyric(&l);
m_ack_t a;
a.code = MEOW_OK; /* 会话策略:无会话丢弃(rc=-1),不视为错误 */
a.status = (uint32_t)rc;
ipc_send(m->fd, MSG_ACK, m->req_id, &a, sizeof a);
logmsg("ipc: META_LYRIC app=%s kind=%u seq=%u total=%u off=%u len=%u rc=%d -> ACK",
l.app_id, l.kind, l.seq, l.total, l.off, l.len, rc);
break;
}
default:
logmsg("ipc: unsupported frame type 0x%04x (req %u)", m->type, m->req_id);
{