cai
2026-08-12 da9563428e990244ff2145eb6a9cb453f9ef9d22
src/asr_realtime.rs
@@ -70,6 +70,18 @@
        }
    }
    pub(crate) fn rejected_origin_status(
        reason: &str,
        attributes: &HashMap<String, String>,
    ) -> &'static str {
        let status = Self::origin_status(attributes);
        if status == "sequence_absent" {
            status
        } else {
            Self::rejection_status(reason)
        }
    }
    pub(crate) fn from_participant(
        attributes: &HashMap<String, String>,
    ) -> Result<Option<Self>, &'static str> {
@@ -597,6 +609,14 @@
            "origin_unprovable",
            AudioIngressMetadata::rejection_status("unknown")
        );
        let missing_sequence = HashMap::from([(
            "inputSourceCategory".to_string(),
            "controlled_fixture".to_string(),
        )]);
        assert_eq!(
            "sequence_absent",
            AudioIngressMetadata::rejected_origin_status("incomplete_metadata", &missing_sequence)
        );
        assert_eq!(8, AudioIngressMetadata::ORIGIN_STATUSES.len());
    }