TPU SOUND PROJECT

Index:

  1. Introduction
  2. HW requirements
  3. SW requirements
  4. UPnP services used
  5. The UPnP control point
  6. The UPnP media renderer (smart speaker)
  7. The user interface

The UPnP control point:

Media Renderer Interface

+getStackStatus() +getName(): string +getIPV4(): string +getPort(): string +isAVTransportSupported(): bool +getMetaData(duration:string): string +isPlaying(): bool +isPauseSet(): bool +raisePause() +removePause() +rePlay(): string +getLastPlayed(): string +getCurrentState(): string +setLastPlayed(lastPlay:string) +setCurrentState(newState:string) +setNowPlaying(nextPlay:string) +setAVTU(song_uri:string,sid:string="0",metadata:string="") +setPLAY(song_uri:string,sid:string="0") +setSEEK(target:string,sid:string="0",unit:string="TRACK_NR") +setMUTE(channel:string="PCM",sid:string="0",dm:bool="false") +setVOLU(dv:string,channel:string="PCM",sid:string="0") +continuousPlay() +AVTU_params,PLAY_params,SEEK_params,MUTE_params,VOLU_params: vector‹string› +PAUS_sid,STOP_sid: string

A playback device is succesfully added as local media render if and only if (at least) it supports two UPnP services: Audio-Video Transport and Rendering Control. Play, Pause, Stop and Seek actions belong to the first one, instead Volume and Mute actions belong to the second one. This interface updates current status basing on the SSDP packets arrivals (from renderer) and on the HTTP requests (from UI).