maotouying writes

 I install openhome and sc2mpd on unbuntu, but cannot install openhome on Embedded devices(platform is mips).I change the gcc in makefile,but when I install sc2mpd is still error,if you have time ,please help about it,thanks very much.
 the error log is :
/my/place/for/openhome/ohSongcast/Build/Obj/Posix/Release//Ohm.o: Relocations in generic ELF (EM: 3)
/my/place/for/openhome/ohSongcast/Build/Obj/Posix/Release//Ohm.o: could not read symbols: File in wrong format

maotouying writes

I have already solved this problem

medoc92 writes

Sorry I could not help on this, I had no time these last few days. Would it be useful to include your solution of the problem in the code ?

maotouying writes

This problem is because openhome cannot very good support MIPS at compile time,Need to add MIPS cross compile tools to openhome

maotouying writes

When I try to run sc2mpd, I met two error message below, which leads to the consistent unable to play out(I have executed command :scctl -S ): scctl -s master slaver Setting up slaver libupnpp/control/service.cxx:271::Service::srvCB: no callback found for sid uuid:8077a1a2-1dd2-11b2-b1ed-acc8a3b84f94 slaver: already in receiver mode libupnpp/control/service.cxx:110::Service::Service: urn:av-openhome-org:service:Receiver:1 SID libupnpp/control/service.cxx:110::Service::Service: urn:av-openhome-org:service:Product:1 SID libupnpp/control/service.cxx:110::Service::Service: urn:av-openhome-org:service:Receiver:1 SID libupnpp/control/service.cxx:110::Service::Service: urn:av-openhome-org:service:Product:1 SID

 scctl  -s master slaver
scctl_src/scctl.cpp:294::openconn(/tmp/scctl0/sock) failed (ok: server not running)
libupnpp/upnpplib.cxx:146::LibUPnP: Using IP 192.168.1.22 port 49152
libupnpp/control/discovery.cxx:147::discoExplorer: downloading http://192.168.1.22:8200/rootDesc.xml
libupnpp/control/discovery.cxx:147::discoExplorer: downloading http://192.168.1.1:23654/rootDesc.xml
libupnpp/control/discovery.cxx:147::discoExplorer: downloading http://192.168.1.14:53168/desc
libupnpp/control/discovery.cxx:147::discoExplorer: downloading http://192.168.1.254:1900/rootDesc.xml
libupnpp/control/discovery.cxx:147::discoExplorer: downloading http://192.168.1.49:49152/description.xml
libupnpp/control/discovery.cxx:147::discoExplorer: downloading http://192.168.1.49:8200/rootDesc.xml
libupnpp/control/discovery.cxx:147::discoExplorer: downloading http://192.168.1.254:1900/rootDesc.xml
libupnpp/control/discovery.cxx:147::discoExplorer: downloading http://192.168.1.1:23654/rootDesc.xml
libupnpp/control/discovery.cxx:147::discoExplorer: downloading http://192.168.1.22:8200/rootDesc.xml
libupnpp/control/discovery.cxx:142::discovery:cllb: already downloading http://192.168.1.14:53168/desc
libupnpp/control/discovery.cxx:147::discoExplorer: downloading http://192.168.1.22:49153/description.xml

medoc92 writes

What does scctl -l print ?

maotouying writes

Hi medoc92, I’m very sorry so long reply you,because I have recently taken a vacation. Today, I use the latest version(upmpdcli-1.1.0),There is still a problem,The log is as follows: root@OpenWrt:/# scctl -S & root@OpenWrt:/# libupnpp/upnpplib.cxx:153::LibUPnP: Using IP 192.168.1.9 port 49152 libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.254:1900/rootDesc.xml libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.1:2453/rootDesc.xml libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.4:53168/desc libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.240:49153/description.xml libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.104:58645/dev/4b241470-2f8a-e3ca-0000-00000fbecd2f/desc.xml libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.104:58645/dev/4b241470-2f8a-e3ca-0000-00007bcc89bc/desc.xml libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.10:1899/DeviceDescription.xml libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-3a90-4405-8e43-6c0464e19eda libupnpp/control/mediarenderer.cxx:169::MediaRenderer: OHProduct service not found scctl_src/scctl.cpp:470::scctl: server: openservice(/tmp/scctl0/sock) Ok libupnpp/control/httpdownload.cxx:67::downloadUrlWithCurl: curl_easy_perform(): Error libupnpp/control/discovery.cxx:156::discovery:cllb: downloadUrlWithCurl error for: http://192.168.1.10:1899/DeviceDescription.xml

root@OpenWrt:/# scctl -s master slaver libupnpp/control/httpdownload.cxx:67::downloadUrlWithCurl: curl_easy_perform(): Error libupnpp/control/discovery.cxx:156::discovery:cllb: downloadUrlWithCurl error for: http://192.168.1.254:1900/rootDesc.xml

root@OpenWrt:/# root@OpenWrt:/# scctl -l libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-3a90-4405-8e43-6c0464e19eda libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-3a90-4405-8e43-6c0464e19eda libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-3a90-4405-8e43-6c0464e19eda libupnpp/control/httpdownload.cxx:67::downloadUrlWithCurl: curl_easy_perform(): Error libupnpp/control/discovery.cxx:156::discovery:cllb: downloadUrlWithCurl error for: http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-3a90-4405-8e43-6c0464e19eda libupnpp/control/service.cxx:351::Service:unSubscribe: failed: -207 : UPNP_E_TIMEDOUT scctl_src/scctl.cpp:421::scctl: server: send() failed

maotouying writes

Hi medoc92, I try to use "scctl -r master slaver" command, there no previous problems,But there is no sound.

root@OpenWrt:/# scctl -r master slaver root@OpenWrt:/# libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.4:52530/d6eef472538d98256da804a1a835b07c/Upnp/device.xml root@OpenWrt:/# libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-3a90-4405-8e43-6c0464e19eda libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-3a90-4405-8e43-6c0464e19eda libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-3a90-4405-8e43-6c0464e19eda libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-3a90-4405-8e43-6c0464e19eda problems opening audio devicelibupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.240:49153/description.xml libupnpp/control/httpdownload.cxx:67::downloadUrlWithCurl: curl_easy_perform(): Error libupnpp/control/discovery.cxx:156::discovery:cllb: downloadUrlWithCurl error for: http://192.168.1.240:49153/description.xml libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.240:8200/rootDesc.xml libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa6/desc libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa7/desc libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa7/desc libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa7/desc libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa6/desc libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa6/desc libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa7/desc libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa7/desc libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa6/desc libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa6/desc

root@OpenWrt:/# mpc http://192.168.1.15:57645/external/audio/media/399.mp3 [paused] #1/1 0:00/3:10 (0%) volume: 30% repeat: off random: off single: off consume: off ERROR: problems opening audio device

medoc92 writes

maotouying writes:

>    Hi medoc92,
>    I try to use "scctl -r master slaver" command, there no previous
>    problems,But there is no sound.

I am not sure that I remember your configuration. Could you please describe it and describe what you want to do ?

From the mpc message, it seems that mpd can’t open the audio device, this should be the first thing to check if you want to play music on this machine.

For associating Songcast Senders and Receivers, I would now advise to use the Songcast tool in upplay "File" menu, this is much easier to use than scctl.

Cheers, jf

>    root@OpenWrt:/# scctl -r master slaver
>    root@OpenWrt:/# libupnpp/control/discovery.cxx:147::discovery:cllb:
>    already downloading
>    [1]http://192.168.1.4:52530/d6eef472538d98256da804a1a835b07c/Upnp/devic
>    e.xml
>    root@OpenWrt:/# libupnpp/control/discovery.cxx:147::discovery:cllb:
>    already downloading
>    [2]http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-
>    3a90-4405-8e43-6c0464e19eda
>    libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading
>    [3]http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-
>    3a90-4405-8e43-6c0464e19eda
>    libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading
>    [4]http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-
>    3a90-4405-8e43-6c0464e19eda
>    libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading
>    [5]http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-
>    3a90-4405-8e43-6c0464e19eda
>    problems opening audio
>    devicelibupnpp/control/discovery.cxx:147::discovery:cllb: already
>    downloading [6]http://192.168.1.240:49153/description.xml
>    libupnpp/control/httpdownload.cxx:67::downloadUrlWithCurl:
>    curl_easy_perform(): Error
>    libupnpp/control/discovery.cxx:156::discovery:cllb: downloadUrlWithCurl
>    error for: [7]http://192.168.1.240:49153/description.xml
>    libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading
>    [8]http://192.168.1.240:8200/rootDesc.xml
>    libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading
>    [9]http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860
>    aa6/desc
>    libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading
>    [10]http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc086
>    0aa7/desc
>    libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading
>    [11]http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc086
>    0aa7/desc
>    libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading
>    [12]http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc086
>    0aa7/desc
>    libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading
>    [13]http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc086
>    0aa6/desc
>    libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading
>    [14]http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc086
>    0aa6/desc
>    libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading
>    [15]http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc086
>    0aa7/desc
>    libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading
>    [16]http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc086
>    0aa7/desc
>    libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading
>    [17]http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc086
>    0aa6/desc
>    libupnpp/control/discovery.cxx:147::discovery:cllb: already downloading
>    [18]http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc086
>    0aa6/desc
>
>    root@OpenWrt:/# mpc
>    [19]http://192.168.1.15:57645/external/audio/media/399.mp3
>    [paused] [20]#1/1 0:00/3:10 (0%)
>    volume: 30% repeat: off random: off single: off consume: off
>    ERROR: problems opening audio device
>
>    —
>    Reply to this email directly or [21]view it on GitHub.
>
> References
> 1. http://192.168.1.4:52530/d6eef472538d98256da804a1a835b07c/Upnp/device.xml
> 2. http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-3a90-4405-8e43-6c0464e19eda
> 3. http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-3a90-4405-8e43-6c0464e19eda
> 4. http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-3a90-4405-8e43-6c0464e19eda
> 5. http://192.168.1.4:2869/upnphost/udhisapi.dll?content=uuid:852d8a0f-3a90-4405-8e43-6c0464e19eda
> 6. http://192.168.1.240:49153/description.xml
> 7. http://192.168.1.240:49153/description.xml
> 8. http://192.168.1.240:8200/rootDesc.xml
> 9. http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa6/desc
>    1. http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa7/desc
>    2. http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa7/desc
>    3. http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa7/desc
>    4. http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa6/desc
>    5. http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa6/desc
>    6. http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa7/desc
>    7. http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa7/desc
>    8. http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa6/desc
>    9. http://192.168.1.15:60268/upnp/dev/599cb196-564f-808d-ffff-ffffc0860aa6/desc
>    10. http://192.168.1.15:57645/external/audio/media/399.mp3
>    11. https://github.com/medoc92/sc2mpd/issues/1
>    12. https://github.com/medoc92/sc2mpd/issues/2#issuecomment-184490776

maotouying writes

Hi medoc92, My goal is to want to achieve in the master and slaver synchronous playing music(multiroom synchronous ),I have set the parameters in the upmpdcli.conf(scplaymethod = alsa). My mpd use bubbleupnp to play music is ok,I can use Kinsky play the music alone one machine. I try to use upply to achieve my goals,but there also no sound, Where is the problem may occur? upmpcli log follow: src/ohproduct.cxx:183::OHProduct::product libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_CONTROL_ACTION_REQUEST libupnpp/device/device.cxx:293::UPNP_CONTROL_ACTION_REQUEST: ProtocolInfo. Params: <?xml version="1.0"? > /u:ProtocolInfo

src/ohplaylist.cxx:784::OHPlaylist::protocolInfo libupnpp/device/device.cxx:439::UpnpDevice::notifyEvent urn:av-openhome-org:serviceId:Receiver Uri=ohz://239.255.255.250:51972/d6eef472538d98256da804a1a835b07c Metadata=dc:titlePC-20151027CXEL/dc:titleohz://239.255.255.250:51972/d6eef472538d98256da804a1a835b07cupnp:classobject.item.audioItem/upnp:class libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_EVENT_SUBSCRIPTION_REQUEST libupnpp/device/device.cxx:350::UPNP_EVENT_SUBSCRIPTION_REQUEST: urn:upnp-org:serviceId:RenderingControl libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_EVENT_SUBSCRIPTION_REQUEST libupnpp/device/device.cxx:350::UPNP_EVENT_SUBSCRIPTION_REQUEST: urn:upnp-org:serviceId:AVTransport src/avtransport.cxx:300::UpMpdAVTransport::getEventDataTransport: libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_EVENT_SUBSCRIPTION_REQUEST libupnpp/device/device.cxx:350::UPNP_EVENT_SUBSCRIPTION_REQUEST: urn:upnp-org:serviceId:ConnectionManager libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_EVENT_SUBSCRIPTION_REQUEST libupnpp/device/device.cxx:350::UPNP_EVENT_SUBSCRIPTION_REQUEST: urn:av-openhome-org:serviceId:Product libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_EVENT_SUBSCRIPTION_REQUEST libupnpp/device/device.cxx:350::UPNP_EVENT_SUBSCRIPTION_REQUEST: urn:av-openhome-org:serviceId:Info libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_EVENT_SUBSCRIPTION_REQUEST libupnpp/device/device.cxx:350::UPNP_EVENT_SUBSCRIPTION_REQUEST: urn:av-openhome-org:serviceId:Time

libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_CONTROL_ACTION_REQUEST libupnpp/device/device.cxx:293::UPNP_CONTROL_ACTION_REQUEST: SetSender. Params: <?xml version="1.0"? >

ohz://239.255.255.250:51972/d6eef472538d98256da804a1a835b07c <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" ><item id="0" restricted="True" >dc:titlePC-20151027CXEL/dc:title<res protocolInfo="ohz:::m" >ohz://239.255.255.250:51972/d6eef472538d98256da804a1a835b07c</res >upnp:classobject.item.audioItem/upnp:class</item ></DIDL-Lite > /u:SetSender

src/ohreceiver.cxx:276::OHReceiver::setSender libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_CONTROL_ACTION_REQUEST libupnpp/device/device.cxx:293::UPNP_CONTROL_ACTION_REQUEST: SetSourceIndex. Params: <?xml version="1.0"? >

1 /u:SetSourceIndex

src/ohproduct.cxx:314::OHProduct::setSourceIndex src/ohproduct.cxx:243::OHProduct::iSetSourceIndex: current 1 new 1 libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_CONTROL_ACTION_REQUEST libupnpp/device/device.cxx:293::UPNP_CONTROL_ACTION_REQUEST: SetSender. Params: <?xml version="1.0"? >

ohz://239.255.255.250:51972/d6eef472538d98256da804a1a835b07c <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" ><item id="0" restricted="True" >dc:titlePC-20151027CXEL/dc:title<res protocolInfo="ohz:::m" >ohz://239.255.255.250:51972/d6eef472538d98256da804a1a835b07c</res >upnp:classobject.item.audioItem/upnp:class</item ></DIDL-Lite > /u:SetSender

libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_CONTROL_ACTION_REQUEST libupnpp/device/device.cxx:293::UPNP_CONTROL_ACTION_REQUEST: Play. Params: <?xml version="1.0"? > /u:Play

src/ohreceiver.cxx:207::OHReceiver::play src/ohreceiver.cxx:149::OHReceiver::play: executing /usr/bin/sc2mpd src/ohreceiver.cxx:156::OHReceiver::play: sc2mpd pid 1451 src/ohreceiver.cxx:276::OHReceiver::setSender sc2src/sc2mpd.cpp:432::scmpdcli: using subnet 192.168.1.0 libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_CONTROL_ACTION_REQUEST libupnpp/device/device.cxx:293::UPNP_CONTROL_ACTION_REQUEST: SetSourceIndex. Params: <?xml version="1.0"? >

1 /u:SetSourceIndex

src/ohproduct.cxx:314::OHProduct::setSourceIndex src/ohproduct.cxx:243::OHProduct::iSetSourceIndex: current 1 new 1 libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_CONTROL_ACTION_REQUEST libupnpp/device/device.cxx:293::UPNP_CONTROL_ACTION_REQUEST: SetSender. Params: libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_CONTROL_ACTION_REQUEST libupnpp/device/device.cxx:293::UPNP_CONTROL_ACTION_REQUEST: Play. Params: <?xml version="1.0"? > /u:Play

src/ohreceiver.cxx:207::OHReceiver::play <?xml version="1.0"? >

ohz://239.255.255.250:51972/d6eef472538d98256da804a1a835b07c <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" ><item id="0" restricted="True" >dc:titlePC-20151027CXEL/dc:title<res protocolInfo="ohz:::m" >ohz://239.255.255.250:51972/d6eef472538d98256da804a1a835b07c</res >upnp:classobject.item.audioItem/upnp:class</item ></DIDL-Lite > /u:SetSender

src/ohreceiver.cxx:149::OHReceiver::play: executing /usr/bin/sc2mpd src/ohreceiver.cxx:156::OHReceiver::play: sc2mpd pid 1479 src/ohreceiver.cxx:276::OHReceiver::setSender libupnpp/device/device.cxx:439::UpnpDevice::notifyEvent urn:av-openhome-org:serviceId:Receiver TransportState=Playing sc2src/sc2mpd.cpp:432::scmpdcli: using subnet 192.168.1.0 libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_CONTROL_ACTION_REQUEST libupnpp/device/device.cxx:293::UPNP_CONTROL_ACTION_REQUEST: Play. Params: <?xml version="1.0"? > /u:Play

src/ohreceiver.cxx:207::OHReceiver::play src/ohreceiver.cxx:149::OHReceiver::play: executing /usr/bin/sc2mpd src/ohreceiver.cxx:156::OHReceiver::play: sc2mpd pid 1507 sc2src/sc2mpd.cpp:432::scmpdcli: using subnet 192.168.1.0

maotouying writes

maotouying writes

Hi medoc92, I have got a error when playing music,Do you know how this error?

GOT 508 GOT 509 REQUEST RESEND 510 511 512 GOT 510 [ 1793.544000] snd_pcm_update_hw_ptr0: 13 callbacks suppressed sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: 174 sc2src/alsadirect.cpp:105::snd-cm_writei(442 frames) failed: ret: -32 GOT 511 GOT 507 GOT 510 REQUEST RESEND 512 REQUEST RESEND 512 REQUEST RESEND 512 REQUEST RESEND 512 REQUEST RESEND 512 REQUEST RESEND 512 REQUEST RESEND 512 REQUEST RESEND 512 REQUEST RESEND 512 REQUEST RESEND 512 REQUEST RESEND 512 REQUEST RESEND 512 GOT 512 END sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: 263 sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: -32 sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: 263 sc2src/alsadirect.cpp:105::snd-cm_writei(442 frames) failed: ret: -32 libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_EVENT_SUBSCRIPTION_REQUEST libupnpp/device/device.cxx:350::UPNP_EVENT_SUBSCRIPTION_REQUEST: urn:av-openhome-org:serviceId:Volume libupnpp/upnpplib.cxx:264::LibUPnP::o_callback: event type: UPNP_EVENT_SUBSCRIPTION_REQUEST libupnpp/device/device.cxx:350::UPNP_EVENT_SUBSCRIPTION_REQUEST: urn:av-openhome-org:serviceId:Product

medoc92 writes

maotouying writes:

> My songcast and upplay setting is:
> songcast_setting
>
> upplay_setting

Ok, this looks rather normal to me. In the Songcast advanced properties, are you using multicast or single ?

Also, I’m sure that you already told me this, but, sorry, I forgot, are you using a wired or wireless network ?

If I understand you well, at the moment, the configuration with a single receiver is not working ? (Multiroom is for later?)

For a single receiver, you do not need to set up connections with upplay, the Windows Songcast application can connect the Windows Sender to a single Receiver.

Upplay (or scctl) are only useful either to display the status or to connect additional Receivers.

From what I see on the upplay screen copy, the upmpdcli receiver, is connected to the Windows sender, and things "should" work, without doing anything more.

From your later message, I am not exactly sure of what happens, but it is certain that the Sender is correctly corrected to the receiver, so this is not a Songcast issue (else sc2mpd would not try to write to alsa).

I am not too sure of what happens, it could be network trouble, but it seems more likely that sc2mpd has trouble writing to Alsa. Maybe it is trying to set parameters which are not supported by the device.

What device are you using ? Maybe try another device like plughw ?

maotouying writes

Hi medoc92, I use multicast in the Songcast advanced properties when I want to go to achieve multiroom, and set the parameters in the upmpdcli.conf(scplaymethod = alsa),and set receivers in upplay. the problem is should be sc2mpd has trouble writing to Alsa. error log is : sc2src/sc2mpd.cpp:252::Missed frames between 187428 and 187827 sc2src/alsadirect.cpp:105::snd-cm_writei(442 frames) failed: ret: 263 sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: -32 sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: 263 sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: -32 [11863.652000] snd_pcm_update_hw_ptr0: 10 callbacks suppressed sc2src/alsadirect.cpp:105::snd-cm_writei(442 frames) failed: ret: -32

   I  use unicast in the Songcast advanced properties , and set the parameters in the upmpdcli.conf(scplaymethod = mpd). At this time play music on a single device is OK.
log is:
root@OpenWrt:/# mpc
http://localhost:8768/Songcast.wav
[playing] #1/2   0:24/188:58 (0%)
volume: 30%   repeat: off   random: off   single: off   consume: off
root@OpenWrt:/# mpc playlist
http://localhost:8768/Songcast.wav
My device use wireless network, It is platform is mips and running openwrt operating system,it is a  embedded devices.
I have two questions:
1、Why not use the mpd mode to realize multiroom?
2、Why not send mp3 data between equipment to reduce network throughput problem?

medoc92 writes

maotouying writes:

> Hi medoc92,
> I use multicast in the Songcast advanced properties when I want to go to
> achieve multiroom, and set the parameters in the upmpdcli.conf(scplaymethod =
> alsa),and set receivers in upplay. the problem is should be sc2mpd has trouble
> writing to Alsa.
> error log is :
> sc2src/sc2mpd.cpp:252::Missed frames between 187428 and 187827
> sc2src/alsadirect.cpp:105::snd-cm_writei(442 frames) failed: ret: 263
> sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: -32
> sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: 263
> sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: -32
> [11863.652000] snd_pcm_update_hw_ptr0: 10 callbacks suppressed
> sc2src/alsadirect.cpp:105::snd-cm_writei(442 frames) failed: ret: -32
>
> I use unicast in the Songcast advanced properties , and set the parameters in
> the upmpdcli.conf(scplaymethod = mpd). At this time play music on a single
> device is OK.
> log is:
> root@OpenWrt:/# mpc
> http://localhost:8768/Songcast.wav
> [playing] #1/2 0:24/188:58 (0%)
> volume: 30% repeat: off random: off single: off consume: off
> root@OpenWrt:/# mpc playlist
> http://localhost:8768/Songcast.wav
>
> My device use wireless network, It is platform is mips and running openwrt
> operating system,it is a embedded devices.

Many wireless routers have trouble with multicast, especially for high data rates, see for example this: http://superuser.com/questions/730288/why-do-some-wifi-routers-block-multicast-packets-going-from-wired-to-wireless

> I have two questions:
> 1、Why not use the mpd mode to realize multiroom?

Because it is impossible to control the delay with mpd, it has a very deep input queue (several seconds), and we could not maintain even approximative synchronization. The queue is the cause of the long delay which sometimes occur before playing when using Songcast in this mode.

> 2、Why not send mp3 data between equipment to reduce network throughput
> problem?

I agree that this would be better, but this is not how the Songcast protocol is designed. The software I write only controls the Songcast connections. All the audio data is controlled by the Linn OpenHome/Songcast code, which I did not change.

For your case, the problem is that similar error messages could come out of Alsa (as far as I know) because of actual driver issue, or just because there was a data underflow (not enough data coming out of the network). I think that I would try Alsa with unicast first to see how it works. With a good WIFI link and only one device connected, this should be ok.

jf

maotouying writes

Hi medoc92, I use unicast in the Songcast advanced properties , and set the parameters in the upmpdcli.conf(scplaymethod = alsa),There is no sound from the single deivce,is the same with multiroom error,The problem is should be Alsa driver. log is: [ 252.108000] snd_pcm_update_hw_ptr0: 6 callbacks suppressed [ 257.372000] snd_pcm_update_hw_ptr0: 6 callbacks suppressed [ 262.640000] snd_pcm_update_hw_ptr0: 9 callbacks suppressed

[  490.904000] snd_pcm_update_hw_ptr0: 11 callbacks suppressed
[  531.052000] snd_pcm_update_hw_ptr0: 5 callbacks suppressed
[  539.096000] case1: w=0, r=5, end=3


== medoc92 writes

maotouying writes:

 > Hi medoc92,
 > I use unicast in the Songcast advanced properties , and set the parameters in
 > the upmpdcli.conf(scplaymethod = alsa),There is no sound from the single
 > deivce,is the same with multiroom error,The problem is should be Alsa driver.
 > log is:
 > [ 252.108000] snd_pcm_update_hw_ptr0: 6 callbacks suppressed
 > [ 257.372000] snd_pcm_update_hw_ptr0: 6 callbacks suppressed
 > [ 262.640000] snd_pcm_update_hw_ptr0: 9 callbacks suppressed
 > ........................................................
 > [ 490.904000] snd_pcm_update_hw_ptr0: 11 callbacks suppressed
 > [ 531.052000] snd_pcm_update_hw_ptr0: 5 callbacks suppressed
 > [ 539.096000] case1: w=0, r=5, end=3

I don't know what these messages mean. A google search seems to indicate
that at least some people think that these are just debug

Maybe sc2mpd is using parameters which the driver does not like for some
reason, but normally sc2mpd logs all errors in calls to alsa. Did you
activate sclogfilename to see if there are any messages in there ?

Maybe try to use a different alsa device like plughw ?


== maotouying writes

I open the log level is equal to 6 of upmpdcli,sc2mpd quote for the following error:

LATENCY 326
sc2src/sc2mpd.cpp:252::Missed frames between 978337 and 978896
sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: 263
sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: -32
src/mpdcli.cxx:275::MPDCli::mapSong
src/mpdcli.cxx:323::MPDCli::mapSong: got mpdid 0 Uri [http://localhost:8768/Songcast.wav] Artist [] Album [] Title [] Tno []
src/mpdcli.cxx:275::MPDCli::mapSong
src/mpdcli.cxx:323::MPDCli::mapSong: got mpdid 0 Uri [http://localhost:8768/Songcast.wav] Artist [] Album [] Title [] Tno []
src/mpdcli.cxx:388::MPDCli::getVolume
src/ohplaylist.cxx:149::OHPlaylist::makeIdArray
[ 7810.056000] snd_pcm_update_hw_ptr0: 10 callbacks suppressed
sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: -32
sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: 84
sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: -32
src/mpdcli.cxx:275::MPDCli::mapSong
src/mpdcli.cxx:323::MPDCli::mapSong: got mpdid 0 Uri [http://localhost:8768/Songcast.wav] Artist [] Album [] Title [] Tno []
src/mpdcli.cxx:275::MPDCli::mapSong
src/mpdcli.cxx:323::MPDCli::mapSong: got mpdid 0 Uri [http://localhost:8768/Songcast.wav] Artist [] Album [] Title [] Tno []
src/mpdcli.cxx:388::MPDCli::getVolume
src/ohplaylist.cxx:149::OHPlaylist::makeIdArray
BEGIN ON 978920
GOT 978944
GOT 978970
GOT 978995
GOT 979019


== maotouying writes

 Hi medoc92,
     I select "PL-to-Songcast"  in upplay File,I can play the music on the upmpdcli device which I choice in "select media render".

 How can I use a upmpdcli device as sender and receiver? and select the other upmpdcli device which I want to connect? What can I setting about it?

![04](https://cloud.githubusercontent.com/assets/16067208/13144148/ca6ac852-d683-11e5-8801-a9e9b72a5fc9.png)

![05](https://cloud.githubusercontent.com/assets/16067208/13144189/069eaf78-d684-11e5-91b5-2d81122a4374.png)


== medoc92 writes

maotouying writes:

 > Hi medoc92,
 > I select "PL-to-Songcast" in upplay File,I can play the music on the upmpdcli
 > device which I choice in "select media render".
 >
 > How can I use a upmpdcli device as sender and receiver? and select the other
 > upmpdcli device which I want to connect? What can I setting about it?

To setup a multiroom upmpdcli system from upplay:
- Select one upmpdcli renderer with upplay (File- >Select Media Renderer)
- Select the PL-to-Songcast source (or RD-to-Songcast) (File- >Select Source)

In this mode, upmpdcli does not play directly to mpd, but sends the stream
to its Songcast sender, and then plays the Songcast stream through its
receiver.
- Connect other Receivers using the "File- >Open Songcast tool" dialog


== maotouying writes

 Hi medoc92,
    I build the upmpdcli on two computers, upmpdcli runs in the ubuntu system installed in the vmware.
Two computers connections use wired.but there occurs  some errors. I will try it later.
Do you meet the same trouble?

mpd2src/mpd2sc.cpp:337::adapter list:
mpd2src/mpd2sc.cpp:342::  0: 192.168.1.6
mpd2src/mpd2sc.cpp:342::  1: 192.168.44.135
mpd2src/mpd2sc.cpp:355::using subnet 192.168.1.0
mpd2src/openaudio.cpp:90::Audioparams: freq 44100 bits 16 chans 2
mpd2src/fiforeader.cpp:53::FifoReader::open: blocking: 1
mpd2src/mpd2sc.cpp:382::sample rate:        44100
mpd2src/mpd2sc.cpp:383::sample size:        2
mpd2src/mpd2sc.cpp:384::channels:           2
mpd2src/mpd2sc.cpp:98::bytes per packet: 1764
mpd2src/mpd2sc.cpp:99::frames per packet: 441
mpd2src/mpd2sc.cpp:100::usec per packet:   10000
mpd2src/mpd2sc.cpp:128::PcmSender::Start: block on reading only
mpd2src/mpd2sc.cpp:183::PcmSender:busyRdWr: packetbytes 1764
client: [0] opened from 127.0.0.1:58192
sc2src/sc2mpd.cpp:432::scmpdcli: using subnet 192.168.1.0
LATENCY 100
player: played "http://192.168.1.9:8200/MediaItems/36.mp3"
BEGIN ON 582
GOT 583
REQUEST RESEND 581
GOT 581
END
sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: -32
sc2src/sc2mpd.cpp:432::scmpdcli: using subnet 192.168.1.0
LATENCY 326
sc2src/alsadirect.cpp:105::snd-cm_writei(427 frames) failed: ret: 229
sc2src/alsadirect.cpp:105::snd-cm_writei(427 frames) failed: ret: -32
sc2src/alsadirect.cpp:105::snd-cm_writei(427 frames) failed: ret: 276
sc2src/alsadirect.cpp:105::snd-cm_writei(428 frames) failed: ret: -32
sc2src/alsadirect.cpp:105::snd-cm_writei(428 frames) failed: ret: 335
sc2src/alsadirect.cpp:105::snd-cm_writei(428 frames) failed: ret: -32
sc2src/alsadirect.cpp:105::snd-cm_writei(427 frames) failed: ret: -32
I have a question please answer:
Whether  upmpdcli device as sender and receiver  can  be achieved by scctl is not upplay?

medoc92 writes

maotouying writes:

> Hi medoc92,

First the easy part:

> I have a question please answer: Whether upmpdcli device as sender and
> receiver can be achieved by scctl is not upplay?

To set up the Upmpdcli Sender/Receiver mode you need to select the corresponding Source. Upplay can do it, BubbleDS too, or any OpenHome Control Point which is able to select a Source (I am not sure about the others, but probably Lumin can do it too).

This way of activating the mode is a kind of trick: I am using the source selection to do a bit more than what it is supposed to do, but it is convenient, precisely because you don’t need a special tool to activate it.

scctl can’t do this, it can only control Receivers (tell them to play from the same Sender as another Receiver or to stop).

Scctl may have its use as a command line tool, but for experimenting, the Songcast tool in Upplay is much easier to use. I will probably rewrite scctl partially in the future to make it work more like the Upplay tool.

> I build the upmpdcli on two computers, upmpdcli runs in the ubuntu system
> installed in the vmware.
> Two computers connections use wired.but there occurs some errors. I will try it
> later.
> Do you meet the same trouble?
>
> mpd2src/mpd2sc.cpp:337::adapter list:
> mpd2src/mpd2sc.cpp:342:: 0: 192.168.1.6
> mpd2src/mpd2sc.cpp:342:: 1: 192.168.44.135
> mpd2src/mpd2sc.cpp:355::using subnet 192.168.1.0
> mpd2src/openaudio.cpp:90::Audioparams: freq 44100 bits 16 chans 2
> mpd2src/fiforeader.cpp:53::FifoReader::open: blocking: 1
> mpd2src/mpd2sc.cpp:382::sample rate: 44100
> mpd2src/mpd2sc.cpp:383::sample size: 2
> mpd2src/mpd2sc.cpp:384::channels: 2
> mpd2src/mpd2sc.cpp:98::bytes per packet: 1764
> mpd2src/mpd2sc.cpp:99::frames per packet: 441
> mpd2src/mpd2sc.cpp:100::usec per packet: 10000
> mpd2src/mpd2sc.cpp:128::PcmSender::Start: block on reading only
> mpd2src/mpd2sc.cpp:183::PcmSender:busyRdWr: packetbytes 1764
> client: [0] opened from 127.0.0.1:58192
> sc2src/sc2mpd.cpp:432::scmpdcli: using subnet 192.168.1.0
> LATENCY 100
> player: played "http://192.168.1.9:8200/MediaItems/36.mp3"
> BEGIN ON 582
> GOT 583
> REQUEST RESEND 581
> GOT 581
> END
> sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: -32
> sc2src/sc2mpd.cpp:432::scmpdcli: using subnet 192.168.1.0
> LATENCY 326

Here is the trace I have on an Ubuntu Trusty machine when playing a track in sender/receiver mode, with upmpdcli running in a terminal. Upmpdcli own log is going elsewhere, we only see the traces from sc2mpd (sclogfilename not set, scloglevel 4) and mpd2sc, the receiver and the sender, and also from the auxiliary mpd (see the image here for reminding how things are connected: http://lesbonscomptes.com/upmpdcli/upmpdcli-sender-receiver.png)

hm1$ sudo upmpdcli -c /etc/upmpdcli.conf config: Found database setting without music_directory - disabling database mpd2src/mpd2sc.cpp:339::adapter list: mpd2src/mpd2sc.cpp:344:: 0: 192.168.4.6 mpd2src/mpd2sc.cpp:357::using subnet 192.168.4.0 mpd2src/openaudio.cpp:90::Audioparams: freq 44100 bits 16 chans 2 mpd2src/fiforeader.cpp:53::FifoReader::open: blocking: 1 mpd2src/mpd2sc.cpp:384::sample rate: 44100 mpd2src/mpd2sc.cpp:385::sample size: 2 mpd2src/mpd2sc.cpp:386::channels: 2 mpd2src/mpd2sc.cpp:98::bytes per packet: 1764 mpd2src/mpd2sc.cpp:99::frames per packet: 441 mpd2src/mpd2sc.cpp:100::usec per packet: 10000 mpd2src/mpd2sc.cpp:128::PcmSender::Start: block on reading only mpd2src/mpd2sc.cpp:183::PcmSender:busyRdWr: packetbytes 1764 client: [0] opened from 127.0.0.1:54527 sc2src/sc2mpd.cpp:432::scmpdcli: using subnet 192.168.4.0 sc2src/alsadirect.cpp:286::audioEater: alsadirect. Will use converter type 2 sc2src/sc2mpd.cpp:163::=== STARTED ==== sc2src/sc2mpd.cpp:171::=== CONNECTED ==== sc2src/sc2mpd.cpp:349::OhmRcvDrv::Process:trk: TRACK SEQ 2 URI /tmp/tmpnqQD00.fifo METADATA sc2src/sc2mpd.cpp:356::OhmRcvDrv::Process:meta: METATEXT SEQUENCE 1 METATEXT PcmSender repeated play sc2src/sc2mpd.cpp:349::OhmRcvDrv::Process:trk: TRACK SEQ 2 URI /tmp/tmpnqQD00.fifo METADATA sc2src/sc2mpd.cpp:356::OhmRcvDrv::Process:meta: METATEXT SEQUENCE 1 METATEXT PcmSender repeated play LATENCY 100 sc2src/sc2mpd.cpp:176::=== PLAYING ==== sc2src/alsadirect.cpp:170::Alsa: periods min 1 max 9 sc2src/alsadirect.cpp:189::Alsa: set buffer_size: min 1881 max 1881 val 1881 sc2src/alsadirect.cpp:475::audioEater:alsa: qstarg 50 iqsz 45 qsize 49 ratio 1.00038 in 441 consumed 441 out 442 sc2src/alsadirect.cpp:475::audioEater:alsa: qstarg 50 iqsz 45 qsize 48 ratio 1.00091 in 441 consumed 441 out 442 sc2src/alsadirect.cpp:475::audioEater:alsa: qstarg 50 iqsz 47 qsize 50 ratio 1.00054 in 441 consumed 441 out 442 sc2src/sc2mpd.cpp:198::OhmRcvDrv::Process:audio: samplerate 44100 bitdepth 16 channels 2 samples 441 Halted ? 0 sc2src/alsadirect.cpp:475::audioEater:alsa: qstarg 50 iqsz 46 qsize 50 ratio 1.00023 in 441 consumed 441 out 441 sc2src/alsadirect.cpp:475::audioEater:alsa: qstarg 50 iqsz 46 qsize 49 ratio 0.999906 in 441 consumed 441 out 441 sc2src/alsadirect.cpp:475::audioEater:alsa: qstarg 50 iqsz 46 qsize 49 ratio 0.999628 in 441 consumed 441 out 441 sc2src/alsadirect.cpp:475::audioEater:alsa: qstarg 50 iqsz 45 qsize 48 ratio 0.999587 in 441 consumed 441 out 441 sc2src/sc2mpd.cpp:198::OhmRcvDrv::Process:audio: samplerate 44100 bitdepth 16 channels 2 samples 441 Halted ? 0 sc2src/alsadirect.cpp:475::audioEater:alsa: qstarg 50 iqsz 47 qsize 50 ratio 0.999545 in 441 consumed 441 out 441 player: played "http://192.168.4.4:9790/minimserver/*/mp3/variete/acdc/back_in_black/01*20-*20Hells*20Bells.mp3"

The part which seems wrong in your case is:

> BEGIN ON 582
> GOT 583
> REQUEST RESEND 581
> GOT 581
> END
> sc2src/alsadirect.cpp:105::snd-cm_writei(441 frames) failed: ret: -32

I think that these come from the songcast protocol code, and signal that a block was missed or something like this. The message from alsadirect is quite probably an underrun.

The problem is that I have no idea what may be causing your problem.

Do you have any sound at all ?

What audio device are you using (scalsadevice) ?

Also, can you send your /etc/upmpdcli.conf ? I could try to use exactly the same.

Jf

maotouying writes

Hi medoc92,

When I choice alsa mode there is no sound, I am trying it. But when I choice mpd mode on my embedded devices(Openwrt operating system),it has a sound,but the sound(music) no synchronization to upply playing content. The embedded devices playing content should is upnp playlist.

My computer audio device is ”Realtek High Definition Audio" and my embedded devices audio device is "WM8960".

My /usr/etc/upmpdcli.conf send to you use email. I only changed the content below: #Play method. This can be either mpd or alsa. alsa is the only way to #really avoid skips (and control the synchronization in multi-room setups).

scplaymethod = alsa

medoc92 writes

maotouying writes:

> Hi medoc92,
> When I choice alsa mode there is no sound, I am trying it.
>
> My computer audio device is �Realtek  High Definition Audio" and my
> embedded devices audio device is "WM8960".
>
> My upmpdcli.conf send to you use email.

I did not receive the upmpdcli.conf file.

Did you check that you could play a 44100/16/2 file using aplay and the same Alsa device (scalsadevice) that you are using for sc2mpd ?

aplay -D <yourdevice > somefile.wav

I guess that you can, but checking can’t hurt.

maotouying writes

 Hi medoc92,
My two computers have a sound now when run Upmpdcli Sender/Receiver mode.
Sometimes also can produce the following error message,But it will be back to normal.
I think the following error should be the problem of data throughput
log:
LATENCY 100
sc2src/sc2mpd.cpp:252::Missed frames between 66817 and 67339
sc2src/alsadirect.cpp:105::snd-cm_writei(442 frames) failed: ret: -32
BEGIN ON 67983
 My embedded devices can use "aplay somefile.wav" to play wav's music.
 but they can't  run Upmpdcli Sender/Receiver, there is no sound., the error also is:
[ 499.120000] snd_pcm_update_hw_ptr0: 10 callbacks suppressed
[ 505.304000] snd_pcm_update_hw_ptr0: 13 callbacks suppressed
[ 510.428000] snd_pcm_update_hw_ptr0: 8 callbacks suppressed
 When I  select one embedded devices as upmpdcli renderer with upplay (File- >Select Media Renderer)
and Select the PL-to-Songcast source (File- >Select Source), there no  embedded devices  choice in
upplay (File- >Open Songcast tool) as sender, the sender only my computers, my  embedded    device does not support the python。
Do you know that what reason maybe?

medoc92 writes

maotouying writes:

> Hi medoc92,
> My two computers have a sound now when run Upmpdcli Sender/Receiver mode.
> Sometimes also can produce the following error message,But it will be back to
> normal.
> I think the following error should be the problem of data throughput
> log:
> LATENCY 100
> sc2src/sc2mpd.cpp:252::Missed frames between 66817 and 67339
> sc2src/alsadirect.cpp:105::snd-cm_writei(442 frames) failed: ret: -32
> BEGIN ON 67983

Yes, it seems that the receiver is missing some frames, and that it causes an underrun on the audio driver. But I really have no idea what causes this, I don’t see it here.

>  My embedded devices can use "aplay somefile.wav" to play wav's music.
>  but they can't  run Upmpdcli Sender/Receiver, there is no sound., the error also is:
>
> [ 499.120000] snd_pcm_update_hw_ptr0: 10 callbacks suppressed
> [ 505.304000] snd_pcm_update_hw_ptr0: 13 callbacks suppressed
> [ 510.428000] snd_pcm_update_hw_ptr0: 8 callbacks suppressed

From what I read from a google search, these are debug messages, not errors. So I have no idea why there is no sound.

It could be a permissions issue, you could try to start the receiver yourself, and then connect it with the songcast tool (this must not be on the device which is in sender/receiver mode, but on a simple receiver): example command line:

/usr/bin/sc2mpd -d -u ohz://239.255.255.250:51972/urn:uuid:eb648d12-121c-5e25-8e74-7022c93c7e07 -c /etc/upmpdcli.conf

You can choose whatever you want for the uuid, as long as its unique on the local net (the above value should be ok).

>  When I  select one embedded devices as upmpdcli renderer with upplay (File- >Select Media Renderer)
> and Select the PL-to-Songcast source (File- >Select Source), there no  embedded devices  choice in
> upplay (File- >Open Songcast tool) as sender, the sender only my computers, my  embedded    device does not support the python。
> Do you know that what reason maybe?

Yes, this feature does need Python (2) because the script which starts the auxiliary MPD and Sender processes (scmakempdsender) is in Python. I guess that it could be rewritten in any language actually.

maotouying writes

Hi medoc92, I use the command line on my device and connect it with the songcast tool,but there is the same error and no sound on the device.

/usr/bin/sc2mpd -d -u ohz://239.255.255.250:51972/urn:uuid:fe9bdcc1-efc1-79dd-a71e-020c43011212 -c /etc/upmpdcli.conf

I run Upmpdcli Sender/Receiver mode to play the music on device’s SDcard, The purpose is to eliminate network transmission problem, but there is the same error and no sound on the device.

My device user is "root".

maotouying writes

Hi medoc92, I change my device to use a wired network,the same error remains and no any sound. I think that may not be a network problem, the problem would be sc2mpd or alsa

medoc92 writes

Yes, I agree with you, this is most probably a problem in the way sc2mpd accesses Alsa.

The problem is I don’t see what it can be. As far as I know, all errors when calling alsa are logged by sc2mpd, and we don’t see anything significant.

Do you know how fast your device is, compared for example to a raspberry pi ?

We could try to change the resample method by setting the following in upmpdcli.conf:

sccvttype = SRC_ZERO_ORDER_HOLD

In case the resampler is too slow, but this seems quite unlikely, I think that you would have at least some noises in this case. I’m going to look at the code again to see if I get another idea.

maotouying writes

My device speed slower than raspberry pi a lot,that would be a problem. I add "sccvttype = SRC_ZERO_ORDER_HOLD" in upmpdcli.conf, there can be a sound,but the sound is not normal. Whether I can send mp3 data to alsa play the music?

medoc92 writes

So the write error 32 was really due to an underrun.

In this case, running the sender and receiver on the same machine is a bad idea. Maybe try with the fast resampler and the sender on another machine to see if things are improved.

I agree that it’s quite strange that you can uncompress / play an mp3 and can not run the resampler, but maybe the mp3 code is optimized to better use the device hardware and the resampler is not.

For reference, the receiver with the resampler using SRC_SINC_FASTEST consumes 25-30% cpu on a Rasberry Pi 1