Skip to content

Commit b127740

Browse files
authored
Camera AVStreamMgmt xml updates (project-chip#36133)
* Incorporate Spec modifications into the Camera AVStreamManagement Cluster xml. Name changes to Max content buffer size and On screen display names. Adjust constraints for Min and Max fragment len. * Corresponding ZAP Autogen code changes.
1 parent ccaa0ed commit b127740

File tree

26 files changed

+94
-94
lines changed

26 files changed

+94
-94
lines changed

src/app/zap-templates/zcl/data-model/chip/camera-av-stream-management-cluster.xml

+11-11
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ limitations under the License.
1818
XML generated by Alchemy; DO NOT EDIT.
1919
Source: src/app_clusters/CameraAVStreamManagement.adoc
2020
Parameters: in-progress
21-
Git: 0.9-fall2024-387-gfd3062545
21+
Git: 0.9-fall2024-411-g9835b5cd7
2222
-->
2323
<configurator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../zcl.xsd">
2424
<domain name="General"/>
@@ -127,8 +127,8 @@ Git: 0.9-fall2024-387-gfd3062545
127127
<item fieldId="6" name="MaxResolution" type="VideoResolutionStruct"/>
128128
<item fieldId="7" name="MinBitRate" type="int32u" min="1"/>
129129
<item fieldId="8" name="MaxBitRate" type="int32u" min="1"/>
130-
<item fieldId="9" name="MinFragmentLen" type="int16u" default="4000" min="0" max="65500"/>
131-
<item fieldId="10" name="MaxFragmentLen" type="int16u" default="4000" min="0" max="65500"/>
130+
<item fieldId="9" name="MinFragmentLen" type="int16u" default="4000" max="65500"/>
131+
<item fieldId="10" name="MaxFragmentLen" type="int16u" default="4000" max="65500"/>
132132
<item fieldId="11" name="WatermarkEnabled" type="boolean" optional="true" default="0"/>
133133
<item fieldId="12" name="OSDEnabled" type="boolean" optional="true" default="0"/>
134134
<item fieldId="13" name="ReferenceCount" type="int8u" default="0"/>
@@ -143,8 +143,8 @@ Git: 0.9-fall2024-387-gfd3062545
143143
<item fieldId="3" name="Y2" type="int16u" default="0"/>
144144
</struct>
145145

146-
<cluster>
147-
<domain name="General"/>
146+
<cluster apiMaturity="provisional">
147+
<domain name="Cameras"/>
148148
<name>Camera AV Stream Management</name>
149149
<code>0x0551</code>
150150
<define>CAMERA_AV_STREAM_MANAGEMENT_CLUSTER</define>
@@ -172,7 +172,7 @@ Git: 0.9-fall2024-387-gfd3062545
172172
<feature bit="6" code="WMARK" name="Watermark" summary="Watermark supported">
173173
<optionalConform/>
174174
</feature>
175-
<feature bit="7" code="OSD" name="On-Screen Display" summary="OSD supported">
175+
<feature bit="7" code="OSD" name="OnScreenDisplay" summary="OSD supported">
176176
<optionalConform/>
177177
</feature>
178178
<feature bit="8" code="STOR" name="LocalStorage" summary="Local Storage available">
@@ -187,7 +187,7 @@ Git: 0.9-fall2024-387-gfd3062545
187187
<attribute code="0x0003" side="server" define="NIGHT_VISION_CAPABLE" type="boolean" reportable="true" optional="true">NightVisionCapable</attribute>
188188
<attribute code="0x0004" side="server" define="MIN_VIEWPORT" type="VideoResolutionStruct" reportable="true" optional="true">MinViewport</attribute>
189189
<attribute code="0x0005" side="server" define="RATE_DISTORTION_TRADE_OFF_POINTS" type="array" entryType="RateDistortionTradeOffPointsStruct" reportable="true" optional="true">RateDistortionTradeOffPoints</attribute>
190-
<attribute code="0x0006" side="server" define="MAX_PRE_ROLL_BUFFER_SIZE" type="int32u" reportable="true" optional="true">MaxPreRollBufferSize</attribute>
190+
<attribute code="0x0006" side="server" define="MAX_CONTENT_BUFFER_SIZE" type="int32u" reportable="true" optional="true">MaxContentBufferSize</attribute>
191191
<attribute code="0x0007" side="server" define="MICROPHONE_CAPABILITIES" type="AudioCapabilitiesStruct" reportable="true" optional="true">MicrophoneCapabilities</attribute>
192192
<attribute code="0x0008" side="server" define="SPEAKER_CAPABILITIES" type="AudioCapabilitiesStruct" reportable="true" optional="true">SpeakerCapabilities</attribute>
193193
<attribute code="0x0009" side="server" define="TWO_WAY_TALK_SUPPORT" type="TwoWayTalkSupportTypeEnum" reportable="true" min="0x00" max="0x02" optional="true">TwoWayTalkSupport</attribute>
@@ -345,8 +345,8 @@ Git: 0.9-fall2024-387-gfd3062545
345345
<arg id="6" name="MaxResolution" type="VideoResolutionStruct"/>
346346
<arg id="7" name="MinBitRate" type="int32u" min="1"/>
347347
<arg id="8" name="MaxBitRate" type="int32u" min="1"/>
348-
<arg id="9" name="MinFragmentLen" type="int16u" default="4000" min="0" max="65500"/>
349-
<arg id="10" name="MaxFragmentLen" type="int16u" default="4000" min="0" max="65500"/>
348+
<arg id="9" name="MinFragmentLen" type="int16u" default="4000" max="65500"/>
349+
<arg id="10" name="MaxFragmentLen" type="int16u" default="4000" max="65500"/>
350350
<arg id="11" name="WatermarkEnabled" type="boolean" optional="true" default="0"/>
351351
<arg id="12" name="OSDEnabled" type="boolean" optional="true" default="0"/>
352352
</command>
@@ -447,8 +447,8 @@ Git: 0.9-fall2024-387-gfd3062545
447447
<field id="6" name="MaxResolution" type="VideoResolutionStruct" optional="true"/>
448448
<field id="7" name="MinBitRate" type="int32u" optional="true" min="1"/>
449449
<field id="8" name="MaxBitRate" type="int32u" optional="true" min="1"/>
450-
<field id="9" name="MinFragmentLen" type="int16u" optional="true" min="0" max="65500"/>
451-
<field id="10" name="MaxFragmentLen" type="int16u" optional="true" min="0" max="65500"/>
450+
<field id="9" name="MinFragmentLen" type="int16u" optional="true" max="65500"/>
451+
<field id="10" name="MaxFragmentLen" type="int16u" optional="true" max="65500"/>
452452
<description>This event SHALL be generated when there is a modification in the corresponding video stream.</description>
453453
</event>
454454

src/controller/data_model/controller-clusters.matter

+2-2
Original file line numberDiff line numberDiff line change
@@ -9527,7 +9527,7 @@ provisional cluster ZoneManagement = 1360 {
95279527
}
95289528

95299529
/** 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. */
9530-
cluster CameraAvStreamManagement = 1361 {
9530+
provisional cluster CameraAvStreamManagement = 1361 {
95319531
revision 1;
95329532

95339533
enum AudioCodecEnum : enum8 {
@@ -9695,7 +9695,7 @@ cluster CameraAvStreamManagement = 1361 {
96959695
readonly attribute optional boolean nightVisionCapable = 3;
96969696
readonly attribute optional VideoResolutionStruct minViewport = 4;
96979697
readonly attribute optional RateDistortionTradeOffPointsStruct rateDistortionTradeOffPoints[] = 5;
9698-
readonly attribute optional int32u maxPreRollBufferSize = 6;
9698+
readonly attribute optional int32u maxContentBufferSize = 6;
96999699
readonly attribute optional AudioCapabilitiesStruct microphoneCapabilities = 7;
97009700
readonly attribute optional AudioCapabilitiesStruct speakerCapabilities = 8;
97019701
readonly attribute optional TwoWayTalkSupportTypeEnum twoWayTalkSupport = 9;

src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -59730,7 +59730,7 @@ public static class CameraAvStreamManagementCluster extends BaseChipCluster {
5973059730
private static final long NIGHT_VISION_CAPABLE_ATTRIBUTE_ID = 3L;
5973159731
private static final long MIN_VIEWPORT_ATTRIBUTE_ID = 4L;
5973259732
private static final long RATE_DISTORTION_TRADE_OFF_POINTS_ATTRIBUTE_ID = 5L;
59733-
private static final long MAX_PRE_ROLL_BUFFER_SIZE_ATTRIBUTE_ID = 6L;
59733+
private static final long MAX_CONTENT_BUFFER_SIZE_ATTRIBUTE_ID = 6L;
5973459734
private static final long MICROPHONE_CAPABILITIES_ATTRIBUTE_ID = 7L;
5973559735
private static final long SPEAKER_CAPABILITIES_ATTRIBUTE_ID = 8L;
5973659736
private static final long TWO_WAY_TALK_SUPPORT_ATTRIBUTE_ID = 9L;
@@ -60418,30 +60418,30 @@ public void onSuccess(byte[] tlv) {
6041860418
}, RATE_DISTORTION_TRADE_OFF_POINTS_ATTRIBUTE_ID, minInterval, maxInterval);
6041960419
}
6042060420

60421-
public void readMaxPreRollBufferSizeAttribute(
60421+
public void readMaxContentBufferSizeAttribute(
6042260422
LongAttributeCallback callback) {
60423-
ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_PRE_ROLL_BUFFER_SIZE_ATTRIBUTE_ID);
60423+
ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_CONTENT_BUFFER_SIZE_ATTRIBUTE_ID);
6042460424

6042560425
readAttribute(new ReportCallbackImpl(callback, path) {
6042660426
@Override
6042760427
public void onSuccess(byte[] tlv) {
6042860428
Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv);
6042960429
callback.onSuccess(value);
6043060430
}
60431-
}, MAX_PRE_ROLL_BUFFER_SIZE_ATTRIBUTE_ID, true);
60431+
}, MAX_CONTENT_BUFFER_SIZE_ATTRIBUTE_ID, true);
6043260432
}
6043360433

60434-
public void subscribeMaxPreRollBufferSizeAttribute(
60434+
public void subscribeMaxContentBufferSizeAttribute(
6043560435
LongAttributeCallback callback, int minInterval, int maxInterval) {
60436-
ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_PRE_ROLL_BUFFER_SIZE_ATTRIBUTE_ID);
60436+
ChipAttributePath path = ChipAttributePath.newInstance(endpointId, clusterId, MAX_CONTENT_BUFFER_SIZE_ATTRIBUTE_ID);
6043760437

6043860438
subscribeAttribute(new ReportCallbackImpl(callback, path) {
6043960439
@Override
6044060440
public void onSuccess(byte[] tlv) {
6044160441
Long value = ChipTLVValueDecoder.decodeAttributeValue(path, tlv);
6044260442
callback.onSuccess(value);
6044360443
}
60444-
}, MAX_PRE_ROLL_BUFFER_SIZE_ATTRIBUTE_ID, minInterval, maxInterval);
60444+
}, MAX_CONTENT_BUFFER_SIZE_ATTRIBUTE_ID, minInterval, maxInterval);
6044560445
}
6044660446

6044760447
public void readMicrophoneCapabilitiesAttribute(

src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -17079,7 +17079,7 @@ public enum Attribute {
1707917079
NightVisionCapable(3L),
1708017080
MinViewport(4L),
1708117081
RateDistortionTradeOffPoints(5L),
17082-
MaxPreRollBufferSize(6L),
17082+
MaxContentBufferSize(6L),
1708317083
MicrophoneCapabilities(7L),
1708417084
SpeakerCapabilities(8L),
1708517085
TwoWayTalkSupport(9L),

src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -18340,17 +18340,17 @@ private static Map<String, InteractionInfo> readCameraAvStreamManagementInteract
1834018340
readCameraAvStreamManagementRateDistortionTradeOffPointsCommandParams
1834118341
);
1834218342
result.put("readRateDistortionTradeOffPointsAttribute", readCameraAvStreamManagementRateDistortionTradeOffPointsAttributeInteractionInfo);
18343-
Map<String, CommandParameterInfo> readCameraAvStreamManagementMaxPreRollBufferSizeCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
18344-
InteractionInfo readCameraAvStreamManagementMaxPreRollBufferSizeAttributeInteractionInfo = new InteractionInfo(
18343+
Map<String, CommandParameterInfo> readCameraAvStreamManagementMaxContentBufferSizeCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
18344+
InteractionInfo readCameraAvStreamManagementMaxContentBufferSizeAttributeInteractionInfo = new InteractionInfo(
1834518345
(cluster, callback, commandArguments) -> {
18346-
((ChipClusters.CameraAvStreamManagementCluster) cluster).readMaxPreRollBufferSizeAttribute(
18346+
((ChipClusters.CameraAvStreamManagementCluster) cluster).readMaxContentBufferSizeAttribute(
1834718347
(ChipClusters.LongAttributeCallback) callback
1834818348
);
1834918349
},
1835018350
() -> new ClusterInfoMapping.DelegatedLongAttributeCallback(),
18351-
readCameraAvStreamManagementMaxPreRollBufferSizeCommandParams
18351+
readCameraAvStreamManagementMaxContentBufferSizeCommandParams
1835218352
);
18353-
result.put("readMaxPreRollBufferSizeAttribute", readCameraAvStreamManagementMaxPreRollBufferSizeAttributeInteractionInfo);
18353+
result.put("readMaxContentBufferSizeAttribute", readCameraAvStreamManagementMaxContentBufferSizeAttributeInteractionInfo);
1835418354
Map<String, CommandParameterInfo> readCameraAvStreamManagementTwoWayTalkSupportCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
1835518355
InteractionInfo readCameraAvStreamManagementTwoWayTalkSupportAttributeInteractionInfo = new InteractionInfo(
1835618356
(cluster, callback, commandArguments) -> {

src/controller/java/generated/java/matter/controller/cluster/clusters/CameraAvStreamManagementCluster.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -1327,7 +1327,7 @@ class CameraAvStreamManagementCluster(
13271327
}
13281328
}
13291329

1330-
suspend fun readMaxPreRollBufferSizeAttribute(): UInt? {
1330+
suspend fun readMaxContentBufferSizeAttribute(): UInt? {
13311331
val ATTRIBUTE_ID: UInt = 6u
13321332

13331333
val attributePath =
@@ -1349,7 +1349,7 @@ class CameraAvStreamManagementCluster(
13491349
it.path.attributeId == ATTRIBUTE_ID
13501350
}
13511351

1352-
requireNotNull(attributeData) { "Maxprerollbuffersize attribute not found in response" }
1352+
requireNotNull(attributeData) { "Maxcontentbuffersize attribute not found in response" }
13531353

13541354
// Decode the TLV data into the appropriate type
13551355
val tlvReader = TlvReader(attributeData.data)
@@ -1363,7 +1363,7 @@ class CameraAvStreamManagementCluster(
13631363
return decodedValue
13641364
}
13651365

1366-
suspend fun subscribeMaxPreRollBufferSizeAttribute(
1366+
suspend fun subscribeMaxContentBufferSizeAttribute(
13671367
minInterval: Int,
13681368
maxInterval: Int,
13691369
): Flow<UIntSubscriptionState> {
@@ -1399,7 +1399,7 @@ class CameraAvStreamManagementCluster(
13991399
.firstOrNull { it.path.attributeId == ATTRIBUTE_ID }
14001400

14011401
requireNotNull(attributeData) {
1402-
"Maxprerollbuffersize attribute not found in Node State update"
1402+
"Maxcontentbuffersize attribute not found in Node State update"
14031403
}
14041404

14051405
// Decode the TLV data into the appropriate type

src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/controller/python/chip/clusters/CHIPClusters.py

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/controller/python/chip/clusters/Objects.py

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/darwin/Framework/CHIP/zap-generated/MTRAttributeSpecifiedCheck.mm

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)