fix(qconnect): register renderer role during connect bootstrap

cx
This commit is contained in:
vicrodh committed 2026-02-21 14:22:09 -06:00
1 parent 4dc60c7bb6
commit 9a0bdc33cb
6 files changed
+49 -13

No files matched your search

+13
View File
@@ -390,6 +390,19 @@ fn map_queue_command(command: &QueueCommand) -> Result<QConnectMessage, Protocol
fn map_renderer_report(report: &RendererReport) -> Result<QConnectMessage, ProtocolError> {
match report.report_type {
RendererReportType::RndrSrvrJoinSession => Ok(QConnectMessage {
message_type: Some(QConnectMessageType::MessageTypeRndrSrvrJoinSession as i32),
rndr_srvr_join_session: Some(JoinSessionMessage {
session_uuid: optional_uuid_bytes(&report.payload, &["session_uuid", "sessionUuid"])?,
device_info: parse_device_info(&report.payload)?,
}),
..Default::default()
}),
RendererReportType::RndrSrvrDeviceInfoUpdated => Ok(QConnectMessage {
message_type: Some(QConnectMessageType::MessageTypeRndrSrvrDeviceInfoUpdated as i32),
rndr_srvr_device_info_updated: parse_device_info(&report.payload)?,
..Default::default()
}),
RendererReportType::RndrSrvrStateUpdated => {
let queue_version = optional_queue_version(&report.payload, "queue_version")?
.unwrap_or(report.queue_version_ref);
@@ -702,6 +702,10 @@ pub struct QConnectMessages {
pub struct QConnectMessage {
#[prost(int32, optional, tag = "1")]
pub message_type: Option<i32>,
#[prost(message, optional, tag = "21")]
pub rndr_srvr_join_session: Option<JoinSessionMessage>,
#[prost(message, optional, tag = "22")]
pub rndr_srvr_device_info_updated: Option<DeviceInfoMessage>,
#[prost(message, optional, tag = "23")]
pub rndr_srvr_state_updated: Option<RendererStateUpdatedMessage>,
#[prost(message, optional, tag = "25")]
+4
View File
@@ -42,6 +42,8 @@ impl RendererServerCommand {
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub enum RendererReportType {
RndrSrvrJoinSession,
RndrSrvrDeviceInfoUpdated,
RndrSrvrStateUpdated,
RndrSrvrVolumeChanged,
RndrSrvrVolumeMuted,
@@ -52,6 +54,8 @@ pub enum RendererReportType {
impl RendererReportType {
pub const fn as_message_type(self) -> &'static str {
match self {
Self::RndrSrvrJoinSession => "MESSAGE_TYPE_RNDR_SRVR_JOIN_SESSION",
Self::RndrSrvrDeviceInfoUpdated => "MESSAGE_TYPE_RNDR_SRVR_DEVICE_INFO_UPDATED",
Self::RndrSrvrStateUpdated => "MESSAGE_TYPE_RNDR_SRVR_STATE_UPDATED",
Self::RndrSrvrVolumeChanged => "MESSAGE_TYPE_RNDR_SRVR_VOLUME_CHANGED",
Self::RndrSrvrVolumeMuted => "MESSAGE_TYPE_RNDR_SRVR_VOLUME_MUTED",