manfreddardenne writes

Hello

Using Roon with squeezelite enabled I try to reach upmpdcli with squeeze2upnp running on the same box , mpd is running on another box

Squeeze2upnp is able to list upmpdcli still when I play a song through Roon I have not sound at all and tracks are switching to the next one each second I can play with Roon to my Marantz and Sonos but not upmpdcli for the moment

see squeeze2upnp log when calling upmpdcli

squeeze2upnp log side [17:59:14.952347] process_strm:216 [0x730d70] strm command s [17:59:14.952436] process_strm:290 [0x730d70], strm s autostart: 1 transition period: 0 transition type: 0 codec: p [17:59:14.952482] sendSTAT:143 [0x730d70]: STAT:[STMf] msplayed 0 [17:59:14.952884] sq_callback:281 [0x78f770]: codec:p, ch:2, s:16, r:44100 [17:59:14.953003] sq_callback:296 [0x78f770]: no matching codec in player [17:59:14.953046] sendSTAT:143 [0x730d70]: STAT:[STMn] msplayed 0 [17:59:15.100224] XMLGetFirstDocumentItem:69 (BUG) ixmlNode_getFirstChild(tmpNode) returned NULL [17:59:15.100292] XMLGetFirstDocumentItem:69 (BUG) ixmlNode_getFirstChild(tmpNode) returned NULL [17:59:15.102009] SyncNotifState:479 UpMpd: uPNP stop [17:59:15.102043] sq_notify:1098 [0x730d70] notify STOP

Any idea , clue ?

Regards

medoc92 writes

It would be useful to have a look at the upmpdcli log at the time when this happens. I guess that the 2 XML error lines relate to data coming back from UPnP (squeeze does not use XML), but we do not see what the program was tryng to do when the error occurs.

What upmpdcli version are you using ?

manfreddardenne writes

Hello

I’m using the latest ubuntu package upmpdcli Will provide you with upmpdcli logs later on

Looking at squeeze2upnp code I have this in utils.c

char *XMLGetFirstDocumentItem(IXML_Document *doc, const char *item) { IXML_NodeList *nodeList = NULL; IXML_Node *textNode = NULL; IXML_Node *tmpNode = NULL; char *ret = NULL;

nodeList = ixmlDocument_getElementsByTagName(doc, (char *)item);
if (nodeList) {
        tmpNode = ixmlNodeList_item(nodeList, 0);
        if (tmpNode) {
                textNode = ixmlNode_getFirstChild(tmpNode);
                if (!textNode) {
                        LOG_WARN("(BUG) ixmlNode_getFirstChild(tmpNode) returned NULL", NULL);
                        ret = strdup("");
                }

Calls to this methods are below

squeeze2upnp.c:591: LastChange = XMLGetFirstDocumentItem(VarDoc, "LastChange"); squeeze2upnp.c:655: r = XMLGetFirstDocumentItem(Action- >ActionResult, "CurrentTransportState"); squeeze2upnp.c:662: r = XMLGetFirstDocumentItem(Action- >ActionResult, "RelTime"); squeeze2upnp.c:674: r = XMLGetFirstDocumentItem(Action- >ActionResult, "TrackURI"); squeeze2upnp.c:681: s = XMLGetFirstDocumentItem(Action- >ActionResult, "TrackMetaData"); squeeze2upnp.c:787: r = XMLGetFirstDocumentItem(Action- >ActionResult, "Sink"); squeeze2upnp.c:996: Manufacturer = XMLGetFirstDocumentItem(DescDoc, "manufacturer"); squeeze2upnp.c:997: UDN = XMLGetFirstDocumentItem(DescDoc, "UDN"); squeeze2upnp.c:1273: deviceType = XMLGetFirstDocumentItem(DescDoc, "deviceType"); squeeze2upnp.c:1274: friendlyName = XMLGetFirstDocumentItem(DescDoc, "friendlyName"); squeeze2upnp.c:1276: URLBase = XMLGetFirstDocumentItem(DescDoc, "URLBase"); squeeze2upnp.c:1277: presURL = XMLGetFirstDocumentItem(DescDoc, "presentationURL"); squeeze2upnp.c:1278: manufacturer = XMLGetFirstDocumentItem(DescDoc, "manufacturer"); util.c:56:char *XMLGetFirstDocumentItem(IXML_Document *doc, const char *item) util.c:178: baseURL = XMLGetFirstDocumentItem(DescDoc, "URLBase"); Thanks

medoc92 writes

Let’s be clear that I’m not going to debug or even install squeeze2upnp (I’m not running LMS or Roon at all).

If you can pinpoint to me what it is in the XML data returned by upmpdcli which trips squeeze2upnp, I’ll be glad to fix it though.

medoc92 writes

Oops this was a bit harsh, I did not mean it to be. What I meant was that it would be easier with someone familiar with the squeeze code to find out what is wrong. At which point it will be easy for me to fix it.

manfreddardenne writes

Hello

I will put logs in squeeze2upnp code and try to understand what’s going on Will also tell squeeze2upnp developer

Regards

medoc92 writes

No feedback