Skip to content

Commit dcacdcd

Browse files
committed
Auto-generated files from zap-regen for Camera AV Stream Management.
1 parent fb82723 commit dcacdcd

File tree

77 files changed

+66171
-19019
lines changed

Some content is hidden

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

77 files changed

+66171
-19019
lines changed

docs/zap_clusters.md

+1
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
| 1366 | 0x556 | Chime |
134135
| 1872 | 0x750 | EcosystemInformation |

scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/endpoint_config.h

+1,877-2,152
Large diffs are not rendered by default.

scripts/tools/zap/tests/outputs/lighting-app/app-templates/endpoint_config.h

+459-462
Large diffs are not rendered by default.

src/controller/data_model/controller-clusters.matter

+350
Original file line numberDiff line numberDiff line change
@@ -9415,6 +9415,356 @@ provisional cluster ContentAppObserver = 1296 {
94159415
command ContentAppMessage(ContentAppMessageRequest): ContentAppMessageResponse = 0;
94169416
}
94179417

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

0 commit comments

Comments
 (0)