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 1627575 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

foo_upnp

Reply #1525
I am attempting to use Foobar running on my desktop PC to send music to PlugPlayer on my iPad which in turn is feeding my DAC/preamp.  As far as I can tell there are no configurable settings for the upnp controller in foobar so I am puzzled as to why PlugPlayer does not show up in Foobar as a renderer.  There must be something obvious I am overlooking but I have checked all the settings I can find.

My setup is windows 7 (firewall off) running foobar2000 as a server, files on a NAS drive and an iPad connected to the wifi network.  The PlugPlayer renderer on the iPad has the "Allow UPnP Control" set to ON.


Difficult to say what happens here. Does the PP renderer appears in WMP "Play to" menu ?


Bubbleguum thanks for the reply.  No the PP renderer is not listed in the Play to menu of WMP.  I have also noticed that PlugPlayer does show foobar and Roku as renderers.

foo_upnp

Reply #1526
hi bubbleguuum,

Just found that, even though I disabled ALL transcoding options in foo_upnp, foo_upnp will ALWAYS give out 3 URLs for each song. The first URL point to the original song file in native format. The second URL gives a transcoded version in WAV in 44.1kHz. And the third URL is transcoded in LPCM in 44.1kHz. The 2 unwanted transcoding URLs work if I open them in a web browser.

I understand some users may want a "auto fallback" mode if their renderer does not support some native song formats. If so then the foo_upnp should have a "fallback to transcode if needed" mode, which a user can use if needed.

I only want native playback, and I turned OFF all transcoding options in foo_upnp. Should foo_upnp NOT giving out the 2 functioning URLs in transcoding format?

Thanks in advance.

foo_upnp

Reply #1527
The 2 added URLs are there to address the problem of the streaming profile concept not working too well in the scenario of
using a Control Point (CP) to control multiple renderers, the CP possibly being a renderer itself. These added URLs will ensure that *something* will play
if the target renderer in the CP is not the same renderer than the foo_upnp streaming profile associated with this CP, as virtually any renderer is able to play either WAV/44.1/16 or LPCM/44.1/16

The CP *will* pick up the first URL (which correspond to the specification of the streaming profile) if it determines that it is compatible
with the target renderer (mostly a mime-type match).

So the 2 added URL will not be getting in the way. Suppose you want to play your awesome super hi-res 192Khz FLACs to foobar2000 unmodified.
In your CP, if foobar2000 is selected as a renderer, unmodified FLAC will be played if the streaming profile for that CP is setup to do so, because the CP
will have determined that foobar2000 is able to play FLAC.

Now suppose you play the same file to WMP. the CP will determine WMP cannot play flac and will pick the LPCM URL. Without this, it would not be possible to play this file to WMP. It also applies if the CP is also a renderer able to play locally (very common on Android, iOS but limlited to 44.1Khz and a few common formats like mp3 and wav).

Now you are going to tell me: "I don't care about WMP or playing locally, there's only foobar2000 in my world". Great, but the world is a bigger place

I would scrap the streaming profile entirely if it was acceptable to stream anything to 44.1/16.

foo_upnp

Reply #1528
Now you are going to tell me: "I don't care about WMP or playing locally, there's only foobar2000 in my world". Great, but the world is a bigger place

I would scrap the streaming profile entirely if it was acceptable to stream anything to 44.1/16.


of course not!  that's why I already said I understand the need for a "auto fallback transcoding" feature, when the function is needed, as you described.

I'm asking, if possible, make this "auto fallback transcoding" be a user setting, and it can certainly be enabled by default. But when I think I know what I'm doing, which is to make sure ALL transcoding is OFF, I want to make sure. In my case, if someone try to stream my foobar server to their crappy WMP, it should fail, according to my foo_upnp configuration!


foo_upnp

Reply #1530
Anybody knows about the compatibility of this plugin with whs 2011? I installed it, but the server doesn't happen to appear on my Oppo bdp-93.

foo_upnp

Reply #1531
How can I use foobar2000 as client of another foobar with foo_upnp plugin?


Use the UPnP Browser on the client (View > UPnP Browser for standalone window, or add it to your layout as a DUI Element).

I got a crash when I click play.
Should I dot something before?

IT seem the client crash when the sources are unavailable in the server browser

foo_upnp

Reply #1532
Hi Bubblegum
I am using the folling setup:
- UPnP Renderer: Foobar 2000 1.1.11 with foo-upnp 0.99.40
- Kinsky UPnP Control Point 4.2.4 (Davaar) on iPad
- Synology Media Server 1.0-2201 as DLNA Server
(hope my terminology is correct).
I am able to chose 'foobar2000 Renderer' as a room in Kinsky. I can browse albums on the Synology in Kinsky. I can select albums with 'Play now' and they play on foobar. so far so good.
However the following in not working:
- When I press 'skip next' to go to the next track, I can go to the next track, but the next after that does not work. foobar goes silent and shows 'Playback stopped' in the status bar
- If I exit Kinsky and restart it on the iPad, playback works again in foobar
- I am able to select another track in the playlist in Kinsky and it will play. However the now playing icon (top left in Kinsky) does not change. Also Kinsky keeps displaying a rotating icon (as if it were unable to communicate with foobar) in the progress circle.

Is what I am trying to do a setup that foo_upnp was designed to support? Or am I off the beaten track here?

By the way, doing the same sort of thing using BubbleUPnP on my Android Phone instead of Kinsky on the iPad, seems to work perfectly.

Thanks and regards
Rudi

foo_upnp

Reply #1533
I am attempting to use Foobar running on my desktop PC to send music to PlugPlayer on my iPad which in turn is feeding my DAC/preamp.  As far as I can tell there are no configurable settings for the upnp controller in foobar so I am puzzled as to why PlugPlayer does not show up in Foobar as a renderer.  There must be something obvious I am overlooking but I have checked all the settings I can find.

My setup is windows 7 (firewall off) running foobar2000 as a server, files on a NAS drive and an iPad connected to the wifi network.  The PlugPlayer renderer on the iPad has the "Allow UPnP Control" set to ON.


Difficult to say what happens here. Does the PP renderer appears in WMP "Play to" menu ?


Bubbleguum thanks for the reply.  No the PP renderer is not listed in the Play to menu of WMP.  I have also noticed that PlugPlayer does show foobar and Roku as renderers.


Any other thoughts on what I might try to resolve this issue?  Thanks.

foo_upnp

Reply #1534
Hello Bubble,

i cannot post anymore on XDA forums (i don't know why) so here I am.

I notices a strange beahviour using the latest foo_upnp (0.99.40).
When i'm using the secure port (443) to connect to my bubble upnp server, i can connect to it and browse my music library, but i cannot stream anything.
When I forward the unsecure port (80) on my router, then i'm able to stream the music.

It seems that foo_upnp is given the unsecure path to acces to a file, and because i'm not forwarding the unsecure port, it can't play the files.
If i want to stream the music i must forward both ports, then the secure connection becomes useless.

It would be nice if foo_upnp could stream on a secure connection as well (if it's possible, but following your documentation thats the goal of your latest releases)

I hope I was clear, sorry for my poor english.

niche2000

foo_upnp

Reply #1535
@niche2000

BubbleUPnP Server documentation states that the https connection is used only for connecting and browsing the server (everything except stream requests).
Streaming still uses regular http, that's why both http and https ports must be opened. Streaming has to be done over plain unauthenticated http
for compatibility reasons notably with Android (and I'm not even sure foobar2000 support playing audio over https). The fact that audio stream http requests are unauthenticated is not an issue since these stream urls cannot be found other than browsing the server (and these
requests are authenticated *and* crypted if using https). They also cannot be forged or guessed.

foo_upnp

Reply #1536
@niche2000

BubbleUPnP Server documentation states that the https connection is used only for connecting and browsing the server (everything except stream requests).
Streaming still uses regular http, that's why both http and https ports must be opened. Streaming has to be done over plain unauthenticated http
for compatibility reasons notably with Android (and I'm not even sure foobar2000 support playing audio over https). The fact that audio stream http requests are unauthenticated is not an issue since these stream urls cannot be found other than browsing the server (and these
requests are authenticated *and* crypted if using https). They also cannot be forged or guessed.


Thanks for the reply, now it is clear for me, I just misunderstood the documentation.

foo_upnp

Reply #1537
I'm planning to set up a media system on my local network using foobar and foo_upnp for centralized flac playback/streaming.

At the moment, i'm not abled to test the following things because i'm mac os only at my house right now.

A few of the most important things for me are playcounts, ratings and the ability to scrobble the played tracks to last.fm. If I play a stream on a client, the playcount and rating should be updated on the server and the track should get scrobbled to last.fm.

Those features should be available by using the plugins foo_upnp (FLAC-stream to the clients), foo_playcount / foo_audioscrobbler (playcount, rating / scrobble to last.fm).

There are some questions I couldn't find the answers to by researching by myself:

(1) If I run foobar with the plugins mentioned above on a server, do I have to install those plugins on the clients as well (except for foo_upnp)?
(2) Will foo_upnp be abled to update the server libraries playcounts and ratings of tracks (track streams) played by a client and will those tracks be scrobbled?
(3) Will foo_upnp provide the whole library and playlists from the server to the clients or do I have to sync them manually?
(4) Is it possible to tag FLAC-files on the server from a client or do I have to do this directly on the server?

foo_upnp

Reply #1538
(1) If I run foobar with the plugins mentioned above on a server, do I have to install those plugins on the clients as well (except for foo_upnp)?
(2) Will foo_upnp be abled to update the server libraries playcounts and ratings of tracks (track streams) played by a client and will those tracks be scrobbled?
(3) Will foo_upnp provide the whole library and playlists from the server to the clients or do I have to sync them manually?
(4) Is it possible to tag FLAC-files on the server from a client or do I have to do this directly on the server?


(1) No need to install plugins except the additional decoder plugins you'd need if they are not included
(2) Yes for playcounts although the rules for playcount to increase are different than regular file playback (server must have streamed 100% for count to increase).
Scrobbling is not supported at all.
(3) it provides both but the server must be restarted when playlists or Media Library content changes
(4) on the server


foo_upnp

Reply #1540
The uPNP media client embedded with some tuxbox / neutrino (dbox2) setups seems to connect from port 1024 (more often than not), so a [font= "Courier New"]M-SEARCH[/font] request fails due to the following part of code in Platinum's [font= "Courier New"]PltDeviceHost.cpp[/font], as it is used in this [font= "Comic Sans MS"]foo_upnp[/font] plugin:

Code: [Select]
        // DLNA 7.2.3.5 support
-       if (remote_port <= 1024 || remote_port == 1900) {
+       if (remote_port < 1024 || remote_port == 1900) {
            NPT_LOG_INFO_2("Ignoring M-SEARCH from %s:%d (invalid source port)",
                (const char*) ip_address,
                remote_port);
            return NPT_FAILURE;


[Cf. my report of the issue on Platinum's sf.net project page.]


 

foo_upnp

Reply #1542
@sm;)e:  ok, thanks for letting me know

foo_upnp

Reply #1543
sorry, some failure has occured - this has doubled my posting - deleted now.

foo_upnp

Reply #1544
First of all two important things:
- Thanks for this great plugin and for your hard work!
- Please excuse if there is already an answer to my question but i have searched quite 50% of this huge Thread and haven't found one...

So, here is my problem:

I'm using latest foobar, latest UPNP-Plugin (this one), latest Linn Kinsky App for iPad... foobar is running on a laptop which is connected via USB to a DAC.. the iPad is just for remote controlling
I have activated ReplayGain in the default Streaming Profile of the UPNP-Plugin; this profile seems to be used with Kinsky because this ReplayGain-setting takes audible effekt.

All is working fine, really a great plugin, and it works also like a charm with Kinsky, but i have one problem:
Playback stops after the current track in the controller-playlist (Kinsky) ends. I think that playback should walk sequentially through the current playlist in the Kinsky app but it doesn't: it stops always after finishing the current played track.
BTW: Same problem, if i use another foobar to remote controle the mentioned Foobar-Server: if i chose an album from the UPNP-browser-window then playback stops after finishing the first played track.

Is my problem description understandable for you and if yes, can anybody help me? because stopping playback after each track makes the whole setup quite useless... :-(

Thanks in advance for your help!

BTW: is there a documentation somewhere about the sections "Renderer Capabilities", "Decoding to PCM" and "use profile when" in the tab "Streaming profiles of the Preferences? what does all this mean and when and how does it takes effect and what is the purpose? Can the settings be related to my problem decsribed above?

foo_upnp

Reply #1545
All is working fine, really a great plugin, and it works also like a charm with Kinsky, but i have one problem:
Playback stops after the current track in the controller-playlist (Kinsky) ends. I think that playback should walk sequentially through the current playlist in the Kinsky app but it doesn't: it stops always after finishing the current played track.


I tested with Kinsky 4.3.3 on Windows (same version as current iOS) and get the same problem. This is definitely a regression in Kinsky as it worked in previous versions.
It also will not display elapsed time or see volume updates as it used too. I will report it to Linn

BTW: is there a documentation somewhere about the sections "Renderer Capabilities", "Decoding to PCM" and "use profile when" in the tab "Streaming profiles of the Preferences? what does all this mean and when and how does it takes effect and what is the purpose? Can the settings be related to my problem decsribed above?


No real documentation on profiles unfortunately. They are here to customize how files are streamed and rules for transcoding to WAV/LPCM or MP3 for formats unsupported by the target renderer. It only matters for those who want to stream anything higher than 44.1/16
The unmodified default profile should work with almost all renderers without modification and I confirm it is used by Kinsky.
It has no relation with the Kinsky track advance issue.

foo_upnp

Reply #1546
All is working fine, really a great plugin, and it works also like a charm with Kinsky, but i have one problem:
Playback stops after the current track in the controller-playlist (Kinsky) ends. I think that playback should walk sequentially through the current playlist in the Kinsky app but it doesn't: it stops always after finishing the current played track.


I tested with Kinsky 4.3.3 on Windows (same version as current iOS) and get the same problem. This is definitely a regression in Kinsky as it worked in previous versions.
It also will not display elapsed time or see volume updates as it used too. I will report it to Linn


Thanks a lot for your quick answer!! I can confirm that because with the iPad App iMediaControl all is working fine!

BTW: is there a documentation somewhere about the sections "Renderer Capabilities", "Decoding to PCM" and "use profile when" in the tab "Streaming profiles of the Preferences? what does all this mean and when and how does it takes effect and what is the purpose? Can the settings be related to my problem decsribed above?


No real documentation on profiles unfortunately. They are here to customize how files are streamed and rules for transcoding to WAV/LPCM or MP3 for formats unsupported by the target renderer. It only matters for those who want to stream anything higher than 44.1/16
The unmodified default profile should work with almost all renderers without modification and I confirm it is used by Kinsky.
It has no relation with the Kinsky track advance issue.


Thanks for these helpful hints - in the meanwhile i have a little bit tried (with error ;-)) and found out some things for myself.
But tow special questions remain:

a) What does this "User-Agent" in the Streaming Profile subpage mean? is this the control-point or the renderer or what else?
b) What is the purpose of the "decoding to PCM" section and how it works together with the renderer capabilities - background: i have to render Hires-stuff too!
So what would be the best profile settings if:
- the DAC connected to the foobar-renderer-laptop is able to play from 16/44.1 up to 24/196 and i have also stuff like this (for playing this way i use iPad just for remote control)
- i can use iMediaControl and the iPad as renderer so i can play the music via the speaker of the iPad (or some docking station) - in this case i want to transcode all lossless stuff to MP3 (what are the correct settings in the profile?)

If you could give my a short answer to these questions then i would know all what i have to know...

But anyway: Thank you very very much for this great plugin and especially also for the possibility to customize the Media-Library-tree via XML - great feature!!

This plugin boosts working with Foobar in the stratosphere! 

foo_upnp

Reply #1547
The UPnP component for Foobar is a welcome addition, thanks for doing it!!

I have a question about how FLAC files are displayed on the client, in this case an Oppo BDP-93. All of my FLAC files that are 44/16 display as FLAC files on the 93, but any FLAC files that are 44/24 and higher display as PCM files on the 93. Is this normal or is there something that I'm missing in the UPnP setup? Thanks for any enlightenment you can give me on this issue and thanks again for your work on the UPnP server component!

foo_upnp

Reply #1548
I have a mysterious problem using streaming profiles...

there are 4 streaming profiles related:

Default (field user-Agent is empty): renderer capability ranges from 44100 to 196000, 24 bits, no transcoding, decoding to PCM: never to wav
foobar2000-Profile (field user-Agend is foobar2000): same as default
PlugPlayer-Profile  (field user-Agent is PlugPlayer): renderer capability ranges from 11250 to 48000, 16 bits, always transcoding except mp3,flac, decoding to PCM: never to wav
iMediaControl-Profile: same as PlugPlayer-Profile

well, running iPad2 and latest Foobar+foo_upnp i run the following 8-step scenario first with App iMediaControl, then shut down Foobar, then save the upnp-logfile (level INFO, s.b.), restart Foobar, running the same 8-step scenario with App PlugPlayer (4.1.1), shut down Foobar and save again the logfile...

The Scenario i do in the Apps:
1. Navigate to AC/DC Back in black album (on the server in 24/96 HiRes as Flac)
2. Choose Renderer "MyiPad" in the App so the iPad plays the music
3. Play Track "Back in Black.flac" for some seconds
4. Stop Playback
5. Choose Renderer "Foobar2000Renderer..." so my hifi-system connected to the Foobar-media-server/Renderer plays the music
6. Play Track "You shook me all night long.flac"
7. Stop Playback
8. Close the App

Well, my goal is: When the iPad renders the stream then the hires-file should be downsampled to the defined renderer capabilities (as defined in the profile described above). When the foobar-system/renderer renders the music then the original hires should pass through to the DAC because it is able to convert hires-audio.

Now, the following occurs:

iMediaControl:

all seems working fine, but it seems that never a downsampling takes place (see the log-file-entry below) but nevertheless the music plays well over the iPad (maybe there is a wonder or the iMediaControl-App can do the downsampling but AFAIK an iPad can only play up to 48000hz)

Logfile entry for iMediaControl for steps 2 and 3 (s.a.):
Code: [Select]
User-Agent: imediacontrol4ipad/1.0 CFNetwork/548.0.4 Darwin/11.0.0
Connection: close

41.41119: upnp_server_conf::get_profile(830)/7800: INFO: using profile 'iMediaControl-Profile', matching header (User-Agent:imediacontrol4ipad/1.0 CFNetwork/548.0.4 Darwin/11.0.0)
opened 'file://W:\Klaus\Musik\archiv\1-H\ACDC\Back In Black\Original 1st press US (Vinyl Rip)\1980\24-96\06. Back In Black.flac' for streaming, profile: Default, WAV / 96000 Hz / 24 bits / 2 channels, replaygain: on, DSP chain: off
54.54498: PLT_HttpServerSocketTask::Write(410)/7800: WARNING: NPT_CHECK failed, result=-20401 (NPT_ERROR_CONNECTION_ABORTED) [(NPT_StreamToStreamCopy( *body_stream.AsPointer(), *output_stream.AsPointer(), 0, entity->GetContentLength(), 0, abort))]
60.60146: FbMediaServer::CheckAuthentication(362)/8080: INFO: received LAN request: http://192.168.178.38:56923/albumart/388d5e03239f61ea4c5e64a8f3560a01 (User-Agent: imediacontrol4ipad/1.0 CFNetwork/548.0.4 Darwin/11.0.0)
60.60156: PLT_HttpHelper::ToLog(481)/8080: INFO: FbMediaServer::ProcessFileRequest
GET /albumart/388d5e03239f61ea4c5e64a8f3560a01 HTTP/1.1
Host: 192.168.178.38:56923
User-Agent: imediacontrol4ipad/1.0 CFNetwork/548.0.4 Darwin/11.0.0
Accept: */*
Accept-Language: de-de
Accept-Encoding: gzip, deflate
Connection: keep-alive

60.60327: FbMediaRenderer::OnAction(144)/7696: INFO: >>>>>>>>>>>> Action: Stop <<<<<<<<<<<<<
60.60347: FbMediaRenderer::OnAction(144)/7696: INFO: >>>>>>>>>>>> Action: SetAVTransportURI <<<<<<<<<<<<<
60.60347: PLT_Didl::FromDidl(366)/7696: SEVERE: NPT_CHECK failed, result=-20011 (NPT_ERROR_INVALID_SYNTAX) [(parser.Parse(xml, node))]
60.60347: build_handle(21)/7696: INFO: Couldn't parse metadata: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" xmlns:pv="http://www.pv.com/pvns/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="0/1/1/3/3/6I" parentID="0" childCount="0" restricted="1" searchable="0"><dc:title>07. You Shook Me All Night Long</dc:title> <dc:date>1980-01-01</dc:date><upnp:artist>AC/DC</upnp:artist><upnp:album>Back In Black</upnp:album><upnp:albumArtURI xmlns:dlna="urn:schemas-dlna-org:metadata-1-0" dlna:profileID="JPEG_TN">http://192.168.178.38:56923/albumart/388d5e03239f61ea4c5e64a8f3560a01</upnp:albumArtURI><res size="120960044" duration="0:03:30.000" bitrate="576000" protocolInfo="http-get:*:audio/wav:*">http://192.168.178.38:56923/content/388d5e03239f61ea4c5e64a8f3560a01.wav?profile_id=0&convert=wav</res><upnp:class>object.item.audioItem.musicTrack</upnp:class></item></DIDL-Lite>
60.60547: FbMediaRenderer::OnAction(144)/7696: INFO: >>>>>>>>>>>> Action: Play <<<<<<<<<<<<<
60.60677: FbMediaServer::CheckAuthentication(362)/6668: INFO: received LAN request: http://192.168.178.38:56923/content/388d5e03239f61ea4c5e64a8f3560a01.wav?profile_id=0&convert=wav (User-Agent: foobar2000/1.1.13)
60.60677: PLT_HttpHelper::ToLog(481)/6668: INFO: FbMediaServer::ProcessFileRequest
GET /content/388d5e03239f61ea4c5e64a8f3560a01.wav?profile_id=0&convert=wav HTTP/1.1


What i do not understand is:
in one line there is "...using profile 'iMediaControl-Profile', matching header (User-Agent:imediacontrol4i.."
but in the following line there is: "opened 'file://W:\Klaus\Musik\archiv\1-H\ACDC\Back In Black\Original 1st press US (Vinyl Rip)\1980\24-96\06. Back In Black.flac' for streaming, profile: Default WAV / 96000 Hz / 24 bits / 2 channels"

and for the steps 5 and 6 (s.a.):

Code: [Select]
User-Agent: foobar2000/1.1.13
Accept: */*
Icy-MetaData: 1

60.60677: upnp_server_conf::get_profile(830)/6668: INFO: using profile 'foobar2000-Profile', matching header (User-Agent:foobar2000/1.1.13)
opened 'file://W:\Klaus\Musik\archiv\1-H\ACDC\Back In Black\Original 1st press US (Vinyl Rip)\1980\24-96\07. You Shook Me All Night Long.flac' for streaming, profile: Default, WAV / 96000 Hz / 24 bits / 2 channels, replaygain: on, DSP chain: off
60.60697: PLT_HttpServerSocketTask::Write(410)/6668: WARNING: NPT_CHECK failed, result=-20401 (NPT_ERROR_CONNECTION_ABORTED) [(NPT_StreamToStreamCopy( *body_stream.AsPointer(), *output_stream.AsPointer(), 0, entity->GetContentLength(), 0, abort))]
60.60697: FbMediaServer::CheckAuthentication(362)/6184: INFO: received LAN request: http://192.168.178.38:56923/content/388d5e03239f61ea4c5e64a8f3560a01.wav?profile_id=0&convert=wav (User-Agent: foobar2000/1.1.13)
60.60697: PLT_HttpHelper::ToLog(481)/6184: INFO: FbMediaServer::ProcessFileRequest
GET /content/388d5e03239f61ea4c5e64a8f3560a01.wav?profile_id=0&convert=wav HTTP/1.1


here I also don't understand:
"...using profile 'foobar2000-Profile', matching header (User-Agent:foobar2000/1.1.13.." followed by the line
"opened 'file://W:\Klaus\Musik\archiv\1-H\ACDC\Back In Black\Original 1st press US (Vinyl Rip)\1980\24-96\07. You Shook Me All Night Long.flac' for streaming, profile: Default WAV / 96000 Hz / 24 bits / 2 channels"

summary for using iMediaControl: it seems that never a downsampling occurs and alway the Default-Profile is used regardless which user-Agent but in the log there is first "using profile imediaControl-profile" and then "using profile foobar2000-profile"...but both seems to lead to the Default-profile - WHY?

PlugPlayer:

Logfile entry for PlugPlayer for steps 2 and 3 (s.a.):
Code: [Select]
User-Agent: RecivaRadio/1.0.0
Icy-MetaData: 1
Connection: close

54.54078: upnp_server_conf::get_profile(836)/4788: INFO: using default profile (User-Agent:RecivaRadio/1.0.0)
opened 'file://W:\Klaus\Musik\archiv\1-H\ACDC\Back In Black\Original 1st press US (Vinyl Rip)\1980\24-96\06. Back In Black.flac' for streaming, profile: PlugPlayer-Profile, WAV / 48000 Hz / 16 bits / 2 channels, replaygain: on, DSP chain: off
65.65584: PLT_HttpServerSocketTask::Write(410)/4788: WARNING: NPT_CHECK failed, result=-20401 (NPT_ERROR_CONNECTION_ABORTED) [(NPT_StreamToStreamCopy( *body_stream.AsPointer(), *output_stream.AsPointer(), 0, entity->GetContentLength(), 0, abort))]
65.65714: FbMediaServer::CheckAuthentication(362)/2992: INFO: received LAN request: http://192.168.178.38:56923/DeviceDescription.xml (User-Agent: iPad/5.0.1, UPnP/1.0, PlugPlayer/4.1.1)
65.65835: FbMediaServer::CheckAuthentication(362)/4360: INFO: received LAN request: http://192.168.178.38:56923/DeviceDescription.xml (User-Agent: iPad/5.0.1, UPnP/1.0, PlugPlayer/4.1.1)
66.66526: FbMediaServer::CheckAuthentication(362)/5752: INFO: received LAN request: http://192.168.178.38:56923/DeviceDescription.xml (User-Agent: iPad/5.0.1, UPnP/1.0, PlugPlayer/4.1.1)
69.69059: FbMediaServer::CheckAuthentication(362)/6504: INFO: received LAN request: http://192.168.178.38:56923/DeviceDescription.xml (User-Agent: iPad/5.0.1, UPnP/1.0, PlugPlayer/4.1.1)
69.69089: FbMediaServer::CheckAuthentication(362)/7516: INFO: received LAN request: http://192.168.178.38:56923/DeviceDescription.xml (User-Agent: iPad/5.0.1, UPnP/1.0, PlugPlayer/4.1.1)
69.69139: FbMediaServer::CheckAuthentication(362)/7656: INFO: received LAN request: http://192.168.178.38:56923/DeviceDescription.xml (User-Agent: iPad/5.0.1, UPnP/1.0, PlugPlayer/4.1.1)
69.69700: FbMediaServer::CheckAuthentication(362)/7052: INFO: received LAN request: http://192.168.178.38:56923/DeviceDescription.xml (User-Agent: iPad/5.0.1, UPnP/1.0, PlugPlayer/4.1.1)
70.70441: FbMediaServer::CheckAuthentication(362)/7216: INFO: received LAN request: http://192.168.178.38:56923/DeviceDescription.xml (User-Agent: iPad/5.0.1, UPnP/1.0, PlugPlayer/4.1.1)
70.70631: FbMediaRenderer::OnAction(144)/4312: INFO: >>>>>>>>>>>> Action: GetVolume <<<<<<<<<<<<<
70.70672: FbMediaRenderer::OnAction(144)/4312: INFO: >>>>>>>>>>>> Action: GetTransportInfo <<<<<<<<<<<<<
70.70692: FbMediaRenderer::OnAction(144)/4312: INFO: >>>>>>>>>>>> Action: GetPositionInfo <<<<<<<<<<<<<
71.71072: FbMediaRenderer::OnAction(144)/4312: INFO: >>>>>>>>>>>> Action: GetPositionInfo <<<<<<<<<<<<<
71.71763: FbMediaRenderer::OnAction(144)/4312: INFO: >>>>>>>>>>>> Action: GetPositionInfo <<<<<<<<<<<<<
71.71953: FbMediaServer::CheckAuthentication(362)/4484: INFO: received LAN request: http://192.168.178.38:56923/DeviceDescription.xml (User-Agent: iPad/5.0.1, UPnP/1.0, PlugPlayer/4.1.1)
72.72494: FbMediaServer::CheckAuthentication(362)/8172: INFO: received LAN request: http://192.168.178.38:56923/DeviceDescription.xml (User-Agent: iPad/5.0.1, UPnP/1.0, PlugPlayer/4.1.1)
72.72775: FbMediaRenderer::OnAction(144)/4312: INFO: >>>>>>>>>>>> Action: GetPositionInfo <<<<<<<<<<<<<
73.73836: FbMediaRenderer::OnAction(144)/4312: INFO: >>>>>>>>>>>> Action: GetPositionInfo <<<<<<<<<<<<<
74.74968: FbMediaRenderer::OnAction(144)/4312: INFO: >>>>>>>>>>>> Action: GetPositionInfo <<<<<<<<<<<<<
75.75949: FbMediaRenderer::OnAction(144)/4312: INFO: >>>>>>>>>>>> Action: GetPositionInfo <<<<<<<<<<<<<
76.76229: FbMediaRenderer::OnAction(144)/4312: INFO: >>>>>>>>>>>> Action: Stop <<<<<<<<<<<<<
76.76460: FbMediaRenderer::OnAction(144)/4312: INFO: >>>>>>>>>>>> Action: Stop <<<<<<<<<<<<<
76.76690: FbMediaRenderer::OnAction(144)/4312: INFO: >>>>>>>>>>>> Action: SetAVTransportURI <<<<<<<<<<<<<
76.76720: FbMediaRenderer::OnAction(144)/4312: INFO: >>>>>>>>>>>> Action: Play <<<<<<<<<<<<<
76.76810: FbMediaServer::CheckAuthentication(362)/7636: INFO: received LAN request: http://192.168.178.38:56923/content/388d5e03239f61ea4c5e64a8f3560a01.wav?profile_id=2&convert=wav&samplerate=48000 (User-Agent: foobar2000/1.1.13)
76.76820: PLT_HttpHelper::ToLog(481)/7636: INFO: FbMediaServer::ProcessFileRequest
GET /content/388d5e03239f61ea4c5e64a8f3560a01.wav?profile_id=2&convert=wav&samplerate=48000 HTTP/1.1


What i do not understand is:
in one line there is "...using default profile (User-Agent:RecivaRadio/1.0.0)..."
but in the following line there is: "opened 'file://W:\Klaus\Musik\archiv\1-H\ACDC\Back In Black\Original 1st press US (Vinyl Rip)\1980\24-96\06. Back In Black.flac' for streaming, profile: PlugPlayer-Profile, WAV / 48000 Hz / 16 bits / 2 channels"
Which of the information about using a profile means what??

and for the steps 5 and 6 (s.a.):

Code: [Select]
User-Agent: foobar2000/1.1.13
Accept: */*
Icy-MetaData: 1

76.76820: upnp_server_conf::get_profile(830)/7636: INFO: using profile 'foobar2000-Profile', matching header (User-Agent:foobar2000/1.1.13)
opened 'file://W:\Klaus\Musik\archiv\1-H\ACDC\Back In Black\Original 1st press US (Vinyl Rip)\1980\24-96\07. You Shook Me All Night Long.flac' for streaming, profile: PlugPlayer-Profile, WAV / 48000 Hz / 16 bits / 2 channels, replaygain: on, DSP chain: off
76.76890: PLT_HttpServerSocketTask::Write(410)/7636: WARNING: NPT_CHECK failed, result=-20401 (NPT_ERROR_CONNECTION_ABORTED) [(NPT_StreamToStreamCopy( *body_stream.AsPointer(), *output_stream.AsPointer(), 0, entity->GetContentLength(), 0, abort))]
76.76931: FbMediaServer::CheckAuthentication(362)/7968: INFO: received LAN request: http://192.168.178.38:56923/content/388d5e03239f61ea4c5e64a8f3560a01.wav?profile_id=2&convert=wav&samplerate=48000 (User-Agent: foobar2000/1.1.13)
76.76931: PLT_HttpHelper::ToLog(481)/7968: INFO: FbMediaServer::ProcessFileRequest
GET /content/388d5e03239f61ea4c5e64a8f3560a01.wav?profile_id=2&convert=wav&samplerate=48000


Here i also don't understand:
"...using profile 'foobar2000-Profile', matching header (User-Agent:foobar2000/1.1.13.." followed by the line
"opened 'file://W:\Klaus\Musik\archiv\1-H\ACDC\Back In Black\Original 1st press US (Vinyl Rip)\1980\24-96\07. You Shook Me All Night Long.flac' for streaming, profile: PlugPlayer-Profile, WAV / 48000 Hz / 16 bits / 2 channels"

so now again ther PlugPlayer-Profile with downsampling is used even the log-file says one line above that the foobar2000-profile is used...??!!
And in fact the plugPlayer-Profile is used when using the foobar2000-Renderer because only 16/48 comes to the DAC...

So summary for PlugPlayer: regardless which renderer i choose always the downsampling of the PlugPlayer-Profile takes plays, even if using the foobar2000-profile  is reported.


Overall summary: I do not understand why with PlugPlayer-App always the PlugPlayer-Profile (with its downsampling) is used even when using profile foobar2000-Profile (without downsampling, s. on top profile description) is reported (s.a.). And i also do not understand why with iMediaControl it seems that never a downsampling occurs even if using profile iMediaControl-profile (with its downsamling) is reported...

Can anybody please explain what is running weird or what i'm doing wrong? Many thanks in advance!!


foo_upnp

Reply #1549
The UPnP component for Foobar is a welcome addition, thanks for doing it!!

I have a question about how FLAC files are displayed on the client, in this case an Oppo BDP-93. All of my FLAC files that are 44/16 display as FLAC files on the 93, but any FLAC files that are 44/24 and higher display as PCM files on the 93. Is this normal or is there something that I'm missing in the UPnP setup? Thanks for any enlightenment you can give me on this issue and thanks again for your work on the UPnP server component!


Yes this is normal. With the Default profile  (used by the Oppo) anything higher than 44.1Khz is streamed as 16 bits wav.
If your Oppo support higher samplerates modify maximum samplerate in the Default profile and eventually set max bitdepth to 24.