Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_upnp (Read 1646799 times) previous topic - next topic
0 Members and 3 Guests are viewing this topic.

foo_upnp

Reply #1150
I have tried upnp  controller to control denons. I can "send" music to them from server, stop,pause, and play. Volume control does not work.

Record a log and send it to me (see post above your post) so I can see why volume control do not work


How can i assign individual playlists for all media players which are in the network? What i like to do is to play one playlist at one room(denon 1), and another playlist at


You can't: the Controller can control only the selected renderer (unless the renderer is a Linn DS in which case the Playlist is retrieved from the device).
Your use case a valid one, although in practice it is uncommon to control several renderers in parralel each with its own playlist....

foo_upnp

Reply #1151
How can be the sent playlists sorted? Because in upnp client the playlists aren't look like the host foobar playlists (on host it's sorted by track number per album, but in client it's sorted only by track number, so i se the first tracks of all albumbs, then the second tracks...), and the "sort items sent to playlist by" checkbox does nothing.

foo_upnp

Reply #1152
Hi.  I use your wonderful upnp plugin almost 24/7.  It is a godsend as it allows me great flexibility in how I store and access my music library.  I basically use it as a client to the mediatomb upnp server which I have running on a linux box. 

I do have just one minor issue though, and since there are essentially three software projects interacting here I'm not entirely sure which is the one that can implement the solution.  When using the UPnP browser from within foobar2000, I can access the files on my mediatomb server which conveniently groups them by album (among other ways which I don't frequently use).  However, I have combined multi-disc albums to have the same album name in their files' tags, relying on the 'disc number' tag to keep them separate in media players.  iTunes, for instance, respects this. 

Unfortunately, when I select an album from mediatomb in the UPnP browser, I am provided with a track list populated with Artist/album, Track no, Title / Track artist, Duration, and Date only.  So the tracks come across ordered as Disc 1 Track 1, Disc 2 Track 1, Disc 3 Track 1, ...  It appears that only when I manually select one of the tracks for playback does the disc number for that track get loaded.  After preloading them in this fashion I can re-sort the playlist by clicking the "Track no" column header and foobar2000 displays them in the correct order in the playlist (Disc 1 Track 1 -> X, Disc 2 Track 1 -> Y).  Therefore for these multi-CD albums I have to manually preload each individual track to get the disc number field populated and play them back straight through.  This is quite burdensome as I have some classical symphony sets of 10 CDs or more, which I am forced to manually preload 100s of tracks or hunt and peck to listen to them in the proper order.  Is it possible to make the UPnP browser automatically populate the disc number in the playlist when albums are selected?

I hope I have been able to describe the problem in an accurate and understandable way.

foo_upnp

Reply #1153
Hello bubbleguuum:

I would like to use the upnp controller to push songs to SMCWAA-G renderers.  I have a few of these and use them all the time with your upnp server and they work perfectly.  These renderers do not appear on the Upnp Controller dropdown list.

Here is a link from the upnp database site

http://www.upnp-database.info/device.jsp?deviceId=41

Below is information from the console.

Thanks for your help.

[15:54:52] foo_upnp: 8639.456: PLT_CtrlPoint::InspectDevice(1104)/3980: INFO: New device "55b0ecee-acec-eeb9-a7e5-ee09acb9a51c" detected @

http://192.168.1.136:8888/upnp_descriptor_0
[15:54:52] foo_upnp: 8639.611: PLT_CtrlPoint::InspectDevice(1104)/3796: INFO: New device "5F9EC1B3-ED59-79BB-4530-0011F5807CAF" detected @

http://192.168.1.48:80/description.xml
[15:54:53] foo_upnp: 8640.488: PLT_CtrlPoint::ProcessGetDescriptionResponse(1179)/2736: INFO: Received device description for 85FAFB43-64DE-EBC1-53BB-A237655E7F6C (result

= 0)
[15:54:53] foo_upnp: 8640.488: PLT_CtrlPoint::ProcessGetDescriptionResponse(1179)/3156: INFO: Received device description for 55b0ecee-acec-eeb9-a7e5-ee09acb9a51c (result

= 0)
[15:54:53] foo_upnp: 8640.508: PLT_CtrlPoint::ProcessGetDescriptionResponse(1234)/2736: INFO: Device "85FAFB43-64DE-EBC1-53BB-A237655E7F6C" is now known as "router"
[15:54:53] foo_upnp: 8640.511: PLT_AddGetSCPDRequestIterator::operator ()(142)/2736: INFO: Queueing SCPD request for service "urn:upnp-org:serviceId:L3Forwarding1" of

device "router" @ http://192.168.1.1:1780/x_layer3forwarding.xml
[15:54:53] foo_upnp: 8640.513: PLT_CtrlPoint::ProcessGetDescriptionResponse(1234)/3156: INFO: Device "55b0ecee-acec-eeb9-a7e5-ee09acb9a51c" is now known as "TX-NR808"
[15:54:53] foo_upnp: 8640.513: PLT_AddGetSCPDRequestIterator::operator ()(142)/3156: INFO: Queueing SCPD request for service "urn:upnp-org:serviceId:RenderingControl" of

device "TX-NR808" @ http://192.168.1.136:8888/scpd/RenderingControl_1
[15:54:53] foo_upnp: 8640.513: PLT_AddGetSCPDRequestIterator::operator ()(142)/3156: INFO: Queueing SCPD request for service "urn:upnp-org:serviceId:ConnectionManager" of

device "TX-NR808" @ http://192.168.1.136:8888/scpd/ConnectionManager_1
[15:54:53] foo_upnp: 8640.513: PLT_AddGetSCPDRequestIterator::operator ()(142)/3156: INFO: Queueing SCPD request for service "urn:upnp-org:serviceId:AVTransport" of

device "TX-NR808" @ http://192.168.1.136:8888/scpd/AVTransport_1
[15:54:53] foo_upnp: 8640.728: PLT_CtrlPoint::ProcessGetSCPDResponse(1300)/3268: INFO: Received SCPD response for a service of device "TX-NR808" @

http://192.168.1.136:8888/scpd/RenderingControl_1 (result = 0)
[15:54:53] foo_upnp: 8640.738: PLT_CtrlPoint::ProcessGetSCPDResponse(1300)/3268: INFO: Received SCPD response for a service of device "TX-NR808" @

http://192.168.1.136:8888/scpd/ConnectionManager_1 (result = 0)
[15:54:53] foo_upnp: 8640.743: PLT_CtrlPoint::ProcessGetSCPDResponse(1300)/3268: INFO: Received SCPD response for a service of device "TX-NR808" @

http://192.168.1.136:8888/scpd/AVTransport_1 (result = 0)
[15:54:53] foo_upnp: 8640.748: LinnDsRendererController::Create(117)/1780: INFO: couldn't find urn:linn-co-uk:service:Product:3 service
[15:54:53] foo_upnp: 8640.748: RendererController::Create(53)/1780: INFO: Created UPnPAv Controller for device: TX-NR808
[15:54:54] foo_upnp: 8641.528: PLT_CtrlPoint::ProcessGetSCPDResponse(1300)/1120: INFO: Received SCPD response for a service of device "router" @

http://192.168.1.1:1780/x_layer3forwarding.xml (result = 0)
[15:54:56] foo_upnp: 8643.675: PLT_CtrlPoint::ProcessGetDescriptionResponse(1179)/3184: INFO: Received device description for 5F9EC1B3-ED59-79BB-4530-0011F5807CAF (result

= 0)
[15:54:56] foo_upnp: 8643.693: PLT_CtrlPoint::ProcessGetDescriptionResponse(1234)/3184: INFO: Device "5F9EC1B3-ED59-79BB-4530-0011F5807CAF" is now known as "SMCWAA-G"
[15:54:56] foo_upnp: 8643.718: PLT_AddGetSCPDRequestIterator::operator ()(142)/3184: INFO: Queueing SCPD request for service "urn:upnp-

org:serviceId:RenderingControlServiceID" of device "SMCWAA-G" @ http://192.168.1.48/RenderingControl/desc.xml
[15:54:56] foo_upnp: 8643.718: PLT_AddGetSCPDRequestIterator::operator ()(142)/3184: INFO: Queueing SCPD request for service "urn:upnp-

org:serviceId:ConnectionManagerServiceID" of device "SMCWAA-G" @ http://192.168.1.48/ConnectionManager/desc.xml
[15:54:56] foo_upnp: 8643.718: PLT_AddGetSCPDRequestIterator::operator ()(142)/3184: INFO: Queueing SCPD request for service "urn:upnp-org:serviceId:AVTransportServiceID"

of device "SMCWAA-G" @ http://192.168.1.48/AVTransport/desc.xml
[15:54:56] foo_upnp: 8643.720: PLT_AddGetSCPDRequestIterator::operator ()(142)/3184: INFO: Queueing SCPD request for service "urn:upnp-org:serviceId:HtmlPageServiceID" of

device "SMCWAA-G" @ http://192.168.1.48/HtmlPageHandler/desc.xml
[15:54:56] foo_upnp: 8643.720: PLT_AddGetSCPDRequestIterator::operator ()(142)/3184: INFO: Queueing SCPD request for service "urn:upnp-

org:serviceId:BcoWaaRemoteControlServiceID" of device "SMCWAA-G" @ http://192.168.1.48/BcoWaaRemoteControl/desc.xml
[15:54:57] foo_upnp: 8643.948: PLT_CtrlPoint::ProcessGetSCPDResponse(1300)/3772: INFO: Received SCPD response for a service of device "SMCWAA-G" @

http://192.168.1.48/RenderingControl/desc.xml (result = 0)
[15:54:57] foo_upnp: 8644.152: PLT_Service::SetSCPDXML(186)/3772: FATAL: NPT_CHECK failed, result=-20011 (NPT_ERROR_INVALID_SYNTAX) [(res)]
[15:54:57] foo_upnp: 8644.155: PLT_Service::SetSCPDXML(335)/3772: FATAL: Failed to parse scpd: <?xml version="1.0"?>
<scpd
  xmlns="urn:schemas-upnp-org:service-1-0">
   <specVersion>
      <major>1</major>
      <minor>0</minor>
   </specVersion>
   <actionList>
      <action>
         <name>ListPresets</name>
         <argumentList>
            <argument>
               <name>InstanceID</name>
               <direction>in</direction>
               <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
            </argument>
            <argument>
               <name>CurrentPresetNameList</name>
               <direction>out</direction>
               <relatedStateVariable>PresetNameList</relatedStateVariable>
            </argument>
         </argumentList>
      </action>
      <action>
         <name>SelectPreset</name>
         <argumentList>
            <argument>
               <name>InstanceID</name>
               <direction>in</direction>
               <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
            </argument>
            <argument>
               <name>PresetName</name>
               <direction>in</direction>
               <relatedStateVariable>A_ARG_TYPE_PresetName</relatedStateVariable>
            </argument>
         </argumentList>
      </action>
      <action>
         <name>GetMute</name>
         <argumentList>
            <argument>
               <name>InstanceID</name>
               <direction>in</direction>
               <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
            </argument>
            <argument>
               <name>Channel</name>
               <direction>in</direction>
               <relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>
            </argument>
            <argument>
               <name>CurrentMute</name>
               <direction>out</direction>
               <relatedStateVariable>Mute</relatedStateVariable>
            </argument>
         </argumentList>
      </action>
      <action>
         <name>SetMute</name>
         <argumentList>
            <argument>
               <name>InstanceID</name>
               <direction>in</direction>
               <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
            </argument>
            <argument>
               <name>Channel</name>
               <direction>in</direction>
               <relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>
            </argument>
            <argument>
               <name>DesiredMute</name>
               <direction>in</direction>
               <relatedStateVariable>Mute</relatedStateVariable>
            </argument>
         </argumentList>
      </action>
      <action>
         <name>GetVolume</name>
         <argumentList>
            <argument>
               <name>InstanceID</name>
               <direction>in</direction>
               <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
            </argument>
            <argument>
               <name>Channel</name>
               <direction>in</direction>
               <relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>
            </argument>
            <argument>
               <name>CurrentVolume</name>
               <direction>out</direction>
               <relatedStateVariable>Volume</relatedStateVariable>
            </argument>
         </argumentList>
      </action>
      <action>
         <name>SetVolume</name>
         <argumentList>
            <argument>
               <name>InstanceID</name>
               <direction>in</direction>
               <relatedStateVariable>A_ARG_TYPE_InstanceID</relatedStateVariable>
            </argument>
            <argument>
               <name>Channel</name>
               <direction>in</direction>
               <relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>
            </argument>
            <argument>





foo_upnp

Reply #1154
I'm new to this, so forgive me if I'm a bit ignorant.

I've had foobar (1.1) working fine for some time, and installed the latest UPnP plugin yesterday.  I have got the browser working, connecting via Whitebear to my Squeezebox Server, and the controller controls my Logitech Touch with no problem.  So far so very good indeed.

What I want to do next is get my Humax PVR (HDR Fox T2) to use foobar as a media server.  The Humax seems a little difficult (I've had difficulty with several different servers), and only plays mp3s, but I got it working with Tversity.  With foobar and this plugin I can see all the files (mp3s and flacs), and see playlists, but when I attempt to play them nothing happens.  It then usually skips to the next track after 10-20 seconds, still playing nothing.  It can see the track title, time, album art, and so on, so there is some communication happening.  I have also tried with tracks accessed directly via foobar from its own library.

Any ideas?

I have looked at the streaming preferences and am struggling to understand the different sections 'Rendering capabilities', 'transcoding to MP3' (does this require a separate LAME exe, and if so where do I put it?), 'decoding to PCM' and 'playback stream capture'.  I don't quite grasp what each of these sections is for.  Is there a description somewhere?  If not, could someone write a few words explaining what each section is about?


I know I'm being dumb, but I'd really like to understand the meaning of the streaming preferences.  For instance, I understand transcoding to MP3 (at least in principle) but what is the section on decoding to PCM for, or playback stream capture?  When are they used as opposed to converting to MP3? Is there somewhere I can go to find out?

And bubbleguuum - did my last log arrive?


foo_upnp

Reply #1155
How can be the sent playlists sorted? Because in upnp client the playlists aren't look like the host foobar playlists (on host it's sorted by track number per album, but in client it's sorted only by track number, so i se the first tracks of all albumbs, then the second tracks...), and the "sort items sent to playlist by" checkbox does nothing.


You don't specify what the server is ?

Unfortunately, when I select an album from mediatomb in the UPnP browser, I am provided with a track list populated with Artist/album, Track no, Title / Track artist, Duration, and Date only.  So the tracks come across ordered as Disc 1 Track 1, Disc 2 Track 1, Disc 3 Track 1, ...  It appears that only when I manually select one of the tracks for playback does the disc number for that track get loaded.  After preloading them in this fashion I can re-sort the playlist by clicking the "Track no" column header and foobar2000 displays them in the correct order in the playlist (Disc 1 Track 1 -> X, Disc 2 Track 1 -> Y).  Therefore for these multi-CD albums I have to manually preload each individual track to get the disc number field populated and play them back straight through.  This is quite burdensome as I have some classical symphony sets of 10 CDs or more, which I am forced to manually preload 100s of tracks or hunt and peck to listen to them in the proper order.  Is it possible to make the UPnP browser automatically populate the disc number in the playlist when albums are selected?


There's no concept of discnumber in UPnP metadata land (except when foo_upnp is the server but this is a custom field), so it is likely that MediaTomb sorts the tracks by tracknumber like you describe ( Disc 1 Track 1, Disc 2 Track 1, Disc 3 Track 1). The UPnP Browser cannot change that as discnumber is not available, and it just displays the track in the order MediaTomb sort them. The discnumber you see when playing a track comes from foobar2000 http reader that extracted the tag.
The only solution I can see to have  MediaTomb use the correct order, is to prepend the discnumber to the tracknumber in your files. Set track numbers to 101, 102, ... 201, 202, ...
You can also check if it is possible to configure MediaTomb with a custom sort order for albums, that would sort first by discnumber and then by tracknumber, but I doubt this is possible.


I would like to use the upnp controller to push songs to SMCWAA-G renderers. I have a few of these and use them all the time with your upnp server and they work perfectly. These renderers do not appear on the Upnp Controller dropdown list.


paste the full content of this URL so I can see why it doesn't parse:
http://192.168.1.48/RenderingControl/desc.xml

I'm new to this, so forgive me if I'm a bit ignorant.

I know I'm being dumb, but I'd really like to understand the meaning of the streaming preferences.  For instance, I understand transcoding to MP3 (at least in principle) but what is the section on decoding to PCM for, or playback stream capture?  When are they used as opposed to converting to MP3? Is there somewhere I can go to find out?

And bubbleguuum - did my last log arrive?


The problem with your renderer is that it issues unusual (but valid)  HTTP requests that are not supported by foo_upnp, when transcoding to mp3 (namely http range requests and HEAD requests). I'm not surprised you had problems with other servers.
You really want to find out if it supports anything other than mp3 (for example WAV or LPCM). To check what it supports, look at the "Renderer properties" popup that you can display in the Controller, in the menu (...) => "Renderer properties...".  If it supports only mp3 you're out of luck. You should be able to  stream unmodified mp3 files but not transcode other formats to mp3 (for the reason described above). It it supports either WAV or LPCM then you'll be able to configure the streaming profile to stream in one of these formats.

"decoding to PCM" is used to stream audio as PCM (WAV or LPCM) when a renderer do not support a particular codec (say FLAC) and you don't want to transcode to mp3 not to degrade audio quality. Most renderers support either WAV or LPCM or both.  Transcoding to mp3 is mostly useful to stream via the Internet.

foo_upnp

Reply #1156
I would like to use the upnp controller to push songs to SMCWAA-G renderers. I have a few of these and use them all the time with your upnp server and they work perfectly. These renderers do not appear on the Upnp Controller dropdown list.


paste the full content of this URL so I can see why it doesn't parse:
http://192.168.1.48/RenderingControl/desc.xml

OK.  I have done this on two separate units, reset both, changed from static IP to DHCP and back, powered up and down.


At first, each time there is a syntax error on line 113.

110:                <relatedStateVariable>A_ARG_TYPE_Channel</relatedStateVariable>
111:             </argument>
112:             <argument>
113:                /}\02\14??oqsiredVolume</name>
114:                <direction>in</direction>
115:                <relatedStateVariable>Volume</relatedStateVariable>
116:             </argument>


And if I refresh the page line 113 changes from the first character up to the "siredVolume</name>.  There are sometimes different numbers of characters.

HOWEVER, one of the units started "working" with respect to that xml, listed below.  It seems random, if I keep refreshing  I will get syntax error or success.

Once the xml worked, I did View > UPnP controller, but it did not appear on the dropdown list.  Sometimes this causes the renderer to reboot.


<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>
1
</major>
<minor>
0
</minor>
</specVersion>
<actionList>
<action>
<name>
ListPresets
</name>
<argumentList>
<argument>
<name>
InstanceID
</name>
<direction>
in
</direction>
<relatedStateVariable>
A_ARG_TYPE_InstanceID
</relatedStateVariable>
</argument>
<argument>
<name>
CurrentPresetNameList
</name>
<direction>
out
</direction>
<relatedStateVariable>
PresetNameList
</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>
SelectPreset
</name>
<argumentList>
<argument>
<name>
InstanceID
</name>
<direction>
in
</direction>
<relatedStateVariable>
A_ARG_TYPE_InstanceID
</relatedStateVariable>
</argument>
<argument>
<name>
PresetName
</name>
<direction>
in
</direction>
<relatedStateVariable>
A_ARG_TYPE_PresetName
</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>
GetMute
</name>
<argumentList>
<argument>
<name>
InstanceID
</name>
<direction>
in
</direction>
<relatedStateVariable>
A_ARG_TYPE_InstanceID
</relatedStateVariable>
</argument>
<argument>
<name>
Channel
</name>
<direction>
in
</direction>
<relatedStateVariable>
A_ARG_TYPE_Channel
</relatedStateVariable>
</argument>
<argument>
<name>
CurrentMute
</name>
<direction>
out
</direction>
<relatedStateVariable>
Mute
</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>
SetMute
</name>
<argumentList>
<argument>
<name>
InstanceID
</name>
<direction>
in
</direction>
<relatedStateVariable>
A_ARG_TYPE_InstanceID
</relatedStateVariable>
</argument>
<argument>
<name>
Channel
</name>
<direction>
in
</direction>
<relatedStateVariable>
A_ARG_TYPE_Channel
</relatedStateVariable>
</argument>
<argument>
<name>
DesiredMute
</name>
<direction>
in
</direction>
<relatedStateVariable>
Mute
</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>
GetVolume
</name>
<argumentList>
<argument>
<name>
InstanceID
</name>
<direction>
in
</direction>
<relatedStateVariable>
A_ARG_TYPE_InstanceID
</relatedStateVariable>
</argument>
<argument>
<name>
Channel
</name>
<direction>
in
</direction>
<relatedStateVariable>
A_ARG_TYPE_Channel
</relatedStateVariable>
</argument>
<argument>
<name>
CurrentVolume
</name>
<direction>
out
</direction>
<relatedStateVariable>
Volume
</relatedStateVariable>
</argument>
</argumentList>
</action>
<action>
<name>
SetVolume
</name>
<argumentList>
<argument>
<name>
InstanceID
</name>
<direction>
in
</direction>
<relatedStateVariable>
A_ARG_TYPE_InstanceID
</relatedStateVariable>
</argument>
<argument>
<name>
Channel
</name>
<direction>
in
</direction>
<relatedStateVariable>
A_ARG_TYPE_Channel
</relatedStateVariable>
</argument>
<argument>
<name>
DesiredVolume
</name>
<direction>
in
</direction>
<relatedStateVariable>
Volume
</relatedStateVariable>
</argument>
</argumentList>
</action>
</actionList>
<serviceStateTable>
<stateVariable sendEvents="no">
<name>
PresetNameList
</name>
<dataType>
string
</dataType>
</stateVariable>
<stateVariable sendEvents="yes">
<name>
LastChange
</name>
<dataType>
string
</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>
Mute
</name>
<dataType>
boolean
</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>
Volume
</name>
<dataType>
ui2
</dataType>
<allowedValueRange>
<minimum>
0
</minimum>
<maximum>
100
</maximum>
<step>
1
</step>
</allowedValueRange>
</stateVariable>
<stateVariable sendEvents="no">
<name>
A_ARG_TYPE_Channel
</name>
<dataType>
string
</dataType>
<allowedValueList>
<allowedValue>
Master
</allowedValue>
</allowedValueList>
</stateVariable>
<stateVariable sendEvents="no">
<name>
A_ARG_TYPE_InstanceID
</name>
<dataType>
ui4
</dataType>
</stateVariable>
<stateVariable sendEvents="no">
<name>
A_ARG_TYPE_PresetName
</name>
<dataType>
string
</dataType>
<allowedValueList>
<allowedValue>
FactoryDefaults
</allowedValue>
</allowedValueList>
</stateVariable>
</serviceStateTable>
</scpd>






foo_upnp

Reply #1157
The problem with your renderer is that it issues unusual (but valid)  HTTP requests that are not supported by foo_upnp, when transcoding to mp3 (namely http range requests and HEAD requests). I'm not surprised you had problems with other servers.
You really want to find out if it supports anything other than mp3 (for example WAV or LPCM). To check what it supports, look at the "Renderer properties" popup that you can display in the Controller, in the menu (...) => "Renderer properties...".  If it supports only mp3 you're out of luck. You should be able to  stream unmodified mp3 files but not transcode other formats to mp3 (for the reason described above). It it supports either WAV or LPCM then you'll be able to configure the streaming profile to stream in one of these formats.

"decoding to PCM" is used to stream audio as PCM (WAV or LPCM) when a renderer do not support a particular codec (say FLAC) and you don't want to transcode to mp3 not to degrade audio quality. Most renderers support either WAV or LPCM or both.  Transcoding to mp3 is mostly useful to stream via the Internet.


Thanks very much - I think I'm a bit closer to some understanding of it now.  I'll give it a go.

 

foo_upnp

Reply #1158
Thanks very much - I think I'm a bit closer to some understanding of it now.  I'll give it a go.


With my Humax PVR I can't use the 'controller'.  The Humax does not appear as a device I can control from foobar (foobar is acting as a media server).  I can use the controller with my Logitech Touch (via Whitebear), and that works fine (and I can see the properties that supports).

So I can't see the Humax 'renderer' properties via the controller, or am I missing something?

As far as I can tell by testing, unless I transcode to MP3 'always' I can't even see the files to play, so it seems the Humax is limited to that

I don't see what the 'decoding to PCM' section is for.  Does it only do something if not always transcoding to MP3?



foo_upnp

Reply #1159
[I posted this before to  3rd Party Plugins - (fb2k) dirctly. Probably this topic is the right place...]

Hello bubbleguuum.

First of all: this is the best UPnP-Server I have used so far. Great software.
But I have experienced two Problems:

1. Pause the stream from the T+A music player has no effect. I run foobar2000 v.1.1.5 and foo_upnp 0.99.32. Here's a snippet from the log file (start stream, attempt pause, stop stream):

22.906: PLT_HttpHelper::ToLog(410)/6068: INFO:
GET /content/78530bfb586eea9d6f98d030fc9fdc42.flac HTTP/1.1
Host: 192.168.2.103:56923
Icy-MetaData: 1
Connection: close
transferMode.dlna.org: Streaming
User-Agent: WinampMPEG/2.8
Accept: */*

22.906: upnp_server_conf::get_profile(726)/6068: INFO: using default profile (User-Agent:WinampMPEG/2.8)
opened 'file://J:\au\The Beatles - CD\A Hard Day's Night (1987)\01-The Beatles-A Hard Day's Night (1987)-A Hard Day's Night.flac' for streaming
33.531: PLT_HttpServerSocketTask::Write(348)/6068: WARNING: NPT_CHECK failed, result=-20401 (NPT_ERROR_CONNECTION_ABORTED) [(NPT_StreamToStreamCopy( *body_stream.AsPointer(), *output_stream.AsPointer(), 0, entity->GetContentLength(), 0, abort))]
42.172: PLT_UPnP::Stop(312)/4824: INFO: Stopping UPnP...
43.031: PLT_HttpServerSocketTask::Read(216)/2148: WARNING: NPT_CHECK failed, result=-1 (FAILURE) [(res)]

I also tried pausing with the Twonky Media Server. It worked. So I guess, this is not a problem of the T+A music player.

2. I can use the default streaming profile only. I added a profile where "Use profile when 'User-Agent' contain 'TA music player'" but still the default streaming profile is used. I unchecked "Always use the Default streaming profile for all devices" in the Basic Settings. 'TA music player' is the device name as shown in the UPnP-Controller view of foobar.

Is there any solution or workaround for these problems?

foo_upnp

Reply #1160
So I can't see the Humax 'renderer' properties via the controller, or am I missing something?

I don't see what the 'decoding to PCM' section is for.  Does it only do something if not always transcoding to MP3?


If you can't see the Humax then it is not a Renderer remotely controllable.
As for understanding how the Streaming profile page, rules are applied from top to bottom:

Should the file be transcoded to mp3 ?
no => should the file be decoded to PCM ?
no => the file is streamed unmodified.

So to try out if your renderer accept PCM, configure the profile to stream everything as PCM:
- disable mp3 transcoding: set "transcode" to "Never", leave "Except extensions" to empty
- enable pcm decoding: set "Decode" to "Always", leave "Except" to empty.

First try WAV then if it doesn't work try LPCM.

After initiating play from your Humax, check in the foobar2000 console that the plugin serves the correct format, for example:

foo_upnp: opened 'file://C:\Users\bob\Downloads\Dan Curtin - Lifeblood\Dan Curtin - Lifeblood\02. Dan Curtin - Invisible Man In Drag.flac' for streaming, profile: Linn DS, WAV / 44100 Hz / 16 bits / 2 channels, replaygain: off, DSP chain: off



[I posted this before to  3rd Party Plugins - (fb2k) dirctly. Probably this topic is the right place...]
1. Pause the stream from the T+A music player has no effect. I run foobar2000 v.1.1.5 and foo_upnp 0.99.32. Here's a snippet from the log file (start stream, attempt pause, stop stream):


Do you mean the T+A continue playing the stream ? Or that it stops playuing audio but when you unpause it doesn't work as you expect ?

[I posted this before to  3rd Party Plugins - (fb2k) dirctly. Probably this topic is the right place...]
2. I can use the default streaming profile only. I added a profile where "Use profile when 'User-Agent' contain 'TA music player'" but still the default streaming profile is used. I unchecked "Always use the Default streaming profile for all devices" in the Basic Settings. 'TA music player' is the device name as shown in the UPnP-Controller view of foobar.


22.906: upnp_server_conf::get_profile(726)/6068: INFO: using default profile (User-Agent:WinampMPEG/2.8)

Use WinampMPEG  to identify yout T+A  (see User-Agent above)

foo_upnp

Reply #1161
[If you can't see the Humax then it is not a Renderer remotely controllable.
As for understanding how the Streaming profile page, rules are applied from top to bottom:

Should the file be transcoded to mp3 ?
no => should the file be decoded to PCM ?
no => the file is streamed unmodified.

So to try out if your renderer accept PCM, configure the profile to stream everything as PCM:
- disable mp3 transcoding: set "transcode" to "Never", leave "Except extensions" to empty
- enable pcm decoding: set "Decode" to "Always", leave "Except" to empty.

First try WAV then if it doesn't work try LPCM.

After initiating play from your Humax, check in the foobar2000 console that the plugin serves the correct format, for example:

foo_upnp: opened 'file://C:\Users\bob\Downloads\Dan Curtin - Lifeblood\Dan Curtin - Lifeblood\02. Dan Curtin - Invisible Man In Drag.flac' for streaming, profile: Linn DS, WAV / 44100 Hz / 16 bits / 2 channels, replaygain: off, DSP chain: off


Thanks - I suppose I should have guessed it was a 'top down' list.

I tried this.  Unless 'transcode to MP3' is on the Humax cannot even see the files (the folders show as empty).  I've had a similar problem with other media servers and the Humax.  It seems to be very picky.

Thanks for your help.  I'll find another way.....

foo_upnp

Reply #1162
paste the full content of this URL so I can see why it doesn't parse:
http://192.168.1.48/RenderingControl/desc.xml



Looks like this renderer is semi-broken if the XML is randomly corrupted

However, when it is not corrupted, could you capture the XML again but using wget to preserve the formatting ?
Send me the resulting XML file to bubbleguuum@free.fr

foo_upnp

Reply #1163
[I posted this before to  3rd Party Plugins - (fb2k) dirctly. Probably this topic is the right place...]
1. Pause the stream from the T+A music player has no effect. I run foobar2000 v.1.1.5 and foo_upnp 0.99.32. Here's a snippet from the log file (start stream, attempt pause, stop stream):


Do you mean the T+A continue playing the stream ? Or that it stops playuing audio but when you unpause it doesn't work as you expect ?

It  continues playing. No matter how I set "Allow clients to pause streaming indefinitely" in the "Server->Content" setting. This holds for all content streamed (flac, wav, mp3).
[I posted this before to  3rd Party Plugins - (fb2k) dirctly. Probably this topic is the right place...]
2. I can use the default streaming profile only. I added a profile where "Use profile when 'User-Agent' contain 'TA music player'" but still the default streaming profile is used. I unchecked "Always use the Default streaming profile for all devices" in the Basic Settings. 'TA music player' is the device name as shown in the UPnP-Controller view of foobar.


22.906: upnp_server_conf::get_profile(726)/6068: INFO: using default profile (User-Agent:WinampMPEG/2.8)

Use WinampMPEG  to identify yout T+A  (see User-Agent above)

I tried this. It still uses the default streaming profile.


foo_upnp

Reply #1164
I just got a Marantz AV7005 pre/pro.  This is the first streaming capable pre/pro for me.  although I've been streaming using uPnP for a few years through a PC (and other fail streaming devices).  I cannot seem to be able to pause the flac stream.  I was wondering if there was a way I can double check to be sure which profile is being used for that device?

Thank you

foo_upnp

Reply #1165
Hi!

I haven't much knowledge about these streaming things, but as i see the foobar upnp server sends lossless formats in PCM, even if i put the PCM conversion to never. Thinking about it, i see some container formats don't support streaming (for example flac). But the flac put in ogg container does, and it's works actually in foobar.
So are the containers should be streamable, or the upnp server should know how to stream them, or both conditions should be true?

foo_upnp

Reply #1166
In the UPnP Server, what settings do I use for the streaming profile for my Oppo BDP-93 player?

foo_upnp

Reply #1167
In the case of UPnP Browsing, is there any chance I could get one of:

1. The ability to cache media to the local disk instead of purely streaming so you can pause indefinitely.

I stream podcasts from the machine I normally use to remote machines I use irregularly. The primary machine has the current podcasts, but when the files are big and I need to pause the stream for too long when I go back and resume the stream it does resume cleanly. It'll play for a few seconds and then stop and skip to the next file. I need to stop the stream, restart the stream, and then jump to the previous location in the stream.

2. The ability to prefer local media instead of the streamed media automatically when the tags are the same.

This is simply a bandwidth-saving maneuver. It also gets around the lack of real caching. If the server and browser are owned by the same person, it is likely that *some* of the media will also be located locally as well.

3. The ability to save a UPnP-hosted file locally and remember the association to the local file.

This would allow for both temporarily caching larger files, (if there is a way to delete the file it would be a manual solution to the same problem taken care of by #1), as well as straight importing from a remote UPnP server.

4. Keep a Title-path for mapping uPNP tags to a local path. When there is something already in that path, prefer it. Allow downloading/saving to that path. Do not bother with any automatic caching and force people to manually cache.

This would allow two Foobar2000 installations with a server getting more podcasts than the client to favor the client's (already downloaded) files but to stream the rest of the files. This would allow folks to have laptops with their absolute favorite music to connect to their foobar server to get a wider selection while reducing bandwidth and latency for the files most frequently listened to.


My preferred would be #4, but any one of these would work for my use-case.

If there are concerns about the RIAA, #2 works for my use-case while totally avoiding saving the content from a UPnP server.

foo_upnp

Reply #1168
Hi, I am trying to use foo_upnp through an SSH tunnel. I enabled SSH on my router and I verified my settings by successfully connecting to a VNC server. When using the UPNP Browser through the tunnel, I am able to view my media collection without any problems on my remote machine. However, once I select a track and press play I get the following error in Foobar:

Unable to open item for playback (Could not connect to host):
"http://192.168.0.143:443/content/4d2790e195a4934f35d4265a86faf5a6.flac"

Has anyone been able to use foo_upnp through an SSH tunnel? Thanks!

foo_upnp

Reply #1169
Hi, I am trying to use foo_upnp through an SSH tunnel. I enabled SSH on my router and I verified my settings by successfully connecting to a VNC server. When using the UPNP Browser through the tunnel, I am able to view my media collection without any problems on my remote machine. However, once I select a track and press play I get the following error in Foobar:

Unable to open item for playback (Could not connect to host):
"http://192.168.0.143:443/content/4d2790e195a4934f35d4265a86faf5a6.flac"

Has anyone been able to use foo_upnp through an SSH tunnel? Thanks!


Is your SSH tunnel operating over the Internet ?
If the case, foo_upnp cannot detect properly that the connection is from the Internet and
instead of using your router public IP (for streaming URLs) uses the LAN IP of the PC running the server, which of course cannot be seen
from your foobar2000 browsing client.
For this scenario to work, I'd have to override the IP of the streaming URL in the client, when accessing an Internet foo_upnp server

foo_upnp

Reply #1170
Hi, I am trying to use foo_upnp through an SSH tunnel. I enabled SSH on my router and I verified my settings by successfully connecting to a VNC server. When using the UPNP Browser through the tunnel, I am able to view my media collection without any problems on my remote machine. However, once I select a track and press play I get the following error in Foobar:

Unable to open item for playback (Could not connect to host):
"http://192.168.0.143:443/content/4d2790e195a4934f35d4265a86faf5a6.flac"

Has anyone been able to use foo_upnp through an SSH tunnel? Thanks!


Is your SSH tunnel operating over the Internet ?
If the case, foo_upnp cannot detect properly that the connection is from the Internet and
instead of using your router public IP (for streaming URLs) uses the LAN IP of the PC running the server, which of course cannot be seen
from your foobar2000 browsing client.
For this scenario to work, I'd have to override the IP of the streaming URL in the client, when accessing an Internet foo_upnp server


You have correctly surmised my setup. My tunnel is operating over the internet and I set it up according to the instructions at http://martybugs.net/smoothwall/puttyvnc.cgi. I then configured my foobar client to connect to localhost through the tunnel.

It would be great if you added support for this use case. I love the idea of streaming my music over the internet but I'd prefer to do it through an SSH tunnel with key authentication.

foo_upnp

Reply #1171
Hello, this is bit had to explain so I hope I am doing it a way that is understandable.

Using 0.99.32;

Issue -

HDCD encoded FLAC's [ripped from HDCD CD's]:  Cut off/stop at the control point at approx. 70-85% into a track, then the next track begins playing.
This also happens with 0.99.31.  I do not have version 0.99.29 to test but issue does not occur with 0.99.26 [it works fine]. Non HDCD encoded flacs are fine.

Thanks

foo_upnp

Reply #1172
Hello, this is bit hard to explain so I hope I am doing it a way that is understandable.

Using 0.99.32;

Issue -

HDCD encoded FLAC's [ripped from HDCD CD's]:  Cut off/stop at the control point at approx. 70-85% into a track, then the next track begins playing.
This also happens with 0.99.31.  I do not have version 0.99.29 to test but issue does not occur with 0.99.26 [it works fine]. Non HDCD encoded flacs are fine.

Thanks



bubbleguuum,

Tried 0.99.28 and that one is also good. Which means issue was first introduced after that version.

foo_upnp

Reply #1173
Tried 0.99.28 and that one is also good. Which means issue was first introduced after that version.


It is probably related to the internal changes on how HDCD is handled in foobar2000, around that time.
I'll have a look.

foo_upnp

Reply #1174
I'm having a small issue with this plugin. Please excuse any non-technicality in my posting, I'm not really a huge "audiophile", as they call it.

I'm using this plugin to stream music to my Xbox 360. Everything work fine with the exception of a few files. I apologize if this has been talked about before, but this is quite a large thread to shift through all the pages of lol.

I've only done a small assessment of within the artist I was attempting to play, but my finding are as followed;

-Halo: Reach edition Xbox 360 with the most recent firmware/updates [not that Ithink any of that would matter, but for consistency's sake]
-Windows XP SP3
-foobar2000 v1.1
Code: [Select]
Core (2010-08-21 11:42:56 UTC)
    foobar2000 core 1.1
foo_amipwrapper.dll (2010-01-29 21:32:26 UTC)
    AMIP Wrapper 1.01
foo_cdda.dll (2010-08-21 11:41:04 UTC)
    CD Audio Decoder 3.0
foo_httpcontrol.dll (2011-03-07 20:41:24 UTC)
    HTTP Control 0.97.7
foo_input_std.dll (2010-08-21 11:40:42 UTC)
    Standard Input Array 1.0
foo_ui_std.dll (2010-08-21 11:41:10 UTC)
    Default User Interface 0.9.5
foo_upnp.dll (2011-04-17 20:09:35 UTC)
    UPnP/DLNA Renderer, Server, Control Point 0.99.32
foo_winamp_spam.dll (2009-10-29 18:34:32 UTC)
    Not A Winamp API Emulator 0.90aFix


Quote
User-Agent: Xenon
Connection: Keep-alive
Host: 192.168.1.101
Content-Length: 3
foo_upnp: opened 'file://E:\Dustin's Stuff\Music\Hollywood Undead Discography (3 Albums)\Hollywood Undead (self titled EP)\04 Scene For Dummies.mp3' for streaming
foo_upnp: 5113.672: PLT_HttpServerSocketTask::Write(348)/2160: WARNING: NPT_CHECK failed, result=-20400 (NPT_ERROR_CONNECTION_RESET) [(NPT_StreamToStreamCopy( *body_stream.AsPointer(), *output_stream.AsPointer(), 0, entity->GetContentLength(), 0, abort))]
foo_upnp: 5113.688: FbMediaServer::ProcessHttpRequest(317)/2428: INFO: received LAN request: http://192.168.1.101/content/9eb9afe81f391...4100?format=PCM (User-Agent: Xenon)
foo_upnp: 5113.688: PLT_HttpHelper::ToLog(410)/2428: INFO:
GET /content/9eb9afe81f391d1a42e06e8ccd416356.l16%3Fprofile_id=5&convert=lpcm&samplerate=44100?format=PCM HTTP/1.1
User-Agent: Xenon
Connection: Keep-alive
Host: 192.168.1.101
Content-Length: 3
foo_upnp: opened 'file://E:\Dustin's Stuff\Music\Hollywood Undead Discography (3 Albums)\Hollywood Undead (self titled EP)\02 Dead In Ditches.mp3' for streaming, profile: Xbox 360, LPCM / 44100 Hz / 16 bits / 2 channels, replaygain: off, DSP chain: off
foo_upnp: 5113.703: FbMediaWavInputStream::process_chunk(293)/2428: SEVERE: cannot create resampler 22050=>44100
foo_upnp: 5113.703: PLT_HttpServerSocketTask::Write(348)/2428: WARNING: NPT_CHECK failed, result=-1 (FAILURE) [(NPT_StreamToStreamCopy( *body_stream.AsPointer(), *output_stream.AsPointer(), 0, entity->GetContentLength(), 0, abort))]
foo_upnp: 5113.735: FbMediaServer::ProcessHttpRequest(317)/3676: INFO: received LAN request: http://192.168.1.101/content/ca00b67234204...3d90c7fc167.mp3 (User-Agent: Xenon)
foo_upnp: 5113.735: PLT_HttpHelper::ToLog(410)/3676: INFO:
GET /content/ca00b672342046332df553d90c7fc167.mp3 HTTP/1.1
User-Agent: Xenon
Connection: Keep-alive
Host: 192.168.1.101
Content-Length: 3
foo_upnp: opened 'file://E:\Dustin's Stuff\Music\Hollywood Undead Discography (3 Albums)\Desperate Measures\12 Everywhere I Go (live).mp3' for streaming
foo_upnp: 5116.391: PLT_HttpServerSocketTask::Write(348)/3676: WARNING: NPT_CHECK failed, result=-20400 (NPT_ERROR_CONNECTION_RESET) [(NPT_StreamToStreamCopy( *body_stream.AsPointer(), *output_stream.AsPointer(), 0, entity->GetContentLength(), 0, abort))]
foo_upnp: 5116.406: FbMediaServer::ProcessHttpRequest(317)/2856: INFO: received LAN request: http://192.168.1.101/content/9eb9afe81f391...4100?format=PCM (User-Agent: Xenon)
foo_upnp: 5116.406: PLT_HttpHelper::ToLog(410)/2856: INFO:
GET /content/9eb9afe81f391d1a42e06e8ccd416356.l16%3Fprofile_id=5&convert=lpcm&samplerate=44100?format=PCM HTTP/1.1
User-Agent: Xenon
Connection: Keep-alive
Host: 192.168.1.101
Content-Length: 3
foo_upnp: opened 'file://E:\Dustin's Stuff\Music\Hollywood Undead Discography (3 Albums)\Hollywood Undead (self titled EP)\02 Dead In Ditches.mp3' for streaming, profile: Xbox 360, LPCM / 44100 Hz / 16 bits / 2 channels, replaygain: off, DSP chain: off
foo_upnp: 5116.422: FbMediaWavInputStream::process_chunk(293)/2856: SEVERE: cannot create resampler 22050=>44100
foo_upnp: 5116.422: PLT_HttpServerSocketTask::Write(348)/2856: WARNING: NPT_CHECK failed, result=-1 (FAILURE) [(NPT_StreamToStreamCopy( *body_stream.AsPointer(), *output_stream.AsPointer(), 0, entity->GetContentLength(), 0, abort))]
foo_upnp: 5116.438: FbMediaServer::ProcessHttpRequest(317)/3192: INFO: received LAN request: http://192.168.1.101/content/e37ce9b6aba37...eb460dfc1e1.mp3 (User-Agent: Xenon)
foo_upnp: 5116.438: PLT_HttpHelper::ToLog(410)/3192: INFO:
GET /content/e37ce9b6aba37355365f9eb460dfc1e1.mp3 HTTP/1.1
User-Agent: Xenon
Connection: Keep-alive
Host: 192.168.1.101
Content-Length: 3
foo_upnp: opened 'file://E:\Dustin's Stuff\Music\Hollywood Undead Discography (3 Albums)\Desperate Measures\01 Dove And Grenade.mp3' for streaming



The error appears when I try to play a few songs - two of which "Dead in Ditches" and "Circles" are 96kbps/22kHz/2 channels. Wheras the files "Everywhere I GO (Live)" and "Dove and Grenade" are 320kbps/44kHz/2 channels.

Thank you for your time and effort in both this plugin and your future assistance with my issue.

[edit]

I forgot to mention, I had seen some mention of a "LAME" plugin, that I don't believe I have. Is that mandatory for this plugin? Or at the very least, to play the files I am trying to in the way I am attempting?