Skip to content

Commit 49ec536

Browse files
committed
Auto-generated files from zap-regen for Camera AV Stream Management.
1 parent 3f61ebb commit 49ec536

File tree

75 files changed

+52559
-4595
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+52559
-4595
lines changed

docs/zap_clusters.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ Generally regenerate using one of:
129129
| 1294 | 0x50E | AccountLogin |
130130
| 1295 | 0x50F | ContentControl |
131131
| 1296 | 0x510 | ContentAppObserver |
132+
| 1361 | 0x551 | CameraAvStreamManagement |
132133
| 1363 | 0x553 | WebRTCTransportProvider |
133134
| 1364 | 0x554 | WebRTCTransportRequestor |
134135
| 1366 | 0x556 | Chime |

src/controller/data_model/controller-clusters.matter

Lines changed: 350 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9416,6 +9416,356 @@ provisional cluster ContentAppObserver = 1296 {
94169416
command ContentAppMessage(ContentAppMessageRequest): ContentAppMessageResponse = 0;
94179417
}
94189418

9419+
/** The Camera AV Stream Management cluster is used to allow clients to manage, control, and configure various audio, video, and snapshot streams on a camera. */
9420+
cluster CameraAvStreamManagement = 1361 {
9421+
revision 1;
9422+
9423+
enum AudioCodecEnum : enum8 {
9424+
kOPUS = 0;
9425+
kAACLC = 1;
9426+
}
9427+
9428+
enum ImageCodecEnum : enum8 {
9429+
kJPEG = 0;
9430+
}
9431+
9432+
enum StreamTypeEnum : enum8 {
9433+
kInternal = 0;
9434+
kRecording = 1;
9435+
kAnalysis = 2;
9436+
kLiveView = 3;
9437+
}
9438+
9439+
enum TriStateAutoEnum : enum8 {
9440+
kOff = 0;
9441+
kOn = 1;
9442+
kAuto = 2;
9443+
}
9444+
9445+
enum TwoWayTalkSupportTypeEnum : enum8 {
9446+
kNotSupported = 0;
9447+
kHalfDuplex = 1;
9448+
kFullDuplex = 2;
9449+
}
9450+
9451+
enum VideoCodecEnum : enum8 {
9452+
kH264 = 0;
9453+
kHEVC = 1;
9454+
kVVC = 2;
9455+
kAV1 = 3;
9456+
}
9457+
9458+
bitmap Feature : bitmap32 {
9459+
kPrivacy = 0x1;
9460+
kSensorControl = 0x2;
9461+
kAudio = 0x4;
9462+
kImageControl = 0x8;
9463+
kVideo = 0x10;
9464+
kSnapshot = 0x20;
9465+
kLocalStorage = 0x40;
9466+
}
9467+
9468+
struct VideoResolutionStruct {
9469+
int16u width = 0;
9470+
int16u height = 1;
9471+
}
9472+
9473+
struct VideoStreamStruct {
9474+
int16u videoStreamID = 0;
9475+
StreamTypeEnum streamType = 1;
9476+
VideoCodecEnum videoCodec = 2;
9477+
int16u minFrameRate = 3;
9478+
int16u maxFrameRate = 4;
9479+
VideoResolutionStruct minResolution = 5;
9480+
VideoResolutionStruct maxResolution = 6;
9481+
int16u minBitRate = 7;
9482+
int16u maxBitRate = 8;
9483+
int16u minFragmentLen = 9;
9484+
int16u maxFragmentLen = 10;
9485+
int8u referenceCount = 11;
9486+
}
9487+
9488+
struct SnapshotStreamStruct {
9489+
int16u snapshotStreamID = 0;
9490+
ImageCodecEnum imageCodec = 1;
9491+
int16u frameRate = 2;
9492+
int32u bitRate = 3;
9493+
VideoResolutionStruct minResolution = 4;
9494+
VideoResolutionStruct maxResolution = 5;
9495+
int8u quality = 6;
9496+
int8u referenceCount = 7;
9497+
}
9498+
9499+
struct SnapshotParamsStruct {
9500+
VideoResolutionStruct resolution = 0;
9501+
int16u maxFrameRate = 1;
9502+
ImageCodecEnum imageCodec = 2;
9503+
}
9504+
9505+
struct RateDistortionTradeOffPointsStruct {
9506+
VideoCodecEnum codec = 0;
9507+
VideoResolutionStruct resolution = 1;
9508+
int32u minBitRate = 2;
9509+
}
9510+
9511+
struct AudioCapabilitiesStruct {
9512+
int8u maxNumberOfChannels = 0;
9513+
AudioCodecEnum supportedCodecs[] = 1;
9514+
int32u supportedSampleRates[] = 2;
9515+
int32u supportedBitDepths[] = 3;
9516+
}
9517+
9518+
struct AudioStreamStruct {
9519+
int16u audioStreamID = 0;
9520+
StreamTypeEnum streamType = 1;
9521+
AudioCodecEnum audioCodec = 2;
9522+
int8u channelCount = 3;
9523+
int32u sampleRate = 4;
9524+
int32u bitRate = 5;
9525+
int8u bitDepth = 6;
9526+
int8u referenceCount = 7;
9527+
}
9528+
9529+
struct PerStreamStruct {
9530+
int16u streamID = 0;
9531+
boolean enabled = 1;
9532+
}
9533+
9534+
struct VideoSensorParamsStruct {
9535+
int16u sensorWidth = 0;
9536+
int16u sensorHeight = 1;
9537+
boolean HDRCapable = 2;
9538+
int16u maxFPS = 3;
9539+
int16u maxHDRFPS = 4;
9540+
}
9541+
9542+
struct ViewportStruct {
9543+
int16u x1 = 0;
9544+
int16u y1 = 1;
9545+
int16u x2 = 2;
9546+
int16u y2 = 3;
9547+
}
9548+
9549+
info event VideoStreamChanged = 0 {
9550+
int16u videoStreamID = 0;
9551+
optional StreamTypeEnum streamType = 1;
9552+
optional VideoCodecEnum videoCodec = 2;
9553+
optional int16u minFrameRate = 3;
9554+
optional int16u maxFrameRate = 4;
9555+
optional VideoResolutionStruct minResolution = 5;
9556+
optional VideoResolutionStruct maxResolution = 6;
9557+
optional int16u minBitRate = 7;
9558+
optional int16u maxBitRate = 8;
9559+
optional int16u minFragmentLen = 9;
9560+
optional int16u maxFragmentLen = 10;
9561+
}
9562+
9563+
info event AudioStreamChanged = 1 {
9564+
int16u audioStreamID = 0;
9565+
optional StreamTypeEnum streamType = 1;
9566+
optional AudioCodecEnum audioCodec = 2;
9567+
optional int8u channelCount = 3;
9568+
optional int32u sampleRate = 4;
9569+
optional int32u bitRate = 5;
9570+
optional int8u bitDepth = 6;
9571+
}
9572+
9573+
info event SnapshotStreamChanged = 2 {
9574+
int16u snapshotStreamID = 0;
9575+
optional ImageCodecEnum imageCodec = 1;
9576+
optional int16u frameRate = 2;
9577+
optional int32u bitRate = 3;
9578+
optional VideoResolutionStruct minResolution = 4;
9579+
optional VideoResolutionStruct maxResolution = 5;
9580+
optional int8u quality = 6;
9581+
}
9582+
9583+
readonly attribute access(read: administer) optional int8u maxConcurrentVideoEncoders = 0;
9584+
readonly attribute access(read: administer) optional int32u maxEncodedPixelRate = 1;
9585+
readonly attribute access(read: administer) optional VideoSensorParamsStruct videoSensorParams = 2;
9586+
readonly attribute access(read: administer) optional boolean nightVisionCapable = 3;
9587+
readonly attribute access(read: administer) optional VideoResolutionStruct minViewPortWidth = 4;
9588+
readonly attribute access(read: administer) optional VideoResolutionStruct minViewPortHeight = 5;
9589+
readonly attribute access(read: administer) optional RateDistortionTradeOffPointsStruct rateDistortionTradeOffPoints[] = 6;
9590+
readonly attribute access(read: administer) optional int32u maxPreRollBufferSize = 7;
9591+
readonly attribute access(read: administer) optional AudioCapabilitiesStruct microphoneCapabilities = 8;
9592+
readonly attribute access(read: administer) optional nullable AudioCapabilitiesStruct speakerCapabilities = 9;
9593+
readonly attribute access(read: administer) optional TwoWayTalkSupportTypeEnum twoWayTalkSupport = 10;
9594+
readonly attribute access(read: administer) optional SnapshotParamsStruct supportedSnapshotParams[] = 11;
9595+
readonly attribute access(read: administer) optional boolean HDRCapable = 12;
9596+
readonly attribute access(read: administer) int32u maxNetworkBandwidth = 13;
9597+
readonly attribute access(read: administer) optional int16u currentFrameRate = 14;
9598+
attribute access(read: administer, write: administer) optional boolean HDRMode = 15;
9599+
readonly attribute access(read: administer) optional VideoCodecEnum currentVideoCodecs[] = 16;
9600+
readonly attribute access(read: administer) optional SnapshotParamsStruct currentSnapshotConfig = 17;
9601+
readonly attribute access(read: administer) fabric_idx fabricsUsingCamera[] = 18;
9602+
readonly attribute access(read: administer) optional VideoStreamStruct allocatedVideoStreams[] = 19;
9603+
readonly attribute access(read: administer) optional AudioStreamStruct allocatedAudioStreams[] = 20;
9604+
readonly attribute access(read: administer) optional SnapshotStreamStruct allocatedSnapshotStreams[] = 21;
9605+
attribute access(read: administer, write: administer) optional StreamTypeEnum rankedVideoStreamPrioritiesList[] = 22;
9606+
attribute access(read: administer, write: administer) optional boolean softRecordingPrivacyModeSetting = 23;
9607+
attribute access(read: administer, write: administer) optional boolean softLivestreamPrivacyModeSetting = 24;
9608+
readonly attribute access(read: administer) optional boolean hardPrivacyMode = 25;
9609+
attribute access(read: administer, write: administer) optional TriStateAutoEnum nightVision = 26;
9610+
attribute access(read: administer, write: administer) optional TriStateAutoEnum nightVisionIllum = 27;
9611+
attribute access(read: administer, write: administer) optional boolean awb = 28;
9612+
attribute access(read: administer, write: administer) optional boolean shutterSpeed = 29;
9613+
attribute access(read: administer, write: administer) optional boolean iso = 30;
9614+
readonly attribute access(read: administer) optional ViewportStruct viewport = 31;
9615+
attribute access(read: administer, write: administer) optional boolean speakerEnabled = 32;
9616+
attribute access(read: administer, write: administer) optional int8u speakerVolumeLevel = 33;
9617+
attribute access(read: administer, write: administer) optional int8u speakerMaxLevel = 34;
9618+
attribute access(read: administer, write: administer) optional int8u speakerMinLevel = 35;
9619+
attribute access(read: administer, write: administer) optional boolean micStatus = 36;
9620+
attribute access(read: administer, write: administer) optional int8u micVolumeLevel = 37;
9621+
attribute access(read: administer, write: administer) optional int8u micMaxLevel = 38;
9622+
attribute access(read: administer, write: administer) optional int8u micMinLevel = 39;
9623+
attribute access(read: administer, write: administer) optional boolean micAGCEnabled = 40;
9624+
readonly attribute access(read: administer) optional int16u imageRotation = 41;
9625+
readonly attribute access(read: administer) optional boolean imageFlipHorizontal = 42;
9626+
readonly attribute access(read: administer) optional boolean imageFlipVertical = 43;
9627+
attribute access(read: administer, write: administer) optional boolean localVideoRecordingEnabled = 44;
9628+
attribute access(read: administer, write: administer) optional boolean localSnapshotRecordingEnabled = 45;
9629+
attribute access(read: administer, write: administer) optional boolean statusLight = 46;
9630+
attribute access(read: administer, write: administer) optional ThreeLevelAutoEnum statusLightBrightness = 47;
9631+
attribute access(read: administer, write: administer) optional TriStateAutoEnum depthSensorStatus = 48;
9632+
readonly attribute access(read: administer) optional PerStreamStruct watermarkEnabled[] = 49;
9633+
readonly attribute access(read: administer) optional PerStreamStruct OSDEnabled[] = 50;
9634+
readonly attribute command_id generatedCommandList[] = 65528;
9635+
readonly attribute command_id acceptedCommandList[] = 65529;
9636+
readonly attribute event_id eventList[] = 65530;
9637+
readonly attribute attrib_id attributeList[] = 65531;
9638+
readonly attribute bitmap32 featureMap = 65532;
9639+
readonly attribute int16u clusterRevision = 65533;
9640+
9641+
request struct AudioStreamAllocateRequest {
9642+
StreamTypeEnum streamType = 0;
9643+
AudioCodecEnum audioCodec = 1;
9644+
int8u channelCount = 2;
9645+
int32u sampleRate = 3;
9646+
int32u bitRate = 4;
9647+
int8u bitDepth = 5;
9648+
}
9649+
9650+
response struct AudioStreamAllocateResponse = 1 {
9651+
int16u audioStreamID = 0;
9652+
}
9653+
9654+
request struct AudioStreamDeallocateRequest {
9655+
int16u audioStreamID = 0;
9656+
}
9657+
9658+
request struct VideoStreamAllocateRequest {
9659+
StreamTypeEnum streamType = 0;
9660+
VideoCodecEnum videoCodec = 1;
9661+
int16u minFrameRate = 2;
9662+
int16u maxFrameRate = 3;
9663+
VideoResolutionStruct minResolution = 4;
9664+
VideoResolutionStruct maxResolution = 5;
9665+
int32u minBitRate = 6;
9666+
int32u maxBitRate = 7;
9667+
int16u minFragmentLen = 8;
9668+
int16u maxFragmentLen = 9;
9669+
}
9670+
9671+
response struct VideoStreamAllocateResponse = 4 {
9672+
int16u videoStreamID = 0;
9673+
}
9674+
9675+
request struct VideoStreamModifyRequest {
9676+
int16u videoStreamID = 0;
9677+
VideoResolutionStruct resolution = 1;
9678+
}
9679+
9680+
request struct VideoStreamDeallocateRequest {
9681+
int16u videoStreamID = 0;
9682+
}
9683+
9684+
request struct SnapshotStreamAllocateRequest {
9685+
ImageCodecEnum imageCodec = 0;
9686+
int16u frameRate = 1;
9687+
int32u bitRate = 2;
9688+
VideoResolutionStruct minResolution = 3;
9689+
VideoResolutionStruct maxResolution = 4;
9690+
int8u quality = 5;
9691+
}
9692+
9693+
response struct SnapshotStreamAllocateResponse = 8 {
9694+
int16u snapshotStreamID = 0;
9695+
}
9696+
9697+
request struct SnapshotStreamDeallocateRequest {
9698+
int16u snapshotStreamID = 0;
9699+
}
9700+
9701+
request struct CaptureSnapshotRequest {
9702+
int16u snapshotStreamID = 0;
9703+
VideoResolutionStruct requestedResolution = 1;
9704+
}
9705+
9706+
response struct CaptureSnapshotResponse = 12 {
9707+
octet_string data = 0;
9708+
ImageCodecEnum imageCodec = 1;
9709+
VideoResolutionStruct resolution = 2;
9710+
}
9711+
9712+
request struct SetViewportRequest {
9713+
ViewportStruct viewport = 0;
9714+
}
9715+
9716+
request struct SetImageRotationRequest {
9717+
int16u angle = 0;
9718+
}
9719+
9720+
request struct SetImageFlipHorizontalRequest {
9721+
boolean enabled = 0;
9722+
}
9723+
9724+
request struct SetImageFlipVerticalRequest {
9725+
boolean enabled = 0;
9726+
}
9727+
9728+
request struct SetWatermarkRequest {
9729+
int16u videoStreamID = 0;
9730+
boolean enabled = 1;
9731+
}
9732+
9733+
request struct SetOSDRequest {
9734+
int16u videoStreamID = 0;
9735+
boolean enabled = 1;
9736+
}
9737+
9738+
/** This command SHALL allocate an audio stream on the camera and return an allocated audio stream identifier. */
9739+
command access(invoke: administer) AudioStreamAllocate(AudioStreamAllocateRequest): AudioStreamAllocateResponse = 0;
9740+
/** This command SHALL deallocate an audio stream on the camera, corresponding to the given audio stream identifier. */
9741+
command access(invoke: administer) AudioStreamDeallocate(AudioStreamDeallocateRequest): DefaultSuccess = 2;
9742+
/** This command SHALL allocate a video stream on the camera and return an allocated video stream identifier. */
9743+
command access(invoke: administer) VideoStreamAllocate(VideoStreamAllocateRequest): VideoStreamAllocateResponse = 3;
9744+
/** This command SHALL be used to modify the resolution of a stream specified by the VideoStreamID. */
9745+
command access(invoke: administer) VideoStreamModify(VideoStreamModifyRequest): DefaultSuccess = 5;
9746+
/** This command SHALL deallocate a video stream on the camera, corresponding to the given video stream identifier. */
9747+
command access(invoke: administer) VideoStreamDeallocate(VideoStreamDeallocateRequest): DefaultSuccess = 6;
9748+
/** This command SHALL allocate a snapshot stream on the device and return an allocated snapshot stream identifier. */
9749+
command access(invoke: administer) SnapshotStreamAllocate(SnapshotStreamAllocateRequest): SnapshotStreamAllocateResponse = 7;
9750+
/** This command SHALL deallocate an snapshot stream on the camera, corresponding to the given snapshot stream identifier. */
9751+
command access(invoke: administer) SnapshotStreamDeallocate(SnapshotStreamDeallocateRequest): DefaultSuccess = 9;
9752+
command access(invoke: administer) SetStreamPriority(): DefaultSuccess = 10;
9753+
/** This command SHALL return a Snapshot from the camera. */
9754+
command access(invoke: administer) CaptureSnapshot(CaptureSnapshotRequest): DefaultSuccess = 11;
9755+
/** This command SHALL set the viewport in all video streams. */
9756+
command SetViewport(SetViewportRequest): DefaultSuccess = 13;
9757+
/** The data fields for this command SHALL be as follows: */
9758+
command SetImageRotation(SetImageRotationRequest): DefaultSuccess = 14;
9759+
/** The data fields for this command SHALL be as follows: */
9760+
command SetImageFlipHorizontal(SetImageFlipHorizontalRequest): DefaultSuccess = 15;
9761+
/** The data fields for this command SHALL be as follows: */
9762+
command SetImageFlipVertical(SetImageFlipVerticalRequest): DefaultSuccess = 16;
9763+
/** This command controls if the manufacturer watermark logo is enabled for a given video stream. */
9764+
command SetWatermark(SetWatermarkRequest): DefaultSuccess = 17;
9765+
/** This command controls if the On Screen Display (OSD) of text such as date, time, timezone, and/or device name, is enabled for a given video stream. */
9766+
command SetOSD(SetOSDRequest): DefaultSuccess = 18;
9767+
}
9768+
94199769
/** The WebRTC transport provider cluster provides a way for stream providers (e.g. Cameras) to stream or receive their data through WebRTC. */
94209770
provisional cluster WebRTCTransportProvider = 1363 {
94219771
revision 1;

0 commit comments

Comments
 (0)