23 "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
24 "<scpd xmlns=\"urn:schemas-upnp-org:service-1-0\">\n"
30 " <!-- Essential Actions -->\n"
32 " <name>SetAVTransportURI</name>\n"
35 " <name>InstanceID</name>\n"
36 " <direction>in</direction>\n"
38 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
41 " <name>CurrentURI</name>\n"
42 " <direction>in</direction>\n"
44 "<relatedStateVariable>AVTransportURI</relatedStateVariable>\n"
47 " <name>CurrentURIMetaData</name>\n"
48 " <direction>in</direction>\n"
50 "<relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>\n"
56 " <name>Play</name>\n"
59 " <name>InstanceID</name>\n"
60 " <direction>in</direction>\n"
62 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
65 " <name>Speed</name>\n"
66 " <direction>in</direction>\n"
68 "<relatedStateVariable>TransportPlaySpeed</relatedStateVariable>\n"
74 " <name>Stop</name>\n"
77 " <name>InstanceID</name>\n"
78 " <direction>in</direction>\n"
80 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
86 " <name>Pause</name>\n"
89 " <name>InstanceID</name>\n"
90 " <direction>in</direction>\n"
92 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
97 " <!-- Recommended Query Actions -->\n"
99 " <name>GetTransportInfo</name>\n"
102 " <name>InstanceID</name>\n"
103 " <direction>in</direction>\n"
105 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
108 " <name>CurrentTransportState</name>\n"
109 " <direction>out</direction>\n"
111 "<relatedStateVariable>TransportState</relatedStateVariable>\n"
114 " <name>CurrentTransportStatus</name>\n"
115 " <direction>out</direction>\n"
117 "<relatedStateVariable>TransportStatus</relatedStateVariable>\n"
120 " <name>CurrentSpeed</name>\n"
121 " <direction>out</direction>\n"
123 "<relatedStateVariable>TransportPlaySpeed</relatedStateVariable>\n"
129 " <name>GetPositionInfo</name>\n"
132 " <name>InstanceID</name>\n"
133 " <direction>in</direction>\n"
135 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
138 " <name>Track</name>\n"
139 " <direction>out</direction>\n"
140 " <relatedStateVariable>CurrentTrack</relatedStateVariable>\n"
143 " <name>TrackDuration</name>\n"
144 " <direction>out</direction>\n"
146 "<relatedStateVariable>CurrentTrackDuration</relatedStateVariable>\n"
149 " <name>TrackMetaData</name>\n"
150 " <direction>out</direction>\n"
152 "<relatedStateVariable>CurrentTrackMetaData</relatedStateVariable>\n"
155 " <name>TrackURI</name>\n"
156 " <direction>out</direction>\n"
158 "<relatedStateVariable>CurrentTrackURI</relatedStateVariable>\n"
161 " <name>RelTime</name>\n"
162 " <direction>out</direction>\n"
164 "<relatedStateVariable>RelativeTimePosition</relatedStateVariable>\n"
167 " <name>AbsTime</name>\n"
168 " <direction>out</direction>\n"
170 "<relatedStateVariable>AbsoluteTimePosition</relatedStateVariable>\n"
173 " <name>RelCount</name>\n"
174 " <direction>out</direction>\n"
176 "<relatedStateVariable>RelativeCounterPosition</relatedStateVariable>\n"
179 " <name>AbsCount</name>\n"
180 " <direction>out</direction>\n"
182 "<relatedStateVariable>AbsoluteCounterPosition</relatedStateVariable>\n"
188 " <name>GetMediaInfo</name>\n"
191 " <name>InstanceID</name>\n"
192 " <direction>in</direction>\n"
194 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
197 " <name>NrTracks</name>\n"
198 " <direction>out</direction>\n"
200 "<relatedStateVariable>NumberOfTracks</relatedStateVariable>\n"
203 " <name>MediaDuration</name>\n"
204 " <direction>out</direction>\n"
206 "<relatedStateVariable>CurrentMediaDuration</relatedStateVariable>\n"
209 " <name>CurrentURI</name>\n"
210 " <direction>out</direction>\n"
212 "<relatedStateVariable>AVTransportURI</relatedStateVariable>\n"
215 " <name>CurrentURIMetaData</name>\n"
216 " <direction>out</direction>\n"
218 "<relatedStateVariable>AVTransportURIMetaData</relatedStateVariable>\n"
221 " <name>NextURI</name>\n"
222 " <direction>out</direction>\n"
224 "<relatedStateVariable>NextAVTransportURI</relatedStateVariable>\n"
227 " <name>NextURIMetaData</name>\n"
228 " <direction>out</direction>\n"
230 "<relatedStateVariable>NextAVTransportURIMetaData</"
231 "relatedStateVariable>\n"
234 " <name>PlayMedium</name>\n"
235 " <direction>out</direction>\n"
237 "<relatedStateVariable>PlaybackStorageMedium</relatedStateVariable>\n"
240 " <name>RecordMedium</name>\n"
241 " <direction>out</direction>\n"
243 "<relatedStateVariable>RecordStorageMedium</relatedStateVariable>\n"
246 " <name>WriteStatus</name>\n"
247 " <direction>out</direction>\n"
249 "<relatedStateVariable>RecordMediumWriteStatus</relatedStateVariable>\n"
256 " <serviceStateTable>\n"
257 " <!-- Essential State Variables -->\n"
258 " <stateVariable sendEvents=\"yes\">\n"
259 " <name>TransportState</name>\n"
260 " <dataType>string</dataType>\n"
261 " <allowedValueList>\n"
262 " <allowedValue>STOPPED</allowedValue>\n"
263 " <allowedValue>PLAYING</allowedValue>\n"
264 " <allowedValue>PAUSED_PLAYBACK</allowedValue>\n"
265 " <allowedValue>TRANSITIONING</allowedValue>\n"
266 " <allowedValue>NO_MEDIA_PRESENT</allowedValue>\n"
267 " </allowedValueList>\n"
268 " <defaultValue>NO_MEDIA_PRESENT</defaultValue>\n"
269 " </stateVariable>\n"
271 " <stateVariable sendEvents=\"yes\">\n"
272 " <name>TransportStatus</name>\n"
273 " <dataType>string</dataType>\n"
274 " <allowedValueList>\n"
275 " <allowedValue>OK</allowedValue>\n"
276 " <allowedValue>ERROR_OCCURRED</allowedValue>\n"
277 " </allowedValueList>\n"
278 " <defaultValue>OK</defaultValue>\n"
279 " </stateVariable>\n"
281 " <stateVariable sendEvents=\"yes\">\n"
282 " <name>TransportPlaySpeed</name>\n"
283 " <dataType>string</dataType>\n"
284 " <defaultValue>1</defaultValue>\n"
285 " </stateVariable>\n"
287 " <!-- Media-related State Variables -->\n"
288 " <stateVariable sendEvents=\"yes\">\n"
289 " <name>AVTransportURI</name>\n"
290 " <dataType>string</dataType>\n"
291 " </stateVariable>\n"
293 " <stateVariable sendEvents=\"yes\">\n"
294 " <name>AVTransportURIMetaData</name>\n"
295 " <dataType>string</dataType>\n"
296 " </stateVariable>\n"
298 " <stateVariable sendEvents=\"yes\">\n"
299 " <name>CurrentTrack</name>\n"
300 " <dataType>ui4</dataType>\n"
301 " <defaultValue>0</defaultValue>\n"
302 " </stateVariable>\n"
304 " <stateVariable sendEvents=\"yes\">\n"
305 " <name>CurrentTrackDuration</name>\n"
306 " <dataType>string</dataType>\n"
307 " </stateVariable>\n"
309 " <stateVariable sendEvents=\"yes\">\n"
310 " <name>RelativeTimePosition</name>\n"
311 " <dataType>string</dataType>\n"
312 " </stateVariable>\n"
314 " <stateVariable sendEvents=\"yes\">\n"
315 " <name>AbsoluteTimePosition</name>\n"
316 " <dataType>string</dataType>\n"
317 " </stateVariable>\n"
319 " <!-- Argument Type State Variables -->\n"
320 " <stateVariable sendEvents=\"no\">\n"
321 " <name>A_ARG_TYPE_InstanceID</name>\n"
322 " <dataType>ui4</dataType>\n"
323 " </stateVariable>\n"
325 " <!-- Additional required state variables (can have empty/default "
327 " <stateVariable sendEvents=\"yes\">\n"
328 " <name>CurrentTrackMetaData</name>\n"
329 " <dataType>string</dataType>\n"
330 " </stateVariable>\n"
332 " <stateVariable sendEvents=\"yes\">\n"
333 " <name>CurrentTrackURI</name>\n"
334 " <dataType>string</dataType>\n"
335 " </stateVariable>\n"
337 " <stateVariable sendEvents=\"yes\">\n"
338 " <name>RelativeCounterPosition</name>\n"
339 " <dataType>i4</dataType>\n"
340 " </stateVariable>\n"
342 " <stateVariable sendEvents=\"yes\">\n"
343 " <name>AbsoluteCounterPosition</name>\n"
344 " <dataType>i4</dataType>\n"
345 " </stateVariable>\n"
347 " <stateVariable sendEvents=\"yes\">\n"
348 " <name>NumberOfTracks</name>\n"
349 " <dataType>ui4</dataType>\n"
350 " <defaultValue>0</defaultValue>\n"
351 " </stateVariable>\n"
353 " <stateVariable sendEvents=\"yes\">\n"
354 " <name>CurrentMediaDuration</name>\n"
355 " <dataType>string</dataType>\n"
356 " </stateVariable>\n"
358 " <stateVariable sendEvents=\"yes\">\n"
359 " <name>NextAVTransportURI</name>\n"
360 " <dataType>string</dataType>\n"
361 " </stateVariable>\n"
363 " <stateVariable sendEvents=\"yes\">\n"
364 " <name>NextAVTransportURIMetaData</name>\n"
365 " <dataType>string</dataType>\n"
366 " </stateVariable>\n"
368 " <stateVariable sendEvents=\"yes\">\n"
369 " <name>PlaybackStorageMedium</name>\n"
370 " <dataType>string</dataType>\n"
371 " <defaultValue>NETWORK</defaultValue>\n"
372 " </stateVariable>\n"
374 " <stateVariable sendEvents=\"yes\">\n"
375 " <name>RecordStorageMedium</name>\n"
376 " <dataType>string</dataType>\n"
377 " <defaultValue>NOT_IMPLEMENTED</defaultValue>\n"
378 " </stateVariable>\n"
380 " <stateVariable sendEvents=\"yes\">\n"
381 " <name>RecordMediumWriteStatus</name>\n"
382 " <dataType>string</dataType>\n"
383 " <defaultValue>NOT_IMPLEMENTED</defaultValue>\n"
384 " </stateVariable>\n"
386 " </serviceStateTable>\n"
389 return out.print(txt);
406 "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
407 "<scpd xmlns=\"urn:schemas-upnp-org:service-1-0\">\n"
409 " <major>1</major>\n"
410 " <minor>0</minor>\n"
413 " <!-- Essential Volume Control -->\n"
415 " <name>SetVolume</name>\n"
418 " <name>InstanceID</name>\n"
419 " <direction>in</direction>\n"
421 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
424 " <name>Channel</name>\n"
425 " <direction>in</direction>\n"
427 "<relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>\n"
430 " <name>DesiredVolume</name>\n"
431 " <direction>in</direction>\n"
432 " <relatedStateVariable>Volume</relatedStateVariable>\n"
438 " <name>GetVolume</name>\n"
441 " <name>InstanceID</name>\n"
442 " <direction>in</direction>\n"
444 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
447 " <name>Channel</name>\n"
448 " <direction>in</direction>\n"
450 "<relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>\n"
453 " <name>CurrentVolume</name>\n"
454 " <direction>out</direction>\n"
455 " <relatedStateVariable>Volume</relatedStateVariable>\n"
460 " <!-- Essential Mute Control -->\n"
462 " <name>SetMute</name>\n"
465 " <name>InstanceID</name>\n"
466 " <direction>in</direction>\n"
468 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
471 " <name>Channel</name>\n"
472 " <direction>in</direction>\n"
474 "<relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>\n"
477 " <name>DesiredMute</name>\n"
478 " <direction>in</direction>\n"
479 " <relatedStateVariable>Mute</relatedStateVariable>\n"
485 " <name>GetMute</name>\n"
488 " <name>InstanceID</name>\n"
489 " <direction>in</direction>\n"
491 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
494 " <name>Channel</name>\n"
495 " <direction>in</direction>\n"
497 "<relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>\n"
500 " <name>CurrentMute</name>\n"
501 " <direction>out</direction>\n"
502 " <relatedStateVariable>Mute</relatedStateVariable>\n"
507 " <!-- Optional but recommended -->\n"
509 " <name>ListPresets</name>\n"
512 " <name>InstanceID</name>\n"
513 " <direction>in</direction>\n"
515 "<relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>\n"
518 " <name>CurrentPresetNameList</name>\n"
519 " <direction>out</direction>\n"
521 "<relatedStateVariable>PresetNameList</relatedStateVariable>\n"
528 " <serviceStateTable>\n"
529 " <!-- Core State Variables -->\n"
530 " <stateVariable sendEvents=\"yes\">\n"
531 " <name>Volume</name>\n"
532 " <dataType>ui2</dataType>\n"
533 " <allowedValueRange>\n"
534 " <minimum>0</minimum>\n"
535 " <maximum>100</maximum>\n"
537 " </allowedValueRange>\n"
538 " <defaultValue>50</defaultValue>\n"
539 " </stateVariable>\n"
541 " <stateVariable sendEvents=\"yes\">\n"
542 " <name>Mute</name>\n"
543 " <dataType>boolean</dataType>\n"
544 " <defaultValue>0</defaultValue>\n"
545 " </stateVariable>\n"
547 " <!-- Argument Type State Variables -->\n"
548 " <stateVariable sendEvents=\"no\">\n"
549 " <name>A_ARG_TYPE_InstanceID</name>\n"
550 " <dataType>ui4</dataType>\n"
551 " </stateVariable>\n"
553 " <stateVariable sendEvents=\"no\">\n"
554 " <name>A_ARG_TYPE_Channel</name>\n"
555 " <dataType>string</dataType>\n"
556 " <allowedValueList>\n"
557 " <allowedValue>Master</allowedValue>\n"
558 " </allowedValueList>\n"
559 " </stateVariable>\n"
561 " <!-- Preset Support -->\n"
562 " <stateVariable sendEvents=\"no\">\n"
563 " <name>PresetNameList</name>\n"
564 " <dataType>string</dataType>\n"
565 " <defaultValue>FactoryDefault</defaultValue>\n"
566 " </stateVariable>\n"
568 " <!-- Additional variables (minimal set) -->\n"
569 " <stateVariable sendEvents=\"yes\">\n"
570 " <name>Brightness</name>\n"
571 " <dataType>ui2</dataType>\n"
572 " <allowedValueRange>\n"
573 " <minimum>0</minimum>\n"
574 " <maximum>100</maximum>\n"
576 " </allowedValueRange>\n"
577 " <defaultValue>50</defaultValue>\n"
578 " </stateVariable>\n"
580 " </serviceStateTable>\n"
583 return out.print(txt);
600 "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
601 "<scpd xmlns=\"urn:schemas-upnp-org:service-1-0\">\n"
603 " <major>1</major>\n"
604 " <minor>0</minor>\n"
608 " <name>GetProtocolInfo</name>\n"
611 " <name>Source</name>\n"
612 " <direction>out</direction>\n"
614 "<relatedStateVariable>SourceProtocolInfo</relatedStateVariable>\n"
617 " <name>Sink</name>\n"
618 " <direction>out</direction>\n"
620 "<relatedStateVariable>SinkProtocolInfo</relatedStateVariable>\n"
625 " <name>GetCurrentConnectionIDs</name>\n"
628 " <name>ConnectionIDs</name>\n"
629 " <direction>out</direction>\n"
631 "<relatedStateVariable>CurrentConnectionIDs</relatedStateVariable>\n"
635 " <!-- Optional: Remove PrepareForConnection and "
636 "GetCurrentConnectionInfo for simpler implementation -->\n"
638 " <serviceStateTable>\n"
639 " <stateVariable sendEvents=\"yes\">\n"
640 " <name>SourceProtocolInfo</name>\n"
641 " <dataType>string</dataType>\n"
642 " <defaultValue></defaultValue>\n"
643 " </stateVariable>\n"
644 " <stateVariable sendEvents=\"yes\">\n"
645 " <name>SinkProtocolInfo</name>\n"
646 " <dataType>string</dataType>\n"
647 " <!-- Example: Add supported formats -->\n"
649 "<defaultValue>http-get:*:audio/mpeg:*,http-get:*:audio/"
650 "wav:*,http-get:*:audio/L16:*,http-get:*:audio/flac:*</defaultValue>\n"
651 " </stateVariable>\n"
652 " <stateVariable sendEvents=\"yes\">\n"
653 " <name>CurrentConnectionIDs</name>\n"
654 " <dataType>string</dataType>\n"
655 " <defaultValue>0</defaultValue>\n"
656 " </stateVariable>\n"
657 " </serviceStateTable>\n"
660 return out.print(msg);
Abstract DLNA Descriptor Generation.
Definition: DLNADescr.h:9
Definition: Allocator.h:13