Skip to content

Commit fa20442

Browse files
committed
Generated using ./alchemy zap --attribute="in-progress" ... /PushAVStreamTransport.adoc
1 parent 87f7c4c commit fa20442

File tree

6 files changed

+235
-0
lines changed

6 files changed

+235
-0
lines changed

.github/workflows/tests.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ jobs:
9696
src/app/zap-templates/zcl/data-model/chip/global-bitmaps.xml \
9797
src/app/zap-templates/zcl/data-model/chip/global-enums.xml \
9898
src/app/zap-templates/zcl/data-model/chip/global-structs.xml \
99+
src/app/zap-templates/zcl/data-model/chip/push-av-stream-transport-cluster.xml \
99100
src/app/zap-templates/zcl/data-model/chip/semantic-tag-namespace-enums.xml \
100101
src/app/zap-templates/zcl/data-model/chip/access-control-definitions.xml \
101102
src/app/zap-templates/zcl/data-model/chip/access-control-cluster.xml \

scripts/rules.matterlint

+1
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ load "../src/app/zap-templates/zcl/data-model/chip/media-playback-cluster.xml";
6666
load "../src/app/zap-templates/zcl/data-model/chip/messages-cluster.xml";
6767
load "../src/app/zap-templates/zcl/data-model/chip/mode-base-cluster.xml";
6868
load "../src/app/zap-templates/zcl/data-model/chip/mode-select-cluster.xml";
69+
load "../src/app/zap-templates/zcl/data-model/chip/push-av-stream-transport-cluster.xml";
6970
load "../src/app/zap-templates/zcl/data-model/chip/semantic-tag-namespace-enums.xml";
7071
load "../src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml";
7172
load "../src/app/zap-templates/zcl/data-model/chip/occupancy-sensing-cluster.xml";
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,229 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
Copyright (c) 2024 Project CHIP Authors
4+
5+
Licensed under the Apache License, Version 2.0 (the "License");
6+
you may not use this file except in compliance with the License.
7+
You may obtain a copy of the License at
8+
9+
http://www.apache.org/licenses/LICENSE-2.0
10+
11+
Unless required by applicable law or agreed to in writing, software
12+
distributed under the License is distributed on an "AS IS" BASIS,
13+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
See the License for the specific language governing permissions and
15+
limitations under the License.
16+
-->
17+
<!--
18+
XML generated by Alchemy; DO NOT EDIT.
19+
Source: src/app_clusters/PushAVStreamTransport.adoc
20+
Parameters: in-progress
21+
Git: 1.4-455-gf44904673
22+
-->
23+
<configurator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../zcl.xsd">
24+
<domain name="Cameras"/>
25+
<bitmap name="SupportedContainerFormatsBitmap" type="bitmap8">
26+
<cluster code="0x0555"/>
27+
<field name="CMAF" mask="0x01"/>
28+
</bitmap>
29+
30+
<bitmap name="SupportedIngestMethodsBitmap" type="bitmap8">
31+
<cluster code="0x0555"/>
32+
<field name="CMAFIngest" mask="0x01"/>
33+
</bitmap>
34+
35+
<enum name="ContainerFormatEnum" type="enum8">
36+
<cluster code="0x0555"/>
37+
<item name="CMAF" value="0x00"/>
38+
</enum>
39+
40+
<enum name="IngestMethodsEnum" type="enum8">
41+
<cluster code="0x0555"/>
42+
<item name="CMAFIngest" value="0x00"/>
43+
</enum>
44+
45+
<enum name="StatusCodeEnum" type="enum8">
46+
<cluster code="0x0555"/>
47+
<item name="AllocationNotPermitted" value="0x02"/>
48+
<item name="InvalidTLSEndpoint" value="0x03"/>
49+
<item name="InvalidStream" value="0x04"/>
50+
<item name="InvalidURL" value="0x05"/>
51+
<item name="InvalidZone" value="0x06"/>
52+
<item name="UnsupportedContainerFormat" value="0x07"/>
53+
<item name="UnsupportedIngestMethod" value="0x08"/>
54+
<item name="InvalidTriggerType" value="0x09"/>
55+
<item name="InvalidTransportStatus" value="0x10"/>
56+
</enum>
57+
58+
<enum name="StreamMultiplexingEnum" type="enum8">
59+
<cluster code="0x0555"/>
60+
<item name="Interleaved" value="0x00"/>
61+
</enum>
62+
63+
<enum name="TransportStatusEnum" type="enum8">
64+
<cluster code="0x0555"/>
65+
<item name="Active" value="0x00"/>
66+
<item name="Inactive" value="0x01"/>
67+
</enum>
68+
69+
<enum name="TransportTriggerTypeEnum" type="enum8">
70+
<cluster code="0x0555"/>
71+
<item name="Command" value="0x00"/>
72+
<item name="Motion" value="0x01"/>
73+
<item name="Continuous" value="0x02"/>
74+
</enum>
75+
76+
<enum name="TriggerActivationReasonEnum" type="enum8">
77+
<cluster code="0x0555"/>
78+
<item name="UserInitiated" value="0x00"/>
79+
<item name="Automation" value="0x01"/>
80+
<item name="Emergency" value="0x02"/>
81+
</enum>
82+
83+
<struct name="CMAFContainerOptionsStruct" apiMaturity="provisional">
84+
<cluster code="0x0555"/>
85+
<item fieldId="0" name="ChunkDuration" type="int16u" default="4"/>
86+
<item fieldId="1" name="CENCKey" type="octet_string" optional="true"/>
87+
</struct>
88+
89+
<struct name="ContainerOptionsStruct" apiMaturity="provisional">
90+
<cluster code="0x0555"/>
91+
<item fieldId="0" name="ContainerType" type="ContainerFormatEnum" min="0x00" max="0x00"/>
92+
<item fieldId="1" name="CMAFContainerOptions" type="CMAFContainerOptionsStruct" optional="true"/>
93+
</struct>
94+
95+
<struct name="MetadataOptionsStruct" apiMaturity="provisional">
96+
<cluster code="0x0555"/>
97+
<item fieldId="0" name="Multiplexing" type="StreamMultiplexingEnum" min="0x00" max="0x00"/>
98+
<item fieldId="1" name="IncludeMotionZones" type="boolean"/>
99+
<item fieldId="2" name="EnableMetadataPrivacySensitive" type="boolean"/>
100+
</struct>
101+
102+
<struct name="TransportConfigurationStruct" apiMaturity="provisional">
103+
<cluster code="0x0555"/>
104+
<item fieldId="0" name="ConnectionID" type="int16u"/>
105+
<item fieldId="1" name="TransportStatus" type="TransportStatusEnum" min="0x00" max="0x01"/>
106+
<item fieldId="2" name="TransportOptions" type="TransportOptionsStruct"/>
107+
</struct>
108+
109+
<struct name="TransportMotionTriggerTimeControlStruct" apiMaturity="provisional">
110+
<cluster code="0x0555"/>
111+
<item fieldId="0" name="InitialDuration" type="int16u" default="10" min="1"/>
112+
<item fieldId="1" name="AugmentationDuration" type="int16u" default="5"/>
113+
<item fieldId="2" name="MaxDuration" type="elapsed_s" default="30" min="1"/>
114+
<item fieldId="3" name="BlindDuration" type="int16u" default="30"/>
115+
</struct>
116+
117+
<struct name="TransportOptionsStruct" apiMaturity="provisional">
118+
<cluster code="0x0555"/>
119+
<item fieldId="0" name="StreamType" type="StreamTypeEnum" min="0x00" max="0x03"/>
120+
<item fieldId="1" name="VideoStreamID" type="int16u" optional="true"/>
121+
<item fieldId="2" name="AudioStreamID" type="int16u" optional="true"/>
122+
<item fieldId="3" name="EndpointID" type="int16u"/>
123+
<item fieldId="4" name="URL" type="long_char_string" length="256"/>
124+
<item fieldId="5" name="TriggerOptions" type="TransportTriggerOptionsStruct"/>
125+
<item fieldId="6" name="IngestMethod" type="IngestMethodsEnum" min="0x00" max="0x00"/>
126+
<item fieldId="7" name="ContainerFormat" type="ContainerFormatEnum" min="0x00" max="0x00"/>
127+
<item fieldId="8" name="ContainerOptions" type="ContainerOptionsStruct"/>
128+
<item fieldId="9" name="MetadataOptions" type="MetadataOptionsStruct" optional="true"/>
129+
<item fieldId="10" name="ExpiryTime" type="epoch_s" optional="true"/>
130+
</struct>
131+
132+
<struct name="TransportTriggerOptionsStruct" apiMaturity="provisional">
133+
<cluster code="0x0555"/>
134+
<item fieldId="0" name="TriggerType" type="TransportTriggerTypeEnum" min="0x00" max="0x02"/>
135+
<item fieldId="1" name="MotionZones" array="true" type="TransportZoneOptionsStruct" isNullable="true" optional="true"/>
136+
<item fieldId="2" name="MotionSensitivity" type="int8u" isNullable="true" optional="true" default="5" min="1" max="10"/>
137+
<item fieldId="3" name="MotionTimeControl" type="TransportMotionTriggerTimeControlStruct" optional="true"/>
138+
<item fieldId="4" name="MaxPreRollLen" type="int16u" optional="true"/>
139+
</struct>
140+
141+
<struct name="TransportZoneOptionsStruct" apiMaturity="provisional">
142+
<cluster code="0x0555"/>
143+
<item fieldId="1" name="Zone" type="int16u" isNullable="true"/>
144+
<item fieldId="2" name="Sensitivity" type="int8u" optional="true" default="5" min="1" max="10"/>
145+
</struct>
146+
147+
<cluster>
148+
<domain name="Cameras"/>
149+
<name>Push AV Stream Transport</name>
150+
<code>0x0555</code>
151+
<define>PUSH_AV_STREAM_TRANSPORT_CLUSTER</define>
152+
<description/>
153+
<client init="false" tick="false">true</client>
154+
<features>
155+
<feature bit="0" code="PERZONESENS" name="PerZoneSensitivity" summary="Supports a sensitivity value per Zone">
156+
<optionalConform/>
157+
</feature>
158+
</features>
159+
<server init="false" tick="false">true</server>
160+
<globalAttribute code="0xFFFD" side="either" value="1"/>
161+
<attribute code="0x0000" side="server" define="SUPPORTED_CONTAINER_FORMATS" type="SupportedContainerFormatsBitmap" min="0x00" max="0x01">SupportedContainerFormats</attribute>
162+
<attribute code="0x0001" side="server" define="SUPPORTED_INGEST_METHODS" type="SupportedIngestMethodsBitmap" min="0x00" max="0x01">SupportedIngestMethods</attribute>
163+
<attribute code="0x0002" side="server" define="CURRENT_CONNECTIONS" type="array" entryType="int16u">CurrentConnections</attribute>
164+
<command code="0x00" source="client" name="AllocatePushTransport" optional="false" response="AllocatePushTransportResponse">
165+
<description>This command SHALL allocate a transport and return a PushTransportConnectionID.</description>
166+
<access op="invoke" privilege="manage"/>
167+
<arg id="0" name="TransportOptions" type="TransportOptionsStruct"/>
168+
</command>
169+
170+
<command code="0x01" source="server" name="AllocatePushTransportResponse" optional="false" disableDefaultResponse="true">
171+
<description>This command SHALL be generated in response to an AllocatePushTransport command.</description>
172+
<arg id="0" name="ConnectionID" type="int16u"/>
173+
<arg id="1" name="TransportOptions" type="TransportOptionsStruct"/>
174+
<arg id="2" name="TransportStatus" type="TransportStatusEnum" min="0x00" max="0x01"/>
175+
</command>
176+
177+
<command code="0x02" source="client" name="DeallocatePushTransport" optional="false">
178+
<description>This command SHALL be generated to request the Node deallocates the specified transport.</description>
179+
<access op="invoke" privilege="manage"/>
180+
<arg id="0" name="ConnectionID" type="int16u"/>
181+
</command>
182+
183+
<command code="0x03" source="client" name="ModifyPushTransport" optional="false">
184+
<description>This command is used to request the Node modifies the configuration of the specified push transport.</description>
185+
<access op="invoke" privilege="manage"/>
186+
<arg id="0" name="ConnectionID" type="int16u"/>
187+
<arg id="1" name="TransportOptions" type="TransportOptionsStruct"/>
188+
</command>
189+
190+
<command code="0x04" source="client" name="SetTransportStatus" optional="false">
191+
<description>This command SHALL be generated to request the Node modifies the Transport Status of the transport.</description>
192+
<access op="invoke" privilege="manage"/>
193+
<arg id="0" name="ConnectionID" type="int16u"/>
194+
<arg id="1" name="TransportStatus" type="TransportStatusEnum" min="0x00" max="0x01"/>
195+
</command>
196+
197+
<command code="0x05" source="client" name="ManuallyTriggerTransport" optional="false">
198+
<description>This command SHALL be generated to request the Node to manually start the specified push transport.</description>
199+
<arg id="0" name="ConnectionID" type="int16u"/>
200+
<arg id="1" name="ActivationReason" type="TriggerActivationReasonEnum" min="0x00" max="0x02"/>
201+
<arg id="2" name="TimeControl" type="TransportMotionTriggerTimeControlStruct" optional="true"/>
202+
</command>
203+
204+
<command code="0x06" source="client" name="FindTransport" optional="false" response="FindTransportResponse">
205+
<description>This command SHALL return the Stream Options Configuration for the specified push transport.</description>
206+
<arg id="0" name="ConnectionID" type="int16u" optional="true" isNullable="true"/>
207+
</command>
208+
209+
<command code="0x07" source="server" name="FindTransportResponse" optional="false" disableDefaultResponse="true">
210+
<description>This command SHALL be generated in response to a FindTransport command.</description>
211+
<arg id="0" name="StreamConfigurations" array="true" type="TransportConfigurationStruct"/>
212+
</command>
213+
214+
<event code="0x0000" name="PushTransportBegin" priority="info" side="server">
215+
<field id="0" name="ConnectionID" type="int16u"/>
216+
<field id="1" name="TriggerType" type="TransportTriggerTypeEnum" min="0x00" max="0x02"/>
217+
<field id="2" name="ActivationReason" type="TriggerActivationReasonEnum" optional="true" min="0x00" max="0x02"/>
218+
<description>This event SHALL indicate a push transport transmission has begun.</description>
219+
</event>
220+
221+
<event code="0x0001" name="PushTransportEnd" priority="info" side="server">
222+
<field id="0" name="ConnectionID" type="int16u"/>
223+
<field id="1" name="TriggerType" type="TransportTriggerTypeEnum" min="0x00" max="0x02"/>
224+
<field id="2" name="ActivationReason" type="TriggerActivationReasonEnum" optional="true" min="0x00" max="0x02"/>
225+
<description>This event SHALL indicate a push transport transmission has ended.</description>
226+
</event>
227+
228+
</cluster>
229+
</configurator>

src/app/zap-templates/zcl/zcl-with-test-extensions.json

+1
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@
8484
"mode-base-cluster.xml",
8585
"mode-select-cluster.xml",
8686
"mode-select-extensions.xml",
87+
"push-av-stream-transport-cluster.xml",
8788
"semantic-tag-namespace-enums.xml",
8889
"network-commissioning-cluster.xml",
8990
"occupancy-sensing-cluster.xml",

src/app/zap-templates/zcl/zcl.json

+1
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
"messages-cluster.xml",
7878
"mode-base-cluster.xml",
7979
"mode-select-cluster.xml",
80+
"push-av-stream-transport-cluster.xml",
8081
"semantic-tag-namespace-enums.xml",
8182
"network-commissioning-cluster.xml",
8283
"occupancy-sensing-cluster.xml",

src/app/zap_cluster_list.json

+2
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
"MESSAGES_CLUSTER": [],
7070
"MODE_SELECT_CLUSTER": [],
7171
"NETWORK_COMMISSIONING_CLUSTER": [],
72+
"PUSH_AV_STREAM_TRANSPORT_CLUSTER": [],
7273
"SAMPLE_MEI_CLUSTER": [],
7374
"NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER": [],
7475
"OCCUPANCY_SENSING_CLUSTER": [],
@@ -233,6 +234,7 @@
233234
"NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER": [
234235
"concentration-measurement-server"
235236
],
237+
"PUSH_AV_STREAM_TRANSPORT_CLUSTER": [],
236238
"SAMPLE_MEI_CLUSTER": ["sample-mei-server"],
237239
"OCCUPANCY_SENSING_CLUSTER": ["occupancy-sensor-server"],
238240
"ON_OFF_CLUSTER": ["on-off-server"],

0 commit comments

Comments
 (0)