Hydrogenaudio Forums

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: bubbleguuum on 2009-02-20 17:57:20

Title: foo_upnp
Post by: bubbleguuum on 2009-02-20 17:57:20
Download latest version of plugin 0.99.48 (http://www.foobar2000.org/components/view/foo_upnp) [BETA] [Changelog (http://bubbleguuum.free.fr/foo_upnp/changelog.txt)]
Documentation (http://bubbleguuum.free.fr/foo_upnp/foo_upnp.txt) (work in progress)

Some use cases:

- Use the server to stream audio to a PS3, XBOX360 (using their interface), iPhone (PlugPlayer)
- Push audio from either your local foobar2000 Media Library or another UPnP Media Server to WMP12, an iPhone (PlugPlayer) or another foobar2000 instance on the network.
- Control foobar2000 playback from an iPhone, WMP12, or any other Control Point.
- Browse and play your Media Library and playlists remotely with an Internet connection
- Control a Linn Ds product including making playlists, switching sources, etc.

UPnP AV Media Server

Media Server Browser (UPnP Browser)

Control Point (UPnP Controller)

UPnP AV Renderer


How to enable logging to troubleshoot problems

Logging can be enabled in File->Preferences->Tools->UPnP->Server->Basic. Logging is mostly useful so I can troubleshoot issues when I don't have the hardware or can't reproduce the issue. If log to file is enabled, a log file called foo_upnp.log is generated in either your foobar install directory or in <Document and settins>/<login>/Application Data/foobar2000. This file is overwritten on each foobar2000 launch. You can also see logging in the foobar2000 console by enabling the relevant option. Log level can be changed. Usually the INFO level gives sufficient information but sometimes finer spammy levels are required to troubleshoot some issues.
Title: foo_upnp
Post by: --pv-- on 2009-02-20 18:32:40
Hello,
Sorry that this is not directly related to this component. It seems to be very nice feature to be able to use foobar 2000 to get my music collection streamed accross my home network. Now the question is the browser will only work with columns UI or so called hosts. I have looked at foo_dockable_pannels briefly and it still requires a lot of mouse activity to use it. Is there a solution so I can got this thing setup without requiring usage of the mouse?
Title: foo_upnp
Post by: ExUser on 2009-02-20 18:36:45
I get the following error trying to stream FLACs from one foobar2000 to another:

Code: [Select]
Decoding failure at 0:00.000 (Reported file length changed):
"http://192.168.1.10:56923/content/file:%2f%2fN:%5cNew%20&%20Unsorted%5cMochipet%20-%202009%20-%20Master%20P%20on%20Atari%5c04-Marshall_Bass_Stack.flac.wav?convert=wav&samplerate=44100"
Title: foo_upnp
Post by: bubbleguuum on 2009-02-20 18:47:08
I get the following error trying to stream FLACs from one foobar2000 to another:

Code: [Select]
Decoding failure at 0:00.000 (Reported file length changed):
"http://192.168.1.10:56923/content/file:%2f%2fN:%5cNew%20&%20Unsorted%5cMochipet%20-%202009%20-%20Master%20P%20on%20Atari%5c04-Marshall_Bass_Stack.flac.wav?convert=wav&samplerate=44100"

Yup listed in limitations in the original post, as FLAC is streamed as WAV (FLAC is not a standard UPnP AV audio format). If a dev could explain in which case this error (Reported file length changed) happen I'll be able to correct it.
It probably has something to do with the HTTP Content-length header or the audio size in the WAV header but I'm not sure.
Title: foo_upnp
Post by: bubbleguuum on 2009-02-20 18:49:28
[quote author=--pv-- link=msg=616684 date=1235154760]Hello,
Sorry that this is not directly related to this component. It seems to be very nice feature to be able to use foobar 2000 to get my music collection streamed accross my home network. Now the question is the browser will only work with columns UI or so called hosts. I have looked at foo_dockable_pannels briefly and it still requires a lot of mouse activity to use it. Is there a solution so I can got this thing setup without requiring usage of the mouse?[/quote]

With foo_dockable_panels you just have to create the window panel once, it will be remembered. But it will remain a separate window.
Title: foo_upnp
Post by: --pv-- on 2009-02-20 19:00:04
I guess you are using somekind of treeview in the pannel. since foo_dockable_panels does not create top level windows I'd still need to click that window using mouse in order to get to interact with the window. or do I missunderstand completelly? For me docking implies something visual and since I am blind I always feel I don't understand it correctly.
Title: foo_upnp
Post by: ExUser on 2009-02-20 19:14:31
The size of the file that is reported by your HTTP server is changing. The client receives one value at one time and another value at another time. Specifically, look into the size of the file reported when seeking, as that was explicitly mentioned when I asked Peter directly.
Title: foo_upnp
Post by: ExUser on 2009-02-20 19:17:35
[quote author=--pv-- link=msg=616694 date=1235156404]I guess you are using somekind of treeview in the pannel. since foo_dockable_panels does not create top level windows I'd still need to click that window using mouse in order to get to interact with the window. or do I missunderstand completelly? For me docking implies something visual and since I am blind I always feel I don't understand it correctly.[/quote]That sounds right.

I suspect that the best use case for you is to use Columns UI, though I really don't know how well that supports the accessibility features you depend on.
Title: foo_upnp
Post by: bubbleguuum on 2009-02-20 20:53:09
The size of the file that is reported by your HTTP server is changing. The client receives one value at one time and another value at another time. Specifically, look into the size of the file reported when seeking, as that was explicitly mentioned when I asked Peter directly.


Thanks, this is helpful and I have found where the problem is in my code
Title: foo_upnp
Post by: ExUser on 2009-02-20 21:03:01
I eagerly await the bug-fix release.
Title: foo_upnp
Post by: ExUser on 2009-02-20 23:28:19
Another weird bug: Somehow this component interferes with metadata from my Vorbis stream. With the component, I get no artist/title metadata (but oddly a couple other fields like DISCNUMBER). Without it, everything works as expected.
Title: foo_upnp
Post by: bubbleguuum on 2009-02-21 00:09:29
Another weird bug: Somehow this component interferes with metadata from my Vorbis stream. With the component, I get no artist/title metadata (but oddly a couple other fields like DISCNUMBER). Without it, everything works as expected.

I'm not too surprised, it is a side effect of the implementation of a custom metadb_display_field_provider that is the cause of this. It processes a few standard fields for display.
I suspect you have one also, and the two interfere.

When the item is not managed by my plugin, my custom metadb_display_field_provider class  just call titleformat_hook_impl_file_info::process_field() (see code below) .
Instead it should let foobar call other providers but I don't know if it is possible (returning false in process_field() will just leave the fields unprocessed...).

Btw 0.81 released (first post) now able to play all audio formats .

Code: [Select]
bool process_field(t_uint32 index, metadb_handle * handle, titleformat_text_out * out) {

        string8 field;
        get_field_name(index, field);

        const file_info *finfo = NULL;

        if(handle->get_info_async_locked(finfo)) {
            const char *codec = finfo->info_get("codec");
            if(codec && strcmp(codec, "PCM") == 0) {
                browser_window::get_instance()->get_file_info(handle, finfo);
            }
        } else {
            browser_window::get_instance()->get_file_info(handle, finfo);
        }

        if(finfo) {
            bool flag;
            titleformat_hook_impl_file_info hook(handle->get_location(), finfo);
            hook.process_field(out, field, field.get_length(), flag);
        }
        return true;
    }
Title: foo_upnp
Post by: Peter on 2009-02-21 01:08:35
bubbleguuum, your metadb_display_field_provider use is critically flawed and probably breaks all mid-stream metadata processing for streams that your component isn't handling, please remove it or your component will be put on the list of problematic components. You're falling back to static track information cached in the metadb, which doesn't contain realtime playback information. If you try to hackfix this, you start feeding playback information to callers that don't want it, which is just as bad.

Rant: no matter how clearly documented the API is, people will just happily ignore what the documentation says anyway and then waste other people's time with "component A can't coexist with component B" problems.
Title: foo_upnp
Post by: bubbleguuum on 2009-02-21 01:23:54
bubbleguuum, your metadb_display_field_provider use is critically flawed and probably breaks all mid-stream metadata processing for streams that your component isn't handling, please remove it or your component will be put on the list of problematic components. You're falling back to static track information cached in the metadb, which doesn't contain realtime playback information. If you try to hackfix this, you start feeding playback information to callers that don't want it, which is just as bad.

Rant: no matter how clearly documented the API is, people will just happily ignore what the documentation says anyway and then waste other people's time with "component A can't coexist with component B" problems.


I had the feeling this was broken when I coded it to be honest. I posted a message about it in the development forum a few days ago that went unanswered.
I may be wrong but it looks like file_info cannot be written without being written to disk. In that case how should I proceed if metadb_display_field_provider is innapropriate? Oh yes I could present empty items in the playlist and info will be displayed when played, right ?

Rant: no matter how you ask for help in the development forum on some finer point of the SDK, sometimes you get no anwser. And the documentation does not explain all, far from it.
Title: foo_upnp
Post by: Peter on 2009-02-21 01:43:01
The exact thing you asked for is inherently incompatible with the 0.9.x metadb design. If there was a simple answer to your question, you'd probably have gotten one.
Can't you simply accept the fact that the foobar2000 architecture was not designed with your exact scenario in mind and stop trying to hack around the limitations?

I can think of one reasonable solution to this situation - it might seem ugly but it avoids all the landmines:
- Don't pass http:// URLs to foobar2000 - obscure them somehow to generate URLs that existing inputs won't attempt to play - eg. upnpstream://<base64-encoded-original-url-string>
- Implement your own input class that plays your streams and invokes other inputs to do the decoding; you have full power over returned metadata so you can return whatever you want and it stays in the metadb. If your metadata changes in mid-stream, use get_dynamic_info() / get_dynamic_info_track() to signal such changes; components displaying real-time playback information will render that information.
- Since the real HTTP URL is obscured, you might want to return it in tech infos or something like that for people who care.
Title: foo_upnp
Post by: bubbleguuum on 2009-02-21 01:56:23
The exact thing you asked for is inherently incompatible with the 0.9.x metadb design. If there was a simple answer to your question, you'd probably have gotten one.
Can't you simply accept the fact that the foobar2000 architecture was not designed with your exact scenario in mind and stop trying to hack around the limitations?

I can think of one reasonable solution to this situation - it might seem ugly but it avoids all the landmines:
- Don't pass http:// URLs to foobar2000 - obscure them somehow to generate URLs that existing inputs won't attempt to play - eg. upnpstream://<base64-encoded-original-url-string>
- Implement your own input class that plays your streams and invokes other inputs to do the decoding; you have full power over returned metadata so you can return whatever you want and it stays in the metadb. If your metadata changes in mid-stream, use get_dynamic_info() / get_dynamic_info_track() to signal such changes; components displaying real-time playback information will render that information.
- Since the real HTTP URL is obscured, you might want to return it in tech infos or something like that for people who care.


Thanks for the info, I'll look into it. One last question:  using a custom input class will I have control over the metadata (ie file_info) before the user plays anything (ie starts decoding) ?
Title: foo_upnp
Post by: Peter on 2009-02-21 02:06:19
Yes, you can implement your own equivalent of tag reading and return any info you want, it will be kept by the metadb and shown in playlist even before the user plays your streams.
Note that you should add items to a playlist using playlist_incoming_item_filter_v2::process_locations_async() or alike, they will fetch metadata from your input class if necessary. Creating metadb_handles yourself and adding them directly may bypass that, so the metadata won't be seen until the stream is played for the first time.
Title: foo_upnp
Post by: TomBarlow on 2009-02-21 10:14:14
Hmm this is probably related to the stuff discussed above that I don't understand, but this component seems to break square brackets across foobar- in playlists, the window title etc, e.g. [%tracknumber%] returns '?' instead of nothing as it should...
Title: foo_upnp
Post by: --pv-- on 2009-02-21 20:20:16
I feel nausea is also doing this in his foo_lastfm_radio. At least he has also been asking how to add his own metadata into the files before playing.

Might there be a chance for native default user interface compatible version in the future?
Title: foo_upnp
Post by: bubbleguuum on 2009-02-21 20:38:14
[quote author=--pv-- link=msg=616944 date=1235247616]I feel nausea is also doing this in his foo_lastfm_radio. At least he has also been asking how to add his own metadata into the files before playing.[/quote]

I'm applying the method described by Peter and it works well, a rerelease of this plugin is not too far .

Quote
Might there be a chance for native default user interface compatible version in the future?


When the UI Elements SDK will be available this will be possible.
Title: foo_upnp
Post by: bubbleguuum on 2009-02-23 21:40:38
v 0.9 (beta)  (first post to download)

- fix:removed ugly metadb_display_field_provider hook causing all sorts of problems. Now remote items use the upnp:// protocol and persists across foobar sessions. Metadata retrieved at browse time is augmented with real decoder info at decode time. The same File Operations than the http filesystem are supported: you can copy remote items, however there's a small issue with it (see notes below)
these items will be playable as long as the remote server is running and the urls valid.
- fix: now able to browse and play music from any UPnP media server. Tested with WMP, Nero Media Home.
- fix: don't crash if no resource in a music item
- add: tree browser now configurable for right and left click action on node. Actions are: send to current playlist, add to current playlist, send to new playlist, send to UPnP browser playlist, show context menu. Use right click somewhere not on the tree to configure this behaviour.

Notes:

- WMP takes a long time to show up in the server list, ususally it appears within a few mins
- Nero media home does not appear in list if started after the plugin
- File operation->copy files works (with servers that supports http seeking), but copied files have no extension (had a solution for this but conflicts with something else)
Title: foo_upnp
Post by: ExUser on 2009-02-23 23:25:20
Thanks for the new version! It works better than the last version. There are still a few bugs to work out though.

Title: foo_upnp
Post by: bubbleguuum on 2009-02-23 23:56:58
Thanks for the new version! It works better than the last version. There are still a few bugs to work out though.

  • Playlists do not appear to update without restarting.
  • I can't seem to be able to use it to stream modules at all. I'm using foo_dumb with cyberride by jester (http://ftp://ftp.mpoli.fi/pub/skene/MUSIC/OTHER/CYB.ZIP) to test.
  • When I manually stop the server, it restarts when foobar2000 is restarted. There are a couple places where I want to use foo_upnp strictly as a client and not as a server.
  • Not a bug, but I'd prefer a proper Preferences dialog page to configure the context menu rather than the current "right-click-on-whitespace" method.


1. Remote library changes notifications to the client are not implemented. The UPnP spec says something about that but it's quite complicated to implement and I'm
not sure that many servers implement it. I'll probably have a go at it just for completeness and the challenge
In the current version, once a node is loaded it won't change its content.

2. This format do not define the technical info "samplerate" which the transcode to PCM needs. I can work around that but look for direct streaming of the original file format (FLAC, MOD , whatever) in the next version instead.

3. Works here, not suer what happened (can you reproduce it ?)

4. This will probably gets a conf page as there are more things to configure

Title: foo_upnp
Post by: ExUser on 2009-02-24 00:02:26
Yep. Easily reproduced. I click the "Stop Server" button, it says the server is stopped. I close foobar2000. I re-open foobar2000. The server is running again.
Title: foo_upnp
Post by: bubbleguuum on 2009-02-24 00:14:47
Yep. Easily reproduced. I click the "Stop Server" button, it says the server is stopped. I close foobar2000. I re-open foobar2000. The server is running again.


No problem here. Did you remove foo_upnp_mediaserver.dll ?
Title: foo_upnp
Post by: ExUser on 2009-02-24 00:34:49
Yes.
Title: foo_upnp
Post by: Kohlrabi on 2009-02-24 00:38:53
Great plugin, coincidentally I was just looking for a way to access my Album List remotely, keep up the good work. 

Just two features I'm hoping for in the future: Is it possible to expand the program to allow streaming of vorbis files/streams? And is the program expandable to allow transcoding non-streamable formats to MP3/AAC/WMA? (maybe using the builtin foobar converter somehow?)
Title: foo_upnp
Post by: bubbleguuum on 2009-02-24 00:43:12
Yes.



Got it! configuration is not saved in foo_dockable_panels but is saved when running columns ui. I'm guessing you use the former.
Title: foo_upnp
Post by: ExUser on 2009-02-24 00:45:31
You got it.
Title: foo_upnp
Post by: supertramp on 2009-02-24 04:19:16
bubbleguuum,

I can't seem to get .90 (or earlier versions) working with Roku Soundbridge client(s). Tried transcoding FLAC (WAV and LPCM), and also pulling down MP3 w/o transcoding, but in all cases SB displays "can't play selection" error message. Cycling through each selected file displays the same error.

I have 2 SB's connected to the network. Browsing from the client devices works fine.

Also, .90 doesn't retain settings. Relaunching foobar returns to default settings in all cases.

Any ideas?  Anybody else got it working on Roku devices?

Title: foo_upnp
Post by: bubbleguuum on 2009-02-24 10:38:00
bubbleguuum,

I can't seem to get .90 (or earlier versions) working with Roku Soundbridge client(s). Tried transcoding FLAC (WAV and LPCM), and also pulling down MP3 w/o transcoding, but in all cases SB displays "can't play selection" error message. Cycling through each selected file displays the same error.

I have 2 SB's connected to the network. Browsing from the client devices works fine.


These problems are hard to solve without having the actual hardware to test, each device behaving in its own quircky ways...
I'll put up instructions easy to follow (if you're a bit technical) to sniff the HTTP traffic between the device and the plugin.

Quote
Also, .90 doesn't retain settings. Relaunching foobar returns to default settings in all cases.


That's only the case when running with foo_dockable_panels. I'll have a fix for this tonight.
Title: foo_upnp
Post by: Zbih on 2009-02-24 12:50:57
hi, with foobar 0.9.6.3 beta 2 it doesn't save changes in upnp media server setting, after foobar restart options go back to default

ps. is it possible to add by album sorting in every playlist (not only in media library) on PS3?
Title: foo_upnp
Post by: supertramp on 2009-02-24 14:07:31
If you post instructions for sniffing, I'll try to help out. This might help, however:  I have another upnp server that works reliably with the Roku. It maintains and displays a list of quirks for various units.  Here are some examples:

Roku Soundbridge: skip child count.
Netgear MP101: replace empty genre, include sessionID, filter international characters
Buffalo Linktheater: Include sessionID, allow visual content, filter international characters
DLink DSM-320: Shrink large images, include sessionID, no server header, allow visual content, filter international characters

The other quirks on the list (i.e., not mentioned above) are: use flat URLs, omit host portion of URL, experimental DLNA

Perhaps this will help track down some compatibility issues?

Title: foo_upnp
Post by: Jorgo on 2009-02-25 20:18:17
I'm having the same problems as Supertramp with the Popcorn Hour. I see all the pretty lists but can't play any items.
Title: foo_upnp
Post by: bubbleguuum on 2009-02-25 20:30:24
I stongly suspect those device to not like the very long URLs the plugin generates. I have another naming scheme that produce way shorter and simpler URL at the expense of them
not to be valid between server restart which is usually no problem when used with such devices. I'll send you a test version if you wish we'll see how it goes.
In the meantime, can you say if your device works with WMP or Nero Media Home as the server ?


EDIT: I remember reading somewhere that the Popcorn Hour only support UPnP for video.
Title: foo_upnp
Post by: Galova on 2009-02-25 22:22:28
oh. my dreams come true

thank you very much. I must try it immediatly
Title: foo_upnp
Post by: bubbleguuum on 2009-02-25 22:59:41
Many goodies and polishing in this version! (first post to download)

v 0.91

- new: ability to stream all file formats without any conversion to WAV/LPCM  (option "stream all files in their orignal format if possible").
  Exceptions are tracks with a subsong id (FLAC + CUE for example) which are always streamed as WAV or LPCM.
- new: option to not list the server in the local UPnP browser (by default it is hidden to local browser)
- new: in configuration panel, button to quickly set server settings for use with this plugin as the client
- fix: save config when running under foo_dockable_panels. On first launch this will reset conf but it will be preserved in future versions.
- fix: starting the server in the configuration dialog was using the old settings (not the displayed one)
- fix: plugin was slowing down foobar when exiting app
- fix: better handling of merge of metadata+technical info coming from metadb cache, upnp browse info and http decode info.
- fix: server: ability to stream as WAV/LPCM formats that do not define technical info "samplerate" (hello mods and foo_dumb!)
- chg: server: do not expose upnp:// items to clients else it could get funny!

known issues:

- seeking in FLAC files streamed as FLAC can give random "Unsupported file format" errors
- in pref page, when closing the page and the server is restarted because of a settings change and the server set to be  visible in the local UPnP browser,
  this will freeze foobar (deadlock). This does not happen when doing start/stop server manually.
Title: foo_upnp
Post by: saivert on 2009-02-26 00:28:57
Warning against foo_dockable_panels:
I advise against using foo_dockable_panels to use the UPnP browser panel. If you need this switch to using Columns UI (http://yuo.be/columns.php) instead (it's not that different from Default UI in functionality and has been improved a lot since it's early days).
foo_dockable_panels uses hacks to get around things in foobar2000 which is prohibited expressively. Also it uses unstable code and it actually caused foo_upnp to lock up and crash.
foo_upnp has enough bugs as it is (no offense) so adding other unstable components to the mix is not the smartest thing you can do.
Until buublegum is allowed access to the UI Elements SDK or it's released for everybody, the only sane way to use the UPnP Browser is by using Columns UI.
This is not meant as an assault on anyone particular. I'm just trying to help out.

And now for a bug report:
- Using foo_upnp to stream files to itself within the same foobar2000 instance crashes foobar2000.
- Multiple issues with the preferences page as long as the UPnP browser panel is visible. Users are advised to only use foo_upnp as a server or a client, but not both at the same time in a single foobar2000 instance.

Also a tip when using Windows Media Player on the client side to test foo_upnp:
Windows Media Player caches media items from UPnP servers so be sure to restart WMP and refresh the list view to get rid of non-working items. I was caught by this issue after wondering why some options in foo_upnp didn't take effect.
Title: foo_upnp
Post by: Kohlrabi on 2009-02-26 12:06:01
v 0.91

- new: ability to stream all file formats without any conversion to WAV/LPCM  (option "stream all files in their orignal format if possible").
  Exceptions are tracks with a subsong id (FLAC + CUE for example) which are always streamed as WAV or LPCM.


yay! 

will try it out later when I'm home.
Title: foo_upnp
Post by: bubbleguuum on 2009-02-26 14:54:31
- Using foo_upnp to stream files to itself within the same foobar2000 instance crashes foobar2000.


More details on this ? It does not crash on my PC but I know it could be problematic.
Send the crash backtrace. It'll be useful as there is debug info and I should now where it crashes.

Quote
- Multiple issues with the preferences page as long as the UPnP browser panel is visible. Users are advised to only use foo_upnp as a server or a client, but not both at the same time in a single foobar2000 instance.


In my experience there are potential problems only when doing loopback [local server visible to local client] (see above), which is not very useful to end user and that I'll disable in the next version.
Title: foo_upnp
Post by: bubbleguuum on 2009-02-26 19:13:03
v 0.92

- fix broken directories dragged into a playlist
- do not allow browsing local server anymore
Title: foo_upnp
Post by: Jorgo on 2009-02-27 11:30:05
I stongly suspect those device to not like the very long URLs the plugin generates. I have another naming scheme that produce way shorter and simpler URL at the expense of them
not to be valid between server restart which is usually no problem when used with such devices. I'll send you a test version if you wish we'll see how it goes.
In the meantime, can you say if your device works with WMP or Nero Media Home as the server ?

EDIT: I remember reading somewhere that the Popcorn Hour only support UPnP for video.


Here's an excerpt from the PCH Wiki. It states that basic UPnP support is available for both video and audio and a list working controllers:
http://www.networkedmediatank.com/wiki/index.php/UPnP (http://www.networkedmediatank.com/wiki/index.php/UPnP)


Title: foo_upnp
Post by: Peter on 2009-02-27 11:52:35
- fix broken directories dragged into a playlist
Out of curiosity: how did you break that in first place? We've had components do things like this before, it would be interesting to know how exactly for future reference.
Title: foo_upnp
Post by: bubbleguuum on 2009-02-27 14:02:40
- fix broken directories dragged into a playlist
Out of curiosity: how did you break that in first place? We've had components do things like this before, it would be interesting to know how exactly for future reference.


It is due a misuse of the undocumented filesystem::get_canonical_path() API. My plugin which use a filesystem subclass, was returning true in this function. It happens that in some cases (dropping the directory in a playlist is one of them) foobar core calls this function (from filesystem::g_get_canonical_path()) even if filesystem::is_our_path () or file_system::supports_content_type() returns false. 
returning true in filesystem::get_canonical_path()  made the core think my filesystem implementation was handling the directory path, hence the bug.
I'm still not sure what the canonical path is, and what its purpose is.
Curiously since services seems to not be initialized in the same order between foobar runs, sometimes my filesystem impl was registered after the legit file:// impl and there was no bug.

I have another question related to opening files. This plugin defines an input_entry subclass as well as a filesystem subclass. The only filesystem subclass purpose is to allow on upnp:// items the same file operations than http, namely copying remote files. The file operation dialog uses the item path to know what is the file extension for the copied file. I don't have any extension in my upnp:// paths so the copied files would be without extension. To overcome this I added the correct extension to my upnp:// path but in that case, when playing an upnp:// item in most case input_entry::open() was called but to my surprise in other cases it was filesystem::open(). In the case filesystem::open() was called it would then turn to later call the open() function of the http input_entry, which obviously don't work. So it seems the behaviour is different if a path has an extension or not. In my case I'd like it to have an extension to make file operations find the extension, but the call to  filesystem::open() gets in the way in normal decoding. Any idea or workaround to solve that issue ?
Title: foo_upnp
Post by: Kohlrabi on 2009-02-27 14:03:52
I can't see any foobar UPnP servers in the foobar UPnP browser anymore with version 0.92. WMP sees them fine, but crashes when trying to play vorbis (maybe some directshow filter problem), but plays WAV and MP3.

Title: foo_upnp
Post by: bubbleguuum on 2009-02-27 14:09:04
I can't see any foobar UPnP servers in the foobar UPnP browser anymore with version 0.92. WMP sees them fine, but crashes when trying to play vorbis (maybe some directshow filter problem), but plays WAV and MP3.


probably due to a change in the latest versio. I'll check that later today
Title: foo_upnp
Post by: Peter on 2009-02-27 15:20:13
It is due a misuse of the undocumented filesystem::get_canonical_path() API. My plugin which use a filesystem subclass, was returning true in this function. It happens that in some cases (dropping the directory in a playlist is one of them) foobar core calls this function (from filesystem::g_get_canonical_path()) even if filesystem::is_our_path () or file_system::supports_content_type() returns false.
That API indeed isn't properly documented, I'm sorry for that. I wasn't really expecting third party components to try to reimplement it. Thanks for bringing this to my attention though, I will provide better documentation with the next SDK update.
Anyway, get_canonical_path() is called without is_our_path() checks because it has to accept local filesystem paths without the file:// and turn them into proper file:// strings. You should perform checks for the path being something that you recognize on your own (as you can figure out from filesystem::g_get_canonical_path() code).
Quote
Curiously since services seems to not be initialized in the same order between foobar runs, sometimes my filesystem impl was registered after the legit file:// impl and there was no bug.
This is by design. Order of services is undefined and randomized on each startup. Otherwise you could end with DLL loading order always giving you the scenario not triggering service order dependency bugs on your system and never notice anything wrong or be unable to reproduce problems reported by users. Some components that were in circulation long ago did exactly that, sometimes even without the author knowing that there was something wrong ("works for me").
Quote
I have another question related to opening files. This plugin defines an input_entry subclass as well as a filesystem subclass. The only filesystem subclass purpose is to allow on upnp:// items the same file operations than http, namely copying remote files. The file operation dialog uses the item path to know what is the file extension for the copied file. I don't have any extension in my upnp:// paths so the copied files would be without extension. To overcome this I added the correct extension to my upnp:// path but in that case, when playing an upnp:// item in most case input_entry::open() was called but to my surprise in other cases it was filesystem::open(). In the case filesystem::open() was called it would then turn to later call the open() function of the http input_entry, which obviously don't work. So it seems the behaviour is different if a path has an extension or not. In my case I'd like it to have an extension to make file operations find the extension, but the call to  filesystem::open() gets in the way in normal decoding. Any idea or workaround to solve that issue ?
I'm sorry but I can't think of any way to deal with this right now. This is an inherent negative side effect of the custom input trick. I suppose you could provide a custom context menu command to download files instead and get rid of the filesystem service entirely. I'll consider adding some other way for the File Operations component to determine target file extensions.
Title: foo_upnp
Post by: Galova on 2009-02-27 19:37:55
Is it possible in upcoming versions to make it possible integrating plugin's UI into built-in user interface (not as a columns_ui panel)?
Title: foo_upnp
Post by: callisto on 2009-02-27 20:00:21
already asked:

Quote
Might there be a chance for native default user interface compatible version in the future?


When the UI Elements SDK will be available this will be possible.

Title: foo_upnp
Post by: Galova on 2009-02-27 20:50:58
oh, sorry. i must have missed this
Title: foo_upnp
Post by: bubbleguuum on 2009-02-28 11:33:11
mainly a bugfix release

v 0.93

- fix (regression): server was not visible to foobar clients anymore
- fix (regression): WMP was not able to play content streamed as WAV anymore
- fix: on foobar shutdown, server byebye was not notified to clients
- add: preset settings for WMP client
- add: server: added option to not allow seeking (used only to stream to WMP for now)

Title: foo_upnp
Post by: The Link on 2009-02-28 11:43:19
This release seems to work very well so far. Just one small thing: With the foobar preset applied streaming mpc files doesn't work. Disabling "Stream all files ..." makes it work again though. I guess not every file format can be streamed even if it's a foobar client and server.
Title: foo_upnp
Post by: bubbleguuum on 2009-02-28 11:51:13
This release seems to work very well so far. Just one small thing: With the foobar preset applied streaming mpc files doesn't work. Disabling "Stream all files ..." makes it work again though. I guess not every file format can be streamed even if it's a foobar client and server.


Don't forget that when using  "Stream all files ..." you need on the local playing foobar, the correct codec. Check that the mpc codec is installed. When streaming as WAV it is the reverse: you need the codec on the server, not the client.
Title: foo_upnp
Post by: The Link on 2009-02-28 12:12:30
Don't forget that when using  "Stream all files ..." you need on the local playing foobar, the correct codec. Check that the mpc codec is installed. When streaming as WAV it is the reverse: you need the codec on the server, not the client.
MPC decoding support is a native feature of foobar.
Title: foo_upnp
Post by: bubbleguuum on 2009-02-28 12:27:49
Don't forget that when using  "Stream all files ..." you need on the local playing foobar, the correct codec. Check that the mpc codec is installed. When streaming as WAV it is the reverse: you need the codec on the server, not the client.
MPC decoding support is a native feature of foobar.


Ah exact forgot about that. MPC does not seem to be streamable directly via http, I get the same error using my provider's http server.
Title: foo_upnp
Post by: Peter on 2009-02-28 12:49:23
For uninteresting technical reasons playback of MPC files over HTTP is currently not supported.
Title: foo_upnp
Post by: Kohlrabi on 2009-02-28 16:47:21
Don't forget that when using  "Stream all files ..." you need on the local playing foobar, the correct codec. Check that the mpc codec is installed. When streaming as WAV it is the reverse: you need the codec on the server, not the client.
MPC decoding support is a native feature of foobar.


Ah exact forgot about that. MPC does not seem to be streamable directly via http, I get the same error using my provider's http server.


as far as I know (http://wiki.hydrogenaudio.org/index.php?title=Musepack (http://wiki.hydrogenaudio.org/index.php?title=Musepack)) MPC isn't streamable (yet). SV8 of MPC should include streaming support, though it's still beta and I'm unsure if the streaming support is enabled in the beta. Foobar already plays back SV8, though.

EDIT: whoops, just saw Peter's reply...
Title: foo_upnp
Post by: QuickoS on 2009-03-01 19:44:25
hi! first of all well done for this plugin.
I wondering if there is any way to show the media library by directory structure instead of By Album, Artist...  (an option like in Album list panel)?
if yes, how to proceed ?
if no, is it planed for a newer version ?
Thanks
Title: foo_upnp
Post by: bubbleguuum on 2009-03-02 23:08:30
v 0.94

- chg: preferences are splitted on several pages + pref page for the Browser
- add: browser: fetch remote album art (can be disabled in UPnP browser prefs). Work with components using foobar builtin album art interface
- add: browser: preference settings to automatically remove all remote items in all playlists when a server disconnects (off by default). Useful with server not generating persistent URLs
- add: server: preference settings to generate non-persistent URLs, simpler to parse for some hardware clients (off by default)
- add: server: preference settings to toggle generation of DLNA protocol info, toggle off may be needed for some hardware clients
- chg (cosmetic): round returned track duration to the nearest greatest second, like foobar does.
- fix: server: always stream Musepack files as WAV/LPCM
- fix: server: files with '(' or ')' in path were not playable
Title: foo_upnp
Post by: Jorgo on 2009-03-03 17:34:31
OK! I can now play mp3, aac and wma on the Popcorn Hour! I think I've tried all possible settings combinations, but somehow I can't make the other files play. The best I've got is a valid sound file icon instead of an exclamation mark when I used WAV instead of PCM for decoding, but playback never starts.

Keep up the good work!
Title: foo_upnp
Post by: ZetaEpyon on 2009-03-04 17:33:26
hi! first of all well done for this plugin.
I wondering if there is any way to show the media library by directory structure instead of By Album, Artist...  (an option like in Album list panel)?
if yes, how to proceed ?
if no, is it planed for a newer version ?
Thanks


I too had a thought regarding the display of the media library. I use a ton of custom tags in my files, mostly to have both the tags in the original text (Japanese in my case) as well as a romanized format. If there was some way to specify a custom sort order for the library, this plugin would be about perfect in my opinion.
Title: foo_upnp
Post by: Jorgo on 2009-03-04 20:19:08
I use a ton of custom tags in my files, mostly to have both the tags in the original text (Japanese in my case) as well as a romanized format. If there was some way to specify a custom sort order for the library, this plugin would be about perfect in my opinion.


Regarding Japanese Kanji, are they showing up alright in your client? On my Popcorn Hour, anything that is not us ascii looks garbled.
Title: foo_upnp
Post by: bubbleguuum on 2009-03-04 20:38:32
I use a ton of custom tags in my files, mostly to have both the tags in the original text (Japanese in my case) as well as a romanized format. If there was some way to specify a custom sort order for the library, this plugin would be about perfect in my opinion.


Regarding Japanese Kanji, are they showing up alright in your client? On my Popcorn Hour, anything that is not us ascii looks garbled.



That's due to the fact the upnp lib I use do not encode strings as utf-8 which it should do according to the UPNP spec.
And then you'd have to pray for your player to decode utf-8 well
Title: foo_upnp
Post by: Jorgo on 2009-03-05 06:25:43
That's due to the fact the upnp lib I use do not encode strings as utf-8 which it should do according to the UPNP spec.
And then you'd have to pray for your player to decode utf-8 well


That's one thing I KNOW it does

Title: foo_upnp
Post by: Foster on 2009-03-05 08:46:05
Hi@all,


first of all: great work and great plugin!

I was trying to connect to the foo_upnp-server from a windows mediaroom system and hadn't much luck with it. I read here that wmp is capable to connect to foo_upnp-server. Can someone point to the right direction on to get it managed. Or does I missunderstood something? Is here somebody else which is working with a windows mediaroom system?

Any suggestions would be great!


Greetz,
Rainer
Title: foo_upnp
Post by: ZetaEpyon on 2009-03-05 19:33:03
Regarding Japanese Kanji, are they showing up alright in your client? On my Popcorn Hour, anything that is not us ascii looks garbled.


I believe they do show up ok, but I'll have to check this when I get home; I'm using a PS3, which is certainly capable of rendering UTF-8 characters.

In any case, I could live without correctly rendered Japanese text if I could access the custom tags.
Title: foo_upnp
Post by: ZetaEpyon on 2009-03-06 06:04:28
Yep, Japanese text definitely comes through correctly on PS3:
(http://images.theyarden.net/jptextps3.jpg)

Obviously, I'm not getting any album art, though.
Title: foo_upnp
Post by: odyssey on 2009-03-06 17:42:22
This is a really cool component! But I'm a little curious: Is it possible to expose this server through my router/firewall and access it from the internet (at work etc.)?

If this is possible, it would be really cool if it was able to stream a less bandwidth consuming format, like mp3 (as it's dlna compliant).
Title: foo_upnp
Post by: bubbleguuum on 2009-03-06 19:15:38
This is a really cool component! But I'm a little curious: Is it possible to expose this server through my router/firewall and access it from the internet (at work etc.)?


This is something I thought would be cool and I want to do but it will take some time. This could make this plugin useful to more people.

Quote
If this is possible, it would be really cool if it was able to stream a less bandwidth consuming format, like mp3 (as it's dlna compliant).


I suppose you mean transcoding lossless to mp3. This will be almost mandatory with the feature above (access from internet).
Title: foo_upnp
Post by: TsiRoadkill on 2009-03-07 20:53:14
Does anyone know of a iphone client that will work with this?
Title: foo_upnp
Post by: bubbleguuum on 2009-03-07 22:12:51
Does anyone know of a iphone client that will work with this?



There's PlugPlayer. if you try it, tell us if it work (there's no reason it shouldn't) .
Title: foo_upnp
Post by: TsiRoadkill on 2009-03-08 03:08:58
Does anyone know of a iphone client that will work with this?



There's PlugPlayer. if you try it, tell us if it work (there's no reason it shouldn't) .


I got plug player but it does not seem to auto detect the server. What would be the proper address to make it work?
Title: foo_upnp
Post by: bubbleguuum on 2009-03-08 09:56:59
I got plug player but it does not seem to auto detect the server. What would be the proper address to make it work?


It could be your firewall getting in the way and blocking broadcast traffic (Kerio personal firewall  does that by default).
So to test that it is the firewall, you could disable it (you might want to not be connected to the internet while trying that).
You can also share some files with Windows Media Player and see if PlugPlayer see it.
Finally check that the server is started (in the Status pref page). Sounds silly but you never know...
You can also have a look at the tversity faq (http://tversity.com/support/faq/#troubleshooting-faq) concerning possible network problems as well as this one about firewalls (http://sites.google.com/site/ustreamhome/Home/faq-1).

As for the URL, you can try http://<your pc ip>:56923.
Title: foo_upnp
Post by: supertramp on 2009-03-10 01:26:35
Bubleguuum, FWIW, Roku still doesn't worku with .94 beta. Tried different combinations of options, with and w/o DLNA, for example, and with different format files. Browses fine, but then fails to retrieve the file (no buffering, just the error message). Tried 2 different units and two different computers; all necessary ports are open.

Anybody else using this plug-in with Roku Soundbridge successfully?
Title: foo_upnp
Post by: bubbleguuum on 2009-03-12 00:43:19
New release (first post to download) with the last significant feature of this plugin: remote access of your foobar collection from the Internet (or the WAN), all within foobar.
That means that yes, you can access and stream from work your collection at home.

To configure remote Internet access you have to set some params  in Server/Advanced settings:

- public server IP: this is your static visible internet IP address. If you're using a router and the server runs under a PC using NAT, you'll have to configure your router to redirect incoming traffic
on the configured server port to the private IP of your PC running the server. Example: your public  IP is 1.2.3.4 and your PC IP running the server on the LAN is 192.168.1.100, and the server runs on port 5678. You have to configure
your router to redirect incoming traffic on port 5678 to the PC 192.168.1.100 of your LAN. If there's a firewall as well it must be configured to allow incoming connection on this port.
- login/password: a login and password to protect remote access. This is not super secure but should be sufficient for the purpose. Do not use an important password.

To test that the server is accessible from outside, connect to it with your browser using http://<public ip>:<server port> and you should see a blank page.

Note that it is possible to use port 80 as the server's port. This can be useful if other non-standard ports are not allowed by your admin.

To connect to a remote server, use the contextual menu in the UPnP Browser panel and select "Add remote foobar2000 server". If all goes well after you set the ip/login/port/password,
the remote server should appear in the browser. A remote server can be removed by the context-menu on its node. For security reasons remote items are never persistents and do not survive a server restart.

Along with Internet access, it's now possible to transcode audio to mp3. Look into Server/Streamed Audio for configuration.


v 0.95 (BETA)

- remote internet access
- transcoding to mp3
- various small fixes.

known limitations
---------------------

- no error messages at all in case of failure at connection
- may not work with multiple remote servers (untested).
Title: foo_upnp
Post by: cmdrpaddy on 2009-03-12 01:37:57
Is there anything that has to be done to get album art working on a PS3? Do the files have to be named in a particular way?

Title: foo_upnp
Post by: NullString on 2009-03-12 01:50:09
hey! this component is great.
Bad thing that xbox360 is not standard compliant for the upnp stuff.

If you are interesed, there's a modification to a streaming software for ubuntu, ushare, made by some guy 'NeToU' (http://netou.co.uk/) that added the feature streaming to xbox360. (It's written in C, but I guess the core of the problem in the upnp stuff is how to pass the stream to the xbox, so looking in the source code for references to the "xbox360 streaming enabled" flag, we've got this ocurrences:
(the license first)
Code: [Select]
/*
* Originally developped for the GeeXboX project.
* Copyright (C) 2005-2007 Benjamin Zores <ben@geexbox.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU Library General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/

First one, cds.c (line 860)
Code: [Select]
 /* Don't confuse the 360 container IDs with uShares content directory container IDs */
  if(ut->xbox360)
  {
      entry = upnp_get_entry (ut, 0);
  }
  else
  {
      entry = upnp_get_entry (ut, id);
      if (!entry && (id < ut->starting_id))
        entry = upnp_get_entry (ut, ut->starting_id);
  }

Second one, metadata.c (line 199)
Code: [Select]
if (ut->xbox360)
  {
    if (ut->root_entry)
      entry->id = ut->starting_id + ut->nr_entries++;
    else
      entry->id = 0; /* Creating the root node so don't use the usual IDs */
  }
  else
    entry->id = ut->starting_id + ut->nr_entries++;


Of course ushare's code is totally different to your implementation of upnp, but maybe there's a solution in the source code.
The source code is available at the developer's blog (http://netou.co.uk/?p=28)
Title: foo_upnp
Post by: Yirkha on 2009-03-12 09:21:37
Code under GPL license can't ever be used in foobar2000 components, fyi.
Title: foo_upnp
Post by: --pv-- on 2009-03-12 12:59:56
Anyway I believe bubbleguuum can use it as a study material if he's interested. No one can disallow that.

This plugin seems to provide planty usefull features. Is there a place where I can seriously suggest making DUI SDK available so it can be really integrated without requiring columns UI?
Or in other words can anybody suggest a correct way of trying to achieve my goal?
Yes maybe you are about to say it can be done when it all matures and proves it-self stable. I see it from a different point of view. Bubbleguuum seems to be motivated right now and he's doing a lot of hard but fantastic work these days. Why FB2k team cant open the gates and make it a little easier for him?
To put some tags I'd say: Foobar 2000, accessibility, default user interface, keyboard access, streaming....
Title: foo_upnp
Post by: bubbleguuum on 2009-03-12 20:59:58
@cmdrpaddy:  I don't think album art streaming to the PS3 ever worked, and I don't have one to test anymore. The only reason I see it could fail is that it doesn't like the URL or the returned image data (more likely).

@nullstring: might be useful to share knowledge with the author. In a future release there will be a debug mode to log many info and troubleshoot various hardware.

@pv: if I'm given access to the Element UI SDK I'll gladly add support for it but I can also wait the official release, it can't be that far, is it ?



Note that in 0.95 there's a bug with remote internet access. If you enter the wrong parameter in the "connect to remote foobar2000 server" dialog and connection (silently) fails, all future connections will fail (even with the good parameters) until you restart foobar and try again.
Title: foo_upnp
Post by: bubbleguuum on 2009-03-14 23:17:41
v 0.96

+ fix: a failure to connect to a remote internet foobar2000 server was making all future connect attempts to fail
+ fix: A remote internet foobar2000 server listed in the UPnP Browser tree was automatically removed after 1800 secs
+ add: display a progress popup when connecting to a remote internet server and a proper failure message if connection fails
+ add: added option to enable debug messages in the console, useful to troubleshoot problematic clients (Server/Advanced Settings)
+ some misc polishing

known issues:
- there might be problems when fetch album art when connected to the server via the Internet.
- when changing changing CUI configuration (adding removing  / panels) all listed servers in the browser are removed
Title: foo_upnp
Post by: bubbleguuum on 2009-03-15 12:01:03
Rewritten first post to explain more clearly what this component can do + some doc about remote Internet access of the server.
Title: foo_upnp
Post by: The Link on 2009-03-15 12:11:23
Would it be possible to improve the usability with Default UI by making the browser available thru a popup window (as it is possible with the album list for example)?
Title: foo_upnp
Post by: jsheridan on 2009-03-16 10:56:44
Any chance you could make it compatible with Windows Media Center too?

While trying to access, i get this at the fb2k console:

foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/X_MS_MediaReceiverRegistrar/6F50F066-23DF-4A59-A91D-D7621F85DB10/event.xml from a LAN client
foo_upnp: NPT_HttpClient::SendRequestOnce: NPT_CHECK failed, result=-20008 [NPT_ERROR_INTERNAL]
Title: foo_upnp
Post by: bubbleguuum on 2009-03-16 13:16:10
Any chance you could make it compatible with Windows Media Center too?

While trying to access, i get this at the fb2k console:

foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/X_MS_MediaReceiverRegistrar/6F50F066-23DF-4A59-A91D-D7621F85DB10/event.xml from a LAN client
foo_upnp: NPT_HttpClient::SendRequestOnce: NPT_CHECK failed, result=-20008 [NPT_ERROR_INTERNAL]


I'll recheck that there is no regression when using WMP (as I do not have Windows Media Center) in the latest version as it used to work in previous version.
Title: foo_upnp
Post by: NullString on 2009-03-18 03:39:36
I hope this gets you closer to xbox 360 glory:
Quote
"the only way to connect the XBox 360 to a UPnP server, was to have a service that is only found on Microsoft services (used for registering for DRM content) and for the server itself to be claimed to be made by Microsoft. Legal would not allow us to pretend to be Microsoft (although there are other servers out there that do)."    from Media Center from Google (http://googlesystem.blogspot.com/2008/06/media-server-from-google.html)

so looking at the source code of the xbox360 compliant server, a "model name" string you could use with the xbox is:
Code: [Select]
Windows Media Connect Compatible (foo_upnp)


Title: foo_upnp
Post by: saivert on 2009-03-18 06:51:58
This component exposes your entire computer's files to the internet.

I've sent a PM to the author about the issue as to not increase the dangers related to the exploit.


Another note:

I can't seem to stream WAV to Windows media player at all. I need to use transcoding here.
Windows media player is trying to download the entire WAV before it starts playback, but then times out and skips to the next song on the list.
Putting the URL manually in a browser lets me download the track.
Title: foo_upnp
Post by: bubbleguuum on 2009-03-18 10:34:20
This component exposes your entire computer's files to the internet.


Wrong, as the URL scheme is different if a client connects from the Internet instead of the LAN.
Title: foo_upnp
Post by: Jorgo on 2009-03-18 19:21:33
Let me post some stuff from the console, see if that helps troubleshoot my Popcorn Hour:

I'm trying to stream the following files:

(http://i39.tinypic.com/195kdt.png)

Foobar2000 with your plugin does the following with "Stream in native format" set to OFF (doesn't produce a valid sound-file icon):
Without persistent URLs or DLNA:

foo_upnp: FbMediaServer::OnAction: action 'Browse' response: args = { ObjectID=0/1/5/4/0, BrowseFlag=BrowseDirectChildren, Filter=dc:title,dc:creator,upnp:class,res,res@duration,res@protection,upnp:albumArtURI,upnp:artist,u
pnp:album,upnp:originalTrackNumber, StartingIndex=0, RequestedCount=11, SortCriteria=, NumberReturned=8, TotalMatches=8, UpdateID=0 }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/content/1.wav?convert=wav from a LAN client

Without DLNA but persistent URLs:

foo_upnp: FbMediaServer::OnAction: action 'Browse' response: args = { ObjectID=0/1/5/4/0, BrowseFlag=BrowseDirectChildren, Filter=dc:title,dc:creator,upnp:class,res,res@duration,res@protection,upnp:albumArtURI,upnp:artist,u
pnp:album,upnp:originalTrackNumber, StartingIndex=0, RequestedCount=11, SortCriteria=, NumberReturned=8, TotalMatches=8, UpdateID=0 }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/content/file://Q:\Musik\#Modern#\0-9\10cc - The Original Soundtrack (MFSL)\08. The Film Of My Love.flac.wav?convert=wav from a LAN client

With DLNA and persistent URLs:

oo_upnp: FbMediaServer::OnAction: action 'Browse' response: args = { ObjectID=0/1/5/4/0, BrowseFlag=BrowseDirectChildren, Filter=dc:title,dc:creator,upnp:class,res,res@duration,res@protection,upnp:albumArtURI,upnp:artist,u
pnp:album,upnp:originalTrackNumber, StartingIndex=0, RequestedCount=11, SortCriteria=, NumberReturned=8, TotalMatches=8, UpdateID=0 }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/content/file://Q:\Musik\#Modern#\0-9\10cc - The Original Soundtrack (MFSL)\08. The Film Of My Love.flac.wav?convert=wav from a LAN client

So far, so good.

Now, to check the other end. I'm able to browse into the Popcorn Hour's menu at
Code: [Select]
http://192.168.1.4:8883/upnp/upnp-av.cgi?cmd=cd&filter=24&level=5&udn=0/1/5/4/0&name=10cc%20-%20The%20Original%20Soundtrack%20%28UltraDisc%20II%29


It looks like this:

(http://i42.tinypic.com/35j9qjd.png)

The first thing I notice is that the numbering/order does not correspond to the actual file names. This is the URL of the first file listed on the PCH, "The Film of My Love" (with persistent URL and DLNA):
Code: [Select]
http://192.168.1.201:56923/content/file:%252f%252fQ:%255cMusik%255c%2523Modern%2523%255c0-9%255c10cc%2520-%2520The%2520Original%2520Soundtrack%2520%2528MFSL%2529%255c08.%2520The%2520Film%2520Of%2520My%2520Love.flac.wav%3Fconvert=wav


Is this info helpful in any way?
Title: foo_upnp
Post by: bubbleguuum on 2009-03-18 20:14:07
The first thing I notice is that the numbering/order does not correspond to the actual file names. This is the URL of the first file listed on the PCH, "The Film of My Love" (with persistent URL and DLNA):
Code: [Select]
http://192.168.1.201:56923/content/file:%252f%252fQ:%255cMusik%255c%2523Modern%2523%255c0-9%255c10cc%2520-%2520The%2520Original%2520Soundtrack%2520%2528MFSL%2529%255c08.%2520The%2520Film%2520Of%2520My%2520Love.flac.wav%3Fconvert=wav

Is this info helpful in any way?


Yes, it looks like the PCH has URL encoded the query part of the URL producing an invalid URL.
The URL should read (skipping the beginning):          ....flac.wav?convert=wav.

Notice how the ? has been wrongly encoded to %3F by the PCH.
The good news is that I noticed another UPnP client wrongly encoding the '?' while it shouldn't, and I fixed it in my current version (even if it is a bug of the client).
There are some UPnP clients that just expect a HTTP path without a query,  they will mess the URL if there is one.

I suppose it plays fine if you try to play a mp3 without having transcode to mp3 enabled (in that case there is no query in the URL) ?

Note that the effect of the DLNA switch is minor and here mostly to make the PS3 happy.
Title: foo_upnp
Post by: bubbleguuum on 2009-03-18 20:22:28
Another note:

I can't seem to stream WAV to Windows media player at all. I need to use transcoding here.
Windows media player is trying to download the entire WAV before it starts playback, but then times out and skips to the next song on the list.
Putting the URL manually in a browser lets me download the track.


This is due to the fact that I couldn't make http seek working with WMP.
When streaming a HTTP location, WMP first do a range (seek) request. If that request fails (It does in that case),  then WMP fallback to a traditional GET request but
it will start playing only when it has read all the file. This is acceptable and fast for lossy files on a LAN but not lossless.
Until I find a way to make http seek work with WMP I have no solution.
Title: foo_upnp
Post by: NullString on 2009-03-19 00:15:23
hey bubbleguuum, this link explains in depth the xbox 360 upnp profile, from the discovery to the description, searching and browsing phase: http://code.google.com/p/jems/wiki/XBox360Notes (http://code.google.com/p/jems/wiki/XBox360Notes)
seems a lot of work though =\
Title: foo_upnp
Post by: bubbleguuum on 2009-03-19 00:22:26
hey bubbleguuum, this link explains in depth the xbox 360 upnp profile, from the discovery to the description, searching and browsing phase: http://code.google.com/p/jems/wiki/XBox360Notes (http://code.google.com/p/jems/wiki/XBox360Notes)
seems a lot of work though =\


Already implemented all of this already (including the specific hierarchy) but there's still sth that does not work, and without a 360 to test, it's impossible to fix.
At some point I'll have a 360 to make it work.
You can enable debug traces and send  me the result but that may not be sufficient info.

EDIT: if you test, set the server netowrk name to "TEST : Windows Media Player"  in the server's main preference page, else I don't think the server will be listed by the 360.
Title: foo_upnp
Post by: NullString on 2009-03-19 01:47:13
Already implemented all of this already (including the specific hierarchy) but there's still sth that does not work, and without a 360 to test, it's impossible to fix.
At some point I'll have a 360 to make it work.
You can enable debug traces and send  me the result but that may not be sufficient info.

EDIT: if you test, set the server netowrk name to "TEST : Windows Media Player"  in the server's main preference page, else I don't think the server will be listed by the 360.

Yeah, with that server network name it appeared, but after trying to connect it timed out. This is the log: (just for discovery I guess)
Code: [Select]
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/DeviceDescription.xml from a LAN client

Tried changing some advanced options (DLNA, persistent URL's) with no avail. I guess they still don't come into play because there is no actual connection taking place.
Title: foo_upnp
Post by: Jorgo on 2009-03-19 08:22:09
I suppose it plays fine if you try to play a mp3 without having transcode to mp3 enabled (in that case there is no query in the URL) ?


Yes, it plays mp3, AAC and WMA perfectly over UPnP.
Title: foo_upnp
Post by: Grizzltoe on 2009-03-21 01:56:56
Thanks for this plugin, I've been waiting for something that could integrate directly with foobar2000.  I can finally dump WMP and Tversity forever!

I use this thing primarily to stream music to a Denon 3808ci receiver, which pretty much uses a cursor up/down/back/forward interface to browse.  No keyboard or anything like that to search the remote library.  Which leads me to a couple of usability questions/requests:

1) Is there any way to make the component recognize foobar's grouping configuration in playlists?  For example, I have a dynamic playlist that keeps track of all the music I rip and encode myself.  This playlist uses the artist/date/album grouping in the default UI's playlist view.  It would be nice to be able to break down this massive playlist by those groups.

2)  Would it be possible to expose the options in the "media library" view (i.e., genre, album artist, year) for customization?  For example, it would be nice to be able to use the existing views, but have them filtered by other criteria.  For example, it would be cool to be able to bring up the "genre" view filtered by my "ENCODED" tag, or the "album" view that only shows FLAC files.

3) Similarly, it would be nice to be able to change the behavior or add new media library views.  Instead of having "genre" show albums, maybe have it break down into artists, then albums.  Also, a "folders" view would be nice, as Tversity and WMP both had this option.
Title: foo_upnp
Post by: A_Man_Eating_Duck on 2009-03-22 06:40:54
I'm having a rather odd problem with foo_upnp. i have one album that will not show one song in the correct order on our PS3. I have checked all the tags and the song appears in the correct order in foobar
Code: [Select]
The order the songs appear in foobar's album list 
01. Disclaimer
02. The Meaning Of Life
03. Mota
04. Me & My Old Lady
05. Cool To Hate
06. Leave It Behind
07. Gone Away
08. I Choose
09. Intermission
10. All I Want
11. Way Down The Line
12. Don't Pick It Up; Amazed
13. Change The World

but on the PS3 it shows up as
All I Want
Disclaimer
The Meaning Of Life
Mota
Me & My Old Lady
Cool To Hate
Leave It Behind
Gone Away
I Choose
Intermission
Way Down The Line
Don't Pick It Up
Amazed
Change The World
I have tried changing the preset from PS3 to WMP but still shows the funky track order.

Any ideas?
Title: foo_upnp
Post by: bubbleguuum on 2009-03-22 12:29:06
I'm having a rather odd problem with foo_upnp. i have one album that will not show one song in the correct order on our PS3. I have checked all the tags and the song appears in the correct order in foobar


Thanks for the report, will be fixed in next version. This also fixes the track order problem reported by Jorgo on the PCH.
Title: foo_upnp
Post by: bubbleguuum on 2009-03-22 12:37:48
Thanks for this plugin, I've been waiting for something that could integrate directly with foobar2000.  I can finally dump WMP and Tversity forever!

I use this thing primarily to stream music to a Denon 3808ci receiver, which pretty much uses a cursor up/down/back/forward interface to browse.  No keyboard or anything like that to search the remote library.  Which leads me to a couple of usability questions/requests:

1) Is there any way to make the component recognize foobar's grouping configuration in playlists?  For example, I have a dynamic playlist that keeps track of all the music I rip and encode myself.  This playlist uses the artist/date/album grouping in the default UI's playlist view.  It would be nice to be able to break down this massive playlist by those groups.

2)  Would it be possible to expose the options in the "media library" view (i.e., genre, album artist, year) for customization?  For example, it would be nice to be able to use the existing views, but have them filtered by other criteria.  For example, it would be cool to be able to bring up the "genre" view filtered by my "ENCODED" tag, or the "album" view that only shows FLAC files.

3) Similarly, it would be nice to be able to change the behavior or add new media library views.  Instead of having "genre" show albums, maybe have it break down into artists, then albums.  Also, a "folders" view would be nice, as Tversity and WMP both had this option.



1. I suppose you mean that playlist nodes would be broken into browsable subnodes reflecting grouping ? why not, but not in the immediate future.

2 and 3. Configuration of the 'server generated browse tree is planned at some point, along the lines of the Album Browser configuration to give you an idea. I'll probably implement folder view too.

Title: foo_upnp
Post by: bubbleguuum on 2009-03-23 23:36:05
new release. Now the browser is an UI Element  (as well as a CUI panel). First post to download

v 0.97

- new: browser: UI Element
- fix: browser: send items to playlist in the order the server returned them
- fix: server: in ML tree, returned album tracks were not sorted by track number (they'd appear in random order on the client if it was not itself reordering by tracknumber)
- fix: server: decode properly URLs that have the query part URL encoded (should fix non MP3/WMA/AAC formats not working on the PCH and possibly other hardware)
Title: foo_upnp
Post by: --pv-- on 2009-03-24 22:02:02
Hello,
Thanks a bunch for native DUI support.
I have noticed an accessibility problem. Once UPNP browser is inserted as an UI element it is not possible to focus the treeview inside using keyboard only. Can anyone reproduce it or might this be just my setup?
Edit:
Here (http://pvdeejay.googlepages.com/pv.fth) is my theme if it may help to confirm and fix this issue. I don't know how this looks but apart of the focus problem with UPnP Browser it's perfectly usable for me.
Title: foo_upnp
Post by: bubbleguuum on 2009-03-24 23:59:46
[quote author=--pv-- link=msg=623541 date=1237932122]Hello,
Thanks a bunch for native DUI support.
I have noticed an accessibility problem. Once UPNP browser is inserted as an UI element it is not possible to focus the treeview inside using keyboard only. Can anyone reproduce it or might this be just my setup?
Edit:
Here (http://pvdeejay.googlepages.com/pv.fth) is my theme if it may help to confirm and fix this issue. I don't know how this looks but apart of the focus problem with UPnP Browser it's perfectly usable for me.[/quote]


fixed, redownload 0.97 (didn't update the version number). Let me know if you find some other usability problems. For example hitting the ENTER key does nothing, is that a problem ?
Title: foo_upnp
Post by: Stu L Tissimus on 2009-03-25 01:49:11
Neat plugin! Can't wait till you figure out whatever it is about the 360 that makes it not work.
Title: foo_upnp
Post by: A_Man_Eating_Duck on 2009-03-25 06:20:26
I'm having a rather odd problem with foo_upnp. i have one album that will not show one song in the correct order on our PS3. I have checked all the tags and the song appears in the correct order in foobar
Thanks for the report, will be fixed in next version. This also fixes the track order problem reported by Jorgo on the PCH.
I can confirm that the problem is now fixed in v0.97, thanks.
Title: foo_upnp
Post by: Krelkor on 2009-03-25 21:38:52
Thanks for the awesome plugin!

I use a popcorn hour, some thoughts

Mp3 works fine, FLAC will not play directly. Can set server to transcode to v0 on the fly and it will work, though meta data does not carry over to the popcorn hour

Any possibility of creating an HD skin that allows for album art on a popcorn hour? I love the concept of the upnp server for our renderers, but if I have to use the default ui skin of the PCH(aka crap) then I am sad.
Title: foo_upnp
Post by: --pv-- on 2009-03-26 20:56:30
Let me know if you find some other usability problems. For example hitting the ENTER key does nothing, is that a problem ?

Yes this might be a problem but it needs to be considered seriously.
The problem is you are allowing to set left and right click actions.
It is convenient that right click always activates context menu what should also be possible by hitting applications key or shift+F10 keyboard shortcut.
Double click should be the default action and this should be also possible to achieve by pressing the enter key.
I am unable to suggest a proper way on how to handle it properly.
Anyway I believe applications key should open context menu in any case.
Title: foo_upnp
Post by: Jorgo on 2009-03-27 16:13:10
Any possibility of creating an HD skin that allows for album art on a popcorn hour? I love the concept of the upnp server for our renderers, but if I have to use the default ui skin of the PCH(aka crap) then I am sad.


If you want to replace the default skin, you need to install another one directly in the PCH - I don't think there's any way around it.
Title: foo_upnp
Post by: --pv-- on 2009-03-27 18:16:14
@bubbleguuum: After some more fiddling with this fantastic plugin here are my questions and comments:
1) This is slightly off topic but... Does anybody know how to prevent Eset Smart Security 4.0 from blocking UPnP traffic? For now I have just disabled its filtering.
2) Do I need to have windows UPnP service or some other windows service running in order to make use of this component? What should I add into the built-in Windows XP firewall if I want to get this working. Is it Foobar 2000 or UPnP service or something else?
I am asking these because I cant get it running on one of my machines. 2 of three runs fine anyway.
3) It would really be nice if you can make the browser more keyboard accessible. Now I understand left click is the only way on how to expand a remote branch. When tallking about treeviews left arrow key usualy colapses and right arrow expands a node. I am not sure you can override it somehow. The things I was tallking about previously would be nice too because I have to emulate the mouse a lot and it's getting too inconvenient for me.
4) I am not sure but I think I have got a crash (http://pvdeejay.googlepages.com/foo_upnp-crash.zip) related to foo_upnp. I had a Foobar window opened with 1 remote Foobar listed in the UPnP browser and some errors in the console because second client was not displayed. Then I did a restart of Foobar and on startup I have got this crash.

Thanks
Title: foo_upnp
Post by: boombaard on 2009-03-27 22:02:33
1. thanks for making this
2. I seem to be encountering something like a bug streaming this:
(http://img23.imageshack.us/img23/1694/buggyp.th.png) (http://img23.imageshack.us/img23/1694/buggyp.png)
It retrieves the playlist contents just fine, but as soon as I start playback, the playlist entry/tag-supplied information (and the properties page) disappears, and some sort of hash-like name replaces it. (the hash or whatever seems to be the same one for every file i start playing, although it sometimes changes when i switch between playlists)
3. Also, seek mode doesn't work, and the pc i'm streaming it to has no idea has no idea what the track lengths are once a file starts playing. (playlist info also lists the bitrate as 128k, even though i transcode to v0, although the variable display in the status bar reads the bitrate correctly)
4. minor bug: the playback indicator (the arrow thing in the playlist) doesn't stay on whatever file is being played (though this could be related to foobar's own behavior)
5. suggestion: add a 'refresh remote filelists' context menu item?
Title: foo_upnp
Post by: bubbleguuum on 2009-03-27 23:04:04
@pv:

2. No you don't need this service, it might even get in the way. In some tversity or twonky FAQ they even talk about disabling it for whatever reason I forgot.
For server auto-discovery to work you need to be able to receive multicast packets. Some firewalls disable this by default, that's the case of Kerio Personal Firewall for example.

3. Will look into it

4. I'm tracking this one. If you can reproduce it, I'd like to know the exact steps. In your description what do you mean by "and some errors in the console because second client was not displayed" ?


@boombaaard


2. I have an idea why it could do this but cannot reproduce it.  In what format are the original files ? is the server on the LAN ? Does it do this only when transcoding to mp3 ?

3. There's no seek support when transcoding to mp3. Seeking is supported when streaming files in their original format or as PCM

5. It's somewhat in the todo list but not in the immediate future.
Title: foo_upnp
Post by: boombaard on 2009-03-27 23:57:25
@boombaaard
2. I have an idea why it could do this but cannot reproduce it.  In what format are the original files ? is the server on the LAN ? Does it do this only when transcoding to mp3 ?

Happens both while streaming mp3s and .ape files. (transcoding only enabled for lossless files) Server not on a LAN (but fast connection nonetheless).
Also happened before i enabled transcoding (since you can't stream Ape files)
hash thing is the same as the "file name" info shown in the 'tag' info that is loaded when adding something to the playlist, (although the tag info disappears as soon as i hit play)
aHR0cDovLzEyOS4xMjUuMTAyLjEwNzo1MjUyNi9jb250ZW50LzE5ODgwLzU2Lm1wMw==

also, when transcoding & streaming a 5.1 FLAC file the resulting mp3 is pretty much cbr 320, in stead of variable (v0), and the music is very much slowed down/distorted (it seems to be stretching the file, though i don't really know what goes wrong exactly, but the frequencies all seem to be shifted down as well)
furthermore, transcoding from .tak and streaming mpc doesn't work
Title: foo_upnp
Post by: bubbleguuum on 2009-03-28 14:33:29
Happens both while streaming mp3s and .ape files. (transcoding only enabled for lossless files) Server not on a LAN (but fast connection nonetheless).
Also happened before i enabled transcoding (since you can't stream Ape files)

also, when transcoding & streaming a 5.1 FLAC file the resulting mp3 is pretty much cbr 320, in stead of variable (v0), and the music is very much slowed down/distorted (it seems to be stretching the file, though i don't really know what goes wrong exactly, but the frequencies all seem to be shifted down as well)
furthermore, transcoding from .tak and streaming mpc doesn't work


Streaming APE and TAK in their original format ("Stream files in their native format if possible" setting) works as long as you have the decoder plugin for those formats on your client foobar. They also works streamed transcoded to mp3
but you need the decoder plugins on the server in that case.

MPC is a special case and cannot be streamed in its native format. It must be streamed as PCM of transcoded to mp3. When streaming over the Internet with transcode enabled, it should always be transcoded even if the setting is "Lossless only".
Will fix that in the next version

About 5.1 formats you're right, a downmix to stereo was missing before encoding to mp3. Fixed in the next version.
Title: foo_upnp
Post by: --pv-- on 2009-03-28 19:17:42
@pv:

4. I'm tracking this one. If you can reproduce it, I'd like to know the exact steps. In your description what do you mean by "and some errors in the console because second client was not displayed" ?

Well I have 3 computers here. 2 of them can run server and I can see each other in the browser. 3rd one cant I need to figure out what is blocking it. Anyway when server is started on 3rd computer then these 2 computers I have reported as working are getting some connection reset warnings and time outs in the console. I will capture it exactly when I'll get a chance next time all three gets freed for testing.
So back to the crash. I had started server using the default ports on all three computers. Then I went to one of the PCs reported as working fine. I have seen such messages as I've just tried to explain in the console, then I closed foobar and on next Foobar start I got that crash. It happened only once to me.
Title: foo_upnp
Post by: Jorgo on 2009-03-28 19:18:03
I report success on the PCH! I can now stream all formats. The URL is butt-ugly, there's no album art or metadata displayed but I didn't really expect that to work on the Popcorn Hour before a dedicated firmware upgrade takes care of that.

Right now I'm a happy camper  Thank you again for all your work and especially for listening.
Title: foo_upnp
Post by: --pv-- on 2009-03-29 11:46:50
@bubleguuum: back to my crash. These are the messages (http://pastebin.com/pastebin.php?dl=m20f350d0) I've seen in the console before restarting foobar.
Title: foo_upnp
Post by: kompot on 2009-03-31 02:53:35
Thanks for developing such a great piece of software. Really missed the ability to listen to my collection all over the web.

Actually the only thing I miss is not having the exposed tracks in foo_facets.
Are there any plans for developing something like facets with customized columns?
Or something like simple media library search. With something like that the component will be completely perfect :)

The following thought might look fantastic but may be it's possible some way to make uPnP share be added as usual media library folder.
Sure it's not possible, just a thought for developers of the foobar2000 core.
Title: foo_upnp
Post by: Kohlrabi on 2009-04-01 13:02:19
This software is getting more awesome by the day
I got only one (hopefully very easy adressable) feature request. Is it possible to allow input of domain names instead of IPs in the "Add remote foobar2000 server" and "Internet access" dialogues, i.e. mydomain.dyndns.org instead of the real IP w.x.y.z? Since I have a dynamic IP via my ISP I then won't have to ping my home machine to find out my current IP, and I won't have to change the foobar preferences everytime I get a new IP.
Title: foo_upnp
Post by: bubbleguuum on 2009-04-01 13:21:00
This software is getting more awesome by the day
I got only one (hopefully very easy adressable) feature request. Is it possible to allow input of domain names instead of IPs in the "Add remote foobar2000 server" and "Internet access" dialogues, i.e. mydomain.dyndns.org instead of the real IP w.x.y.z? Since I have a dynamic IP via my ISP I then won't have to ping my home machine to find out my current IP, and I won't have to change the foobar preferences everytime I get a new IP.


This will be in the next release of the plugin.
Title: foo_upnp
Post by: bubbleguuum on 2009-04-01 13:46:04
Thanks for developing such a great piece of software. Really missed the ability to listen to my collection all over the web.

Actually the only thing I miss is not having the exposed tracks in foo_facets.
Are there any plans for developing something like facets with customized columns?
Or something like simple media library search. With something like that the component will be completely perfect

The following thought might look fantastic but may be it's possible some way to make uPnP share be added as usual media library folder.
Sure it's not possible, just a thought for developers of the foobar2000 core.


Integrating into the ML is not doable without being a hack involving managing a virtual filesystem which I have zero intention to do.
Also keep in mind that UPnP  servers are meant to be browsed one node at a time (that's what the UPnP AV spec recommends), which is in contradiction with a full blown library were you know all the items from the start. AFAIK, there's only WMP that do the stupid thing to request the content of the whole remote library. If you have 20000 items it will ask all 20000 items at once and build its own representation of that (ML) regardless of the remote server generated tree. No need to say it's very slow the first time even if it can have some benefits afterwards.

Search on the remote server is doable but is not trivial to do. Might give it a go one day if I'm bored.
Title: foo_upnp
Post by: kompot on 2009-04-01 23:15:48
Search on the remote server is doable but is not trivial to do. Might give it a go one day if I'm bored.

thanks for attention
looking forward to you being bored some day :)
Title: foo_upnp
Post by: gulp68 on 2009-04-02 22:57:57
Thanks for this great plugin, bubbleguuum!

Do you think it would be possible to add support for external UPNP Media Renderers to your plugin? Think abaout the following scenario:

I got a PC with fobar in my sanctum. My Hi-Fi, my Pocorn Hour, my old xBox are in the living room. This is the place where I would like to listen to music. With over 120 Gigs of music, selectin music is a hard thing. None of the media players I know are as comfortable as foobar (or some other pc based players). Scrolling a list of a few hundred artists with a remote is horrible. If I could use my notebook to connect to my pc via RDP and then use foobar to use my Popcron Hour as a Media Renderer I could select my music by foobar without the diadvantages of shoucast streaming. Perhaps you can think about adding support for media rendererd. By the way I tried Cidero but it works with none of the renderers I have.
Title: foo_upnp
Post by: bubbleguuum on 2009-04-02 23:17:13
New version. This version will reset your configuration

v 0.98

+ fix: server: 5.1 files not correctly transcoded to mp3 due to missing downmix to stereo
+ fix: server: always transcode Musepack to mp3 for "Lossless only" transcode modes  (as otherwise Musepack would be streamed as PCM)
+ fix: crash if playing an upnp item if the UI element of CUI panel was not initialized
+ new: server/browser: ability to enter a hostname instead of an IP to configure or connect to an Internet server. Useful for servers on dynamic IP that have a fixed hostname.
+ new: server: artist nodes in "By artist" tree contains all items of that artist
+ new: browser: option so that a node's content can be the aggregated content of all its loaded subnodes ("Show all loaded content under a node" option).



@gulp68: already though about making this plugin also act as a control point, like cidero. Not sure if/when I'll implement it though
Title: foo_upnp
Post by: kompot on 2009-04-03 00:40:53
found a bug with file path handling
fails playing files having '+' sign in the path
take a look at the screen

(http://img23.imageshack.us/img23/9040/fooupnpfilepathbugf.gif)

on the left is upnp server, on the right - upnp client

track with title flood1 plays as it should
track with title flood gives playback error that can be seen on the right

the only difference between these files is track title and the path having extra '+ ' in one case
Title: foo_upnp
Post by: Kohlrabi on 2009-04-03 01:05:06
This software is getting more awesome by the day
I got only one (hopefully very easy adressable) feature request. Is it possible to allow input of domain names instead of IPs in the "Add remote foobar2000 server" and "Internet access" dialogues, i.e. mydomain.dyndns.org instead of the real IP w.x.y.z? Since I have a dynamic IP via my ISP I then won't have to ping my home machine to find out my current IP, and I won't have to change the foobar preferences everytime I get a new IP.


This will be in the next release of the plugin.


glad to hear, keep on rockin' 
Title: foo_upnp
Post by: Mr.H.G.Blob on 2009-04-03 23:41:51
Internet Access Password:
I've only tried with a second instance as Browser on the same computer as Server instance, but if i type wrong password in "add remote server" dialog, it also gives access. 
Any ideias?

btw, awesome component.
Title: foo_upnp
Post by: bubbleguuum on 2009-04-03 23:59:54
Internet Access Password:
I've only tried with a second instance as Browser on the same computer as Server instance, but if i type wrong password in "add remote server" dialog, it also gives access. 
Any ideias?

btw, awesome component.



What did you do exactly ? On a LAN there's no password, you're always going to see all UPnP servers. "Add remote server" is only intended to add a remote foobar2000 server not on the LAN.

Title: foo_upnp
Post by: Mr.H.G.Blob on 2009-04-04 00:20:06
Internet Access Password:
I've only tried with a second instance as Browser on the same computer as Server instance, but if i type wrong password in "add remote server" dialog, it also gives access. 
Any ideias?

btw, awesome component.



What did you do exactly ? On a LAN there's no password, you're always going to see all UPnP servers. "Add remote server" is only intended to add a remote foobar2000 server not on the LAN.


Just to test the component I opened another instance of foobar and "added remote foobar server" on the browser panel. On the dialog, in "IP or hostname" field i put my IP, on "Password" field any text, and it shows the server. Even though it's on the same computer i thought the password had to be the specified on "Internet Access" in the Server Instance's Preferences.
Sorry. Thanks.
Title: foo_upnp
Post by: dr_rick on 2009-04-14 14:25:08
I recently downloaded this and was using it to stream music to my PS3, and it works pretty well for the most part. One major issue I've been having has been skipping during playback. Several times during every song the music will skip, almost like the buffer's being underrun or something like that (though it's just for a moment, not like the buffer's refilling or anything). My PS3 is hardwired to my router, and I had my laptop running wirelessly on the network. Any ideas of what could be causing this issue and what I can do to fix it?

The other issue, which is really pretty minor is that at the end of every song, I get a network error on the PS3. It doesn't do anything, it just says that a network error has occurred. From my searches thus far, it appears it may just be an issue with the PS3 and streaming music, but I thought I'd mention it here too. Thanks for a very useful component!
Title: foo_upnp
Post by: bubbleguuum on 2009-04-14 14:46:53
I recently downloaded this and was using it to stream music to my PS3, and it works pretty well for the most part. One major issue I've been having has been skipping during playback. Several times during every song the music will skip, almost like the buffer's being underrun or something like that (though it's just for a moment, not like the buffer's refilling or anything). My PS3 is hardwired to my router, and I had my laptop running wirelessly on the network. Any ideas of what could be causing this issue and what I can do to fix it?

The other issue, which is really pretty minor is that at the end of every song, I get a network error on the PS3. It doesn't do anything, it just says that a network error has occurred. From my searches thus far, it appears it may just be an issue with the PS3 and streaming music, but I thought I'd mention it here too. Thanks for a very useful component!


I'm confident this problem is due to the wireless network. If you choose the PS3 preset in the sever conf, it will stream every audio format as LPCM which use a lot of bandwidth. I did all my test using a PS3 connected via ethernet so there was no issue.
To verify this you can set the server to stream common formats (MP3, AAC, WMA) not transcoded to LPCM. If bet they play without glitch as it uses far less bandwidth.
Alternatively, you can set the server to transcode lossless files to mp3 to save bandwidth.
Title: foo_upnp
Post by: dr_rick on 2009-04-15 03:56:34
The wireless network was my first thought as well. I have a hardwired desktop downstairs that I could use, but I'd rather not if I can avoid it. I'm using the PS3 preset, but when I tried to transcode to MP3 my PS3 gave me errors and wouldn't play anything. It says, "Media Server Error: An HTTP error (416) has occurred."

If I could get the MP3 to work properly, that would confirm the wireless network as the culprit in my mind. MP3 would probably be an acceptable solution too. I'll have to play with it some more and see what I can figure out. Thanks for your help!
Title: foo_upnp
Post by: Jorgo on 2009-04-15 09:35:09
bubbleguuum,

if you have spare time, would you be willing to give UTF8-encoding a shot? That'd be the cherry on the icecream
Title: foo_upnp
Post by: bubbleguuum on 2009-04-15 23:02:12
bubbleguuum,

if you have spare time, would you be willing to give UTF8-encoding a shot? That'd be the cherry on the icecream


The plugin already send utf-8 for all strings. Verified with the PS3 and cidero.
If you have the same issue than  this thread (http://www.networkedmediatank.com/showthread.php?tid=12422), it looks like a PCH firmware bug and there's not much I can do.
Do you have the same bug with other UPnP servers ?
Title: foo_upnp
Post by: bubbleguuum on 2009-04-15 23:08:07
The wireless network was my first thought as well. I have a hardwired desktop downstairs that I could use, but I'd rather not if I can avoid it. I'm using the PS3 preset, but when I tried to transcode to MP3 my PS3 gave me errors and wouldn't play anything. It says, "Media Server Error: An HTTP error (416) has occurred."

If I could get the MP3 to work properly, that would confirm the wireless network as the culprit in my mind. MP3 would probably be an acceptable solution too. I'll have to play with it some more and see what I can figure out. Thanks for your help!


The PS3 is doing a http range request, which is not supported for content transcoded to mp3. The transcode functionnality wasn't implemented when I had a PS3 for testing.
I'll see what I can do. In the meantime you can at least stream MP3/AAC/WMA in their original format on the PS3, just uncheck "Apply to All formats" in "Decode to PCM" settings.
Title: foo_upnp
Post by: dr_rick on 2009-04-16 15:40:25
Thanks for the input--I had no idea what that error meant. If you can get it figured out, that would be awesome. Thanks!
Title: foo_upnp
Post by: tst on 2009-04-16 20:14:06
bubbleguuum, great plugin.

I was looking for a different functionality though (more details here: [a href='index.php?showtopic=64602']remote foobar[/a]), so allow me to ask a general question:

Basicly I want the reverse thing of what your plugin does. Instead of connecting to a remote computer that hosts foobar to play files of that computer, I want to tell clients of my PC to play a certain file. So when I select a certain file of my library, a stream is sent to all clients and they start playback automatically. I guess these clients must be foobar windows pc as well, but it would fit the purpose discussed in the topic mentioned earlier.

So the question is: Might this be possible with this plugin with a reasonable programming effort?

I hope you can give me your thoughts on this. Thanks!
Title: foo_upnp
Post by: bubbleguuum on 2009-04-16 20:32:56
bubbleguuum, great plugin.

I was looking for a different functionality though (more details here: [a href='index.php?showtopic=64602']remote foobar[/a]), so allow me to ask a general question:

Basicly I want the reverse thing of what your plugin does. Instead of connecting to a remote computer that hosts foobar to play files of that computer, I want to tell clients of my PC to play a certain file. So when I select a certain file of my library, a stream is sent to all clients and they start playback automatically. I guess these clients must be foobar windows pc as well, but it would fit the purpose discussed in the topic mentioned earlier.

So the question is: Might this be possible with this plugin with a reasonable programming effort?

I hope you can give me your thoughts on this. Thanks!


This is something that is within UPnP AV attributions, and I already thought about doing it, although it's a lot of work.
It involves making foobar2000 a Media Renderer so it can play pushed content, as well as a Media Controller so content can be pushed.
That way, with any foobar instance you could tell to any other foobar instances (or any other Media Renderer) to play content stored on any UPnP server (running this plugin or not).
The holy grail of remote control .
Title: foo_upnp
Post by: tst on 2009-04-16 20:40:55
Thanks for the quick reply. This really sounds like the definite solution

I'm looking forward to new versions of this plugin.
Title: foo_upnp
Post by: Ironwalker on 2009-04-17 18:16:55
Quote
To let the UPnP clients on the LAN able to see the foobar server you need to configure your firewall to allow multicast udp packets on port 1900 (SSDP).


Can I change the ports used to anything I want in a cfg??

Quote
You have to configure your router to redirect incoming traffic on port 5678 to the PC 192.168.1.100 of your LAN. If there's a firewall as well it must be configured to allow
incoming connection on this port.


I am guessing this is tcp traffic, Correct???
My software firewall wants specific udp or tcp mention in rule edit.


Thanks for this, now my wife can turn her foobar2000 on in the office but not ask me to load music on her thumb drive.


Can she point and listen to her directory on my pc while I am listening to my music directory on my foobar2000 that is hosting the server from your plugin?

Did that make sense?
I can rephrase that if need be.
Title: foo_upnp
Post by: znaju on 2009-04-20 07:50:03
What software do I need to install on Linux to receive audio from foo_upnp?
Title: foo_upnp
Post by: GreenSmurf on 2009-04-20 09:06:46
There might be an issue with getting large libraries to load. The only reason I think this may be an issue is because I tried to view my media library on my PS3 and could only find artists up to J displayed- plus, only about 1/4 of songs played without an error (sorry forget the error code right now but I can get it later for you). I have nearly 10,000 albums and over 92,000 songs; is there anything I need to do on my end to get everything to load and stream properly? Thank you.
Title: foo_upnp
Post by: bubbleguuum on 2009-04-20 13:34:37
Quote
To let the UPnP clients on the LAN able to see the foobar server you need to configure your firewall to allow multicast udp packets on port 1900 (SSDP).

Can I change the ports used to anything I want in a cfg??


You can't change it but there's no need to. It's used only for server autodiscovery on the LAN.

Quote
Quote
You have to configure your router to redirect incoming traffic on port 5678 to the PC 192.168.1.100 of your LAN. If there's a firewall as well it must be configured to allow
incoming connection on this port.


I am guessing this is tcp traffic, Correct???
My software firewall wants specific udp or tcp mention in rule edit.


Correct. This is HTTP traffic,  thus you need to enable TCP. This is used for streaming and has nothing to do with SSDP discussed above.


Quote
Can she point and listen to her directory on my pc while I am listening to my music directory on my foobar2000 that is hosting the server from your plugin?

Yes you can use the foobar2000 instance while it is streaming although if it is transcoding to mp3, it'll take up some CPU usage.


What software do I need to install on Linux to receive audio from foo_upnp?

There's not many upnp client on Linux so your best bet is to run foobar2000 under wine with this plugin.

There might be an issue with getting large libraries to load. The only reason I think this may be an issue is because I tried to view my media library on my PS3 and could only find artists up to J displayed- plus, only about 1/4 of songs played without an error (sorry forget the error code right now but I can get it later for you). I have nearly 10,000 albums and over 92,000 songs; is there anything I need to do on my end to get everything to load and stream properly? Thank you.

I tested with my library of only 5000 tracks so very far from your use case. On files not playing, what are their codec, and what's the exact PS3 error? Do you use the PS3 server preset in the server configuration ?
Title: foo_upnp
Post by: Chipicui on 2009-04-20 15:54:02
bubbleguuum, great plugin.

I was looking for a different functionality though (more details here: [a href='index.php?showtopic=64602']remote foobar[/a]), so allow me to ask a general question:

Basicly I want the reverse thing of what your plugin does. Instead of connecting to a remote computer that hosts foobar to play files of that computer, I want to tell clients of my PC to play a certain file. So when I select a certain file of my library, a stream is sent to all clients and they start playback automatically. I guess these clients must be foobar windows pc as well, but it would fit the purpose discussed in the topic mentioned earlier.

So the question is: Might this be possible with this plugin with a reasonable programming effort?

I hope you can give me your thoughts on this. Thanks!


This is something that is within UPnP AV attributions, and I already thought about doing it, although it's a lot of work.
It involves making foobar2000 a Media Renderer so it can play pushed content, as well as a Media Controller so content can be pushed.
That way, with any foobar instance you could tell to any other foobar instances (or any other Media Renderer) to play content stored on any UPnP server (running this plugin or not).
The holy grail of remote control .



Please! Please! Please! consider doing it!!!!!
That's exactly what I need too!
Title: foo_upnp
Post by: bubbleguuum on 2009-04-23 00:19:25
New version with bug fixes + remote search of foobar2000 servers. Click on any tree node of a foobar2000 server to enable the "Search" Button. Search is only
possible if server is running this version of the plugin (or greater).
It searches the whole remote Media Library (not the playlists). Query syntax is the same than the Album List component.

0.98.1

+ fix: server: filenames with '+' in path not recognized
+ fix: server: rare crash in the PCM decoder
+ fix: server/browser: removed a few deadlocks that could hang foobar2000.
+ fix: browser: crash when receiving browse data after server disappeared
+ new: browser: implemented remote Media Library search (only on foobar UPnP servers running this plugin)
Title: foo_upnp
Post by: hammurabi on 2009-04-23 05:00:10
Just added the new version. Seems to work ok, i'll have to have more of a playaround with it.
However, upon closing foobar I'm getting this
(http://i41.tinypic.com/2l9wd3.jpg)
No other info just dead foobar
Title: foo_upnp
Post by: ExUser on 2009-04-23 07:10:29
Just added the new version. Seems to work ok, i'll have to have more of a playaround with it.
However, upon closing foobar I'm getting this
No other info just dead foobar
Components list please.
Title: foo_upnp
Post by: kompot on 2009-04-23 08:48:56
Quote
new: browser: implemented remote Media Library search (only on foobar UPnP servers running this plugin)

great!
sorry for not being a native speaker to express how i'm happy to have that feature :)

small request concerning search results sorting - is it possible to sort results using that "sort incoming files by" pattern?
think that'll be an expected behaviour

thanks again for implementing such a great feature
Title: foo_upnp
Post by: 2E7AH on 2009-04-23 11:10:33
same error as hammurabi reported

(http://img220.imageshack.us/img220/1533/microsoftvisualcruntime.png)

it seems that it is not connected to other components: in portable foobar it doesn't happens
latest foobar on vista sp1
Title: foo_upnp
Post by: Anas on 2009-04-23 11:12:11
Just added the new version. Seems to work ok, i'll have to have more of a playaround with it.
However, upon closing foobar I'm getting this
No other info just dead foobar
Components list please.
I'm experiencing the same error. Online Troubleshooter reports no problematic components, here's my component list anyways:
Code: [Select]
Core (2009-04-17 13:16:46)
    foobar2000 core 0.9.6.5 beta 2
foo_abx.dll (2009-04-17 13:10:42)
    ABX Comparator 1.3.4
foo_albumlist.dll (2009-04-17 13:11:54)
    Album List 4.3.1
foo_audioscrobbler.dll (2008-03-09 21:08:02)
    Audioscrobbler 1.3.16
foo_biometric.dll (2009-03-14 21:42:35)
    Fingerprint tools 0.3
foo_burninate.dll (2006-08-04 21:56:44)
    Audio CD Writer 2.0.1
foo_cdda.dll (2009-04-17 13:11:46)
    CD Audio Decoder 2.1.4
foo_converter.dll (2009-04-17 13:11:38)
    Converter 1.2.1
foo_convolve.dll (2006-08-04 22:57:26)
    Convolver 0.3
foo_dop.dll (2009-04-11 13:34:45)
    iPod manager 0.6.4.2
foo_dsp_delta.dll (2008-10-24 15:57:16)
    Noise Sharpening DSP 1.0.0
foo_dsp_mm.dll (2008-06-06 07:29:10)
    Matrix Mixer 0.3
foo_dsp_std.dll (2009-04-17 13:12:00)
    Standard DSP Array 1.0
foo_dsp_xover.dll (2006-05-07 12:30:26)
    Crossover 0.38
foo_fileops.dll (2009-04-17 13:10:50)
    File Operations 2.1.2
foo_freedb2.dll (2009-04-17 13:11:02)
    freedb Tagger 0.6.1
foo_input_alac.dll (2006-08-04 21:57:02)
    ALAC Decoder 1.0
foo_input_monkey.dll (2008-05-31 22:39:34)
    Monkey's Audio Decoder 2.1.3
foo_input_std.dll (2009-04-17 13:11:36)
    Standard Input Array 1.0
foo_ir2.dll (2008-11-05 04:06:26)
    ir2 Infrared Remote Control 0.1.2
foo_lastfm_radio.dll (2009-02-25 23:05:24)
    Last.fm Radio 0.5.6b
foo_lyricsdb.dll (2007-02-26 19:42:02)
    foo_lyricsdb 0.0.7 beta 5
foo_masstag.dll (2009-03-29 20:53:12)
    Masstagger 1.8
foo_musicbrainz.dll (2009-04-10 22:27:28)
    MusicBrainz Tagger 0.2
foo_playcount.dll (2009-03-08 23:27:16)
    Playback Statistics 2.1.8
foo_pqview.dll (2008-03-11 20:02:54)
    Playback Queue Viewer 0.2
foo_random.dll (2007-01-25 23:50:16)
    Randomized Playlist Entry 1.2.3
foo_rg_trn.dll (2007-10-27 22:13:20)
    ReplayGain override 0.1.2
foo_rgscan.dll (2009-04-17 13:11:32)
    ReplayGain Scanner 2.0.8
foo_run.dll (2009-03-27 22:49:54)
    Run services 0.3.6
foo_textdisplay.dll (2008-07-08 19:45:26)
    Text Display UI Element 1.0 RC 3
foo_texttools.dll (2008-06-19 21:53:52)
    Text Tools 1.0.1
foo_ui_columns.dll (2009-04-18 18:30:11)
    Columns UI 0.3.6.9
foo_ui_std.dll (2009-04-17 13:12:14)
    Default User Interface 0.9.5
foo_uie_albumlist.dll (2009-03-28 17:14:17)
    Album list panel 0.3.4
foo_uie_typefind.dll (2007-10-22 23:30:44)
    Typefind 0.2 beta 2
foo_upnp.dll (2009-04-23 12:03:29)
    UPnP/DLNA Media Server and Browser 0.98.1
foo_whatsnew.dll (2008-08-30 16:45:00)
    Feature Watcher 1.0.6

By the way, thanks a lot for your continuous excellent work with this component bubbleguuum.
Title: foo_upnp
Post by: bubbleguuum on 2009-04-23 11:27:12
Just added the new version. Seems to work ok, i'll have to have more of a playaround with it.
However, upon closing foobar I'm getting this
No other info just dead foobar
Components list please.
I'm experiencing the same error. Online Troubleshooter reports no problematic components, here's my component list anyways:
Code: [Select]
Core (2009-04-17 13:16:46)
    foobar2000 core 0.9.6.5 beta 2
foo_abx.dll (2009-04-17 13:10:42)
    ABX Comparator 1.3.4
foo_albumlist.dll (2009-04-17 13:11:54)
    Album List 4.3.1
foo_audioscrobbler.dll (2008-03-09 21:08:02)
    Audioscrobbler 1.3.16
foo_biometric.dll (2009-03-14 21:42:35)
    Fingerprint tools 0.3
foo_burninate.dll (2006-08-04 21:56:44)
    Audio CD Writer 2.0.1
foo_cdda.dll (2009-04-17 13:11:46)
    CD Audio Decoder 2.1.4
foo_converter.dll (2009-04-17 13:11:38)
    Converter 1.2.1
foo_convolve.dll (2006-08-04 22:57:26)
    Convolver 0.3
foo_dop.dll (2009-04-11 13:34:45)
    iPod manager 0.6.4.2
foo_dsp_delta.dll (2008-10-24 15:57:16)
    Noise Sharpening DSP 1.0.0
foo_dsp_mm.dll (2008-06-06 07:29:10)
    Matrix Mixer 0.3
foo_dsp_std.dll (2009-04-17 13:12:00)
    Standard DSP Array 1.0
foo_dsp_xover.dll (2006-05-07 12:30:26)
    Crossover 0.38
foo_fileops.dll (2009-04-17 13:10:50)
    File Operations 2.1.2
foo_freedb2.dll (2009-04-17 13:11:02)
    freedb Tagger 0.6.1
foo_input_alac.dll (2006-08-04 21:57:02)
    ALAC Decoder 1.0
foo_input_monkey.dll (2008-05-31 22:39:34)
    Monkey's Audio Decoder 2.1.3
foo_input_std.dll (2009-04-17 13:11:36)
    Standard Input Array 1.0
foo_ir2.dll (2008-11-05 04:06:26)
    ir2 Infrared Remote Control 0.1.2
foo_lastfm_radio.dll (2009-02-25 23:05:24)
    Last.fm Radio 0.5.6b
foo_lyricsdb.dll (2007-02-26 19:42:02)
    foo_lyricsdb 0.0.7 beta 5
foo_masstag.dll (2009-03-29 20:53:12)
    Masstagger 1.8
foo_musicbrainz.dll (2009-04-10 22:27:28)
    MusicBrainz Tagger 0.2
foo_playcount.dll (2009-03-08 23:27:16)
    Playback Statistics 2.1.8
foo_pqview.dll (2008-03-11 20:02:54)
    Playback Queue Viewer 0.2
foo_random.dll (2007-01-25 23:50:16)
    Randomized Playlist Entry 1.2.3
foo_rg_trn.dll (2007-10-27 22:13:20)
    ReplayGain override 0.1.2
foo_rgscan.dll (2009-04-17 13:11:32)
    ReplayGain Scanner 2.0.8
foo_run.dll (2009-03-27 22:49:54)
    Run services 0.3.6
foo_textdisplay.dll (2008-07-08 19:45:26)
    Text Display UI Element 1.0 RC 3
foo_texttools.dll (2008-06-19 21:53:52)
    Text Tools 1.0.1
foo_ui_columns.dll (2009-04-18 18:30:11)
    Columns UI 0.3.6.9
foo_ui_std.dll (2009-04-17 13:12:14)
    Default User Interface 0.9.5
foo_uie_albumlist.dll (2009-03-28 17:14:17)
    Album list panel 0.3.4
foo_uie_typefind.dll (2007-10-22 23:30:44)
    Typefind 0.2 beta 2
foo_upnp.dll (2009-04-23 12:03:29)
    UPnP/DLNA Media Server and Browser 0.98.1
foo_whatsnew.dll (2008-08-30 16:45:00)
    Feature Watcher 1.0.6

By the way, thanks a lot for your continuous excellent work with this component bubbleguuum.

It's probably a regression in this version. The shutdown sequence of this component is quite complicated and there's probably one more deadlock.
To help me find the problem can you answer these question
- Was the UPnP server running this plugin and if that's the case what was the server configuration?
- Did the crash happened when running the foobar instance running the server or the browser ?
- Did you use the UPnP browser as an UI element or CUI panel ?
- Were you streaming an UPnP item when closing foobar ?
- Can you reproduce this bug all the time (if so, describe the steps)?
Title: foo_upnp
Post by: 2E7AH on 2009-04-23 11:42:29
i can try answering those question:

- i use it as a browser over lan with another foobar instance
- it only happens in CUI (and not in potrable mode as i said)
- if i don't use UPnP the error is still there when closing foobar
- and it happens all the time
Title: foo_upnp
Post by: bubbleguuum on 2009-04-23 11:51:05
i can try answering those question:

- i use it as a browser over lan with another foobar instance
- it only happens in CUI (and not in potrable mode as i said)
- if i don't use UPnP the error is still there when closing foobar
- and it happens all the time



ok probably a problem related to the CUI Panel version of the browser. I'll have a look later tonight
Title: foo_upnp
Post by: kompot on 2009-04-23 18:47:41
Some thoughts/feature proposals

1. Disc number is lost (not written to tags) when transcoding from lossless.
2. Is there a chance of getting disc number at the moment playlist gets the tracks from foo_upnp so that the tracks could be sorted as they should appear on actual album?
3. When trying to copy lossless files that should be transcoded on-the-fly foobar says that length is 0 (i understand that it can't be fetched before transcoding), but... just a thought for the far shelf :)

Thanks again for the implemented search :)
Title: foo_upnp
Post by: Anas on 2009-04-23 19:32:53
bubbleguuum,
- No, the server was stopped
- I wasn't (willingly) connected to any server and nothing was playing via foo_upnp
- I was using the browser as CUI panel in a tab stack
- No
- Yes, by closing foobar

I hope that helps.
Title: foo_upnp
Post by: bubbleguuum on 2009-04-23 21:46:11
new version with crash at exit with CUI version of the browser fixed + some new goodies:

0.98.2

- fix: crash on exit with CUI Browser version
- fix: track duration was not set for items transcoded to mp3
- new: new Browser option to use the "sort incoming files by" filter found in foobar's General configuration. Off by default.
- new: %discnumber% is now retrieved at browse time allowing better sorting



the use of the global "sort incoming files by" filter is off by default because the pattern is %path_sort% by default and while it works OK
for items on a filesystem, it gives total random order on upnp items due to their encoded paths.
Title: foo_upnp
Post by: foorious on 2009-04-24 14:16:08
Hi bubbleguuum,

Could you please give us your thought about the two last posts in this topic ? http://www.hydrogenaudio.org/forums/index....showtopic=29308 (http://www.hydrogenaudio.org/forums/index.php?showtopic=29308)

I'd like to know if foo_upnp could evolve to offer such functionality, or if another component would be needed from scratch.

I think the idea of controlling a foobar server from a foobar client would be great (e.g. for laptop owners - controlling your HTPC from your laptop directly within foobar, without any VNC-like solution), and I hope a dev (maybe you ?) can be interested in implementing this.

Thank you.
Title: foo_upnp
Post by: bubbleguuum on 2009-04-24 14:27:11
I think the idea of controlling a foobar server from a foobar client would be great (e.g. for laptop owners - controlling your HTPC from your laptop), and I hope a dev (maybe you ?) can be interested in implementing this.


Why don't you just use VNC or equivalent for this purpose ?
Title: foo_upnp
Post by: foorious on 2009-04-24 14:35:16
Sorry, I was editing my post to say "without any VNC-like solution".

I think you can understand the benefits of not having to use VNC. For example having different interfaces for the Server and the Client, like I said in the other topic's example.

VNC is an external solution when we're talking about what a foobar component could be. Your question is about the same as asking "Why do people ask for lyric search components when there's Evil Lyrics ?". The answer is "Because some people (most people in fact) prefer to launch one single app called foobar and have all needed functionality". Better integration is the key : I think this makes sense.
Title: foo_upnp
Post by: bubbleguuum on 2009-04-24 15:21:33
Sorry, I was editing my post to say "without any VNC-like solution".

I think you can understand the benefits of not having to use VNC. For example having different interfaces for the Server and the Client, like I said in the other topic's example.

VNC is an external solution when we're talking about what a foobar component could be. Your question is about the same as asking "Why do people ask for lyric search components when there's Evil Lyrics ?". The answer is "Because some people (most people in fact) prefer to launch one single app called foobar and have all needed functionality". Better integration is the key : I think this makes sense.


You proposal on the other topic doesn't make much sense on a technical point of view (sending clicks and stuff). Nobody is going to implement a complicated custom protocol when you can just use VNC and use the remote app just like if it was local. As I explained in a previous post in this topic, UPnP can be used to control a remote UPnP Renderer (not limited to foobar) with basic actions like play/pause/enqueue/set volume etc. I will implement probably this (limited) control at some point but it won't let you do everything like changing the DSP chain of the remote server for example.

Another cool way to remote control a foobar instance would be to create a plugin that emulate the MPD protocol. That way you could use any existing MPD client program to remote control foobar2000. There are MPD clients for all OS and even Web based ones. Now, if using a MPD client you could as well use a real MPD server connected to your HTPC...

Title: foo_upnp
Post by: odyssey on 2009-04-24 15:35:39
MPD looks interresting and yes it's pretty much what we're trying to achieve.

Why not use VNC?
- I've tried and It's just unhandy in any way. VNC has an option to only show a specific window, which sounds great. It works pretty well until a window is layered on top of foobar2000. Also it's quite hard to bring back the foobar2000 window if it becomes minimized. That said, I'd also like to run a few other applications on my server and in this case VNC just makes what was supposed to be an easy access, more difficult.

My current workaround/solution is to run each of my applications in full screen, from Remote Desktop set at a specified size, emulating that it's running as a window.
Title: foo_upnp
Post by: hammurabi on 2009-04-24 15:56:53
new version with crash at exit with CUI version of the browser fixed + some new goodies:

0.98.2

Thx bubbleguuum. Problem solved

Ps. Thx for the great component too
Title: foo_upnp
Post by: foorious on 2009-04-24 16:07:37
Another cool way to remote control a foobar instance would be to create a plugin that emulate the MPD protocol.

Interesting.

That way you could use any existing MPD client program to remote control foobar2000.

That's not what I'm trying to achieve because I want to keep using foobar, not a MPD client. Do you think that some future foo_mpd component with a selectable mode (client or server) could technically allow foobar to act as both a MPD client or a MPD server ? If that's technically feasible, then that could be what we're trying to achieve.

Now, if using a MPD client you could as well use a real MPD server connected to your HTPC...

That wouldn't work with my other topic's example :
- HTPC : would display fancy stuff (Album Art Viewer, Spectrum, Lyrics, Chronflow, you name it) => it would need foobar
- Client : would display search stuff (Facets, Playlist Manager, Playlist View...) => it also would need foobar

If the solution is a foo_mpd client/server plugin, then maybe it's time to create a topic for it. Would that be relevant ?
Title: foo_upnp
Post by: bubbleguuum on 2009-04-24 16:33:04
Another cool way to remote control a foobar instance would be to create a plugin that emulate the MPD protocol.

Interesting.

That way you could use any existing MPD client program to remote control foobar2000.

That's not what I'm trying to achieve because I want to keep using foobar, not a MPD client. Do you think that some future foo_mpd component with a selectable mode (client or server) could technically allow foobar to act as both a MPD client or a MPD server ? If that's technically feasible, then that could be what we're trying to achieve.

Now, if using a MPD client you could as well use a real MPD server connected to your HTPC...

That wouldn't work with my other topic's example :
- HTPC : would display fancy stuff (Album Art Viewer, Spectrum, Lyrics, Chronflow, you name it) => it would need foobar
- Client : would display search stuff (Facets, Playlist Manager, Playlist View...) => it also would need foobar

If the solution is a foo_mpd client/server plugin, then maybe it's time to create a topic for it. Would that be relevant ?


The main interest in emulating a MPD server via a plugin is that it is easy to do (no UI work except a few server prefs)  and that you can use *instantly* all existing MPD clients on a variety of platforms. So you don't need to write a foobar mpd client to make it work, although technically you can write one (it would allow to access a real MPD server btw). But writing a mpd client would be  of lot of work as you must implement your own custom browser (like foo_upnp do). There's no way you can hook a remote library (be it mpd or upnp) into the current ML.
Title: foo_upnp
Post by: Kev0 on 2009-04-24 18:02:29
Hi bubbleguuum,

Could you please give us your thought about the two last posts in this topic ? http://www.hydrogenaudio.org/forums/index....showtopic=29308 (http://www.hydrogenaudio.org/forums/index.php?showtopic=29308)

I'd like to know if foo_upnp could evolve to offer such functionality, or if another component would be needed from scratch.

I think the idea of controlling a foobar server from a foobar client would be great (e.g. for laptop owners - controlling your HTPC from your laptop directly within foobar, without any VNC-like solution), and I hope a dev (maybe you ?) can be interested in implementing this.

Thank you.


Maybe

http://www.hydrogenaudio.org/forums/index....2218&st=350 (http://www.hydrogenaudio.org/forums/index.php?showtopic=62218&st=350)


?
Title: foo_upnp
Post by: foorious on 2009-04-24 18:23:40
@bubbleguuum : Thanks for clearing this up.

So, besides writing a MPD server plugin for foobar (easy part), the "easiest" thing to turn foobar into a MPD client would be that Peter himself decides to do so, right ? If Peter would implement MPD protocol within foobar core, then I suppose that it would take advantage of all existing UIs and browsing features (no need for a custom browser). Is this correct ?

(if I'm right then I'll make a feature request, and we'll see what happens  )


@Kev0 : the problem about http browsing is that it only only offers a set of limited features (e.g. no Facets). It's not like having a "real" foobar at your fingertips. I think this was already said on the other topic. But thanks anyway.
Title: foo_upnp
Post by: dr_rick on 2009-04-28 15:32:47
Bubbleguum, have you had a chance to see if you could figure out what was causing the http error when transcoding to mp3 on the PS3? I tried it again with one of the new versions (I don't remember if I tried with the very latest or not yet), and it was still doing it. I wasn't sure if that was supposed to be included in these releases, or if it was still on the to do list. Once again, thanks for your work on a cool plugin!
Title: foo_upnp
Post by: GreenSmurf on 2009-04-29 09:37:27
Let me preface my post with this (skip to the  for the real meat of the post):

I can only hope after having read the first couple pages rather briefly that I can have my question answered- I know I am probably going to get some smartypants flaming reply for 'not searching' or 'reading a post'. With that said I present my predicament.

  I seem to having an issue with my entire library loading on the PS3. A generous estimate is that 1/3 of my (~100k songs) library loads and then the rest is non-viewable. Any suggestions or comments would be appreciated. Thank you.

-Brandon
Title: foo_upnp
Post by: bubbleguuum on 2009-04-29 16:09:38
@dr_rick:  I know what is causing trouble but do not have a PS3 anymore to try a few things to address the pbm

@GreenSmurf: maybe the PS3 has some internal limit on how much album it can present in the tree ? does the PS3 indicate any error ?
Maybe it chokes on some album name and goes no further?
Title: foo_upnp
Post by: GreenSmurf on 2009-04-30 05:30:25
It would appear that the PS3 just won't load more. Its not any name in particular being that it does seem to vary from time to time. I think it might be a buffer issue or maximum data packet issue. Not too sure if the latter actually is feasible but I have heard of similar issues with other music servers.

-B
Title: foo_upnp
Post by: Holgov on 2009-05-04 09:30:50
Hi Folks,

I am new to foobar, but I very much like the idea of using foobar as a upnp renderer on a PC.
I have a machine in my network which runs the Twonky Mediaserver v3.1.
Two Terratec Noxxons already make use of that server, working flawlessly.
Now I want a software renderer to access that server, too.

Sure enough I stumbled over the foo_upnp component after a while, but I cannot get it to *do* something.

I downloaded the latest version 0.98.2., and put the foo_upnp.dll into the ..\components folder.
When restarting foobar, my firewall popped up alerting me that foobar2000.exe is trying to broadcast using remote port 1900 (SSDP protocol) - I figure thats the server part of the upnp functionality, so it must have found and used the foo_upnp.dll.

So far, so good.

Now I expected to "see" my Twonky server somewhere in the library tree, but nope.

I also tried to have one foobar2000 running on a machine, sharing some MP3s acting as server, and another one, on a different PC, but nope again - couldn't see a shared tree or anything.

So here's my obvious question:
What am I doing wrong?

Any help appreciated.

Kind regards
Holgov

PS: Using Windows XP pro and Foobar2000 v0.9.6.5.
Title: foo_upnp
Post by: bubbleguuum on 2009-05-04 11:10:52
I downloaded the latest version 0.98.2., and put the foo_upnp.dll into the ..\components folder.
When restarting foobar, my firewall popped up alerting me that foobar2000.exe is trying to broadcast using remote port 1900 (SSDP protocol) - I figure thats the server part of the upnp functionality, so it must have found and used the foo_upnp.dll.

So far, so good.

Now I expected to "see" my Twonky server somewhere in the library tree, but nope.


You need to add the UI Element (called UPnP Browser) to your configuration. It is a window containing the browse tree.
If you're new to foobar maybe you have not done  UI layout editing before, so here's some quick instruction to add the UI element:
enter layout editing mode (View->Layout->Enable layout editig mode). In this mode when you right click on a component in the UI, you'll
be able to add new ones. For a quick test just select one component, right-click then select Replace UI Element and in the component list choose UPnP Browser  (it is in the Utility section).
Then you should have a window with your UPnP server listed and browsable. If you don't want to replace an existing component you'll need to add a vertical or horizontal splitter first.
You may want to familiarize yourself with the UI editing mode as this allow to custom the UI.
Title: foo_upnp
Post by: Holgov on 2009-05-04 18:36:45
(...)
You need to add the UI Element (called UPnP Browser) to your configuration. It is a window containing the browse tree.
If you're new to foobar maybe you have not done  UI layout editing before, so here's some quick instruction to add the UI element:
enter layout editing mode (View->Layout->Enable layout editig mode). In this mode when you right click on a component in the UI, you'll
be able to add new ones. For a quick test just select one component, right-click then select Replace UI Element and in the component list choose UPnP Browser  (it is in the Utility section).
Then you should have a window with your UPnP server listed and browsable. If you don't want to replace an existing component you'll need to add a vertical or horizontal splitter first.
You may want to familiarize yourself with the UI editing mode as this allow to custom the UI.


Awesome, now it works as expected.
Thanks mate, will keep on playing around and feedback any issues I find.

cu
Holgov
Title: foo_upnp
Post by: bubbleguuum on 2009-05-07 22:09:28
New version with 2 big new features allowing remote control. This is still a beta so please submit any crash. Thanks TheLink for testing .

0.99.0
--------

- new: new UI Element / CUI Panel, "UPnP Controller":  makes foobar2000 an UPnP Control Point able to control any UPnP Media Renderer.
- new: foobar2000 is now an UPnP Media Renderer, allowing remote control with any UPnP Control Point.
- fix: crashes due to dangling pointer
- fix: crashes when multiple foo_upnp Media Servers on the LAN
- fix: browser: now in the UPnP Browser, it is possible to see multiple foo_upnp Media Servers
- fix: browser: set unknown track length if not track length info present in track browse data
- fix: buggy behaviour when replacing the UI Element by a Splitter
- chg: server: if no %discnumber% in track do not send %discnumber% as '?'


Media Renderer
==========

This implement the standard UPnP Media Renderer interface which allow basic control of the player by any UPnP Control Point software.
The Media Renderer can be enabled or disabled in the "UPnP | Server | Basic Settings/Status"  Configuration pages.
Note that the Media Renderer name cannot be configured (yet). It is always of the form "foobar2000 Media Renderer <windows username>".

Media Controller
==========

The UPnP Controller UI Element allow to control any remote Media Renderer, be it another foobar2000 instance on the network running this plugin, or a hardware based one.

Basic operations such as play/pause/stop etc are supported. There are 2 operating modes according if "Use controller playlist" is enabled or not.

- Use controller playlist disabled

Playback operation buttons (play/pause/etc) will send the related command to the remote renderer.

- "Use controller playlist" enabled

If it is enabled, a special playlist called "UPnP Controller Playback queue" is used. This playlist is locked and cannot be removed while the UPnP Controller component is running.
It is the playback queue of the remote renderer, so you can add any items in it, even UPnP items from any UPnP Server.
In this playlist, the highlighted track is the track that will be played when using the "Play" button. It then becomes the playing track for the remote renderer.
Next and Prev will instruct the renderer to play the Next or Prev track in this playlist. Double-clicking a track in this playlist will play it in the renderer.
The "PL" button will show the  "UPnP Controller Playback queue" playlist.

Beware that for the remote renderer to be able to play local items (ie non-UPnP or http) in this playlist,
the UPnP Media Server must be started on the foobar instance holding those items (which is also the instance running the Controller).

When the UPnP Controller is running and there are Media Renderers detected on the LAN, a playlist context menu is added a sub-menu  called "UPnP Controller".
It will let you play (or enqueue) directly the selected items in any renderer. It will effectively put automatically those selected items
in the "UPnP Controller Playback queue" playlist and start play. This is similar to the WMP 11 (Vista) and 12 (Win7) "Play to" feature.
This context menu is also available by right-clicking a node containing items in the UPnP Browser.
Title: foo_upnp
Post by: wtstommy on 2009-05-08 03:07:45
Great plugin! Posted a guide on how to use this to stream music to your iPhone remotely. http://nerdlets.org/2009/05/07/set-up-a-up...ith-foobar2000/ (http://nerdlets.org/2009/05/07/set-up-a-upnp-media-server-with-foobar2000/)
Title: foo_upnp
Post by: bubbleguuum on 2009-05-08 13:04:17
Great plugin! Posted a guide on how to use this to stream music to your iPhone remotely. http://nerdlets.org/2009/05/07/set-up-a-up...ith-foobar2000/ (http://nerdlets.org/2009/05/07/set-up-a-upnp-media-server-with-foobar2000/)


Many thanks for that nice article . It just remember me how a proper www page with docs for this plugin is needed. You're the first to report that it works well with PlugPlayer on the iPhone/iPod touch. There's no reason it shoudn't have worked but until someone tries, you never know. Did you try controlling the foobar Media Renderer from PlugPlayer ?

Also it was cool to learn you could access the Media Server from the WAN with this app. This is possible only because the developper included entering a manual URL which most control points do not allow since autodiscovery is supposed to happen automatically on the LAN. When accessing the server from the WAN, I supposed you hat to put the login/password in the manual URL for it to work (something like http://user:password@my.hostname:port") (http://user:password@my.hostname:port&quot%3b%29) ?
Title: foo_upnp
Post by: bubbleguuum on 2009-05-08 15:00:08
New bugfix version, uploaded just a few hours after 0.99.0 so there are chance you already have it.

0.99.1

- fix: crash sometimes when entering Preference/General/Keyboard Shortcuts page
- fix: crash when triggering the default action (double-click or Enter) on an item in the "UPnP Controller Playback Queue" playlist, if the UPnP Controller is not launched.
Title: foo_upnp
Post by: wtstommy on 2009-05-08 18:19:17
Great plugin! Posted a guide on how to use this to stream music to your iPhone remotely. http://nerdlets.org/2009/05/07/set-up-a-up...ith-foobar2000/ (http://nerdlets.org/2009/05/07/set-up-a-upnp-media-server-with-foobar2000/)


Many thanks for that nice article . It just remember me how a proper www page with docs for this plugin is needed. You're the first to report that it works well with PlugPlayer on the iPhone/iPod touch. There's no reason it shoudn't have worked but until someone tries, you never know. Did you try controlling the foobar Media Renderer from PlugPlayer ?

Also it was cool to learn you could access the Media Server from the WAN with this app. This is possible only because the developper included entering a manual URL which most control points do not allow since autodiscovery is supposed to happen automatically on the LAN. When accessing the server from the WAN, I supposed you hat to put the login/password in the manual URL for it to work (something like http://user:password@my.hostname:port") (http://user:password@my.hostname:port&quot%3b%29) ?


Was my pleasure, and thanks for the great plugin. I have recently tried PlugPlayer over a remote network (my office) to access my home computer and have not been able to get things working yet. I am talking with the developer of PlugPlayer to see if it is a password problem. Is there anyway to set =up foo_upnp so that it does not require a password?

Controlling my home foobar2000 using PlugPlayer on the iPhone works perfectly over local networks.

And yes, what sets PlugPlayer apart from the rest is that you can enter custom URLs. Not sure yet if it handles passwords.... I'll keep the thread updated, though.
Title: foo_upnp
Post by: bubbleguuum on 2009-05-09 11:15:19
Was my pleasure, and thanks for the great plugin. I have recently tried PlugPlayer over a remote network (my office) to access my home computer and have not been able to get things working yet. I am talking with the developer of PlugPlayer to see if it is a password problem. Is there anyway to set =up foo_upnp so that it does not require a password?

Controlling my home foobar2000 using PlugPlayer on the iPhone works perfectly over local networks.

And yes, what sets PlugPlayer apart from the rest is that you can enter custom URLs. Not sure yet if it handles passwords.... I'll keep the thread updated, though.


try connecting using "http://user:password@my.hostname:port". With a bit of luck the user/password will be encoded in a "Authorization" HTTP header and it should work then.
Title: foo_upnp
Post by: 2E7AH on 2009-05-09 11:47:21
I have question about UPnP Controller Playback Queue playlist:
When using foo_utils "add to playlist" it can't sent to this playlist, but adding from anywhere else is ok. Rearranging, removing, everything is like in normal playlist except this sending from playlist to this playlist.
Is this on purpose?
Title: foo_upnp
Post by: bubbleguuum on 2009-05-09 12:43:56
I have question about UPnP Controller Playback Queue playlist:
When using foo_utils "add to playlist" it can't sent to this playlist, but adding from anywhere else is ok. Rearranging, removing, everything is like in normal playlist except this sending from playlist to this playlist.
Is this on purpose?


This playlist is locked because it redefines the default action on items, and foo_utils seems to just disallow sending items to a locked playlist even if the locked playlist would accept those items (this is the case for the Controller Playlist).
Title: foo_upnp
Post by: 2E7AH on 2009-05-09 13:05:16
Ok, thanks for answering my silly question, at least it is foo_utils related
BTW, using foo_utils "remove from playlist" somehow removes items from UPnP queue
Title: foo_upnp
Post by: tomhosking on 2009-05-12 18:12:59
Was my pleasure, and thanks for the great plugin. I have recently tried PlugPlayer over a remote network (my office) to access my home computer and have not been able to get things working yet. I am talking with the developer of PlugPlayer to see if it is a password problem. Is there anyway to set =up foo_upnp so that it does not require a password?

Controlling my home foobar2000 using PlugPlayer on the iPhone works perfectly over local networks.

And yes, what sets PlugPlayer apart from the rest is that you can enter custom URLs. Not sure yet if it handles passwords.... I'll keep the thread updated, though.


try connecting using "http://user:password@my.hostname:port". With a bit of luck the user/password will be encoded in a "Authorization" HTTP header and it should work then.


Firstly, massive thanks for developing this - one of the best plugins I've seen in a while, and if I can get it to work over internet on my iPhone it will be *the* best!

I'm also using PlugPlayer - works a treat over LAN, but not so much over WAN. Get this error:

Code: [Select]
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/DeviceDescription.xml from a WAN client
foo_upnp: FbMediaServer::ProcessHttpRequest: WAN Authorization failed


I'm guessing PlugPlayer doesn't allow encoding auth details in the URL... Can I echo wtstommy's request for another way of authenticating another way for WAN requests? Would a unique hash in the URL or something similar work?
Title: foo_upnp
Post by: tomhosking on 2009-05-12 18:30:25
Having said that, Firefox doesn't like it either:

Going to http://user:pass@xxx.xxx.xxx.xxx:56923/DeviceDescription.xml (http://user:pass@xxx.xxx.xxx.xxx:56923/DeviceDescription.xml) brings up blank XML, and produces the same authentication message in foobar. This works fine when the IP address is 127.0.0.1, not when it's my WAN address. The request is getting through, so it's nothing to do with forwarding. So perhaps the problem is with the plugin after all?
Title: foo_upnp
Post by: bubbleguuum on 2009-05-12 18:41:30
I'm also using PlugPlayer - works a treat over LAN, but not so much over WAN. Get this error:

Code: [Select]
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/DeviceDescription.xml from a WAN client
foo_upnp: FbMediaServer::ProcessHttpRequest: WAN Authorization failed


I'm guessing PlugPlayer doesn't allow encoding auth details in the URL... Can I echo wtstommy's request for another way of authenticating another way for WAN requests? Would a unique hash in the URL or something similar work?


There's 2 solutions:

- make a request to the PlugPlayer author to encode the login:password part of the URL as an Authorization HTTP header. This is pretty much trivial to do
- I change the plugin to handle URLs of the style http://hostname:port/login_password (http://hostname:port/login_password). That will work if PlugPlayer do not assume the URL must end at port (ie discard the path part of the URL). I'll probably implement this as this is also trivial to do.
Title: foo_upnp
Post by: bubbleguuum on 2009-05-12 18:54:15
Having said that, Firefox doesn't like it either:

Going to http://user:pass@xxx.xxx.xxx.xxx:56923/DeviceDescription.xml (http://user:pass@xxx.xxx.xxx.xxx:56923/DeviceDescription.xml) brings up blank XML, and produces the same authentication message in foobar. This works fine when the IP address is 127.0.0.1, not when it's my WAN address. The request is getting through, so it's nothing to do with forwarding. So perhaps the problem is with the plugin after all?



This is possible. Going to look into it
Title: foo_upnp
Post by: bubbleguuum on 2009-05-13 14:40:47
0.99.2 (first post to download)

- fix: crashes sometimes on remote UPnP devices disappearance when an action was pending

- chg: browser: displayed date from browse info is not appended "-01-01" anymore

- chg: controller: removed "Use Controller Playlist" checkbox. Now the Controller playlist is always active (ie the playback buttons always operate on this playlist). The other mode was not very spec compliant and not very useful.

- chg: controller: can now drag&drop items from the Album List or from Windows Explorer to the Controller playlist.

- chg: controller: The Controller playlist can now be removed at any time, it will be recreated if necessary.

- chg: controller/renderer:Various changes to make the controller and renderer more standard compliant. Should play nice with WMP12 (Windows 7) which can now send items to the foobar2000 Media Renderer for playing and control remote playback (via the "Send To" context menu in WMP). It is also possible to control WMP12 Media Renderer from the UPnP Controller. See this link (http://blogs.msdn.com/e7/archive/2009/05/12/media-streaming-with-windows-7.aspx) for a good overview of WMP12 regarding media servers, renderers, controllers (most of it is also a good introduction to the functionality of this plugin). Potentially also works with Vista WMP11 (untested).

- new: Partial support to connect to the Internet Server on the iPhone/iPod touch using PlugPlayer. Still experimental and not very tested.
The manual URL must be entered in PlugPlayer with the following format: http://public_hostname:port/loginpassword (http://public_hostname:port/loginpassword). Login and Password must be concatenated without space. Don't use an important login/password.
Issues: this manual WAN server will be replaced by the LAN one when detected on the LAN. Also the WAN server can remain disconnected when relaunching PlugPlayer. This will get sorted when I get an iPoud Touch.
Title: foo_upnp
Post by: bubbleguuum on 2009-05-14 22:26:39
0.99.3

- controller: crash if adding any item to any playlist if the Controller Playlist is not created
- renderer: return correct track length instead of 0 in certain cases (needed by PlugPlayer otherwise it won't switch to next track)
- server: option to apply foobar2000  ReplayGain settings to streamed audio. When ReplayGain is applied, all files that are not transcoded to mp3 are streamed as PCM (either WAV or LPCM).
- server/renderer: generate a unique persistent server uuid per PC.  Needed not to confuse some control points like PlugPlayer (multiple dead server entries accumulating).


It is advised you upgrade to this version as the crash fixed is quite severe.
Title: foo_upnp
Post by: Stu L Tissimus on 2009-05-14 22:38:22
Thanks for keeping up with this project, I really appreciate it! Just updated to the latest version

Quick question for you. When I try to load a particularly large playlist (5353 items, to be exact), my network usage goes way up as expected, and then the client crashes (I can give you the failure .txt if you wish).
Is this just a matter of asking too much from the plugin?
Title: foo_upnp
Post by: bubbleguuum on 2009-05-14 22:48:33
Thanks for keeping up with this project, I really appreciate it! Just updated to the latest version

Quick question for you. When I try to load a particularly large playlist (5353 items, to be exact), my network usage goes way up as expected, and then the client crashes (I can give you the failure .txt if you wish).
Is this just a matter of asking too much from the plugin?


If you can reproduce it, submit the crash in foobar when asked, it'll help finding the cause.
You can also PM me the crash log you got.
Title: foo_upnp
Post by: Stu L Tissimus on 2009-05-15 00:48:21
I did you one better, although I'm not positive if the PM went through (it's not showing up in sent items >_>)
Title: foo_upnp
Post by: saivert on 2009-05-16 00:47:06
Thanks for the updated version. Now works perfectly fine on Windows 7.

(http://i29.photobucket.com/albums/c276/saivert/tiny_foo_upnp_and_windows7_wmp12_pl.png) (http://i29.photobucket.com/albums/c276/saivert/foo_upnp_and_windows7_wmp12_playto_.jpg)


(http://i29.photobucket.com/albums/c276/saivert/tiny_foo_upnp_controller_win7_wmp12.png) (http://i29.photobucket.com/albums/c276/saivert/foo_upnp_controller_win7_wmp12.jpg)

Oh yeah baby!
Title: foo_upnp
Post by: TehNomad on 2009-05-16 03:12:37
Can anyone suggest a way to stream music from a home computer with blocked ports and no access to the router?  I have some web hosting with SSH access and a computer at work if that helps.
Title: foo_upnp
Post by: odyssey on 2009-05-16 11:09:20
Can anyone suggest a way to stream music from a home computer with blocked ports and no access to the router?  I have some web hosting with SSH access and a computer at work if that helps.

Try Hamachi (https://secure.logmein.com/products/hamachi/list.asp). It creates a virtual private network (not really VPN, but pretty much the same concept) that you can access from the machines that has it installed and registered in the group you create. It works by bootstrapping two clients so you don't need to have global IP access. Check it out, it's really cool

Edit: Note that it might confuse with other VPN clients, so if you have such thing installed on your work machine it might work unexpectedly. I had huge problems with my VPN client - Worked fine at start, but after a reboot nothing worked.
Title: foo_upnp
Post by: tst on 2009-05-17 20:44:36
bubbleguuum, thank you very much for the media renderer implementation. I can't believe you implemented it that fast - just came here to check for updates. It works flawlessly - great to have - thanks for the work you put into this!
Title: foo_upnp
Post by: digby101 on 2009-05-17 21:11:14
Thank you for the plugin...works without a lot of fuss, and I like that!

Question -- has anybody had any success streaming XM radio's feed through this plugin to a PS3?

I'm using the now-defunct uXM server and trying all sorts of permutations of addresses to get the PS3 to stream XM...

Thank you!
Title: foo_upnp
Post by: bubbleguuum on 2009-05-17 22:45:21
New version out! Still a beta so if there are crashes, please submit them!

0.99.4

- fix: crash on startup when running under Wine
- add: server: option in Server/Advanced Settings to split nodes containing a huge (configurable) number of items (albums or artists for example) by A-Z sub nodes. Should be useful to browse 10K albums on a PS3.
- add: server: PlugPlayer (iPhone/iPod Touch) preset
- chg: server: "By genre" subtree now uses %<genre>% instead of %genre% to dispatch genres (Hi TehLink!).
- chg: server: deny file requests on files that are neither in the Media Library or in a playlist. Previously any file could be accessed (only from the LAN) (Hi saivert!)
- chg: do not parse embedded UPnP devices. Seems to be cause a few crashes.
- chg: merge with the latest UPnP SDK


@digby101: not familiar with XM radio but I suppose you're using foo_xm. It's possible foo_upnp do not relay audio from items managed by this plugin, I'll look into it.


EDIT: fixed a last minute bug in the Renderer so redownload if necessary.
Title: foo_upnp
Post by: icwong on 2009-05-19 06:46:38
Thanks for the great plugin!  I have one problem in that it does not always seem to retrieve the Artist tag.  Album, track number, and song title are all ok, but the Artist only seems to appear once in a while.  (I haven't been able to find a pattern for what makes foo_upnp unable to retrieve Artist information.)

I am streaming the music from a QNAP 209 NAS device running Twonky 4.4.9.  I've tried running XBMC on my computer to play music and it does pick up the artist information where foo_upnp is not able to.
Title: foo_upnp
Post by: tst on 2009-05-19 10:23:22
I was using the plugin for the past couple day. Works really well, I love it already.

One suggestion though:

I find it a little odd to have two buttons of each control element (play, pause, skip).

My Idea is to reduce the "controller" panel so it only contains a few elements like PL and the combobox.
In the combobox there is a new entry "local foobar" (or whatever).
Using the combobox you can select, what the actual foobar control buttons do (controller or local).

What do you think? I think it would slim down the foobar gui a little.

Title: foo_upnp
Post by: Morphit on 2009-05-19 12:54:42
Thanks for this plugin, exactly what I was looking for and brand new 

My Idea is to reduce the "controller" panel so it only contains a few elements like PL and the combobox.
In the combobox there is a new entry "local foobar" (or whatever).
Using the combobox you can select, what the actual foobar control buttons do (controller or local).

What do you think? I think it would slim down the foobar gui a little.


I agree, the playback buttons in foobar control the local player, would it be possible to make a new buttonbar/seekbar/volume control that would control the remote media renderer?
Also, the controller generates its own playlist called "UPnP Controller Playback Queue", can I view that playlist on the instance that is acting as the media renderer? And would I be able to edit it locally aswell?

Again, great plugin. I'm hoping to make a proper media server, pull down files into foobar onto my desktop, and have my laptop able to control playback.
Title: foo_upnp
Post by: wtstommy on 2009-05-19 20:12:41
Glad to see Preliminary PlugPlayer support. Gonna test this out tonight. Will post on my blog if it works well. Looking forward to it, so thanks for your excellent work!
Title: foo_upnp
Post by: Wadsbrau on 2009-05-20 07:50:51
Thank you for the Plug-in!  working very well so far    .  The renderer I started 6 months ago has hit a snag that I can't seem to get help with.  I started the project to build a high-end renderer for PC and to try to get back into programming.  My project is 95% finished.  But I might not finish it due to getting no help (which is what I thought a forum was for...but?) and the fact that your plugin is AWESOME! so far.

Thank you again.  I've been in to UPnP for over a year using various hardware devices.  None of which seem to work  very well.  Except for the one I helped set up at the Audio store.  the Linn Akurate.  I prefer the PC methods. I am a Computer tech by trade so... 

Also, is it possible to set up Foobar as a server to list (through UPnP controller) the library by folder?  All of my music is sorted Artist/album/songs

Thank you

Darren
Title: foo_upnp
Post by: bubbleguuum on 2009-05-20 22:57:13
I agree, the playback buttons in foobar control the local player, would it be possible to make a new buttonbar/seekbar/volume control that would control the remote media renderer?


It is not possible, and even if it was, it would be confusing. Not even the WMP12 Controller does that: it has its own window with duplicated playback buttons / seek bar / etc.

Quote
Also, the controller generates its own playlist called "UPnP Controller Playback Queue", can I view that playlist on the instance that is acting as the media renderer? And would I be able to edit it locally aswell?


It is not possible as UPnP AV does not specify anything about playlist management. There's no way to have a remote (on the renderer) an local (ie Controller) playlist stay in sync for example. The most you can
do is tell the renderer "play this URL" or "play this group of URLs (stored in a .m3u)". AFAIK Linn has done some extensions to support playlist management but it is not standard.
Title: foo_upnp
Post by: bubbleguuum on 2009-05-20 23:08:20
Also, is it possible to set up Foobar as a server to list (through UPnP controller) the library by folder?  All of my music is sorted Artist/album/songs
Darren


Maybe. This is somewhat in the todo list but not a high priority
Title: foo_upnp
Post by: bubbleguuum on 2009-05-20 23:10:05
I am streaming the music from a QNAP 209 NAS device running Twonky 4.4.9.  I've tried running XBMC on my computer to play music and it does pick up the artist information where foo_upnp is not able to.


The only explanation I have is that your device would return an empty Album Artist which could interfere with the regular Artist tag.  We'll know for sure in the next version.

EDIT: you can try to set a column to $meta(artist,0) and see if it always display the artist.
Title: foo_upnp
Post by: wtstommy on 2009-05-21 01:32:51
Alrighty. I can confirm that all this works remotely with an iPhone via PlugPlayer. There is currently a bug in PlugPlayer that prevents it from remembering your customized settings once it shuts down, but the developer has promised that this is fixed in an upcoming release.

I updated my guide on my blog to account for the new features. Check it out. http://nerdlets.org/2009/05/07/set-up-a-up...ith-foobar2000/ (http://nerdlets.org/2009/05/07/set-up-a-upnp-media-server-with-foobar2000/)
Title: foo_upnp
Post by: icwong on 2009-05-21 05:24:59
EDIT: you can try to set a column to $meta(artist,0) and see if it always display the artist.


Thanks for the suggestion.  I tried it and it is returning "Unknown".  I still can't find a pattern as to when it gets the artist tag successfully and when it does not.  Is there any other test I can do to help?
Title: foo_upnp
Post by: Kohlrabi on 2009-05-22 12:54:49
I'm using foobar2000 0.9.6.7 and foo_upnp 0.99.4 and I get an error message when trying to connect to any remote server: "Could not connect to remote foobar2000 server.". Still the plugin connects to the server and I can browse and playback the content.
Title: foo_upnp
Post by: bubbleguuum on 2009-05-24 21:26:07
Small bugfix release

0.99.5

- fix (regression): controller: crash under CUI if removing UPnP Controller panel and adding it back later if a Renderer had been previously listed
- fix (regression): browser: wrongly displayed error message on successful connection to remote foobar2000 server
- fix: browser: attempt to fix a mysterious rare crash when browsing
Title: foo_upnp
Post by: Kohlrabi on 2009-05-27 09:23:28
thanks for the fix
Title: foo_upnp
Post by: MilkyJoe on 2009-05-28 10:02:56
Hi - firstly would like to say thanks for this plugin, it works excellently.

Is it possible to be able to sidestep the issue of sorting artists beginning with the word "the" under the letter "t"?
So instead of being displayed as "The Clash" and being filed under T, the artist would appear "Clash, The" and appear under C. The option to sort in this way could be added as a simple tick box.

I and many others would LOVE it if this were implemented, as it is a major shortcoming of many a media server. Many thanks for your continued deveopment of this excellent program.

Title: foo_upnp
Post by: MilkyJoe on 2009-05-28 21:33:27
...Also, getting some stuttering (dropping out of audio for a split-second). This happens despite the fact that neither my network or CPU are anywhere near max capacity. Streaming to PS3 with all reccomended presets.
Title: foo_upnp
Post by: thaihugo on 2009-06-01 10:07:08
Hi,

First thanks for thisgreat plugin. I've been trying many setups for my purpose, but this one is the most promising.

I have the following setup:

NAS as media server (linkstation live)
Foobar on PC as controller
Ipod touch with Upnp AV MediaRenderer by adoubleu.de as renderer, plugged to my stereo.

This setup work perfectly, but only for one song. It stops after each music. This is the case with all other media controller I tried: cidero and kinsky. 4u2stream,Cidero starts the next track but stop it after 10 seconds.
However, playback is fine if I select the new track to play in the Upnp Playback controller queue, or if I click next or previous track then play.

I suppose the normal behaviour is to play each track in this queue. The problem is probably comming form the renderer, but the developer seems inactive since last november.
Is it possible to solve this issue using foobar capabilities or macro? Or is it possible for you to make an option for sending next track not the actual way, but by selecting the next track, then force the action of clicking on play?

Thanks
Title: foo_upnp
Post by: bubbleguuum on 2009-06-08 21:00:55
0.99.6

- fix: controller: context menu action "Play on <renderer name>" would only play the first selected track.
- fix: controller: was not automatically starting the Media Server if not started, when playing a local track to a Renderer
- fix: CUI panels: window was not destroyed when panel removed, giving graphical bugs if panel was in a container such as Playlist Tabs or Tab Stack
- fix: CUI panels: crash when destroying panel in some cases
- fix: (regression) server: was not closing http connection on end of transcoded tracks. Controller did not detect end of such tracks because of this, and was not advancing in playlist
- add: server: new option Server/Advanced Settings/Swap "The" and "A" prefix, in artist names. ie if enabled, "The Beatles" => "Beatles, The"



@thaihugo: I couldn't make this renderer play anything, have to investigate.
Title: foo_upnp
Post by: dr_rick on 2009-06-08 21:21:47
bubbleguum,

I haven't tried this plugin recently due to the issues that I'd been having with the PS3, but for whatever reason I decided to give it a shot today. I'm using the newest (9.6.8) release of Foobar and the most recent release (.99.6) of the plugin. I am using the Playstation 3 preset on the plugin. My PS3 seems to connect to the server just fine, but when I go to playlists and select one of my playlists (all of which appear as they should), the PS3 spends a long time working, then says that there are no titles. The same thing happens when I go to albums on the PS3. Before, I could at least view the music and attempt to play it, but with some skipping when streaming PCM. Transcoding to MP3 yielded an unsupported format error on the PS3. I know that last I'd seen, you didn't have a PS3 to troubleshoot on, but just wondered if you had an idea of what was going on.

Thanks!
Rick
Title: foo_upnp
Post by: bubbleguuum on 2009-06-08 21:35:50
bubbleguum,

I haven't tried this plugin recently due to the issues that I'd been having with the PS3, but for whatever reason I decided to give it a shot today. I'm using the newest (9.6.8) release of Foobar and the most recent release (.99.6) of the plugin. I am using the Playstation 3 preset on the plugin. My PS3 seems to connect to the server just fine, but when I go to playlists and select one of my playlists (all of which appear as they should), the PS3 spends a long time working, then says that there are no titles. The same thing happens when I go to albums on the PS3. Before, I could at least view the music and attempt to play it, but with some skipping when streaming PCM. Transcoding to MP3 yielded an unsupported format error on the PS3. I know that last I'd seen, you didn't have a PS3 to troubleshoot on, but just wondered if you had an idea of what was going on.

Thanks!
Rick



It is likely I introduced some regressions at 0.99.4 (or maybe earlier) concerning the PS3. The fact that I don't have a PS3 to test doesn't help...

Try 0.99.3 here and tell me if it works better: http://bubbleguuum.free.fr/foo_upnp/0.99.3/foo_upnp.dll (http://bubbleguuum.free.fr/foo_upnp/0.99.3/foo_upnp.dll)
Title: foo_upnp
Post by: dr_rick on 2009-06-08 21:57:23
That brought back my music, although my other problems obviously haven't been resolved. I still have some skipping over PCM (which could be due to using wireless on the server...though I'm not completely sure), and when I try to transcode to MP3, I get an HTTP error (416). Thanks for your continued work on this component though!
Title: foo_upnp
Post by: bubbleguuum on 2009-06-08 22:06:36
That brought back my music, although my other problems obviously haven't been resolved. I still have some skipping over PCM (which could be due to using wireless on the server...though I'm not completely sure), and when I try to transcode to MP3, I get an HTTP error (416). Thanks for your continued work on this component though!


Alright things broke at 0.99.4 as I suspected. MP3 transcoding is missing something to work on the PS3 with this plugin.
Never tried streaming over wifi so I'm not surprised there could be issues, as the PS3 is a very capricious device.
Title: foo_upnp
Post by: FIST on 2009-06-12 12:15:13
Hi,

thanks for this great plugin!
It works great and it is exactly what I was looking for.

There's only one thing I'm stuck with at the moment: I'm testing the transcode settings, but i'm not sure if I get it right.

Is it possible to transcode every file to, let's say 128 kbps, no matter if the source file is 32 kbps, 320 kbps, mp3 or wav?
I'm testing with a 320kbps file and set the server to Always Transcode and 32kbps (because with 32 I definitely will hear if it works). Also I'm checking the bandwith the stream needs, and it's always about 100 kb/s. With a source file of 128 kbps i need about 10 - 20 kb/s of bandwith. So I guess I'm doing or I'm understanding sth wrong.

Pls help
Thx in advance

FIST

/e: Do I have to install any LAME packages? I installed the upnp-foobar-server on a quite clean machine without any codecs and stuff - just the default foobar installation.
Title: foo_upnp
Post by: thaihugo on 2009-06-12 14:53:35
@thaihugo: I couldn't make this renderer play anything, have to investigate.


I tried different renderer, including a Philips upnp hadware renderer. They all work with different level of functionality, but they all ahve this in common: when something goes wrong, the track information is not updated anymore. The renderer will finish the song, but the player will not forward the next track to it.

Could you imagine timing the song by yourself and, as an option, forcefully send the next song to the renderer when the time is up (if we suppose we don't pause the renderer by any other mean than foobar). This behaviour would stop when we exit foobar, or when we click on stop (even if the stop order never make it to the renderer by itself)

As for making the renderer on ipod to work, it was working fine for me for one song, mostly when I disabled firewall.
Title: foo_upnp
Post by: bubbleguuum on 2009-06-13 00:56:10
@thaihugo: I couldn't make this renderer play anything, have to investigate.


I tried different renderer, including a Philips upnp hadware renderer. They all work with different level of functionality, but they all ahve this in common: when something goes wrong, the track information is not updated anymore. The renderer will finish the song, but the player will not forward the next track to it.

Could you imagine timing the song by yourself and, as an option, forcefully send the next song to the renderer when the time is up (if we suppose we don't pause the renderer by any other mean than foobar). This behaviour would stop when we exit foobar, or when we click on stop (even if the stop order never make it to the renderer by itself)

As for making the renderer on ipod to work, it was working fine for me for one song, mostly when I disabled firewall.



I made a new build to address those issues. I hope there won't be any silly regression on other stuff :/
Note that the iPod renderer doesn't support seek and sometimes return invalid data for track position / track length.
Let me now if your Philips unit now advance in playlist with this version


0.99.7

- fix (regression): controller: crash when hitting some playback buttons if no renderer selected
- fix: server: some http requests where not returning the correct byte-range which made the iPhone/iPod http streamer confused
- chg: controller: now more resistant to buggy track info/metadata sent by renderers. Shouldn't stop updating if data is bad
- chg: controller: changed the way end of track is detected to advance in playlist so it works with the iPhone Media Renderer, Philips renderers and possibly more units. A consequence of that change
is that hitting stop directly on the remote renderer (if available) will make the controller play next track.
Title: foo_upnp
Post by: bubbleguuum on 2009-06-13 01:01:33
Hi,

thanks for this great plugin!
It works great and it is exactly what I was looking for.

There's only one thing I'm stuck with at the moment: I'm testing the transcode settings, but i'm not sure if I get it right.

Is it possible to transcode every file to, let's say 128 kbps, no matter if the source file is 32 kbps, 320 kbps, mp3 or wav?
I'm testing with a 320kbps file and set the server to Always Transcode and 32kbps (because with 32 I definitely will hear if it works). Also I'm checking the bandwith the stream needs, and it's always about 100 kb/s. With a source file of 128 kbps i need about 10 - 20 kb/s of bandwith. So I guess I'm doing or I'm understanding sth wrong.


transcoding any file at 32Kbps works, you can verify the bitrate (which is between 32-40Kbps) using foobar2000 to stream from the server.
Title: foo_upnp
Post by: thaihugo on 2009-06-13 09:42:16
I made a new build to address those issues. I hope there won't be any silly regression on other stuff :/
Note that the iPod renderer doesn't support seek and sometimes return invalid data for track position / track length.
Let me now if your Philips unit now advance in playlist with this version


0.99.7

- fix (regression): controller: crash when hitting some playback buttons if no renderer selected
- fix: server: some http requests where not returning the correct byte-range which made the iPhone/iPod http streamer confused
- chg: controller: now more resistant to buggy track info/metadata sent by renderers. Shouldn't stop updating if data is bad
- chg: controller: changed the way end of track is detected to advance in playlist so it works with the iPhone Media Renderer, Philips renderers and possibly more units. A consequence of that change
is that hitting stop directly on the remote renderer (if available) will make the controller play next track.


On the first tests, this version is excellent. It seems to loose most of the time the tracking info, but can hang on sometimes on a timing, and finaly switch to next song even if no track info comes back.
I don't advice philips hardware because they lose upnp completly until reset if something goes wrong, but it works at least much longer than before. Iphone support seems excellent on my first tests.

Thanks a lot for this update!
Title: foo_upnp
Post by: bubbleguuum on 2009-06-13 11:21:52
Thanks for testing. Note that transcoded files do not play on the iPhone renderer yet (you'll get an error). This renderer could see some improvements though, to fix the track info issues and a few other ones.

Moderation: Removed useless full quote of the preceding post.
Title: foo_upnp
Post by: MilkyJoe on 2009-06-16 18:48:17
That brought back my music, although my other problems obviously haven't been resolved. I still have some skipping over PCM (which could be due to using wireless on the server...though I'm not completely sure), and when I try to transcode to MP3, I get an HTTP error (416). Thanks for your continued work on this component though!


Thanks for the new version - however I'm still getting split second pauses every minute or so with this on the PS3. There are no such pauses with 'PS3 Media Server', and I notice a few posts up someone else reported this issue (above quote). Would you like me to test via ethernet and see if this still occurs?

Tested with 2 routers over Wifi, happens on both.

Core 2 Quad / 4gig RAM / Vista x64 / Wifi 100% signal to PS3
Title: foo_upnp
Post by: FIST on 2009-06-16 22:49:17
Hi,

via LAN and partly via Internet it's working fine, but from work I can not connect. Ports at work and at home are open (I can get the prompt via http://myserver.dyndns.com:port (http://myserver.dyndns.com:port) in a browser) but not with foobar itself.
With troubleshooting and capturing traffic I think I narrowed it down to having problems with a proxy server. Anybody using a proxy and have the chance to check it out if you have also problems?

Thanks.

/e: I try to be more specific:

The server part at home is available via LAN and via internet (tested with friends). Only from work I can not connect, where I am behind a proxy. The proxy itself does not seem to block the connection as a browser (firefox) can reach the server using dyndns and the specified port. I captured some traffic and noticed, that while beeing behind a proxy foobar does not send any packets out of the NIC (is this possible?). Could sbd. please test/verify that?
Title: foo_upnp
Post by: bubbleguuum on 2009-06-16 23:31:00
Only from work I can not connect, where I am behind a proxy.


Maybe at your work http traffic is authorized only on port 80. Try configuring the server using that port instead of the default one.
EDIT: the port is probably not the problem. The plugin indeed does not support http connections behind a proxy.


@MilkyJoe: would be great if you could try using the LAN to understand if the problem comes from the Wifi connection or not.
Title: foo_upnp
Post by: FIST on 2009-06-17 08:44:15
Only from work I can not connect, where I am behind a proxy.


Maybe at your work http traffic is authorized only on port 80. Try configuring the server using that port instead of the default one.
EDIT: the port is probably not the problem. The plugin indeed does not support http connections behind a proxy.


@MilkyJoe: would be great if you could try using the LAN to understand if the problem comes from the Wifi connection or not.

Hi, thanks for your quick answer. I also tried port 80 and port 3389, ports that are definitely not blocked, but no success.

So this is a problem with the plugin? Is this fixable, or is there a way to workaround this?

Thanks for your help.
Would be great to get this to work, I tried Winamp remote as an alternative - it works, but it really sucks...
Title: foo_upnp
Post by: bubbleguuum on 2009-06-17 21:25:16
So this is a problem with the plugin? Is this fixable, or is there a way to workaround this?


This is fixable if I implement support for it.  I add it to the todo list, but not sure if/when I'll implement it.
Otherwise there's no workaround except trying to convince you network admin you don't need a proxy, or to allow http traffic on a preset port unproxyfied (good luck  ).
Or connect through another network.

EDIT: if you can make a VPN to your home PC it would (probably) work also.
Title: foo_upnp
Post by: FIST on 2009-06-17 21:52:15
Ok, both of your workarounds are unfortunately not really doable in my company, its too big and too security driven... ;-)
I'll test the VPN thing, but my bandwith is just good enough for the stream, I'm not sure if it still works while tunneled.

Thanks for adding proxy support to the to do list, I would really appreciate if it gets implemented some day.

Moderation: Removed useless full quote of the preceding post.
Title: foo_upnp
Post by: tere on 2009-06-18 18:59:13
I cant get this work in net, working realy well in lan, dont know how to forward port in kerio winroute firewwall 
Title: foo_upnp
Post by: MilkyJoe on 2009-06-20 10:27:48
@MilkyJoe: would be great if you could try using the LAN to understand if the problem comes from the Wifi connection or not.


OK - I have tested with ethernet cable to the PS3 and it is fine, so must be a bandwidth issue (too many mbps...)

However, neither TVersity or PS3MS get these slight pauses every minute or two when streaming PCM using Wifi (same songs tested to be sure).

Wifi signal is also 100%, and I have also recently installed Windows 7 RC which hasn't made any difference. I have even tested with a different wireless router.

Is there some extra data overhead from something foo_upnp is doing? Or is the PCM stream at a higher bitrate?

Other than this it's perfect so would be great to get it sorted.
Title: foo_upnp
Post by: bubbleguuum on 2009-06-20 16:17:50
@MilkyJoe: would be great if you could try using the LAN to understand if the problem comes from the Wifi connection or not.


OK - I have tested with ethernet cable to the PS3 and it is fine, so must be a bandwidth issue (too many mbps...)

However, neither TVersity or PS3MS get these slight pauses every minute or two when streaming PCM using Wifi (same songs tested to be sure).

Wifi signal is also 100%, and I have also recently installed Windows 7 RC which hasn't made any difference. I have even tested with a different wireless router.

Is there some extra data overhead from something foo_upnp is doing? Or is the PCM stream at a higher bitrate?

Other than this it's perfect so would be great to get it sorted.



The PS3 preset of foo_upnp set the server to stream everything as LPCM, which requires more bandwidth but is more compatible. In the "Streamed audio" server
configuration, you can configure it to stream MP3, WMA, AAC as is (ie not decoded to PCM). For that just uncheck "Apply to all formats". I suppose this is what TVersity and others do, transcoding
to LPCM only when necessary, when the PS3 cannot decode the file directly.
Title: foo_upnp
Post by: bubbleguuum on 2009-06-20 16:20:15
I cant get this work in net, working realy well in lan, dont know how to forward port in kerio winroute firewwall 


If your PC is directly wired to the Internet, you just need to configure Kerio to authorize incoming traffic on the server's configured port.
Title: foo_upnp
Post by: MilkyJoe on 2009-06-20 18:35:54
The PS3 preset of foo_upnp set the server to stream everything as LPCM, which requires more bandwidth but is more compatible. In the "Streamed audio" server
configuration, you can configure it to stream MP3, WMA, AAC as is (ie not decoded to PCM). For that just uncheck "Apply to all formats". I suppose this is what TVersity and others do, transcoding
to LPCM only when necessary, when the PS3 cannot decode the file directly.


Agreed - but when I stream PCM with other media servers it doesn't keep stopping, and this is the issue.

I have songs in FLAC, which is what I've been testing it with. PS3 doesn't play FLAC. "PS3 Media Server" manages to convert this to PCM and stream it. It doesn't convert it to a lossy format. PCM is able to be streamed without problems, apart form with this plugin, which is what I was pointing out.

I hope this is of help.
Title: foo_upnp
Post by: xapz on 2009-07-03 14:28:40
LPCM streaming to the PS3 via WLAN seems to work very well. Album Art streaming would be the icing on the cake. 

Thank you very much for this amazing component!
Title: foo_upnp
Post by: ewo on 2009-07-10 21:13:09
Thanks for this update, my PS3 plays wireless without interrupts now.
I am so happy to get rid of WMP and TVersity now.
Fantastic job!

Title: foo_upnp
Post by: AlfredSka on 2009-07-13 17:56:02
Component version 0.99.7

I can connect to and browse my internet server running foo_upnp just fine, but cannot play tracks. On the server side, no messages are processed in the console when the remote client tries to open a track for playback.  I am using port forwarding on a router.  Are additional ports, besides the one specified in properties, required to be forwarded?

Successful browsing:
(http://web.missouri.edu/~mdmnq5/comp/upnp_browse.png)

Error message:
Code: [Select]
Unable to open item for playback (Could not connect to host):
"upnp://aHR0cDovLzE5Mi4xNjguMS4xMDE6ODAvY29udGVudC83MTE4LzEud2F2P2NvbnZlcnQ9d2F2"


Server configuration:
Port: 56923 (forwarded through a router)

(http://web.missouri.edu/~mdmnq5/comp/server_config1.png)
Username and password blanked.

(http://web.missouri.edu/~mdmnq5/comp/server_config2.png)
Note that the problem persists regardless of the state of the replaygain checkbox.

Suggestions?
Title: foo_upnp
Post by: bubbleguuum on 2009-07-14 02:57:07
Error message:
Code: [Select]
Unable to open item for playback (Could not connect to host):
"upnp://aHR0cDovLzE5Mi4xNjguMS4xMDE6ODAvY29udGVudC83MTE4LzEud2F2P2NvbnZlcnQ9d2F2"


decoded this gives:
Code: [Select]
http://192.168.1.101:80/content/7118/1.wav?convert=wav


Which is a LAN ip you set as the Internet public address, hence the "could not connect to host" from foobar when trying to decode the track.
Put the public IP of your router instead or a host name if you have one.
If you have a dynamic public IP somes services offers to associate a hostname (dyndns and such).
Also it looks like you set 80 as the server's port.
You may not want to stream as PCM over the internet unless you have a connection with huge upload rate.
Title: foo_upnp
Post by: beto on 2009-07-16 00:16:45
I found something strange. I am able to browse and send items to playlist with foobar2000 in a remote machine, however information does not come complete unless I play the tracks remotely. See image below. First 8 tracks were played remotely and information is fine. The rest was not played and information is missing in the playlist.

(http://img27.imageshack.us/img27/8770/95979013.th.png) (http://img27.imageshack.us/i/95979013.png/)

using foobar2000 0.9.6.8 and foo_upnp 0.99.7

Any ideas on how to fix this? Thanks!!
Title: foo_upnp
Post by: bubbleguuum on 2009-07-16 09:41:28
Any ideas on how to fix this? Thanks!!


This is normal: some track info (such as bitrate) is not available at browse time, only when the track is played it is then retrieved by foobar's http decoder.
Title: foo_upnp
Post by: vassie on 2009-07-16 12:44:19
I am still trying to add this to my current setup, can anyone post any examples of their setup?
Thanks
Title: foo_upnp
Post by: beto on 2009-07-16 15:18:53
Ok. Thanks for the clarification bubbleguuum. Sorry for the false alarm. 
Title: foo_upnp
Post by: bubbleguuum on 2009-07-16 20:33:18
I am still trying to add this to my current setup, can anyone post any examples of their setup?
Thanks


What do you want to know specifically ?
Title: foo_upnp
Post by: vassie on 2009-07-17 08:50:13
I am still trying to add this to my current setup, can anyone post any examples of their setup?
Thanks


What do you want to know specifically ?


Just how people intergrate it into their default or columns UI

Ben
Title: foo_upnp
Post by: AlfredSka on 2009-07-17 17:17:43
decoded this gives:
Code: [Select]
http://192.168.1.101:80/content/7118/1.wav?convert=wav


Which is a LAN ip you set as the Internet public address, hence the "could not connect to host" from foobar when trying to decode the track.
Put the public IP of your router instead or a host name if you have one.
If you have a dynamic public IP somes services offers to associate a hostname (dyndns and such).
Also it looks like you set 80 as the server's port.
You may not want to stream as PCM over the internet unless you have a connection with huge upload rate.


Setting the IP to my WAN address resolved the issue.  Thank you.

A note about the streaming of PCM:
The option "Apply ReplayGain, using foobar2000 settings (force PCM if not transcoded to MP3)" was causing the decompressed streaming.  So am I to interpret this option as the server decodes the MP3 with ReplayGain settings, and it is only re-encoded to MP3 if transcoding is forced by the server?

What does the option "Client decode HTTP streams directly" do?

Thanks for the great plug-in.  It works well and is very simple to use.
Title: foo_upnp
Post by: AlfredSka on 2009-07-17 17:26:38

What do you want to know specifically ?

Just how people intergrate it into their default or columns UI


Here's a quick how-to for the default UI:
- Preferences: Display: Default User Interface ==> Enable layout editing mode
- Right click on the box in foobar2000 where you would like the UPNP Browser to appear (the album list is a great location), and select "Replace UI element" (don't worry, this will still keep what is there!)
- Select the container type: Tabs  (when you hit OK, you'll notice that the original content is still there, it just resides in a tab now)
- Right click on the tab and select "Add new Tab" (note that you can rename the tab by right clicking on it and selecting "Rename tab")
- Left click in the blank area under the new tab and you can select what content to put in there, choose: UPNP Browser
- Preferences: Display: Default User Interface ==> Uncheck Enable layout editing mode
Title: foo_upnp
Post by: bubbleguuum on 2009-07-17 18:44:48
A note about the streaming of PCM:
The option "Apply ReplayGain, using foobar2000 settings (force PCM if not transcoded to MP3)" was causing the decompressed streaming.  So am I to interpret this option as the server decodes the MP3 with ReplayGain settings, and it is only re-encoded to MP3 if transcoding is forced by the server?

It is more tricky than that and I realized this is badly formulated: ReplayGain is not applied on transcoded files even if "Apply ReplayGain" is checked. Files not transcoded are ReplayGained and streamed as PCM, using the settings defined. It would be much more useful the other way round as you describe.


Quote
What does the option "Client decode HTTP streams directly" do?


If this option is enabled and you upnp browse a playlist containing http items (for example a netradio stream), the http URL is passed "as is" to the client and the client directly decodes it. If it is not enabled, the UPnP server act as a proxy (do the decoding) and the client stream from the UPnP server like it does for normal (file) items. The second option can be the only way for the client to play the http stream if it can't decode it directly (for example it it can't handle the codec) or doesn't have network connectivity.
Title: foo_upnp
Post by: odyssey on 2009-07-18 01:20:54
I installed latest upnp on my "music server player" and my client in order to control my foobar from another PC. I didn't work

Actually the connection is fine, and I can see seekbar and music info of current playing song. I can pause and play, but I can't skip (it just stops music) or start playing again. Also I have some problems managing the playlists from the browser. Could it be bugs annoying because I also have a PCH present that seem to support these things?
Title: foo_upnp
Post by: bubbleguuum on 2009-07-18 10:38:04
I installed latest upnp on my "music server player" and my client in order to control my foobar from another PC. I didn't work

Actually the connection is fine, and I can see seekbar and music info of current playing song. I can pause and play, but I can't skip (it just stops music) or start playing again. Also I have some problems managing the playlists from the browser. Could it be bugs annoying because I also have a PCH present that seem to support these things?


I think you misundertood how the Controller works. The tracks to be played by the remote renderer is managed by a playlist called "UPnP Controller playback queue". Click on the PL button to show this playlist, it is initially empty. You add items to it using the context menu on some audio items (either local items or upnp items from a remote server)  and using "UpnP Conroller -> Enqueue on <renderer name>", you can also drag items to it. Double clicking an item in it will make the remote renderer play that track. the ">>" and "<<" controller buttons will just advance in that playlist. If it is empty it will probably just stop. "Play" just tell the remote renderer to play the selected track in this playlist.
Title: foo_upnp
Post by: gmB on 2009-07-18 13:26:40
Hi,
I've got a Nokia N78 with UPnP support. It works with other UPnP-Servers like "Simplecenter" and "Orb", but unfortunately the foobar upnp server doesnt show up in the phone.
Is foo_upnp only compatible with the things listed in the media server presets?
What must I do to get it working?

Any help is greatly appreciated!
Title: foo_upnp
Post by: bubbleguuum on 2009-07-18 13:39:41
Hi,
I've got a Nokia N78 with UPnP support. It works with other UPnP-Servers like "Simplecenter" and "Orb", but unfortunately the foobar upnp server doesnt show up in the phone.
Is foo_upnp only compatible with the things listed in the media server presets?


No it should work with other devices but unless you test it with a particular device you never know as most of them have small quirks difficult to trace unless you have the hardware to test.
Maybe the software on the Nokia is expecting the UPnP server to emulate WMP (I'll have a look at the cited servers to see i they do that).
In the mean time you can enable the plugin's debug log in the foobar console ("Advanced Settings / Enable debug message ...) and post the results.
You can also try to start the server after or before th phone UPnP software.
Title: foo_upnp
Post by: odyssey on 2009-07-18 13:40:33
I think you misundertood how the Controller works.

It's not easy to understand how it works when it doesn't work correctly

In the browser, when I rightclick "Playlists", I get the "Send to playlist", "Run service" etc. which is not logical on more than one playlist. I suspect that this menu should only appear when I rightclick a specific playlist, right? When I do that, nothing happens. I also tried changing default left-click action to "Send to UPnP Browser Selection Playlist", but nothing happens when I click no matter what setting I use.
Title: foo_upnp
Post by: bubbleguuum on 2009-07-18 13:51:27
I think you misundertood how the Controller works.

It's not easy to understand how it works when it doesn't work correctly

In the browser, when I rightclick "Playlists", I get the "Send to playlist", "Run service" etc. which is not logical on more than one playlist. I suspect that this menu should only appear when I rightclick a specific playlist, right? When I do that, nothing happens. I also tried changing default left-click action to "Send to UPnP Browser Selection Playlist", but nothing happens when I click no matter what setting I use.


Reread carefully what I wrote in the previous message. The  "UPnP Controller playback queue" and "UPnP Browser Selection Playlist" are not the same. The latter will just display what you select in the browser while the former is the actual playback queue of the selected renderer.
Title: foo_upnp
Post by: odyssey on 2009-07-18 13:56:39
I think I got it now. Sometimes the context menu is reeeaaally slow and on some playlists (e.g. empty ones) it doesn't show at all. I should clean up my many playlists

I take that back. I REALLY DO have problems showing the context menus sometimes. Just before it finally worked on all playlists, but now it only works on certain ones again.

When I get it to work, every track is lagging for about 15 secs - Almost as if it was streaming (I suspect my DSP to cause this, but wonders as I thought it was merely controlling the server?). I can't see the Playback Queue on the server and if I close the client the music stops after playing the track. Isn't it supposed to continue playing the playlist?
Title: foo_upnp
Post by: gmB on 2009-07-18 14:02:58
Hi,
I've got a Nokia N78 with UPnP support. It works with other UPnP-Servers like "Simplecenter" and "Orb", but unfortunately the foobar upnp server doesnt show up in the phone.
Is foo_upnp only compatible with the things listed in the media server presets?


No it should work with other devices but unless you test it with a particular device you never know as most of them have small quirks difficult to trace unless you have the hardware to test.
Maybe the software on the Nokia is expecting the UPnP server to emulate WMP (I'll have a look at the cited servers to see i they do that).
In the mean time you can enable the plugin's debug log in the foobar console ("Advanced Settings / Enable debug message ...) and post the results.
You can also try to start the server after or before th phone UPnP software.


I tried starting the server before and after. But nothing happens
I should add, that I can access the Nokia Phone via foobar, but it doesn't work the other way round. The phone can't find foobar.


These are the results from the debug log. I run a WinXP machine, btw. Don't know if it helps.

foo_upnp: browser_window::OnMSAdded: Added new server name=Orb: Thinkpad - gmB2k1, uuid=0a471960-0547-7cc9-7ad3-32231f59564a, url=http://192.168.0.2:9500/ to browser tree
foo_upnp: browser_window::OnMSAdded: Added new server name=Nokia N78, uuid=b7ea938a-4ca2-10e1-b88d-00210900A717, url=http://192.168.0.5:39647/MediaServer1/ to browser tree
Opening track for playback: "upnp://aHR0cDovLzE5Mi4xNjguMC41OjM5NjQ3LzAwMDAwMDE1NzkzMzQ5MjA0Mi8xNjUxLm1wMw=="
Opening track for playback: "upnp://aHR0cDovLzE5Mi4xNjguMC41OjM5NjQ3LzAwMDAwMDE1NzkzMzQ5MjA0Mi8xNjUxLm1wMw=="
foo_upnp: NPT_HttpClient::SendRequestOnce: NPT_CHECK failed, result=-20302 [NPT_ERROR_EOS]
foo_upnp: NPT_HttpClient::SendRequestOnce: NPT_CHECK failed, result=-20302 [NPT_ERROR_EOS]

Thanks for your answer!
Title: foo_upnp
Post by: vassie on 2009-07-19 09:39:28
I have changed my columns UI to show the album artist, instead of artist ie..

Code: [Select]
$if2(%band%,<no artist>)[ / %album%]


However, when playing an album from my server, it does not show the album artist untill the track is playing

(http://img23.imageshack.us/img23/4998/newbitmapimagedud.png)

Is there anyway I can fix this?
Title: foo_upnp
Post by: bubbleguuum on 2009-07-19 10:16:06
I think I got it now. Sometimes the context menu is reeeaaally slow and on some playlists (e.g. empty ones) it doesn't show at all. I should clean up my many playlists

I take that back. I REALLY DO have problems showing the context menus sometimes. Just before it finally worked on all playlists, but now it only works on certain ones again.

When I get it to work, every track is lagging for about 15 secs - Almost as if it was streaming (I suspect my DSP to cause this, but wonders as I thought it was merely controlling the server?). I can't see the Playback Queue on the server and if I close the client the music stops after playing the track. Isn't it supposed to continue playing the playlist?


An UPnp Renderer is always streaming from somewhere, that's part of how it works. There was a great article  about the upcoming WMP12 in Win7 that explain all this but I can't find the link ATM.
The renderer's playback queue is entirely managed client side, so yes when the client exit the renderer will stop playing at the end of the current track.
Title: foo_upnp
Post by: bubbleguuum on 2009-07-20 00:36:40
New version with (beta) Xbox360 support! Please test and report if there are problems. There's a preset for the 360. As the 360 doesn't handle PCM streaming (what where they thinking @ Microsoft), everything the 360 can't play (codecs other than wma, mp3, mp4) is *always* transcoded to mp3.

Also someone reports if album art is now displayed on the PS3. It should be displayed for files that would display it in foobar's album art viewer.

0.99.8
- new: support for the Xbox360
- new: attempt at album art streaming support for PS3 (untested).
- fix: use uuid with chars in lower case else the XBOX360 and possibly other hardware won't connect
- fix: obscure crash when receiving SUBSCRIBE requests
Title: foo_upnp
Post by: A_Man_Eating_Duck on 2009-07-20 06:36:03
I have just given v0.99.8 a go with our PS3 and i keep getting an 80710091 error when it tries to play the next track.

Code: [Select]
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/ContentDirectory/428ff545-776c-4399-a03e-001d7d050edc/control.xml from a LAN client
foo_upnp: FbMediaServer::OnAction: received action 'GetSystemUpdateID', args = {  }
foo_upnp: FbMediaServer::OnAction: action 'GetSystemUpdateID' response: args = { Id=0 }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/content/file://D:\Lossless Music\Muse\2003 - Absolution\01. Intro.flac.lpcm from a LAN client
foo_upnp: FbMediaWavInputStream::queue_fill: >>>>>>>>>>>>>>>>>>>>>>>>>>file://D:\Lossless Music\Muse\2003 - Absolution\01. Intro.flac: realloc #0 (old=2097152, new=2113536)<<<<<<<<<<<<<<<<<<<<<<<<
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/ContentDirectory/428ff545-776c-4399-a03e-001d7d050edc/control.xml from a LAN client
foo_upnp: FbMediaServer::OnAction: received action 'GetSystemUpdateID', args = {  }
foo_upnp: FbMediaServer::OnAction: action 'GetSystemUpdateID' response: args = { Id=0 }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/ContentDirectory/428ff545-776c-4399-a03e-001d7d050edc/control.xml from a LAN client
foo_upnp: FbMediaServer::OnAction: received action 'Browse', args = { ObjectID=0/1/0/0/15, BrowseFlag=BrowseMetadata, Filter=@id,upnp:class,res,res@protocolInfo,res@av:authenticationUri,res@size,dc:title,upnp:albumArtU
RI,res@dlna:ifoFileURI,res@protection,res@bitrate,res@duration,res@sampleFrequency,res@bitsPerSample
,
res@nrAudioChannels,res@resolution,res@colorDepth,dc:date,av:dateTime,upnp:artist,upnp:album,upnp:ge
n
re,dc:contributer,upnp:storageFree,upnp:storageUsed,upnp:originalTrackNumber,dc:publisher,dc:languag
e
,dc:region,dc:description,upnp:toc,@childCount,upnp:albumArtURI@dlna:profileID, StartingIndex=0, RequestedCount=1, SortCriteria= }
foo_upnp: FbMediaServer::OnAction: action 'Browse' response: args = { ObjectID=0/1/0/0/15, BrowseFlag=BrowseMetadata, Filter=@id,upnp:class,res,res@protocolInfo,res@av:authenticationUri,res@size,dc:title,upnp:albumArtU
RI,res@dlna:ifoFileURI,res@protection,res@bitrate,res@duration,res@sampleFrequency,res@bitsPerSample
,
res@nrAudioChannels,res@resolution,res@colorDepth,dc:date,av:dateTime,upnp:artist,upnp:album,upnp:ge
n
re,dc:contributer,upnp:storageFree,upnp:storageUsed,upnp:originalTrackNumber,dc:publisher,dc:languag
e
,dc:region,dc:description,upnp:toc,@childCount,upnp:albumArtURI@dlna:profileID, StartingIndex=0, RequestedCount=1, SortCriteria=, NumberReturned=1, TotalMatches=1, UpdateID=0 }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/ContentDirectory/428ff545-776c-4399-a03e-001d7d050edc/control.xml from a LAN client
foo_upnp: FbMediaServer::OnAction: received action 'GetSystemUpdateID', args = {  }
foo_upnp: FbMediaServer::OnAction: action 'GetSystemUpdateID' response: args = { Id=0 }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/ContentDirectory/428ff545-776c-4399-a03e-001d7d050edc/control.xml from a LAN client
foo_upnp: FbMediaServer::OnAction: received action 'Browse', args = { ObjectID=0/1/0/0/15, BrowseFlag=BrowseMetadata, Filter=@id,upnp:class,res,res@protocolInfo,res@av:authenticationUri,res@size,dc:title,upnp:albumArtU
RI,res@dlna:ifoFileURI,res@protection,res@bitrate,res@duration,res@sampleFrequency,res@bitsPerSample
,
res@nrAudioChannels,res@resolution,res@colorDepth,dc:date,av:dateTime,upnp:artist,upnp:album,upnp:ge
n
re,dc:contributer,upnp:storageFree,upnp:storageUsed,upnp:originalTrackNumber,dc:publisher,dc:languag
e
,dc:region,dc:description,upnp:toc,@childCount,upnp:albumArtURI@dlna:profileID, StartingIndex=0, RequestedCount=1, SortCriteria= }
foo_upnp: FbMediaServer::OnAction: action 'Browse' response: args = { ObjectID=0/1/0/0/15, BrowseFlag=BrowseMetadata, Filter=@id,upnp:class,res,res@protocolInfo,res@av:authenticationUri,res@size,dc:title,upnp:albumArtU
RI,res@dlna:ifoFileURI,res@protection,res@bitrate,res@duration,res@sampleFrequency,res@bitsPerSample
,
res@nrAudioChannels,res@resolution,res@colorDepth,dc:date,av:dateTime,upnp:artist,upnp:album,upnp:ge
n
re,dc:contributer,upnp:storageFree,upnp:storageUsed,upnp:originalTrackNumber,dc:publisher,dc:languag
e
,dc:region,dc:description,upnp:toc,@childCount,upnp:albumArtURI@dlna:profileID, StartingIndex=0, RequestedCount=1, SortCriteria=, NumberReturned=1, TotalMatches=1, UpdateID=0 }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/content/file://D:\Lossless Music\Muse\2003 - Absolution\01. Intro.flac.lpcm from a LAN client
foo_upnp: FbMediaWavInputStream::queue_fill: >>>>>>>>>>>>>>>>>>>>>>>>>>file://D:\Lossless Music\Muse\2003 - Absolution\01. Intro.flac: realloc #0 (old=2097152, new=2113536)<<<<<<<<<<<<<<<<<<<<<<<<
here is the bizarre thing after waiting 20+ seconds it sometimes does start playing the next track otherwise i get a 80710723 error on the PS3 over and over again. Another thing i noticed is that the total track length displayed on the PS3 is blank (not sure if it's related though).
Title: foo_upnp
Post by: eradumvelhinho on 2009-07-20 09:35:11
Many Many thanks for the Xbox360 support, bubbleguuum. I already tried it (with .mp3, .flac, .ape and .wv) and everything worked flawless. I'm impressed with the speed of decoding. Good job
Title: foo_upnp
Post by: gmB on 2009-07-20 17:31:12
The Problem with Nokias still exists in the new version.
Not that it's mentioned in the changelog, just to let you know.
Great job, anyway!
Title: foo_upnp
Post by: MilkyJoe on 2009-07-20 18:47:18
New version breaks PS3 compatibility.

All it says when trying to play any track is "An HTTP error (418) occurred."

Track will not start playing. Happens with album art swicthed on or off. Old version was fine (apart from the stopping every now and then which I have mentioned).
Title: foo_upnp
Post by: bubbleguuum on 2009-07-20 19:16:02
New version breaks PS3 compatibility.

All it says when trying to play any track is "An HTTP error (418) occurred."

Track will not start playing. Happens with album art swicthed on or off. Old version was fine (apart from the stopping every now and then which I have mentioned).


Are you using a switch ? wifi ? can you try again wiring directly the PS3 to your PC via ethernet ?

for the funny side, http code 418 = "I'm a teapot" and the plugin never answer that code so...
Title: foo_upnp
Post by: bubbleguuum on 2009-07-20 19:19:13
The Problem with Nokias still exists in the new version.
Not that it's mentioned in the changelog, just to let you know.
Great job, anyway!


difficult to track down without the hardware to test. Probably the phone do not receive the SSDP (auto-discovery) packets but why ?
Title: foo_upnp
Post by: laowai on 2009-07-20 22:46:04
Sorry if someone already reported this!

I use Archos 705 as a client and it works ok with FUPPES server, but with foo_upnp some songs are not played and I see the following in the console:

Code: [Select]
22:31:10] foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/content/file://G:\audio\lossy\Antony and the Johnsons\Antony and the Johnsons - 1998 - Antony and the Johnsons\05 - River of Sorrow.m from a LAN client


  It looks like the request does have its filename cut, therefore it is not streamed. The file extension is acually ".mp3", not ".m". Maybe the filename field is not long enough?


 Thanks a lot for your work.
Title: foo_upnp
Post by: bubbleguuum on 2009-07-20 22:57:31
It looks like the request does have its filename cut, therefore it is not streamed. The file extension is acually ".mp3", not ".m". Maybe the filename field is not long enough?


Maybe the URL generated by the server are too long for the Archos. Try disabling "Generate Persistent URLs" in the server configuration, it generates URLs shorter and simplier.
Title: foo_upnp
Post by: laowai on 2009-07-21 00:29:46
It looks like the request does have its filename cut, therefore it is not streamed. The file extension is acually ".mp3", not ".m". Maybe the filename field is not long enough?


Maybe the URL generated by the server are too long for the Archos. Try disabling "Generate Persistent URLs" in the server configuration, it generates URLs shorter and simplier.


Thanks a lot, bubbleguuum! It all works ok now.
It probably was a limitation on the Archos filename/url length.
Title: foo_upnp
Post by: deoch on 2009-07-21 05:54:40
I also have the 80710091 error on the ps3 (I have had this with all versions of foo_upnp I have tried)..  It will occasionally happen while a song is playing, then resume the song after a period of time.  It also often happens when it is switching to another song.  A long (30 second?) delay will typically occur before the next song plays.  The results are the same whether I am transcoding to PCM, or streaming straight MP3s.

Interestingly enough, I tried the xbox 360 support you added to this version and I have not observed the issue so far.  It seems to play songs without pauses, and be able to successfully change tracks on its own.

I have both the ps3 and the xbox 360 connected to the same wireless bridge.  I have also attempted to use the ps3's built in wireless and it had the same problem.

Still, thank you very much bubbleguuum for the plugin.  It seems it will be fantastic once I get it working
Title: foo_upnp
Post by: gmB on 2009-07-21 19:17:53
The Problem with Nokias still exists in the new version.
Not that it's mentioned in the changelog, just to let you know.
Great job, anyway!


difficult to track down without the hardware to test. Probably the phone do not receive the SSDP (auto-discovery) packets but why ?


I'm such a jerk.
My personal firewall accidently blocked it.

It works like a charm now.
I'm really sorry for the efforts you put into solving my problem.

Thank you a thousand times for giving such a marvelous piece of software to the community for free.

Title: foo_upnp
Post by: partisan on 2009-07-25 20:35:21
hi,

I use a Siemens Gigaset M740AV which basically is a DVB-T Tuner but also has a built in (basic) UPnP-client. It works ok with the Twonky-Server and TVersity (with some tweaks). I would love to use it with foo_upnp but I only get the root directories (Media Library, Playlists), when I click on them nothing happens... and I see no error messages on the console (example clicking on Playlists):

Code: [Select]
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/ContentDirectory/428ff545-776c-4399-a03e-0001805d52df/control.xml from a LAN client
foo_upnp: FbMediaServer::OnAction: received action 'Browse', args = { ObjectID=0, BrowseFlag=BrowseDirectChildren, Filter=*, StartingIndex=0, RequestedCount=20, SortCriteria= }
foo_upnp: FbMediaServer::OnAction: action 'Browse' response: args = { ObjectID=0, BrowseFlag=BrowseDirectChildren, Filter=*, StartingIndex=0, RequestedCount=20, SortCriteria=, NumberReturned=2, TotalMatches=2, UpdateID=0 }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/ContentDirectory/428ff545-776c-4399-a03e-0001805d52df/control.xml from a LAN client
foo_upnp: FbMediaServer::OnAction: received action 'Browse', args = { ObjectID=0, BrowseFlag=BrowseDirectChildren, Filter=*, StartingIndex=0, RequestedCount=20, SortCriteria= }
foo_upnp: FbMediaServer::OnAction: action 'Browse' response: args = { ObjectID=0, BrowseFlag=BrowseDirectChildren, Filter=*, StartingIndex=0, RequestedCount=20, SortCriteria=, NumberReturned=2, TotalMatches=2, UpdateID=0 }

I did try several settings (DLNA, persistent URLs off...), but no luck. Any idea what might be wrong?

---
Device-id: Upnp-Gigaset-M740AV-1_0-0001E3FB4091
User Agent: Linux/2.4.21-xfs, UPnP/1.0, Intel SDK for UPnP devices /1.2


Title: foo_upnp
Post by: NullString on 2009-07-25 22:17:01
xbox360 streaming works great man! GJ
Title: foo_upnp
Post by: Cadish on 2009-07-26 13:59:07
Hi guys,

I'm quite a noob on this subject, so please help me out here... I haven't read the whole topic, so if it's already been answered, I'm sorry.

I want to play music which is stored on my Popcorn Hour, to my stereo receiver. Because I don't want to turn on the TV to control what is playing, I want to use my PC. In Windows Media Player, there is an option "Play to" which works, but the UI is not very good.
So, I searched for alternatives for the "Play to" functionality and found this. It works for me, but some things are not working ("Unknown artist - Unknown Track" all the time, you cannot see which song is playing, etc.)

(http://img197.imageshack.us/img197/7254/upnpproblem.th.png) (http://img197.imageshack.us/i/upnpproblem.png/)

Can anyone help me to get this fully functional?

Thanks a lot!
Cadish
Title: foo_upnp
Post by: bubbleguuum on 2009-07-27 00:41:30
xbox360 streaming works great man! GJ


Finally, something that works  !

So, I searched for alternatives for the "Play to" functionality and found this. It works for me, but some things are not working ("Unknown artist - Unknown Track" all the time, you cannot see which song is playing, etc.)


What is displayed as the track and artist if you use another control point ? (WMP, cidero,...). I see that it displays "Unknown Track Title" as the title and I ever set it as "Unknown Track" in the plugin when I do not have the info, which let me think this string is returned by the PCH. Maybe it has a problem parsing metadata ?
Otherwise the playing track is the selected track in the "UPnP Controller Playback Queue" playlist that you can display hitting the "PL" button.
Title: foo_upnp
Post by: npc_ on 2009-07-27 01:54:12
Hi, don't know if this has been mentioned yet but viewing artists on the xbox 360 list artists in caps before lower case ones e.g. AAA, AAC, aab, aac
Title: foo_upnp
Post by: jrnxg2 on 2009-08-02 18:16:54
Streaming to 360; no songs will play with this error:

foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/content/1?convert=mp3 from a LAN client
foo_upnp: FbMediaWavInputStream::init: cannot create resampler 44100=>44100 for location file://[blah]

All of my files are MP3s and no matter which options I change I can't seem to get it to stop trying to resample. All of the interface stuff works snappy and great, though, so I really hope I can get this running.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-02 18:32:10
Streaming to 360; no songs will play with this error:

foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/content/1?convert=mp3 from a LAN client
foo_upnp: FbMediaWavInputStream::init: cannot create resampler 44100=>44100 for location file://[blah]

All of my files are MP3s and no matter which options I change I can't seem to get it to stop trying to resample. All of the interface stuff works snappy and great, though, so I really hope I can get this running.



That's curious, I never saw that problem, even if it is not super useful, creating a resampler from 44100=>44100 shouldn't fail.
I'll avoid resampling from x=>x in the next version .
Which version of fb2k are you using and do you have this error all the time ?

btw there's a bug in 0.99.8 and xbox streaming: it will transcode to mp3 all files inconditionally, no matter the settings. Fixed in the soon to be released 0.99.9


EDIT: maybe this bug is due to an alternate resampler plugin you're using (the SoX resampler?) that would not support x=>x.  If that's the case try disabling it.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-05 00:21:07
version 0.99.9  <= scary number ! Quite a lot of changes in this one, so it is highly beta. 0.99.8 is still available (see first post).
Please report regressions and problems if you find any.

The media tree is now configurable with an XML file located in c:\Documents And Settings\<user dir>\Application Data\foobar2000\foo_upnp_ml_tree.xml. There's a button called  "Customize Media Tree" hat will launch notepad on this file  in the Server Advanced Settings conf page. If you save the modified file before quitting this page it will detect the changes and restart the server. If you edit the file externally the server must be manually restarted. The file will be automatically created when you first hit the "Customize Media Tree" button, with the default tree. The format of the XML should be mostly self explanatory but I'll document it later. If the format of the file is not valid the default tree will be loaded, and the reason it failed loading will be displayed in the console. Note that the file is loaded on first browse by a client, not on a server restart.


- 0.99.9

- chg: integrated newer version of the UPnP framework (Platinum 0.5.1.0)
- new: now the fb2k icon appear in other upnp software when they list the server and the renderer
- fix: controller (regression): was displaying time with milliseconds
- chg: controller: small changes to better support the Renderer of upcoming PlugPlayer 2.3.1 on the iPod touch/iPhone.
- new: server: now possible to customize the media library tree through an xml description file.
- chg: server/renderer: compute uuid differently
- fix: server: stupid crash introduced in 0.99.8 if DLNA enabled in some cases, when computing album art mime type
- fix: server: WAV streaming: ChunkSize in WAV header was off (didn't see any issue because of that but still a bug)
- fix: server: LPCM/WAV streaming: first audio chunk of files without technical info "samplerate" was not streamed
- chg: server: removed "Generate persistent URLs" option. Now stream URLs are always persistent (and shorter) and composed of a hash, instead of including the filename in the item path.
- fix: server: on XBOX360, do not always transcode to mp3
- fix: server: XBOX360 artist names now honors the "Swap The and A prefix" setting.
- fix: server: fix buffering issue on the PS3 causing network errors or skips (thanks Spoon)
- fix: server: fix rare resampler instanciation failure when resample rate = source rate
- fix: server (regression): WMP12 and possibly 11 could not browse anymore
Title: foo_upnp
Post by: beto on 2009-08-05 02:52:08
My foobar crashes if I upgrade to 0.99.9. I had to revert to 0.99.8. See error report below:

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 03A393FCh
Access violation, operation: read, address: 00000000h

Call path not available.

Code bytes (03A393FCh):
03A393BCh:  6A 00 8D 4C 24 2C E8 89 BA 00 00 8B 44 24 58 8B
03A393CCh:  4C 24 54 8B 11 8B 52 08 50 8D 44 24 30 50 FF D2
03A393DCh:  8B 44 24 30 8B 50 20 8D 4C 24 30 FF D2 8B D8 8B
03A393ECh:  44 24 30 8B 50 18 8D 4C 24 30 FF D2 8B 74 24 50
03A393FCh:  8B 16 53 50 8B 42 08 8B CE FF D0 8B D8 85 DB 0F
03A3940Ch:  84 C3 00 00 00 8B 0D 1C 50 AC 03 51 E8 33 68 00
03A3941Ch:  00 83 C4 04 85 C0 A3 18 50 AC 03 74 41 81 78 08
03A3942Ch:  F4 01 00 00 7F 38 68 40 00 A9 03 53 E8 C3 7F 00

Stack (0C3AFAA8h):
0C3AFA88h:  00000000 00000000 00000000 00000000
0C3AFA98h:  00000000 00000000 00000000 00000000
0C3AFAA8h:  00000000 00000000 00000000 076B27F0
0C3AFAB8h:  08CF5E08 03AE1800 08CF5F10 00000000
0C3AFAC8h:  00000000 00000000 03A8FD04 03A8FCD8
0C3AFAD8h:  03A90FA8 076AA301 0389E1F8 0000008A
0C3AFAE8h:  00000053 00000000 00000053 03A3B469
0C3AFAF8h:  00000000 076B27F0 076B2700 0C3AFBA0
0C3AFB08h:  07AB2404 0C3AFC10 076B27F0 00000000
0C3AFB18h:  00000000 00000000 00000000 00000000
0C3AFB28h:  75DA0000 03A3B5AD 076B2700 0C3AFBA0
0C3AFB38h:  0C3AFC10 07AB2430 07AB23E0 07AB243C
0C3AFB48h:  00000014 07AB2404 0000044C 00000000
0C3AFB58h:  03A3CEE6 00000000 07AB2430 07AB23E0
0C3AFB68h:  03A35FFB 03AE1800 03A9FE78 00000000
0C3AFB78h:  03A6474D 076B27F0 0C3AFBA0 CFD04464
0C3AFB88h:  07AB23F8 07AB23E0 00000000 00000000
0C3AFB98h:  00000000 076B27F0 00000000 00000000
0C3AFBA8h:  00000102 08CD06E0 4A78E51F 255F42C0
0C3AFBB8h:  0C3AFC80 75DAFD89 07AB2430 FFFFFFFE

Registers:
EAX: 0389E1F8, EBX: 00000053, ECX: 0C3AFAD8, EDX: 039FE37F
ESI: 00000000, EDI: 00000000, EBP: 00000000, ESP: 0C3AFAA8

Crash location:
Module: foo_upnp
Offset: 493FCh
Symbol: "foobar2000_get_interface" (+265ECh)

Loaded modules:
foobar2000                      loaded at 00DC0000h - 00F59000h
ntdll                            loaded at 77390000h - 774B7000h
kernel32                        loaded at 75D70000h - 75E4C000h
COMCTL32                        loaded at 74B60000h - 74CFE000h
msvcrt                          loaded at 772E0000h - 7738A000h
ADVAPI32                        loaded at 76B10000h - 76BD6000h
RPCRT4                          loaded at 75EE0000h - 75FA3000h
GDI32                            loaded at 75FB0000h - 75FFB000h
USER32                          loaded at 76D50000h - 76DED000h
SHLWAPI                          loaded at 76C60000h - 76CB9000h
DSOUND                          loaded at 6B450000h - 6B4C0000h
ole32                            loaded at 75C20000h - 75D65000h
WINMM                            loaded at 74A20000h - 74A52000h
OLEAUT32                        loaded at 75E50000h - 75EDD000h
OLEACC                          loaded at 749E0000h - 74A19000h
POWRPROF                        loaded at 74D60000h - 74D7A000h
SHELL32                          loaded at 76000000h - 76B10000h
shared                          loaded at 10000000h - 1002B000h
imagehlp                        loaded at 774F0000h - 77519000h
UxTheme                          loaded at 73A10000h - 73A4F000h
dbghelp                          loaded at 748D0000h - 749AC000h
COMDLG32                        loaded at 76EE0000h - 76F53000h
IMM32                            loaded at 75A40000h - 75A5E000h
MSCTF                            loaded at 77520000h - 775E8000h
LPK                              loaded at 774E0000h - 774E9000h
USP10                            loaded at 76BE0000h - 76C5D000h
guard32                          loaded at 00180000h - 001AC000h
VERSION                          loaded at 758C0000h - 758C8000h
fltlib                          loaded at 758B0000h - 758B7000h
DpoFeedb                        loaded at 02050000h - 020C1000h
USERENV                          loaded at 758F0000h - 7590E000h
Secur32                          loaded at 758D0000h - 758E4000h
CLBCatQ                          loaded at 76CC0000h - 76D44000h
MMDevApi                        loaded at 74440000h - 74468000h
SETUPAPI                        loaded at 75A60000h - 75BEA000h
WINTRUST                        loaded at 749B0000h - 749DD000h
CRYPT32                          loaded at 75370000h - 75462000h
MSASN1                          loaded at 754D0000h - 754E2000h
foo_audioscrobbler              loaded at 00D50000h - 00D81000h
foo_quicktag                    loaded at 01EA0000h - 01ED4000h
foo_dop                          loaded at 032C0000h - 0339E000h
gdiplus                          loaded at 730E0000h - 7328B000h
WS2_32                          loaded at 75BF0000h - 75C1D000h
NSI                              loaded at 774D0000h - 774D6000h
QUARTZ                          loaded at 65F00000h - 66073000h
DXVA2                            loaded at 6B090000h - 6B0A3000h
foo_abx                          loaded at 03200000h - 03232000h
foo_albumlist                    loaded at 03240000h - 0329B000h
foo_sendtodevice                loaded at 033C0000h - 033FE000h
foo_masstag                      loaded at 03490000h - 034E4000h
foo_ac3                          loaded at 03400000h - 0342F000h
foo_unpack                      loaded at 034F0000h - 0351E000h
foo_cdda                        loaded at 03790000h - 037D1000h
foo_dsp_std                      loaded at 03830000h - 03879000h
foo_upnp                        loaded at 039F0000h - 03B3F000h
iphlpapi                        loaded at 752C0000h - 752D9000h
dhcpcsvc                        loaded at 75280000h - 752B5000h
DNSAPI                          loaded at 75510000h - 7553C000h
WINNSI                          loaded at 75270000h - 75277000h
dhcpcsvc6                        loaded at 75240000h - 75262000h
foo_playcount                    loaded at 03520000h - 03550000h
foo_fileops                      loaded at 03B40000h - 03B86000h
foo_dbsearch                    loaded at 03BB0000h - 03C29000h
foo_facets                      loaded at 03CA0000h - 03D21000h
MSIMG32                          loaded at 722E0000h - 722E5000h
foo_ui_std                      loaded at 04270000h - 0437E000h
foo_utils                        loaded at 03C30000h - 03C6D000h
foo_dsp_crossfeed                loaded at 03E70000h - 03E98000h
foo_converter                    loaded at 03EA0000h - 03F0D000h
foo_sic                          loaded at 040A0000h - 04103000h
foo_rgscan                      loaded at 04580000h - 045CE000h
foo_verifier                    loaded at 04110000h - 04144000h
foo_freedb2                      loaded at 045E0000h - 04621000h
foo_bitcompare                  loaded at 04630000h - 04658000h
foo_burninate                    loaded at 04770000h - 047B0000h
foo_dsp_bs2b                    loaded at 047B0000h - 047D7000h
foo_out_ks                      loaded at 04810000h - 0483E000h
foo_benchmark                    loaded at 04850000h - 0487C000h
foo_input_monkey                loaded at 04880000h - 048CF000h
foo_input_std                    loaded at 04C40000h - 04D80000h
foo_out_wasapi                  loaded at 049F0000h - 04A16000h
foo_discogs                      loaded at 04AA0000h - 04B37000h
btmmhook                        loaded at 04B50000h - 04B85000h
mswsock                          loaded at 750B0000h - 750EB000h
wshtcpip                        loaded at 74D50000h - 74D55000h
wship6                          loaded at 750A0000h - 750A5000h
NLAapi                          loaded at 743D0000h - 743DF000h
napinsp                          loaded at 71F70000h - 71F7F000h
pnrpnsp                          loaded at 71F50000h - 71F62000h
mdnsNSP                          loaded at 16080000h - 160A5000h
wshbth                          loaded at 71BD0000h - 71BDC000h
winrnr                          loaded at 71B40000h - 71B48000h
WLDAP32                          loaded at 77150000h - 77199000h
PSAPI                            loaded at 75A30000h - 75A37000h
rasadhlp                        loaded at 71B30000h - 71B36000h

Stack dump analysis:
Address: 03AE1800h (foo_upnp+F1800h), symbol: "foobar2000_get_interface" (+CE9F0h)
Address: 03A8FD04h (foo_upnp+9FD04h), symbol: "foobar2000_get_interface" (+7CEF4h)
Address: 03A8FCD8h (foo_upnp+9FCD8h), symbol: "foobar2000_get_interface" (+7CEC8h)
Address: 03A90FA8h (foo_upnp+A0FA8h), symbol: "foobar2000_get_interface" (+7E198h)
Address: 03A3B469h (foo_upnp+4B469h), symbol: "foobar2000_get_interface" (+28659h)
Address: 75DA0000h (kernel32+30000h), symbol: "UpdateProcThreadAttribute" (+1DCAh)
Address: 03A3B5ADh (foo_upnp+4B5ADh), symbol: "foobar2000_get_interface" (+2879Dh)
Address: 03A3CEE6h (foo_upnp+4CEE6h), symbol: "foobar2000_get_interface" (+2A0D6h)
Address: 03A35FFBh (foo_upnp+45FFBh), symbol: "foobar2000_get_interface" (+231EBh)
Address: 03AE1800h (foo_upnp+F1800h), symbol: "foobar2000_get_interface" (+CE9F0h)
Address: 03A9FE78h (foo_upnp+AFE78h), symbol: "foobar2000_get_interface" (+8D068h)
Address: 03A6474Dh (foo_upnp+7474Dh), symbol: "foobar2000_get_interface" (+5193Dh)
Address: 75DAFD89h (kernel32+3FD89h), symbol: "SetFilePointer" (+16Ch)
Address: 75DB98B4h (kernel32+498B4h), symbol: "WaitForSingleObjectEx" (+B4h)
Address: 75DB97F2h (kernel32+497F2h), symbol: "WaitForSingleObject" (+12h)
Address: 03A3CEE6h (foo_upnp+4CEE6h), symbol: "foobar2000_get_interface" (+2A0D6h)
Address: 03A89C3Bh (foo_upnp+99C3Bh), symbol: "foobar2000_get_interface" (+76E2Bh)
Address: 03A48D79h (foo_upnp+58D79h), symbol: "foobar2000_get_interface" (+35F69h)
Address: 03A719C8h (foo_upnp+819C8h), symbol: "foobar2000_get_interface" (+5EBB8h)
Address: 03A3CFF2h (foo_upnp+4CFF2h), symbol: "foobar2000_get_interface" (+2A1E2h)
Address: 03A6C866h (foo_upnp+7C866h), symbol: "foobar2000_get_interface" (+59A56h)
Address: 03A6FFF0h (foo_upnp+7FFF0h), symbol: "foobar2000_get_interface" (+5D1E0h)
Address: 03A6C90Bh (foo_upnp+7C90Bh), symbol: "foobar2000_get_interface" (+59AFBh)
Address: 75DBD0E9h (kernel32+4D0E9h), symbol: "BaseThreadInitThunk" (+12h)
Address: 773D19BBh (ntdll+419BBh), symbol: "RtlInitializeExceptionChain" (+63h)
Address: 773999FAh (ntdll+99FAh), symbol: "WinSqmStartSession" (+27Bh)
Address: 773D198Eh (ntdll+4198Eh), symbol: "RtlInitializeExceptionChain" (+36h)
Address: 03A6C88Ch (foo_upnp+7C88Ch), symbol: "foobar2000_get_interface" (+59A7Ch)
Address: 03A6C88Ch (foo_upnp+7C88Ch), symbol: "foobar2000_get_interface" (+59A7Ch)

Environment:
App: foobar2000 v0.9.6.8
OS: Windows 6.0.6002 Service Pack 2 x86
CPU: Intel® Core™2 Duo CPU    T5450  @ 1.66GHz, features: MMX SSE SSE2 SSE3
Audio: Speakers (Realtek High Definition Audio); Realtek Digital Output (Realtek High Definition Audio)
UI: Default User Interface 0.9.5

Components:
Core (2009-06-07 09:28:34)
    foobar2000 core 0.9.6.8
foo_abx.dll (2009-06-07 09:25:26)
    ABX Comparator 1.3.4
foo_ac3.dll (2007-02-06 14:44:48)
    AC3 decoder 0.9
foo_albumlist.dll (2009-06-07 09:26:58)
    Album List 4.3.1
foo_audioscrobbler.dll (2009-05-07 21:05:30)
    Audioscrobbler 1.4.1
foo_benchmark.dll (2006-08-04 16:56:00)
    Decoding Speed Test 1.0
foo_bitcompare.dll (2008-12-05 22:13:47)
    Binary Comparator 1.2
foo_burninate.dll (2009-06-24 20:14:28)
    Audio CD Writer 3.0.1
foo_cdda.dll (2009-06-07 09:26:40)
    CD Audio Decoder 2.1.4
foo_converter.dll (2009-06-07 09:26:38)
    Converter 1.2.1
foo_dbsearch.dll (2007-01-25 16:58:00)
    Database Search 1.4
foo_discogs.dll (2008-12-05 22:08:13)
    Discogs Tagger 1.15
foo_dop.dll (2009-04-11 08:34:45)
    iPod manager 0.6.4.2
foo_dsp_bs2b.dll (2009-06-08 12:30:06)
    bs2b 3.1.0
foo_dsp_crossfeed.dll (2008-12-05 23:23:46)
    Crossfeed 1.01
foo_dsp_std.dll (2009-06-07 09:26:54)
    Standard DSP Array 1.0
foo_facets.dll (2008-02-28 06:03:34)
    Facets 2008-02-25
foo_fileops.dll (2009-06-07 09:25:30)
    File Operations 2.1.2
foo_freedb2.dll (2009-06-07 09:25:50)
    freedb Tagger 0.6.1
foo_input_monkey.dll (2007-04-13 13:39:00)
    Monkey's Audio decoder 2.1.2
foo_input_std.dll (2009-06-07 09:26:30)
    Standard Input Array 1.0
foo_masstag.dll (2009-06-30 10:37:28)
    Masstagger 1.8.3
foo_out_ks.dll (2006-08-04 16:54:00)
    Kernel Streaming Output 1.2.2
foo_out_wasapi.dll (2009-05-19 22:45:18)
    WASAPI output support 2.1
foo_playcount.dll (2009-04-29 20:09:32)
    Playback Statistics 2.1.9
foo_quicktag.dll (2008-05-01 19:39:02)
    Quick Tagger 1.0.1
foo_rgscan.dll (2009-06-07 09:26:22)
    ReplayGain Scanner 2.0.8
foo_sendtodevice.dll (2006-12-20 11:40:00)
    Send to Device 1.1.0 (beta) [Dec 20 2006 - 16:40:06]
foo_sic.dll (2007-01-08 05:52:00)
    foosic music database 1.0 beta 12
foo_ui_std.dll (2009-06-07 09:27:04)
    Default User Interface 0.9.5
foo_unpack.dll (2009-06-07 09:25:18)
    RAR reader 1.2
    ZIP/GZIP reader 1.0
foo_upnp.dll (2009-08-04 22:49:11)
    An UPnP/DLNA Media Renderer, Media Server and Control Point 0.99.9
foo_utils.dll (2007-01-22 08:05:00)
    Playlist Tools 0.5.9
foo_verifier.dll (2006-08-29 17:09:00)
    File Integrity Verifier 1.0.1

Recent events:
Watching: C:\Users\beto\Music\Lossy
Facet initialized in : 0:00.037
Facet initialized in : 0:00.145
Facet initialized in : 0:00.038
Facet initialized in : 0:00.056
Startup time : 0:01.938439
Audioscrobbler: Handshake failed: Bad user/password. Please correct the user/password information you have provided.
Audioscrobbler: Handshake failed.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-05 19:03:24
My foobar crashes if I upgrade to 0.99.9. I had to revert to 0.99.8. See error report below:


If you can reproduce the crash it would help that you enable console debug trace in the server's configuration and resubmit the crash :/
Title: foo_upnp
Post by: beto on 2009-08-05 19:50:26
That will be kind of hard since foobar crashes on startup and I cannot access the foobar GUI if version 0.99.9 is in the components directory. Is there any other way?


edit: removed useless quote.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-05 19:58:28
That will be kind of hard since foobar crashes on startup and I cannot access the foobar GUI if version 0.99.9 is in the components directory. Is there any other way?


You can try to enable the debug traces in 0.99.8, then launch 0.99.9

edit: with submit the crash I meant answering yes when foobar propose to submit it.

edit2: do you happen to have funky upnp devices on your network ? (a wifi router, a wifi printer ? some other devices ?)
Title: foo_upnp
Post by: beto on 2009-08-05 20:13:18
You can try to enable the debug traces in 0.99.8, then launch 0.99.9

edit: with submit the crash I meant answering yes when foobar propose to submit it.

ok. I will try that this evening (GMT-3) and report back. Do you want me to also post the crash report here or just submitting via foobar would suffice?

edit2: do you happen to have funky upnp devices on your network ? (a wifi router, a wifi printer ? some other devices ?)


I have some:
Linksys WRT54G router running dd-wrt (uPnP is disabled in this device)
Linksys NAS200 (uPnP is enabled)
Windows Vista Home Premium
Windows XP Media Center Edition
Playstation 3
Title: foo_upnp
Post by: bubbleguuum on 2009-08-05 20:20:49
edit: with submit the crash I meant answering yes when foobar propose to submit it.
ok. I will try that this evening (GMT-3) and report back. Do you want me to also post the crash report here or just submitting via foobar would suffice?

just submit it via the program
Quote
Linksys NAS200 (uPnP is enabled)

This one could cause trouble. Linksys router contains embedded UPnP devices and these can cause problems (I disabled emebedded devices in 0.99.8, but not 0.99.9).
It would be interesting to disable UPnP on it to see it it solves the crash. Still submit the crash so I can have a chance to fix stuff .
Also, Linksys routers are annoying because when you disable UPnP on them, they still advertise themselves on the network, but will deny all http requests. That's a bit silly.
Title: foo_upnp
Post by: beto on 2009-08-05 21:05:07
This one could cause trouble. Linksys router contains embedded UPnP devices and these can cause problems (I disabled emebedded devices in 0.99.8, but not 0.99.9).
It would be interesting to disable UPnP on it to see it it solves the crash. Still submit the crash so I can have a chance to fix stuff .
Also, Linksys routers are annoying because when you disable UPnP on them, they still advertise themselves on the network, but will deny all http requests. That's a bit silly.


I'll try it. This is not a router though. It is a NAS that has a twonky server for sharing media through uPnP.
Title: foo_upnp
Post by: beto on 2009-08-06 02:09:29
Just sent the crash report via foobar. I hope that helps tracing the problem. Regards.
Title: foo_upnp
Post by: A_Man_Eating_Duck on 2009-08-06 09:20:13
I have just given v0.99.8 a go with our PS3 and i keep getting an 80710091 error when it tries to play the next track.

Code: [Select]
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/ContentDirectory/428ff545-776c-4399-a03e-001d7d050edc/control.xml from a LAN client
foo_upnp: FbMediaServer::OnAction: received action 'GetSystemUpdateID', args = {  }
foo_upnp: FbMediaServer::OnAction: action 'GetSystemUpdateID' response: args = { Id=0 }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/content/file://D:\Lossless Music\Muse\2003 - Absolution\01. Intro.flac.lpcm from a LAN client
foo_upnp: FbMediaWavInputStream::queue_fill: >>>>>>>>>>>>>>>>>>>>>>>>>>file://D:\Lossless Music\Muse\2003 - Absolution\01. Intro.flac: realloc #0 (old=2097152, new=2113536)<<<<<<<<<<<<<<<<<<<<<<<<
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/ContentDirectory/428ff545-776c-4399-a03e-001d7d050edc/control.xml from a LAN client
foo_upnp: FbMediaServer::OnAction: received action 'GetSystemUpdateID', args = {  }
foo_upnp: FbMediaServer::OnAction: action 'GetSystemUpdateID' response: args = { Id=0 }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/ContentDirectory/428ff545-776c-4399-a03e-001d7d050edc/control.xml from a LAN client
foo_upnp: FbMediaServer::OnAction: received action 'Browse', args = { ObjectID=0/1/0/0/15, BrowseFlag=BrowseMetadata, Filter=@id,upnp:class,res,res@protocolInfo,res@av:authenticationUri,res@size,dc:title,upnp:albumArtU
RI,res@dlna:ifoFileURI,res@protection,res@bitrate,res@duration,res@sampleFrequency,res@bitsPerSample
,
res@nrAudioChannels,res@resolution,res@colorDepth,dc:date,av:dateTime,upnp:artist,upnp:album,upnp:ge
n
re,dc:contributer,upnp:storageFree,upnp:storageUsed,upnp:originalTrackNumber,dc:publisher,dc:languag
e
,dc:region,dc:description,upnp:toc,@childCount,upnp:albumArtURI@dlna:profileID, StartingIndex=0, RequestedCount=1, SortCriteria= }
foo_upnp: FbMediaServer::OnAction: action 'Browse' response: args = { ObjectID=0/1/0/0/15, BrowseFlag=BrowseMetadata, Filter=@id,upnp:class,res,res@protocolInfo,res@av:authenticationUri,res@size,dc:title,upnp:albumArtU
RI,res@dlna:ifoFileURI,res@protection,res@bitrate,res@duration,res@sampleFrequency,res@bitsPerSample
,
res@nrAudioChannels,res@resolution,res@colorDepth,dc:date,av:dateTime,upnp:artist,upnp:album,upnp:ge
n
re,dc:contributer,upnp:storageFree,upnp:storageUsed,upnp:originalTrackNumber,dc:publisher,dc:languag
e
,dc:region,dc:description,upnp:toc,@childCount,upnp:albumArtURI@dlna:profileID, StartingIndex=0, RequestedCount=1, SortCriteria=, NumberReturned=1, TotalMatches=1, UpdateID=0 }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/ContentDirectory/428ff545-776c-4399-a03e-001d7d050edc/control.xml from a LAN client
foo_upnp: FbMediaServer::OnAction: received action 'GetSystemUpdateID', args = {  }
foo_upnp: FbMediaServer::OnAction: action 'GetSystemUpdateID' response: args = { Id=0 }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/ContentDirectory/428ff545-776c-4399-a03e-001d7d050edc/control.xml from a LAN client
foo_upnp: FbMediaServer::OnAction: received action 'Browse', args = { ObjectID=0/1/0/0/15, BrowseFlag=BrowseMetadata, Filter=@id,upnp:class,res,res@protocolInfo,res@av:authenticationUri,res@size,dc:title,upnp:albumArtU
RI,res@dlna:ifoFileURI,res@protection,res@bitrate,res@duration,res@sampleFrequency,res@bitsPerSample
,
res@nrAudioChannels,res@resolution,res@colorDepth,dc:date,av:dateTime,upnp:artist,upnp:album,upnp:ge
n
re,dc:contributer,upnp:storageFree,upnp:storageUsed,upnp:originalTrackNumber,dc:publisher,dc:languag
e
,dc:region,dc:description,upnp:toc,@childCount,upnp:albumArtURI@dlna:profileID, StartingIndex=0, RequestedCount=1, SortCriteria= }
foo_upnp: FbMediaServer::OnAction: action 'Browse' response: args = { ObjectID=0/1/0/0/15, BrowseFlag=BrowseMetadata, Filter=@id,upnp:class,res,res@protocolInfo,res@av:authenticationUri,res@size,dc:title,upnp:albumArtU
RI,res@dlna:ifoFileURI,res@protection,res@bitrate,res@duration,res@sampleFrequency,res@bitsPerSample
,
res@nrAudioChannels,res@resolution,res@colorDepth,dc:date,av:dateTime,upnp:artist,upnp:album,upnp:ge
n
re,dc:contributer,upnp:storageFree,upnp:storageUsed,upnp:originalTrackNumber,dc:publisher,dc:languag
e
,dc:region,dc:description,upnp:toc,@childCount,upnp:albumArtURI@dlna:profileID, StartingIndex=0, RequestedCount=1, SortCriteria=, NumberReturned=1, TotalMatches=1, UpdateID=0 }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/content/file://D:\Lossless Music\Muse\2003 - Absolution\01. Intro.flac.lpcm from a LAN client
foo_upnp: FbMediaWavInputStream::queue_fill: >>>>>>>>>>>>>>>>>>>>>>>>>>file://D:\Lossless Music\Muse\2003 - Absolution\01. Intro.flac: realloc #0 (old=2097152, new=2113536)<<<<<<<<<<<<<<<<<<<<<<<<
here is the bizarre thing after waiting 20+ seconds it sometimes does start playing the next track otherwise i get a 80710723 error on the PS3 over and over again. Another thing i noticed is that the total track length displayed on the PS3 is blank (not sure if it's related though).
v0.99.9 seems to have fixed the streaming problem i had with our PS3.

Thanks
Title: foo_upnp
Post by: jrnxg2 on 2009-08-07 01:03:49
That's curious, I never saw that problem, even if it is not super useful, creating a resampler from 44100=>44100 shouldn't fail.
I'll avoid resampling from x=>x in the next version :).
Which version of fb2k are you using and do you have this error all the time ?

btw there's a bug in 0.99.8 and xbox streaming: it will transcode to mp3 all files inconditionally, no matter the settings. Fixed in the soon to be released 0.99.9


EDIT: maybe this bug is due to an alternate resampler plugin you're using (the SoX resampler?) that would not support x=>x.  If that's the case try disabling it.


0.99.9 fixing the unconditional transcoding totally fixed the problem; this is the fastest, best streaming solution I've ever found and I could kiss you. <3
Title: foo_upnp
Post by: joaotavela on 2009-08-08 13:42:57
Some issues with the PS3:
1. When using LPCM, i get skips every 20-30 seconds.
2. When using "Stream files in their native format-Unchecked",the music plays well in Mp3 Format, but take long time to start or changing track (almost 30 seconds).
3. When using always transcode, the music won't start and a get "416" error.

Anybody can help?
Title: foo_upnp
Post by: bubbleguuum on 2009-08-08 15:33:01
Some issues with the PS3:
1. When using LPCM, i get skips every 20-30 seconds.
2. When using "Stream files in their native format-Unchecked",the music plays well in Mp3 Format, but take long time to start or changing track (almost 30 seconds).
3. When using always transcode, the music won't start and a get "416" error.

Anybody can help?


1. Unsure why you get skips. Are you streaming via wifi ?
3. transcoding to mp3 is not supported by the server on the PS3 (for the simple matter I didn't implement seek and the PS3 does such requests).

Anyway, I'll have a PS3 soon and will be able to make sure future versions works well. And add working album art support.
Title: foo_upnp
Post by: joaotavela on 2009-08-08 16:16:10
Yes, I'm Streaming via wireless
I use tversity, and works fine with audio and video, so isn't a wireless problem.
Title: foo_upnp
Post by: tst on 2009-08-09 11:38:50
Has anyone found a good working UPNP Controller application for Windows Mobile 6?

I just got myself a windows mobile smart phone and thought it would be an awesome remote for the Foobar UPNP Server/Renderer.

Pocket Player can actually do this, but there are some limitations. It works though!
Title: foo_upnp
Post by: bubbleguuum on 2009-08-09 12:27:34
Pocket Player can actually do this, but there are some limitations. It works though!



just curious, what are the limitations ?
Title: foo_upnp
Post by: tst on 2009-08-09 13:05:57
Well you can browse the library but you can only select one song for playback. This is not how ANYONE in this world listens to digital music.

I want to enqueue an album or several songs, then sit back and chill out.

Also you cannot control the volume like you can in Foobar and the icons in the library view are all wrong (e.g. songs have folder icons).

It is also hard to select a specific album if you have a very large library (scrolling for ages). An alphabet on the right (like in the contacts view of WMobile6) would be a nice addition.

If the enqueuing would work somehow (maybe it does work and I am too stupid to get it done, there is no readme file for the upnp section), it would be an awesome player.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-09 14:22:41
Well you can browse the library but you can only select one song for playback. This is not how ANYONE in this world listens to digital music.

I want to enqueue an album or several songs, then sit back and chill out.

Also you cannot control the volume like you can in Foobar and the icons in the library view are all wrong (e.g. songs have folder icons).

It is also hard to select a specific album if you have a very large library (scrolling for ages). An alphabet on the right (like in the contacts view of WMobile6) would be a nice addition.

If the enqueuing would work somehow (maybe it does work and I am too stupid to get it done, there is no readme file for the upnp section), it would be an awesome player.


Here's a few questions to have an idea if the issues are due to this software or due to the plugin:

Are you trying to enqueue for playing files streamed to your phone, on equeuing to foobar's renderer for remote control ?
If it is the latter does the software allow you to enqueue but it won't switch to next song, or you just can't enqueue at all ?
Are you able to enqueue several files for playing locally on your phone ?

About having a large number of entries, you can configure the server to create subtrees by first letter, ie A, B,C, ... The option is called "Split tree nodes by first letter if...", in the server's Advanced settings.
Title: foo_upnp
Post by: GeSomeone on 2009-08-09 16:16:07
Some issues with the PS3:

It would be good to add which version of foo_uPnP you use, is it 0.99.9?  (and maybe which foobar2000 (0.9.6.5 ot higher?)). As 2 posts before yours (http://www.hydrogenaudio.org/forums/index.php?showtopic=69664&view=findpost&p=650096) someone else has the problem fixed in 0.99.9.
Title: foo_upnp
Post by: tst on 2009-08-10 15:30:24
Quote
Are you trying to enqueue for playing files streamed to your phone, on equeuing to foobar's renderer for remote control ?
If it is the latter does the software allow you to enqueue but it won't switch to next song, or you just can't enqueue at all ?
Are you able to enqueue several files for playing locally on your phone ?

The phone should only be the controller. I don't want to listen to music on my phone. The software does not allow enqueuing in UPNP mode. I just got the confirmation from the company responsible for Pocket Player. It is possible to create playlists locally on the phone (when I play music that is actually on my phone). So this is not an issue of the foobar plugin.

Quote
About having a large number of entries, you can configure the server to create subtrees by first letter, ie A, B,C, ... The option is called "Split tree nodes by first letter if...", in the server's Advanced settings.


That is great to hear. I will check this out later when I am at home. Thanks
Title: foo_upnp
Post by: wtstommy on 2009-08-10 20:11:54
Out of curiosity: does this plugin support metadata editing?
Title: foo_upnp
Post by: bubbleguuum on 2009-08-10 21:07:40
Out of curiosity: does this plugin support metadata editing?



If you mean editing metadata on remote items and have them modified remotely then no, it is not possible.
Title: foo_upnp
Post by: Enigma776 on 2009-08-10 21:38:36
How does this plugin work. I would like to stream music to my 360 but for some unknown reason it will not show up on the 360 so I dunno what I am doing wrong. Everything is setup to how I think it needs to be setup to but it just will not show up.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-11 12:22:47
How does this plugin work. I would like to stream music to my 360 but for some unknown reason it will not show up on the 360 so I dunno what I am doing wrong. Everything is setup to how I think it needs to be setup to but it just will not show up.


No idea except maybe a firewall getting in the way ? In the server status page also check that it is started.
Title: foo_upnp
Post by: eightfold on 2009-08-12 03:43:40
Some issues with the PS3:
1. When using LPCM, i get skips every 20-30 seconds.
2. When using "Stream files in their native format-Unchecked",the music plays well in Mp3 Format, but take long time to start or changing track (almost 30 seconds).

I'm also having the same issues, only I'm getting skips every 5-10 seconds. I've got both my laptop and PS3 connected via ethernet to my 100mbps router so it can't be a bandwidth issue... Currently using v0.99.9 of the plugin and 0.9.6.9 beta 1 of fb2k.

Another additional issue is that if I have the Apply Replaygain option checked, it skips even when "Apply to all formats" is unchecked. I suppose it has to do with the fact that it forces it to PCM format regardless. Is there any workaround to this?

I've tried messing around with my router settings and still haven't been able to get the desired results. I have the UPnP framework option enabled in the Windows Firewall as well as UPnP enabled on my router and my PS3 is currently acting as the DMZ server. Also using a Netgear WRG614v9 if any of that helps...

Other than the above issues, it's a great plugin. Keep up the awesome work!
Title: foo_upnp
Post by: joaotavela on 2009-08-12 05:03:05
Currently using v0.99.9 of the plugin and 0.9.5.2, using wireless connection (DLink-524) and Windows XP and a PS3.
And i used all versions of foo_upnp. Same problem on all. Don't believe it's a wireless thing because i transcode movies with Tversity with no lag or skips.
Title: foo_upnp
Post by: Enigma776 on 2009-08-12 19:15:35
I still aint got a clue how this thing works, I have tried to stream to another machine on the local network to windows media player but nothing shows up what am I doing wrong. All the firewall and router stuff is done even set the thing up to play on WMP but i get nothing. A tutorial on how this is suppose to work would be nice.
Title: foo_upnp
Post by: The Link on 2009-08-12 19:18:19
..., I have tried to stream to another machine on the local network to windows media player but nothing shows up what am I doing wrong. ...
Was it WMP11 or higher?
Title: foo_upnp
Post by: Enigma776 on 2009-08-12 20:03:36
..., I have tried to stream to another machine on the local network to windows media player but nothing shows up what am I doing wrong. ...
Was it WMP11 or higher?


Yeah it was WMP11 also tried with another instance of foobar on the same machine.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-12 21:09:14
..., I have tried to stream to another machine on the local network to windows media player but nothing shows up what am I doing wrong. ...
Was it WMP11 or higher?


Yeah it was WMP11 also tried with another instance of foobar on the same machine.


Can you be more specific ?
You launched the server and the client instance of foobar2000 on the same PC ? this can't work as on the *same* PC client and server don't see each other (it's actually not a bug).

Now assuming you were running 2 foobar instances on separate PC: on the client machine did you add the Browser UI element to your setup ? did the foobar server appeared in the tree then ?

Now for WMP as a client, You should see a "foobar2000 Media Server [your user name]" appear somewhere in the library (not sure were as I tested with WMP12 but TehLink can confirm if works with WMP11).

Subsidiary question: what software do you use as a firewall ?

I'll write a much needed documentation for this plugin at some point.
Title: foo_upnp
Post by: Enigma776 on 2009-08-12 21:18:57
My main goal was to get it to work on my 360 as that is in another room the other apps were just problem solving.

As for firewall just the bog standard XP firewall and a router using DD-WRT which has ports forwarded.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-12 21:25:17
My main goal was to get it to work on my 360 as that is in another room the other apps were just problem solving.

As for firewall just the bog standard XP firewall and a router using DD-WRT which has ports forwarded.


You could try sharing some music with WMP and look if you can access that from your 360. The Upnp servers appear in the Music section of the 360 (don't remember the exact naming).
Title: foo_upnp
Post by: Enigma776 on 2009-08-12 21:31:10
My main goal was to get it to work on my 360 as that is in another room the other apps were just problem solving.

As for firewall just the bog standard XP firewall and a router using DD-WRT which has ports forwarded.


You could try sharing some music with WMP and look if you can access that from your 360. The Upnp servers appear in the Music section of the 360 (don't remember the exact naming).


Yeah that was the problem it was not showing up yet for some reason Vuse was so I doubt it's a firewall issue probably a component I am missing, speaking of which what is Browse UI and where do I get it?
Title: foo_upnp
Post by: bubbleguuum on 2009-08-12 21:34:09
Some issues with the PS3:
1. When using LPCM, i get skips every 20-30 seconds.
2. When using "Stream files in their native format-Unchecked",the music plays well in Mp3 Format, but take long time to start or changing track (almost 30 seconds).

I'm also having the same issues, only I'm getting skips every 5-10 seconds. I've got both my laptop and PS3 connected via ethernet to my 100mbps router so it can't be a bandwidth issue... Currently using v0.99.9 of the plugin and 0.9.6.9 beta 1 of fb2k.

Another additional issue is that if I have the Apply Replaygain option checked, it skips even when "Apply to all formats" is unchecked. I suppose it has to do with the fact that it forces it to PCM format regardless. Is there any workaround to this?


I just got a PS3 today, and no problem after some initial testing involving mp3 streamed as is, and flac as lpcm. 100mbps wired connection to a Linksys switch.
I'll try later via wlan to see if there are any problems.
ReplayGain force PCM as you guessed. No workaround until I can make transcode to mp3 work on the PS3.


Title: foo_upnp
Post by: bubbleguuum on 2009-08-12 21:40:16
speaking of which what is Browse UI and where do I get it?


The UPnP Browser UI element is part of the plugin, see post #170 (the post assume you're using Default UI):

http://www.hydrogenaudio.org/forums/index....st&p=631934 (http://www.hydrogenaudio.org/forums/index.php?showtopic=69664&view=findpost&p=631934)
Title: foo_upnp
Post by: eightfold on 2009-08-13 02:47:14
I just got a PS3 today, and no problem after some initial testing involving mp3 streamed as is, and flac as lpcm. 100mbps wired connection to a Linksys switch.
I'll try later via wlan to see if there are any problems.
ReplayGain force PCM as you guessed. No workaround until I can make transcode to mp3 work on the PS3.

Thanks for the quick reply. I'm not sure what my issue is then... Everything appears to be set up as it should and it's still skipping.

I've been messing around with another media server app made just for the PS3 and it's working flawlessly. The app can be found here (http://code.google.com/p/ps3mediaserver/) for those who are curious. I think it's able to convert FLAC files to LPCM if I'm understanding the options correctly. It even displays the embedded album art in my flac images, though it's not detecting the embedded cue sheets unfortunately. Anyway, it's an open source program, perhaps you could contact the developer and ask how he's able to implement some of the things? Just a suggestion. 
Title: foo_upnp
Post by: schokobon on 2009-08-14 09:42:03
As already asked in this post #58 (http://www.hydrogenaudio.org/forums/index.php?showtopic=69664&view=findpost&p=618799) (Question wasn't answered yet)
Would it be possible to generate the tree as the directory structe is?
Maybe in a future version?
Title: foo_upnp
Post by: vassie on 2009-08-14 12:09:08
As already asked in this post #58 (http://www.hydrogenaudio.org/forums/index.php?showtopic=69664&view=findpost&p=618799) (Question wasn't answered yet)
Would it be possible to generate the tree as the directory structe is?
Maybe in a future version?


I'd like to see this feature too
Title: foo_upnp
Post by: extesy on 2009-08-16 05:53:57
I can't get foobar to work as a media server. I use WMP12 and Win7 x64, foobar 0.9.6.7, foo_upnp 0.99.8. I have applied "Windows Media Server" preset and didn't change the port number: 56923.

WMP12 actually recognizes foobar as a media server, but it doesn't see any files on it, reporting that "no files have been found on this remote library":

Code: [Select]
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/ContentDirectory/428ff545-776c-4399-a03e-001617726579/control.xml from a LAN client
foo_upnp: FbMediaServer::OnAction: received action 'GetSortCapabilities', args = {  }
foo_upnp: FbMediaServer::OnAction: action 'GetSortCapabilities' response: args = { SortCaps= }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/ContentDirectory/428ff545-776c-4399-a03e-001617726579/control.xml from a LAN client
foo_upnp: FbMediaServer::OnAction: received action 'Search', args = { ContainerID=0, SearchCriteria=upnp:class derivedfrom "object.container.playlistContainer" and @refID exists false, Filter=dc:title,microsoft:folderPath, StartingIndex=0, RequestedCount=200, SortCriteria= }
foo_upnp: FbMediaServer::OnAction: action 'Search' response: args = { ContainerID=0, SearchCriteria=upnp:class derivedfrom "object.container.playlistContainer" and @refID exists false, Filter=dc:title,microsoft:folderPath, StartingIndex=0, RequestedCount=200, SortCriteria=, NumberReturned=0, TotalMatches=0, UpdateID=0 }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/ContentDirectory/428ff545-776c-4399-a03e-001617726579/control.xml from a LAN client
foo_upnp: FbMediaServer::OnAction: received action 'GetSortCapabilities', args = {  }
foo_upnp: FbMediaServer::OnAction: action 'GetSortCapabilities' response: args = { SortCaps= }
foo_upnp: FbMediaServer::ProcessHttpRequest: received request URL=/ContentDirectory/428ff545-776c-4399-a03e-001617726579/control.xml from a LAN client
foo_upnp: FbMediaServer::OnAction: received action 'Search', args = { ContainerID=0, SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and @refID exists false, Filter=*, StartingIndex=0, RequestedCount=200, SortCriteria= }
foo_upnp: FbMediaServer::OnAction: action 'Search' response: args = { ContainerID=0, SearchCriteria=upnp:class derivedfrom "object.item.audioItem" and @refID exists false, Filter=*, StartingIndex=0, RequestedCount=200, SortCriteria=, NumberReturned=0, TotalMatches=0, UpdateID=0 }


Foobar's media library is obviously not empty.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-16 07:49:35
I can't get foobar to work as a media server. I use WMP12 and Win7 x64, foobar 0.9.6.7, foo_upnp 0.99.8. I have applied "Windows Media Server" preset and didn't change the port number: 56923.
WMP12 actually recognizes foobar as a media server, but it doesn't see any files on it, reporting that "no files have been found on this remote library":


0.99.8 was broken with WMP. Get 0.99.9 it should fix the problem.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-16 07:51:18
As already asked in this post #58 (http://www.hydrogenaudio.org/forums/index.php?showtopic=69664&view=findpost&p=618799) (Question wasn't answered yet)
Would it be possible to generate the tree as the directory structe is?
Maybe in a future version?



No immediate plans to implement it but it is in the todo list
Title: foo_upnp
Post by: extesy on 2009-08-16 08:45:55
I can't get foobar to work as a media server. I use WMP12 and Win7 x64, foobar 0.9.6.7, foo_upnp 0.99.8. I have applied "Windows Media Server" preset and didn't change the port number: 56923.
WMP12 actually recognizes foobar as a media server, but it doesn't see any files on it, reporting that "no files have been found on this remote library":

0.99.8 was broken with WMP. Get 0.99.9 it should fix the problem.

That worked, thanks! I've downloaded 0.99.8 from the foobar's official website, so maybe you should update it there as well.
Title: foo_upnp
Post by: GeSomeone on 2009-08-16 10:22:45
I've downloaded 0.99.8 from the foobar's official website, so maybe you should update it there as well.

bubbleguuum mentioned that it was "highly beta" for now...
Title: foo_upnp
Post by: bubbleguuum on 2009-08-16 11:21:19
I've downloaded 0.99.8 from the foobar's official website, so maybe you should update it there as well.

bubbleguuum mentioned that it was "highly beta" for now...


I updated the component site to point to 0.99.9 as it seems to be working OK so far.


This morning I tested PS3 streaming with a wifi connection.  I had intermittent  "dlna protocol error 2104" (that were innexistent with a wired connection) and after googling around
I noticed a lot of people have all kinds of problem with wifi on the PS3 with a lot of speculation (sometimes funny) on what the problems are and often no solution, as those
nasty error codes are not documented.

Anyway I managed to get rid of that error by changing the wifi channel number of my connection. I'm in a busy area with lots of wifis and many of them used the same
channel id than me. That seems to work ok for know but you never know, wifi is black magic ! To find an unused channel id I used NetStumbler (http://www.netstumbler.com/downloads/) to list all the wifis

Another thing worth trying out in case of wifi problems it to set your wifi router mode to "G only" instead of "mixed B/G" or on newer routers, "N".  The PS3 is a "G" device.

Also, it looks like P2P programs can be nasty for wifi routers, opening many connections and potentially slowing it down.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-16 20:19:44
New version (first post to download) with quite some changes in how streaming configurations are handled, so still BETA.

0.99.10
---------

- chg: all configuration settings are now stored in an XML file in the user's foobar app data directory (c:\Documents And Settings\<user name>\Application Data\foobar2000\foo_upnp.xml).
It is created on first launch with default settings. If foo_upnp.xml has been edited externally and there's a parse error on load, the file is renamed as foo_upnp.xml.bak and a default
file is created. The foobar console should display a detailed message why it failed loading.

- new: it is now possible to stream to several clients (WMP, foobar, PS3, iPhone, etc) using separate streaming configuration for each, called profiles. User can edit/rename/add/remove
profiles in a totally revamped config page. When a client connects, the server will pick up a matching profile if any, or use the Default profile (this one can't be removed).
A client is matched to a profile by one or more substrings of its User-Agent http header.
By default there's a few profiles for standard clients that replace the "Presets" of the previous versions. Now it is like if all old presets were all active at the same time.

- chg: server: removed "Presets" as they are not needed anymore with streaming profiles
- new: server: in a profile, ability to set if 5.1 audio should be converted to stereo or not
- chg: server: removed "Allow Seek" and "DLNA" options. They are always enabled.
- fix: server: album art finally working on PS3 for art that is either jpeg or png
- new: server: it is now possible to populate a generated subtree with a subset of the media library using <SubTree query="<search query>">>. For example you could create
a node with only music from 1995 to 2000.
- new: server: added "Compilations" node in the tree (uses the feature above)
- chg: server: stream unsupported XBOX360 formats to lpcm instead of mp3 transcoding in previous version
- new: server: option to use %album artist% instead of %artists% in returned artist names
- fix: server: do not transcode MusePack to mp3 when transcoding configured to lossless only
- fix: server: potentially fixed a crash
- new: renderer: possible to change the renderer network name
- new: ability to set how verbose debug traces in the console are, by editing foo_upnp.xml.
Look for the "level" attribute of the "console_log" tag in conf. "level" values range from 0 (total SPAM) to 7 (only important messages). The default is 4.

------------

If you make working profiles for some exotic hardware that I have not access to, you can post them here in a codebox or drop me a PM so I can include it in future versions. Just open foo_upnp.xml and copy the relevant <profile> section.
Title: foo_upnp
Post by: Anomalous on 2009-08-17 07:31:36
Awesome, I was wondering if was possible to have different settings for different devices , and being able to choose the nodes is cool. The icon foobar for the server seems a bit ugly though, there's white pixels around the edges.
Playback on the PS3 seems alot better since the last time I tried it, there's still some skipping though, and the length and album art don't appear when playing a track (but they do in the tree ).

Also, is it possible to restrict access to the server using IPs/MACs? I guess I could use my firewall for this but it would be good not to have to.

It would be nice if the nodes were a profile settings too, so different devices could have different nodes, and editable in f2k. The way it's done atm doesn't allow a different number for nodes for example:
Code: [Select]
artist
    album1
        ...
    album2
        disc1
            ...
        disc2
            ...

so the compilations example would be something like:
Code: [Select]
LABEL Compilations
QUERY compilation PRESENT
TREE  [%album artist% - ]%album%|%title%

although that might mess with the object.container stuff (what is that?).



Title: foo_upnp
Post by: pIv on 2009-08-17 09:53:14
bubbleguuum

I use foobar without user profile folder and app data directory (c:\Documents And Settings\<user name>\Application Data\foobar2000\) not exist.

When I try version 0.99.10 of foo_upnp.dll and foobar crash on exit. Tnen I manualy create app data directory and now foobar not crash on exit, but create foo_upnp.xml and foo_upnp_ml_tree.xm in this app data directory. But in my case app data directory must be c:\program files\foobar2000.

Please correct this error.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-17 11:38:07
bubbleguuum

I use foobar without user profile folder and app data directory (c:\Documents And Settings\<user name>\Application Data\foobar2000\) not exist.

When I try version 0.99.10 of foo_upnp.dll and foobar crash on exit. Tnen I manualy create app data directory and now foobar not crash on exit, but create foo_upnp.xml and foo_upnp_ml_tree.xm in this app data directory. But in my case app data directory must be c:\program files\foobar2000.

Please correct this error.



I overlooked that. Fixed in 0.99.11 (first post). Also I modified the PS3 profile to always stream as LPCM, as other formats especially mp3 have a significant delay before playing
due to all kind of nasty request the PS3 does before playing the file.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-17 12:15:51
The icon foobar for the server seems a bit ugly though, there's white pixels around the edges.
The white frame is added by the PS3 so complain to Sony

Quote
Playback on the PS3 seems alot better since the last time I tried it, there's still some skipping though, and the length and album art don't appear when playing a track (but they do in the tree ).

I don't think the PS3 display a track length for PCM items (when playing the track). I could be wrong though (any counter example with another media server ?).

Quote
It would be nice if the nodes were a profile settings too, so different devices could have different nodes, and editable in f2k. The way it's done atm doesn't allow a different number for nodes

A tree per profile could be useful, maybe for a future version.
You can put any number of sub-node in a <SubTree>. These are the <spec> tag. for example what is specified as %artist%|%album%|%title% in the Album List component is specified like this
in the plugin's tree:

Code: [Select]
<SubTree label="Artists">
<spec type="object.container.person.musicArtist">%artist%</spec>
<spec type="object.container.album.musicAlbum">%album%</spec>
</SubTree>

You don't specify how tracks are formatted as this doesn't apply to upnp browsing.

Quote
although that might mess with the object.container stuff (what is that?).

It's just an indication of the type of containers for the remote upnp client. Most of the time it can probably be omitted. valid values are:

object.container  <= the default if omitted
object.container.album.musicAlbum
object.container.person.musicArtist
object.container.genre.musicGenre
Title: foo_upnp
Post by: Anomalous on 2009-08-17 13:08:50
About the icon, I didn't mean the border around the image; the image itself has white pixels around the four corners http://tinypic.com/r/25arsd0/3 (http://tinypic.com/r/25arsd0/3).

ps3mediaserver (http://ps3mediaserver.blogspot.com/) correctly displays the length for PCM audio, but there's no thumbnail during playback so that might be a PS3 thing.

My main concern with the xml method is the fixed number of nodes, for example there's no way of having tracks in albums with multiple discs in their own 'Disc X' folder as shown above.

Any idea why
Code: [Select]
<SubTree label="Default">
    <spec type="object.container.person.musicArtist">$if($or($stricmp(%genre%,Game),$stricmp(%genre%,Movie),$stricmp(%genre%,Television)),Original Soundtrack,%album artist%)</spec>
    <spec type="object.container.album.musicAlbum">['['%date%']' ]%album%</spec>
</SubTree>

displays items as
Code: [Select]
artist
    album1
        track1
    album2
        track2
    track1
    track2

while
Code: [Select]
<SubTree label="Default">
    <spec>$if($or($stricmp(%genre%,Game),$stricmp(%genre%,Movie),$stricmp(%genre%,Television)),Original Soundtrack,%album artist%)</spec>
    <spec type="object.container.album.musicAlbum">['['%date%']' ]%album%</spec>
</SubTree>

doesn't have the additional tracks in the artist folder?
Title: foo_upnp
Post by: bubbleguuum on 2009-08-17 16:53:17
About the icon, I didn't mean the border around the image; the image itself has white pixels around the four corners http://tinypic.com/r/25arsd0/3 (http://tinypic.com/r/25arsd0/3).


nice spotting, I didn't even  ee it !

Quote
ps3mediaserver (http://ps3mediaserver.blogspot.com/) correctly displays the length for PCM audio, but there's no thumbnail during playback so that might be a PS3 thing.


I had a look at ps3mediaserver (incredibly messy code btw) and they stream PCM as WAV. In that case track length automagically appear ! So change the PS3 profile from LPCM to WAV and you have track lengths.

Quote
My main concern with the xml method is the fixed number of nodes, for example there's no way of having tracks in albums with multiple discs in their own 'Disc X' folder as shown above.


true, I'll make it work.
Title: foo_upnp
Post by: joaotavela on 2009-08-19 04:12:51
Well, since i installed versions 0.99.10 and 0.99.11, i can't see my Media Library in PS3 anymore. Only the Playlists. the option [] Show Media library to clients is checked. Tried to copy XML files to c:\Documents And Settings... and my foobar root too; i'm tried to customize Media Library but nothing happens. I only get the playlists in PS3.
Any Help?

Lol..Solved
The Filter "Compilations" are blocking the file to load; this message appear in console
" WARNING: could not load file C:\XFoobar\Last Version\foo_upnp_ml_tree.xml
foo_upnp: SEVERE: invalid search query 'compilation PRESENT' populating SubTree 'Compilations': Service extension not found
foo_upnp: SEVERE: could not load default Media Library filters!"
Then i remove this filter
Title: foo_upnp
Post by: bubbleguuum on 2009-08-19 18:38:48
Well, since i installed versions 0.99.10 and 0.99.11, i can't see my Media Library in PS3 anymore. Only the Playlists. the option [] Show Media library to clients is checked. Tried to copy XML files to c:\Documents And Settings... and my foobar root too; i'm tried to customize Media Library but nothing happens. I only get the playlists in PS3.
Any Help?

Lol..Solved
The Filter "Compilations" are blocking the file to load; this message appear in console
" WARNING: could not load file C:\XFoobar\Last Version\foo_upnp_ml_tree.xml
foo_upnp: SEVERE: invalid search query 'compilation PRESENT' populating SubTree 'Compilations': Service extension not found
foo_upnp: SEVERE: could not load default Media Library filters!"
Then i remove this filter


Are you running a foobar version below 0.9.5.3 ? If that's the case, upgrading should  fix the problem.
Title: foo_upnp
Post by: av_degt on 2009-08-19 22:31:39
Dear all,

Please sorry for this really stupid question, but I didn't find, how to DISPLAY this Upnp BROWSER panel in foobar 2000?

I'm using the last version 0.9.6.8, but I do not need to share my files, all that I need is just browsing my upnp media (which is already shared by the NAS)!!!

I spent 2 hours but didn't find any browser panel, please give me a change not to spend all my life to this!
Title: foo_upnp
Post by: bubbleguuum on 2009-08-19 23:19:13
Dear all,

Please sorry for this really stupid question, but I didn't find, how to DISPLAY this Upnp BROWSER panel in foobar 2000?

I'm using the last version 0.9.6.8, but I do not need to share my files, all that I need is just browsing my upnp media (which is already shared by the NAS)!!!

I spent 2 hours but didn't find any browser panel, please give me a change not to spend all my life to this!


If you haven't done Default UI layout editing this might be confusing to add the panel. See post #170:

http://www.hydrogenaudio.org/forums/index....st&p=631934 (http://www.hydrogenaudio.org/forums/index.php?showtopic=69664&view=findpost&p=631934)

If you're using Columns UI, you must use CUI layout editing mode.
Title: foo_upnp
Post by: av_degt on 2009-08-19 23:26:34
THANKS A LOT!

it would be not so difficult, if foobar had a very clear user manual, but it doesn't...

Title: foo_upnp
Post by: DooMCat on 2009-08-20 15:41:16
I've just downloaded + tested the UPnP plugin. Works well on my Windows7 desktop + laptop. I had one song perfectly in sync on both, it sounded awesome, being surrounded by music

So I thought of a cool feature which probably wouldn't take too much time to implement: a 'play on multiple devices' feature, where you select two or more UPnP devices (and maybe the one running the server), tell them to play a song from the server, wait for them to all buffer, then start playback in sync with the UPnP server.

That way you don't have to start a remote client first and then hope you can get them in sync by pausing it occasionally ;P

Whatcha' think? I searched the thread to see if someone had mentioned it before, but the word 'sync' didn't come up with anything about my idea.

If the server is constantly aware of the playback state (position in the currently playing track, whether it's 'transitioning' etc.), it shouldn't be too hard to implement... right?
Title: foo_upnp
Post by: Xezzy on 2009-08-21 14:31:18
Thanks bubblegum for this plugin!
It would be nice to start upnp browser via view menu (pretty much like playlist manager or album list) to launch it in its own window. Cheers!
Title: foo_upnp
Post by: Wiz+z on 2009-08-21 17:01:17
Hello, guys!
I have just installed the plugin and it is awesome! I do have some trouble customizing media library views, though. No matter what i change in foo_upnp_ml_tree.xml, the views are the same. Am i missing something?
Title: foo_upnp
Post by: bubbleguuum on 2009-08-21 18:45:13
it shouldn't be too hard to implement... right?


Not only it wouldn't be easy to implement properly but its not possible with the UPnP AV spec.


Thanks bubblegum for this plugin!
It would be nice to start upnp browser via view menu (pretty much like playlist manager or album list) to launch it in its own window. Cheers!


Not planned at this time

[quote author=Wiz+z link=msg=652809 date=1250870477]Hello, guys!
I have just installed the plugin and it is awesome! I do have some trouble customizing media library views, though. No matter what i change in foo_upnp_ml_tree.xml, the views are the same. Am i missing something?[/quote]

2 possibles things:

- after editing this file, you need to relaunch the server. This is done automatically if you edit/save this file when on the Advanced Settings page, when you close the preference dialog.
If you edit the file externally you must restart the server on the "Basic Settings / Status" pref page.
- The server was relaunched but there is an error in the file. The file is only loaded when the first client browse the root of the tree. If all goes well, in the foobar console you'll see:
"foo_upnp: INFO: loaded Media Library filters from C:\Program Files\foobar2000\foo_upnp_ml_tree.xml".
Otherwise you'll see an error that should let you fix the problem, and a message saying default filters were loaded.

Title: foo_upnp
Post by: Wiz+z on 2009-08-21 19:15:07
2 possibles things:

- after editing this file, you need to relaunch the server. This is done automatically if you edit/save this file when on the Advanced Settings page, when you close the preference dialog.
If you edit the file externally you must restart the server on the "Basic Settings / Status" pref page.
- The server was relaunched but there is an error in the file. The file is only loaded when the first client browse the root of the tree. If all goes well, in the foobar console you'll see:
"foo_upnp: INFO: loaded Media Library filters from C:\Program Files\foobar2000\foo_upnp_ml_tree.xml".
Otherwise you'll see an error that should let you fix the problem, and a message saying default filters were loaded.

Thanks for the tip! I should've checked the console in the first place.
It looks like XML Notepad i used broke the file structure. Server stopped loading it after the save (even without any changes).
Title: foo_upnp
Post by: joaotavela on 2009-08-22 01:42:46
[quote author=Wiz+z link=msg=652841 date=1250878507]
2 possibles things:

- after editing this file, you need to relaunch the server. This is done automatically if you edit/save this file when on the Advanced Settings page, when you close the preference dialog.
If you edit the file externally you must restart the server on the "Basic Settings / Status" pref page.
- The server was relaunched but there is an error in the file. The file is only loaded when the first client browse the root of the tree. If all goes well, in the foobar console you'll see:
"foo_upnp: INFO: loaded Media Library filters from C:\Program Files\foobar2000\foo_upnp_ml_tree.xml".
Otherwise you'll see an error that should let you fix the problem, and a message saying default filters were loaded.

Thanks for the tip! I should've checked the console in the first place.
It looks like XML Notepad i used broke the file structure. Server stopped loading it after the save (even without any changes).
[/quote]

I Use Notepad++ to edit the foo_upnp_ml_tree.xml and works.
Title: foo_upnp
Post by: Wiz+z on 2009-08-22 12:47:03
I Use Notepad++ to edit the foo_upnp_ml_tree.xml and works.


Nice piece of software. Thanks!
Title: foo_upnp
Post by: Devocalypse on 2009-08-23 15:14:11
Great component, very useful.
I am experiencing a weird bug with 0.99.11b on Windows7 x64 7600 which i think wasn't present in the previous version.
The component itself is working great in media server mode but after foobar is running for a while, if you try to close it it freezes. Becomes unkillable by process explorer / task manager by any means and the only thing left to do is restart windows.

Process Explorer shows two threads on foobar as still waiting after attempting to close it:
Code: [Select]
foobar2000.exe+0x103537
foo_upnp.dll!foobar2000_get_interface+0x597fc
If by interface it means binding to a network interface then i have 4 adapters, 1 has 3 IPs, 1 has 2 IPs, the other two have 1 each and are on an intranet. Not sure if that might be of any help. I don't have a crash log as it doesn't crash. All foo_upnp Settings are Default and xml-s are untouched.

Component list as follows excluding built in ones:
Code: [Select]
Core (2009-08-22 13:25:22)     foobar2000 core 0.9.6.9
foo_benchmark.dll (2008-12-31 20:23:04)    Decoding Speed Test 1.1
foo_burninate.dll (2009-06-24 20:14:28)    Audio CD Writer 3.0.1
foo_DeleteCurrent.dll (2008-06-30 17:00:02)    FooBar2000 Delete Current Track 1.0.0.0
foo_input_dts.dll (2008-10-26 15:15:26)    DTS decoder 0.2.2
foo_input_monkey.dll (2009-05-01 14:40:52)    Monkey's Audio Decoder 2.1.4
foo_input_tak.dll (2009-06-15 22:44:54)    TAK Decoder 0.4.3
foo_input_tta.dll (2009-01-30 01:02:02)    TTA Audio Decoder (unofficial) 2.4.2
foo_masstag.dll (2009-06-30 10:37:28)    Masstagger 1.8.3
foo_ui_columns.dll (2009-06-15 01:18:06)    Columns UI 0.3.7.8
foo_uie_biography.dll (2009-07-18 19:42:50)    Biography View 0.3.2.1
foo_uie_panel_splitter.dll (2009-06-07 22:36:54)    Panel Stack Splitter 0.3.8(alpha)
foo_uie_quicksearch.dll (2007-05-18 13:31:10)    Quick Search Toolbar 2.8l
foo_unpack_7z.dll (2009-02-18 13:35:50)    7-Zip unpacker 1.0
foo_unpack_lha.dll (2009-08-12 22:17:20)    LHA reader 1.4
foo_verifier.dll (2009-06-21 23:03:56)    File Integrity Verifier 1.0.5
foo_w7shell.dll (2009-04-01 03:52:06)    Windows 7 integration 0.2.7.1
foo_whatsnew.dll (2008-08-30 15:45:00)    Feature Watcher 1.0.6
Title: foo_upnp
Post by: bubbleguuum on 2009-08-23 18:10:27
Great component, very useful.
I am experiencing a weird bug with 0.99.11b on Windows7 x64 7600 which i think wasn't present in the previous version.
The component itself is working great in media server mode but after foobar is running for a while, if you try to close it it freezes. Becomes unkillable by process explorer / task manager by any means and the only thing left to do is restart windows.


Probably a hard to reproduce deadlock so no easy fix. Can you reproduce it all the time ? how long fb had been running when it happened and was the plugin doing anything (streaming) when it happened? Could be interesting you mention all the upnp devices of your network.
Title: foo_upnp
Post by: Devocalypse on 2009-08-23 20:13:37
Only other upnp device is a foobar instance with foo_upnp running as a service with firedaemon on another computer running x86 Windows7 but it is not powered on most of the time. The only network it is allowed by the firewall is the home network on which i have 2PCs a laptop running XP and a very old (non UPNP-aware) 802.11b wireless access point which is used only by the laptop (has WPA). I'll enable it again on the main PC and enable verbose logging so I can see the last commands. Concerning usage I think it isn't used by any program while it freezes unless windows itself does a refresh of the network at some intervals so that might trigger a response. I'll monitor the console and let you know if I find a lead to the culprit.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-23 20:37:01
Only other upnp device is a foobar instance with foo_upnp running as a service with firedaemon on another computer running x86 Windows7 but it is not powered on most of the time. The only network it is allowed by the firewall is the home network on which i have 2PCs a laptop running XP and a very old (non UPNP-aware) 802.11b wireless access point which is used only by the laptop (has WPA). I'll enable it again on the main PC and enable verbose logging so I can see the last commands. Concerning usage I think it isn't used by any program while it freezes unless windows itself does a refresh of the network at some intervals so that might trigger a response. I'll monitor the console and let you know if I find a lead to the culprit.


You may want to enable writing the console output to a file (Console -> Write Log) as well as editing foo_upnp.xml (in foobar's profile directory), setting <console_log enabled="yes" level="0"> to have maximum of debug output.
Title: foo_upnp
Post by: Devocalypse on 2009-08-24 00:26:56
You may want to enable writing the console output to a file (Console -> Write Log) as well as editing foo_upnp.xml (in foobar's profile directory), setting <console_log enabled="yes" level="0"> to have maximum of debug output.
Did it as you suggested, console output with level 0 logging below:
[code]foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header ST: ssdp:all
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header ST: ssdp:all
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header MX: 1
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header MX: 1
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - MX: 1
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header - ST: upnp:rootdevice
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header - MAN: "ssdp:discover"
foo_upnp: FINEST: header - User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINE: creating thread
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - MX: 1
foo_upnp: FINEST: header - ST: upnp:rootdevice
foo_upnp: FINEST: header - MAN: "ssdp:discover"
foo_upnp: FINEST: header - User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: header LOCATION: http://192.168.137.1:56923/DeviceDescription.xml (http://192.168.137.1:56923/DeviceDescription.xml)
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header EXT:
foo_upnp: FINEST: header USN: uuid:aa893036-41c6-ccfe-e652-b00c6203f506::upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header LOCATION: http://192.168.137.1:56923/DeviceDescription.xml (http://192.168.137.1:56923/DeviceDescription.xml)
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header EXT:
foo_upnp: FINEST: header USN: uuid:aa893036-41c6-ccfe-e652-b00c6203f506::upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header - LOCATION: http://192.168.137.1:56923/DeviceDescription.xml (http://192.168.137.1:56923/DeviceDescription.xml)
foo_upnp: FINEST: header LOCATION: http://192.168.137.1:56923/DeviceDescription.xml (http://192.168.137.1:56923/DeviceDescription.xml)
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - EXT:
foo_upnp: FINEST: header EXT:
foo_upnp: FINEST: header - USN: uuid:aa893036-41c6-ccfe-e652-b00c6203f506::upnp:rootdevice
foo_upnp: FINEST: header USN: uuid:aa893036-41c6-ccfe-e652-b00c6203f506::upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINEST: header LOCATION: http://192.168.137.1:56923/DeviceDescription.xml (http://192.168.137.1:56923/DeviceDescription.xml)
foo_upnp: FINEST: header - LOCATION: http://192.168.137.1:56923/DeviceDescription.xml (http://192.168.137.1:56923/DeviceDescription.xml)
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header EXT:
foo_upnp: FINEST: header - EXT:
foo_upnp: FINEST: header USN: uuid:aa893036-41c6-ccfe-e652-b00c6203f506::upnp:rootdevice
foo_upnp: FINEST: header - USN: uuid:aa893036-41c6-ccfe-e652-b00c6203f506::upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINEST: header - LOCATION: http://192.168.137.1:56923/DeviceDescription.xml (http://192.168.137.1:56923/DeviceDescription.xml)
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - EXT:
foo_upnp: FINEST: header - USN: uuid:aa893036-41c6-ccfe-e652-b00c6203f506::upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINEST: header - LOCATION: http://192.168.137.1:56923/DeviceDescription.xml (http://192.168.137.1:56923/DeviceDescription.xml)
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - EXT:
foo_upnp: FINEST: header - USN: uuid:aa893036-41c6-ccfe-e652-b00c6203f506::upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINEST: header - ST: upnp:rootdevice
foo_upnp: FINEST: header - USN: uuid:a704a53b-32cc-4269-9baf-29f4807253af::upnp:rootdevice
foo_upnp: FINEST: header - Location: http://192.168.137.1:2869/upnphost/udhisap...af-29f4807253af (http://192.168.137.1:2869/upnphost/udhisapi.dll?content=uuid:a704a53b-32cc-4269-9baf-29f4807253af)
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header - 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: header - Cache-Control: max-age=900
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header Ext:
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINEST: header - ST: upnp:rootdevice
foo_upnp: FINEST: header - USN: uuid:9ce22159-b94d-49ea-b000-0bc073f5ea3c::upnp:rootdevice
foo_upnp: FINEST: header - Location: http://192.168.137.1:2869/upnphost/udhisap...00-0bc073f5ea3c (http://192.168.137.1:2869/upnphost/udhisapi.dll?content=uuid:9ce22159-b94d-49ea-b000-0bc073f5ea3c)
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header - 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header Ext:
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: header - ST: upnp:rootdevice
foo_upnp: FINEST: header - USN: uuid:9ce22159-b94d-49ea-b000-0bc073f5ea3c::upnp:rootdevice
foo_upnp: FINEST: header - Location: http://192.168.137.1:2869/upnphost/udhisap...00-0bc073f5ea3c (http://192.168.137.1:2869/upnphost/udhisapi.dll?content=uuid:9ce22159-b94d-49ea-b000-0bc073f5ea3c)
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header - 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header Ext:
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINE: requesting URL http://192.168.137.1:2869/upnphost/udhisap...00-0bc073f5ea3c (http://192.168.137.1:2869/upnphost/udhisapi.dll?content=uuid:9ce22159-b94d-49ea-b000-0bc073f5ea3c)
foo_upnp: FINE: connecting to 192.168.137.1:2869
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 192.168.137.1:2869
foo_upnp: FINEST: header - Content-Length: 3612
foo_upnp: FINEST: header - Content-Type: text/xml; charset="utf-8"
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0 Microsoft-HTTPAPI/2.0
foo_upnp: FINEST: header Date: Sun, 23 Aug 2009 23:02:23 GMT
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: header - ST: upnp:rootdevice
foo_upnp: FINEST: header - USN: uuid:a704a53b-32cc-4269-9baf-29f4807253af::upnp:rootdevice
foo_upnp: FINEST: header - Location: http://192.168.137.1:2869/upnphost/udhisap...af-29f4807253af (http://192.168.137.1:2869/upnphost/udhisapi.dll?content=uuid:a704a53b-32cc-4269-9baf-29f4807253af)
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header - 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: header - Cache-Control: max-age=900
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header Ext:
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINE: requesting URL http://192.168.137.1:2869/upnphost/udhisap...cc-f2674f66548d (http://192.168.137.1:2869/upnphost/udhisapi.dll?content=uuid:d7df7fea-5bbb-48a4-8bcc-f2674f66548d)
foo_upnp: FINE: connecting to 192.168.137.1:2869
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 192.168.137.1:2869
foo_upnp: FINEST: header - Content-Length: 13451
foo_upnp: FINEST: header - Content-Type: text/xml; charset="utf-8"
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0 Microsoft-HTTPAPI/2.0
foo_upnp: FINEST: header Date: Sun, 23 Aug 2009 23:02:24 GMT
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINE: requesting URL http://192.168.137.1:2869/upnphost/udhisap...e6-efe78d60fe66 (http://192.168.137.1:2869/upnphost/udhisapi.dll?content=uuid:6b44aba2-cb91-4b33-88e6-efe78d60fe66)
foo_upnp: FINE: connecting to 192.168.137.1:2869
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 192.168.137.1:2869
foo_upnp: FINEST: header - Content-Length: 5868
foo_upnp: FINEST: header - Content-Type: text/xml; charset="utf-8"
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0 Microsoft-HTTPAPI/2.0
foo_upnp: FINEST: header Date: Sun, 23 Aug 2009 23:02:24 GMT
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINE: requesting URL http://192.168.137.1:2869/upnphost/udhisap...92-a0e9d1f4c5ce (http://192.168.137.1:2869/upnphost/udhisapi.dll?content=uuid:72c49287-d2be-404f-9e92-a0e9d1f4c5ce)
foo_upnp: FINE: connecting to 192.168.137.1:2869
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 192.168.137.1:2869
foo_upnp: FINEST: header - Content-Length: 780
foo_upnp: FINEST: header - Content-Type: text/xml; charset="utf-8"
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0 Microsoft-HTTPAPI/2.0
foo_upnp: FINEST: header Date: Sun, 23 Aug 2009 23:02:24 GMT
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: upnp:rootdevice
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::upnp:rootdevice
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINE: creating thread
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:device:MediaRenderer:1
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::urn:schemas-upnp-org:device:MediaRenderer:1
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - ST: urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header - Man: "ssdp:discover"
foo_upnp: FINEST: header MX: 3
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINE: requesting URL http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINE: connecting to 127.0.0.1:2869
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 127.0.0.1:2869
foo_upnp: FINEST: header - Content-Length: 2389
foo_upnp: FINEST: header - Content-Type: text/xml; charset="utf-8"
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0 Microsoft-HTTPAPI/2.0
foo_upnp: FINEST: header Date: Sun, 23 Aug 2009 23:02:33 GMT
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINE: requesting URL http://127.0.0.1:2869/upnphost/udhisapi.dl...b7-021a2e92a755 (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:97a299f8-8b4f-40a7-a0b7-021a2e92a755)
foo_upnp: FINE: connecting to 127.0.0.1:2869
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 127.0.0.1:2869
foo_upnp: FINEST: header - Content-Length: 6363
foo_upnp: FINEST: header - Content-Type: text/xml; charset="utf-8"
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0 Microsoft-HTTPAPI/2.0
foo_upnp: FINEST: header Date: Sun, 23 Aug 2009 23:02:33 GMT
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: upnp:rootdevice
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::upnp:rootdevice
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:device:MediaRenderer:1
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::urn:schemas-upnp-org:device:MediaRenderer:1
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - ST: urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header - Man: "ssdp:discover"
foo_upnp: FINEST: header MX: 3
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: upnp:rootdevice
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::upnp:rootdevice
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:device:MediaRenderer:1
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::urn:schemas-upnp-org:device:MediaRenderer:1
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - ST: urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header - Man: "ssdp:discover"
foo_upnp: FINEST: header MX: 3
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: upnp:rootdevice
foo_upnp: FINEST: header - NTS: ssdp:byebye
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::upnp:rootdevice
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f
foo_upnp: FINEST: header - NTS: ssdp:byebye
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:device:MediaRenderer:1
foo_upnp: FINEST: header - NTS: ssdp:byebye
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::urn:schemas-upnp-org:device:MediaRenderer:1
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - NTS: ssdp:byebye
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: upnp:rootdevice
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::upnp:rootdevice
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINE: creating thread
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:device:MediaRenderer:1
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::urn:schemas-upnp-org:device:MediaRenderer:1
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - ST: urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header - Man: "ssdp:discover"
foo_upnp: FINEST: header MX: 3
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINE: requesting URL http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINE: connecting to 127.0.0.1:2869
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 127.0.0.1:2869
foo_upnp: FINEST: header - Content-Length: 2389
foo_upnp: FINEST: header - Content-Type: text/xml; charset="utf-8"
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0 Microsoft-HTTPAPI/2.0
foo_upnp: FINEST: header Date: Sun, 23 Aug 2009 23:02:50 GMT
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINE: requesting URL http://127.0.0.1:2869/upnphost/udhisapi.dl...88-9e7cade4633c (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:9d57174b-cc5d-4ee3-8188-9e7cade4633c)
foo_upnp: FINE: connecting to 127.0.0.1:2869
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 127.0.0.1:2869
foo_upnp: FINEST: header - Content-Length: 6363
foo_upnp: FINEST: header - Content-Type: text/xml; charset="utf-8"
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0 Microsoft-HTTPAPI/2.0
foo_upnp: FINEST: header Date: Sun, 23 Aug 2009 23:02:50 GMT
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: upnp:rootdevice
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::upnp:rootdevice
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:device:MediaRenderer:1
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::urn:schemas-upnp-org:device:MediaRenderer:1
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - ST: urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header - Man: "ssdp:discover"
foo_upnp: FINEST: header MX: 3
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: upnp:rootdevice
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::upnp:rootdevice
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:device:MediaRenderer:1
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::urn:schemas-upnp-org:device:MediaRenderer:1
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - ST: urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header - Man: "ssdp:discover"
foo_upnp: FINEST: header MX: 3
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header ST: ssdp:all
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header ST: ssdp:all
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - MX: 5
foo_upnp: FINEST: header - ST: ssdp:all
foo_upnp: FINEST: header - MAN: "ssdp:discover"
foo_upnp: FINEST: header - User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINE: creating thread
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - MX: 5
foo_upnp: FINEST: header - ST: ssdp:all
foo_upnp: FINEST: header - MAN: "ssdp:discover"
foo_upnp: FINEST: header - User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header MX: 5
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header MX: 1
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header MX: 1
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header MAN: "ssdp:discover"
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - MX: 1
foo_upnp: FINEST: header - ST: upnp:rootdevice
foo_upnp: FINEST: header - MAN: "ssdp:discover"
foo_upnp: FINEST: header - User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINE: creating thread
foo_upnp: FINEST: header User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - MX: 1
foo_upnp: FINEST: header - ST: upnp:rootdevice
foo_upnp: FINEST: header - MAN: "ssdp:discover"
foo_upnp: FINEST: header - User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: header LOCATION: http://192.168.137.1:56923/DeviceDescription.xml (http://192.168.137.1:56923/DeviceDescription.xml)
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header EXT:
foo_upnp: FINEST: header USN: uuid:aa893036-41c6-ccfe-e652-b00c6203f506::upnp:rootdevice
foo_upnp: FINEST: header LOCATION: http://192.168.137.1:56923/DeviceDescription.xml (http://192.168.137.1:56923/DeviceDescription.xml)
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header EXT:
foo_upnp: FINEST: header USN: uuid:aa893036-41c6-ccfe-e652-b00c6203f506::upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header LOCATION: http://192.168.137.1:56923/DeviceDescription.xml (http://192.168.137.1:56923/DeviceDescription.xml)
foo_upnp: FINEST: header LOCATION: http://192.168.137.1:56923/DeviceDescription.xml (http://192.168.137.1:56923/DeviceDescription.xml)
foo_upnp: FINEST: header - LOCATION: http://192.168.137.1:56923/DeviceDescription.xml (http://192.168.137.1:56923/DeviceDescription.xml)
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header EXT:
foo_upnp: FINEST: header EXT:
foo_upnp: FINEST: header USN: uuid:aa893036-41c6-ccfe-e652-b00c6203f506::upnp:rootdevice
foo_upnp: FINEST: header - EXT:
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header USN: uuid:aa893036-41c6-ccfe-e652-b00c6203f506::upnp:rootdevice
foo_upnp: FINEST: header - USN: uuid:aa893036-41c6-ccfe-e652-b00c6203f506::upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINEST: header - LOCATION: http://192.168.137.1:56923/DeviceDescription.xml (http://192.168.137.1:56923/DeviceDescription.xml)
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - EXT:
foo_upnp: FINEST: header - USN: uuid:aa893036-41c6-ccfe-e652-b00c6203f506::upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINEST: header - LOCATION: http://192.168.137.1:56923/DeviceDescription.xml (http://192.168.137.1:56923/DeviceDescription.xml)
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - EXT:
foo_upnp: FINEST: header - USN: uuid:aa893036-41c6-ccfe-e652-b00c6203f506::upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINEST: header - LOCATION: http://192.168.137.1:56923/DeviceDescription.xml (http://192.168.137.1:56923/DeviceDescription.xml)
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - EXT:
foo_upnp: FINEST: header - USN: uuid:aa893036-41c6-ccfe-e652-b00c6203f506::upnp:rootdevice
foo_upnp: FINEST: header ST: upnp:rootdevice
foo_upnp: FINE: got response, code=200, msg=OK
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
foo_upnp: FINEST: header - Man: "ssdp:discover"
foo_upnp: FINEST: header MX: 3
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
foo_upnp: FINEST: header - Man: "ssdp:discover"
foo_upnp: FINEST: header MX: 3
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - ST: urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header - Man: "ssdp:discover"
foo_upnp: FINEST: header MX: 3
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
foo_upnp: FINEST: header - Man: "ssdp:discover"
foo_upnp: FINEST: header MX: 3
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - ST: urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header - Man: "ssdp:discover"
foo_upnp: FINEST: header MX: 3
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: upnp:rootdevice
foo_upnp: FINEST: header - NTS: ssdp:byebye
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::upnp:rootdevice
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f
foo_upnp: FINEST: header - NTS: ssdp:byebye
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:device:MediaRenderer:1
foo_upnp: FINEST: header - NTS: ssdp:byebye
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::urn:schemas-upnp-org:device:MediaRenderer:1
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - NTS: ssdp:byebye
foo_upnp: FINEST: header - Location: http://127.0.0.1:2869/upnphost/udhisapi.dl...5e-db8ca742f70f (http://127.0.0.1:2869/upnphost/udhisapi.dll?content=uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f)
foo_upnp: FINEST: header - USN: uuid:bcfae34c-8c35-4297-b95e-db8ca742f70f::urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - Cache-Control: max-age=1800
foo_upnp: FINEST: header - Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
foo_upnp: FINEST: header - OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
foo_upnp: FINEST: header 01-NLS: 8a246981d23235e0292a0140c79b3130
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
foo_upnp: FINEST: header - Man: "ssdp:discover"
foo_upnp: FINEST: header MX: 3
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - ST: upnp:rootdevice
foo_upnp: FINEST: header - Man: "ssdp:discover"
foo_upnp: FINEST: header MX: 3
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINE: creating thread
foo_upnp: FINEST: http request: M-SEARCH * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - ST: urn:schemas-wifialliance-org:device:WFADevice:1
foo_upnp: FINEST: header - Man: "ssdp:discover"
foo_upnp: FINEST: header MX: 3
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: GET /DeviceDescription.xml HTTP/1.1
foo_upnp: FINEST: header - Cache-Control: no-cache
foo_upnp: FINEST: header - Connection: Keep-Alive
foo_upnp: FINEST: header - Pragma: no-cache
foo_upnp: FINEST: header - Accept: text/xml, application/xml
foo_upnp: FINEST: header - User-Agent: FDSSDP
foo_upnp: FINEST: header Host: 192.168.167.1:56923
foo_upnp: INFO: received LAN request: http://192.168.167.1:56923/DeviceDescription.xml (http://192.168.167.1:56923/DeviceDescription.xml) (User-Agent: FDSSDP)
foo_upnp: INFO: ProcessGetDescription: user-agent: FDSSDP
foo_upnp: FINEST: header Server: Platinum/0.5.1
foo_upnp: FINEST: header Content-Length: 2901
foo_upnp: FINEST: header Content-Type: text/xml; charset="utf-8"
foo_upnp: FINEST: header Connection: keep-alive
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - NT: urn:schemas-upnp-org:service:RenderingControl:1
foo_upnp: FINEST: header - NTS: ssdp:byebye
foo_upnp: FINEST: header - Location: [url=http://127.0.0.1:2869/upnphost/udhisapi.dll?c
Title: foo_upnp
Post by: wraithdu on 2009-08-24 06:41:44
I found this plugin today, and I must say it's pretty sweet

I did however have a hell of a time getting it working on my iPhone with PlugPlayer over 3G (iPhone OS 3.0.1, PP 2.3.1, fb2k 0.9.6.8, UPnP 0.99.11).  WiFi setup was a breeze, as PlugPlayer found the server without any problem.  However trying the steps outlined here:

http://nerdlets.org/2009/05/07/set-up-a-up...ith-foobar2000/ (http://nerdlets.org/2009/05/07/set-up-a-upnp-media-server-with-foobar2000/)

was pointless.  I finally figured out I had to add the device manually and entered (basically):

http://myserver.no-ip.org:12345/namepass (http://myserver.no-ip.org:12345/namepass)

and luckily PP found the server.  Hopefully you can outline this more prominantly for anyone else having the same problem.

I still have one problem however, and that is that I can't figure out how to seek through song playback.  I thought seeking was supported, maybe just not for PlugPlayer?  One more thing I'd change, is the default PP profile has transcoding disabled for 'lossless and internet'.  You might want to change that, as the iPhone definitely can't play lossless FLAC, and 3G probably couldn't handle the ALAC bandwidth.

Anyway, keep up the great work.  I can't wait to see what more becomes of this plugin.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-24 11:22:07
My observations are as follows:
1. While any form of debugging is enabled you can see the server but you cannot get the album / artist listings in both media player 12 and foobar upnp browser panel
2. Last three lines appeared when i tried browsing from foobar. After that nothing more was logged. Pressing the close button renders foobar unresponsive and it just stays that way.


The last lines are suspicious. WMP http server replied with an Internal server error. I may be able to simulate that and see what happens.

I did however have a hell of a time getting it working on my iPhone with PlugPlayer over 3G (iPhone OS 3.0.1, PP 2.3.1, fb2k 0.9.6.8, UPnP 0.99.11).  WiFi setup was a breeze, as PlugPlayer found the server without any problem.  However trying the steps outlined here:
http://nerdlets.org/2009/05/07/set-up-a-up...ith-foobar2000/ (http://nerdlets.org/2009/05/07/set-up-a-upnp-media-server-with-foobar2000/)
was pointless.  I finally figured out I had to add the device manually and entered (basically):
http://myserver.no-ip.org:12345/namepass (http://myserver.no-ip.org:12345/namepass)
and luckily PP found the server.  Hopefully you can outline this more prominantly for anyone else having the same problem.


Yes, some more comprehensive documentation wouldn't hurt. I'll be working on that soon.

Quote
I still have one problem however, and that is that I can't figure out how to seek through song playback.  I thought seeking was supported, maybe just not for PlugPlayer?  One more thing I'd change, is the default PP profile has transcoding disabled for 'lossless and internet'.  You might want to change that, as the iPhone definitely can't play lossless FLAC, and 3G probably couldn't handle the ALAC bandwidth.


PlugPlayer doesn't support seek yet. You can ask for it on the PlugPlayer forum, the author listen to feature requests .
I'm surprised you didn't have the correct settings for PP profile. I just checked it and by default it is set to "transcode always to mp3 except "mp3, aac, m4a" or  (lossless and internet).

Thanks for reporting you have it working over 3G as it is something I can't try as I don't have an iPhone.
Alternatively you should be able to do the same using a VPN. In that case PP will autodiscover the server just like it does on the LAN.

Title: foo_upnp
Post by: wraithdu on 2009-08-24 14:36:19
I found out that PP doesn't support seeking after I had posted this (from the PP forum).  He said he'll work on it again after iPhone OS 3.1 is released, but I'll definitely be requesting it.  The dev also said that in the upcoming version 2.4.0 he is changing the behavior of the "base url" setting so it is used for everything over WAN - device description, streaming, album art, etc.  This should fix the problems I was having following the instructions from that other website.

http://www.plugplayer.com/forum/viewtopic....f6b01c5cf7#p272 (http://www.plugplayer.com/forum/viewtopic.php?f=4&t=84&sid=78db3206b48f149e081c89f6b01c5cf7#p272)

I just installed the plugin on another computer, and by default the PP profile has "transcode always to mp3 except extensions "mp3,aac,m4a" OR EXCEPT lossless and internet".  From reading that (and from testing) it means it won't transcode lossless or internet connected devices under any circumstance.  We want the opposite

I have been able to get PP working both over 3G (via manual device add) and over a Windows PPTP VPN.  However it will not auto-discover the server over VPN.  You have to set it up on the local network first so it is discovered, then it will be recognized over VPN as well.

One more thing, is it possible that items added to the PP playlist can not be invalidated when the fb2k upnp server is restarted?  As it stands, if I restart the upnp server (fb2k restart as well) everything I have in my playlist stops working.  I have to re-add the tracks/streams.  It seems the links are being invalidated/changed.  Is that something you can control?
Title: foo_upnp
Post by: wraithdu on 2009-08-24 16:48:47
I've got another interesting situation.  I have the server setup for internet access on my external IP for use from my iPhone over 3G (when I'm not using it over the VPN).  This works because it is detected as a WAN client and the correct external content URL is transmitted.  However if I connect my laptop to my home network via OpenVPN this setup breaks.  The incoming fb2k connection is seen as WAN instead of LAN, and the external IP is passed back, causing the playback connection to fail.  I think it's because OpenVPN sets up my VPN IP on a different subnet (home network is 192.168.xxx.xxx, and the OpenVPN subnet is 10.xxx.xxx.xxx).  I guess there's no way around this with my current setup unfortunately.  For now I've changed it so that the server IP is my internal IP (192.xxx.xxx.xxx).  Now I can connect via my iPhone PPTP VPN and my laptop's OpenVPN connection.  Both devices (laptop as WAN and iPhone as LAN) get back my internal server IP, which is reachable from both clients (OpenVPN is cool like that).

A future workaround might be to have a section in the server configuration to specify other subnet ranges to be considered as LAN clients instead of WAN clients.  That way I could specify my OpenVPN 10.xxx.xxx.xxx subnet as internal LAN, and I could keep my external WAN connectivity as well.

Just thought I'd throw this out there as another fun and unorthodox scenario
Title: foo_upnp
Post by: bubbleguuum on 2009-08-24 19:07:43
The dev also said that in the upcoming version 2.4.0 he is changing the behavior of the "base url" setting so it is used for everything over WAN - device description, streaming, album art, etc.  This should fix the problems I was having following the instructions from that other website.


Yes this is required for other servers (twonky in that case)  that don't set the streaming IP to the public internet address. foo_upnp sets it correctly though

Quote
I just installed the plugin on another computer, and by default the PP profile has "transcode always to mp3 except extensions "mp3,aac,m4a" OR EXCEPT lossless and internet".  From reading that (and from testing) it means it won't transcode lossless or internet connected devices under any circumstance.  We want the opposite


You're right, I inverted the condition. Will fix the profile in the next release

Quote
I have been able to get PP working both over 3G (via manual device add) and over a Windows PPTP VPN.  However it will not auto-discover the server over VPN.  You have to set it up on the local network first so it is discovered, then it will be recognized over VPN as well.


I read somewhere that OpenVPN might discard udp multicast traffic. This is used for SSDP and might explain auto discovery problems.

Quote
One more thing, is it possible that items added to the PP playlist can not be invalidated when the fb2k upnp server is restarted?  As it stands, if I restart the upnp server (fb2k restart as well) everything I have in my playlist stops working.  I have to re-add the tracks/streams.  It seems the links are being invalidated/changed.  Is that something you can control?

This is a PlugPlayer issue. Are you using the PP renderer or an external renderer ? When relaunched PlugPlayer will always reset to the PP renderer.


I've got another interesting situation.  I have the server setup for internet access on my external IP for use from my iPhone over 3G (when I'm not using it over the VPN).  This works because it is detected as a WAN client and the correct external content URL is transmitted.  However if I connect my laptop to my home network via OpenVPN this setup breaks.  The incoming fb2k connection is seen as WAN instead of LAN, and the external IP is passed back, causing the playback connection to fail.  I think it's because OpenVPN sets up my VPN IP on a different subnet (home network is 192.168.xxx.xxx, and the OpenVPN subnet is 10.xxx.xxx.xxx).  I guess there's no way around this with my current setup unfortunately.  For now I've changed it so that the server IP is my internal IP (192.xxx.xxx.xxx).  Now I can connect via my iPhone PPTP VPN and my laptop's OpenVPN connection.  Both devices (laptop as WAN and iPhone as LAN) get back my internal server IP, which is reachable from both clients (OpenVPN is cool like that).
A future workaround migh be to have a section in the server configuration to specify other subnet ranges to be considered as LAN clients instead of WAN clients.  That way I could specify my OpenVPN 10.xxx.xxx.xxx subnet as internal LAN, and I could keep my external WAN connectivity as well.
Just thought I'd throw this out there as another fun and unorthodox scenario


Interesting use case . Correct me if I'm wrong but doesn't your PC running the fb server have a (virtual) 10.x.x.x address when on the VPN ? The fb server consider the incoming connection is from the LAN when the incoming IP is in any of the subnets defined by all your interfaces listed by ipconfig (virtual or not), taking into account the netmask.
Title: foo_upnp
Post by: wraithdu on 2009-08-24 19:49:26
OpenVPN might discard multicast, but the iPhone is using the Windows PPTP VPN.  Unless OpenVPN also interferes with that?  I'll have to test some other router settings at home and also shut down OpenVPN to be sure.

LOL, I'll be damned if the broken media URL problem isn't gone now.  I have no idea why, but I'm not complaining.  Maybe it was happening when using an older version of the plugin.  But I was always only using the PP renderer.

For the last thing, that's the weird part.  Yes my PC does has a virtual 10.x.x.x address.  And it doesn't matter if I connect to the server on the 10.x.x.x interface or the 192.168.x.x interface (both work because of OpenVPN's routing).  It is always detected as WAN.  Not sure if it's useful, but here's the server startup log and both interface connection logs.  It does seem to detect all the interfaces during startup.

fb2k server startup
Code: [Select]
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.15:56923/DeviceDescription.xml]http://192.168.5.15:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:service:ConnectionManager:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:service:ConnectionManager:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.15:56923/DeviceDescription.xml]http://192.168.5.15:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db
foo_upnp: FINEST: header NT: uuid:93eed0e0-72ba-bde6-0261-93702c1243db
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.15:56923/DeviceDescription.xml]http://192.168.5.15:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::upnp:rootdevice
foo_upnp: FINEST: header NT: upnp:rootdevice
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.15:56923/DeviceDescription.xml]http://192.168.5.15:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:device:MediaServer:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:device:MediaServer:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.15:56923/DeviceDescription.xml]http://192.168.5.15:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
foo_upnp: FINEST: header NT: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.15:56923/DeviceDescription.xml]http://192.168.5.15:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.15:56923/DeviceDescription.xml]http://192.168.5.15:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:service:ConnectionManager:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:service:ConnectionManager:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.15:56923/DeviceDescription.xml]http://192.168.5.15:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db
foo_upnp: FINEST: header NT: uuid:93eed0e0-72ba-bde6-0261-93702c1243db
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.185:56923/DeviceDescription.xml]http://192.168.5.185:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::upnp:rootdevice
foo_upnp: FINEST: header NT: upnp:rootdevice
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.185:56923/DeviceDescription.xml]http://192.168.5.185:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:device:MediaServer:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:device:MediaServer:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.185:56923/DeviceDescription.xml]http://192.168.5.185:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
foo_upnp: FINEST: header NT: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.185:56923/DeviceDescription.xml]http://192.168.5.185:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.185:56923/DeviceDescription.xml]http://192.168.5.185:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:service:ConnectionManager:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:service:ConnectionManager:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.185:56923/DeviceDescription.xml]http://192.168.5.185:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db
foo_upnp: FINEST: header NT: uuid:93eed0e0-72ba-bde6-0261-93702c1243db
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.185:56923/DeviceDescription.xml]http://192.168.5.185:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::upnp:rootdevice
foo_upnp: FINEST: header NT: upnp:rootdevice
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.185:56923/DeviceDescription.xml]http://192.168.5.185:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:device:MediaServer:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:device:MediaServer:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.185:56923/DeviceDescription.xml]http://192.168.5.185:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
foo_upnp: FINEST: header NT: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.185:56923/DeviceDescription.xml]http://192.168.5.185:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.185:56923/DeviceDescription.xml]http://192.168.5.185:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:service:ConnectionManager:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:service:ConnectionManager:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://192.168.5.185:56923/DeviceDescription.xml]http://192.168.5.185:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db
foo_upnp: FINEST: header NT: uuid:93eed0e0-72ba-bde6-0261-93702c1243db
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::upnp:rootdevice
foo_upnp: FINEST: header NT: upnp:rootdevice
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::upnp:rootdevice
foo_upnp: FINEST: header NT: upnp:rootdevice
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:device:MediaServer:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:device:MediaServer:1
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:device:MediaServer:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:device:MediaServer:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
foo_upnp: FINEST: header NT: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
foo_upnp: FINEST: header NT: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:service:ConnectionManager:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:service:ConnectionManager:1
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:service:ConnectionManager:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:service:ConnectionManager:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db
foo_upnp: FINEST: header NT: uuid:93eed0e0-72ba-bde6-0261-93702c1243db
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db
foo_upnp: FINEST: header NT: uuid:93eed0e0-72ba-bde6-0261-93702c1243db
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::upnp:rootdevice
foo_upnp: FINEST: header NT: upnp:rootdevice
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::upnp:rootdevice
foo_upnp: FINEST: header NT: upnp:rootdevice
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:device:MediaServer:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:device:MediaServer:1
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:device:MediaServer:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:device:MediaServer:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
foo_upnp: FINEST: header NT: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
foo_upnp: FINEST: header NT: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:service:ContentDirectory:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:service:ConnectionManager:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:service:ConnectionManager:1
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db::urn:schemas-upnp-org:service:ConnectionManager:1
foo_upnp: FINEST: header NT: urn:schemas-upnp-org:service:ConnectionManager:1
foo_upnp: FINEST: header Host: 239.255.255.250:1900
foo_upnp: FINEST: header LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header NTS: ssdp:alive
foo_upnp: FINEST: header CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db
foo_upnp: FINEST: header NT: uuid:93eed0e0-72ba-bde6-0261-93702c1243db
foo_upnp: FINEST: http request: NOTIFY * HTTP/1.1
foo_upnp: FINEST: header - Host: 239.255.255.250:1900
foo_upnp: FINEST: header - LOCATION: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url]
foo_upnp: FINEST: header - NTS: ssdp:alive
foo_upnp: FINEST: header - CACHE-CONTROL: max-age=1800
foo_upnp: FINEST: header - Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.1
foo_upnp: FINEST: header - USN: uuid:93eed0e0-72ba-bde6-0261-93702c1243db
foo_upnp: FINEST: header NT: uuid:93eed0e0-72ba-bde6-0261-93702c1243db

10.x.x.x
Code: [Select]
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: GET /DeviceDescription.xml HTTP/1.1
foo_upnp: FINEST: header - Authorization: Basic XXXXXXXX
foo_upnp: FINEST: header - User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 10.64.75.1:56923
foo_upnp: INFO: received WAN request: [url=http://10.64.75.1:56923/DeviceDescription.xml]http://10.64.75.1:56923/DeviceDescription.xml[/url] (User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000)
foo_upnp: INFO: ProcessGetDescription: user-agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Server: Platinum/0.5.1
foo_upnp: FINEST: header Content-Length: 2875
foo_upnp: FINEST: header Content-Type: text/xml; charset="utf-8"
foo_upnp: FINEST: header Connection: keep-alive
foo_upnp: FINE: NPT_CHECK failed, result=-20014 (NPT_ERROR_TIMEOUT) [(stream.ReadLine(line, NPT_HTTP_PROTOCOL_MAX_LINE_LENGTH))]
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: GET /X_MS_MediaReceiverRegistrar/93eed0e0-72ba-bde6-0261-93702c1243db/scpd.xml HTTP/1.1
foo_upnp: FINEST: header - Authorization: Basic XXXXXXXX
foo_upnp: FINEST: header - User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 10.64.75.1:56923
foo_upnp: FINEST: header Server: Platinum/0.5.1
foo_upnp: FINEST: header Connection: keep-alive
foo_upnp: FINEST: header Content-Length: 2768
foo_upnp: FINEST: header Content-Type: text/xml; charset="utf-8"
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: GET /ContentDirectory/93eed0e0-72ba-bde6-0261-93702c1243db/scpd.xml HTTP/1.1
foo_upnp: FINEST: header - Authorization: Basic XXXXXXXX
foo_upnp: FINEST: header - User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 10.64.75.1:56923
foo_upnp: FINEST: header Server: Platinum/0.5.1
foo_upnp: FINEST: header Connection: keep-alive
foo_upnp: FINEST: header Content-Length: 6818
foo_upnp: FINEST: header Content-Type: text/xml; charset="utf-8"
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: GET /ConnectionManager/93eed0e0-72ba-bde6-0261-93702c1243db/scpd.xml HTTP/1.1
foo_upnp: FINEST: header - Authorization: Basic XXXXXXXX
foo_upnp: FINEST: header - User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 10.64.75.1:56923
foo_upnp: FINEST: header Server: Platinum/0.5.1
foo_upnp: FINEST: header Connection: keep-alive
foo_upnp: FINEST: header Content-Length: 4410
foo_upnp: FINEST: header Content-Type: text/xml; charset="utf-8"

192.168.x.x
Code: [Select]
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: GET /DeviceDescription.xml HTTP/1.1
foo_upnp: FINEST: header - Authorization: Basic XXXXXXXX
foo_upnp: FINEST: header - User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 192.168.5.185:56923
foo_upnp: INFO: received WAN request: [url=http://192.168.5.185:56923/DeviceDescription.xml]http://192.168.5.185:56923/DeviceDescription.xml[/url] (User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000)
foo_upnp: INFO: ProcessGetDescription: user-agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Server: Platinum/0.5.1
foo_upnp: FINEST: header Content-Length: 2875
foo_upnp: FINEST: header Content-Type: text/xml; charset="utf-8"
foo_upnp: FINEST: header Connection: keep-alive
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: GET /X_MS_MediaReceiverRegistrar/93eed0e0-72ba-bde6-0261-93702c1243db/scpd.xml HTTP/1.1
foo_upnp: FINEST: header - Authorization: Basic XXXXXXXX
foo_upnp: FINEST: header - User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 192.168.5.185:56923
foo_upnp: FINEST: header Server: Platinum/0.5.1
foo_upnp: FINEST: header Connection: keep-alive
foo_upnp: FINEST: header Content-Length: 2768
foo_upnp: FINEST: header Content-Type: text/xml; charset="utf-8"
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: GET /ContentDirectory/93eed0e0-72ba-bde6-0261-93702c1243db/scpd.xml HTTP/1.1
foo_upnp: FINEST: header - Authorization: Basic XXXXXXXX
foo_upnp: FINEST: header - User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 192.168.5.185:56923
foo_upnp: FINEST: header Server: Platinum/0.5.1
foo_upnp: FINEST: header Connection: keep-alive
foo_upnp: FINEST: header Content-Length: 6818
foo_upnp: FINEST: header Content-Type: text/xml; charset="utf-8"
foo_upnp: FINE: creating thread
foo_upnp: FINE: thread in =======================
foo_upnp: FINEST: http request: GET /ConnectionManager/93eed0e0-72ba-bde6-0261-93702c1243db/scpd.xml HTTP/1.1
foo_upnp: FINEST: header - Authorization: Basic XXXXXXXX
foo_upnp: FINEST: header - User-Agent: Platinum/0.5.1, DLNADOC/1.50 / foobar2000
foo_upnp: FINEST: header Host: 192.168.5.185:56923
foo_upnp: FINEST: header Server: Platinum/0.5.1
foo_upnp: FINEST: header Connection: keep-alive
foo_upnp: FINEST: header Content-Length: 4410
foo_upnp: FINEST: header Content-Type: text/xml; charset="utf-8"
Title: foo_upnp
Post by: peld on 2009-08-25 18:11:56
I have a little question:

Is there way to stream an audio cd from my computer directly to a upnp client via the upnp mediaserver?

Ive tried to open the Audio CD-Playlist on the upnp-client but it doesnt show any track in it.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-25 19:06:14
Ive tried to open the Audio CD-Playlist on the upnp-client but it doesnt show any track in it.


The plugin only exposes http and file items but it could probably work with audio-cd tracks as well.
Adding in the feature request list.

Title: foo_upnp
Post by: peld on 2009-08-26 01:11:13
The plugin only exposes http and file items but it could probably work with audio-cd tracks as well.
Adding in the feature request list.

Ok, thank you! 
Title: foo_upnp
Post by: wraithdu on 2009-08-27 06:40:02
I'm curious how the upnp server manages announcing itself on the network to new upnp clients?  I've noticed when running fb2k from my laptop with the upnp browser panel that my Orb server shows up almost immediately, while I have to wait sometimes several minutes before my fb2k upnp server shows up (both servers are running on the same computer).  Is this just a hard coded delay between 'announcements'?

I'll admit I'm pretty ignorant when it comes to how upnp really works, so if 'announce' is the wrong term you'll have to forgive me
Title: foo_upnp
Post by: wraithdu on 2009-08-27 14:08:41
After more playing around, I'm not sure where the hangup is. The fb2k upnp browser finds my Orb server immediately, and WMP finds the fb2k server
right away as well. So the fb2k counterparts don't like eachother? I'm so confused...
Title: foo_upnp
Post by: bubbleguuum on 2009-08-27 16:56:03
After more playing around, I'm not sure where the hangup is. The fb2k upnp browser finds my Orb server immediately, and WMP finds the fb2k server
right away as well. So the fb2k counterparts don't like eachother? I'm so confused...


There's a problem I need to figure out where either fb or WMP won't see another fb instance.
Title: foo_upnp
Post by: wraithdu on 2009-08-27 18:48:04
Ok, good to know I'm not losing it  I was trying to troubleshoot this, playing around with OpenVPN and Windows Firewall, for a few hours the other night to no avail.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-28 01:39:02
Ok, good to know I'm not losing it  I was trying to troubleshoot this, playing around with OpenVPN and Windows Firewall, for a few hours the other night to no avail.



A silly bug introduced in 0.99.11 now fixed (first post to download):

0.99.12
---------

- silly mistake made the Media Server not appear in fb2k browser and WMP
- PlugPlayer profile will transcode lossless if Internet connection (needs to remove of foo_upnp.xml to be applied, otherwise unckeck manually "lossless" and "internet" for this profile).
- use more recent SDK
Title: foo_upnp
Post by: wraithdu on 2009-08-28 04:48:59
The download link is wrong in the first post (but I found it one level up in the foo_upnp directory).  I've verified 0.99.12 in Properties -> Components.

However the server is still not being found in the fb2k upnp browser, and now not in WMP either.  I removed foo_upnp.xml from both server and browser just to be sure.  Orb is still showing up OK, and PlugPlayer is also working well.

My system specs in case it matters:

Win7 RTM
fb2k 0.9.6.8
upnp 0.99.12

If you need other info, just let me know.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-28 19:06:53
However the server is still not being found in the fb2k upnp browser, and now not in WMP either.


Strange. Works for me? here. Using fb on XP as the server and fb/wmp on Win7 Beta in VirtualBox.
0.99.11 was definitely broken in this regard though.
Title: foo_upnp
Post by: wraithdu on 2009-08-28 23:49:42
Ok, so I've done a crapload of testing here, and come up with something (I guess).  I think there was some kind of conflict with Orb, so I uninstalled it.  After this I was still having problems.  I would restart my server computer (fb2k is set to startup with Win7) and I couldn't find the server.  If I were to restart the fb2k upnp server or restart fb2k, THEN it would show up.  WTH?  So I disabled the automatic startup of fb2k, and manually started it after the computer was fully running.  NOW my fb2k browser and WMP were able to find the server without any issue.

Any ideas on that one?  How often does the upnp server broadcast itself to Windows/network?  Just once on startup?  Every few minutes?  Does upnp even work that way?
Title: foo_upnp
Post by: wraithdu on 2009-08-29 04:07:11
Here's another piece to the puzzle, at least this time it's reproduceable.

1.  Restart server computer.
2.  Wait a minute, start fb2k server, wait a minute, start fb2k browser (on laptop) -> upnp server is visible in browser.
3.  Start OpenVPN on server, wait a minute, restart fb2k browser -> upnp server is STILL visible in browser.
4.  Restart fb2k on the server computer (not the whole computer), wait a minute, restart browser -> upnp is NO LONGER visible in browser.
5.  Close OpenVPN on server, wait a minute, restart browser -> upnp is STILL NOT visible in browser.
6.  Restart fb2k on the server computer, wait a minute, restart browser -> upnp is STILL NOT visible in browser.

At this point, nothing brings back the server in the browser but a restart of the server computer.  So there is some conflict here as well with OpenVPN.  I've googled, but I can't find any info on OpenVPN causing problems with upnp devices.  As I said before, Orb was always visible in the fb2k browser regardless of OpenVPN.
Title: foo_upnp
Post by: bubbleguuum on 2009-08-29 11:27:49
Autodiscovery uses the SSDP protocol which in turn uses UDP Multicast to announce devices. Whenever the server does not appear in the browser it is most likely UDP multicast packets that are not received by the client.
Each time the server is launched it announces itself on the network. When the browser is instanciated (either by launching fb2k or adding it to the layout), it sends an UDP multicast  Search  packet to which exisitng UPnP devices respond.
Hope this clears up how it works a bit.
It seems OpenVPN may have a problem with multicast but there's not a lot of info for it. This guy seems to have a similar problem where multicast packets won't be received:
http://openvpn.net/archive/openvpn-users/2...2/msg00156.html (http://openvpn.net/archive/openvpn-users/2006-12/msg00156.html)
What's strange is that upnp is not working anymore when you shutdown OpenVPN. But I'm not that surprised as I had UPnP not working anymore in some cases after using wireshark, and had to reboot.

I'll probably play myself with OpenVPN and i'll see how it goes. It is not totally impossible the plugin could do sth better when there is a VPN.
Title: foo_upnp
Post by: wraithdu on 2009-08-29 17:50:21
Each time the server is launched it announces itself on the network.

What/who keeps track of this announcement?  The server's OS?  If so, that might explain why it wasn't working if I started fb2k immediately with Windows.  Currently I set up a scheduled logon task that launches fb2k after a 30 second delay.  That works well

The OpenVPN thing is puzzling.  That person's post deals with upnp traversing an OpenVPN tunnel.  Here, just the fact that an OpenVPN tunnel ever existed seems to be causing problems on the local network.
Title: foo_upnp
Post by: wraithdu on 2009-08-29 18:11:14
I've had some modest success!  I was looking through my router settings and found an option in the firewall that blocks multicast traffic.  This has always been enabled by default, and I didn't think to change it because it shouldn't mean anything to the local internal network, only inbound internet traffic.  I turned it off anyway, and rebooted the whole network (modem, router, all computers).  Again I tested the list as above.  This time however, 90% of the time the fb2k server is found by the browser, regardless of the state of OpenVPN.  This is good news!  Why it doesn't work 100% of the time I don't know, but 90 is better than 0. Sometimes I still have to restart fb2k on the server computer several times until the browser can find it, but after it finds it once it seems to always find it after that for that run of the fb2k server.

This got me thinking.  Suppose my router was somehow interfereing with multicast.  Is it possible that your upnp framework uses unicast if it only detects one subnet on the host computer?  This would explain why it works just fine before OpenVPN is introduced.  Then after it is restarted and sees the OpenVPN network it switches to multicast?  I'm guessing wildly here, but there has to be some reason for this behavior.

A few suggestions to make things run a little more smoothly maybe:

1)  Have the server re-announce itself every few minutes, or once a minute, or whatever.  Hopefully that is standards compliant...
2)  Place a manual refresh button in the browser so you can manually search for new (or old) upnp devices without having to restart fb2k.

I have a feeling there's a timing issue somewhere in here that is elusive, so these two changes might help alleviate that.
Title: foo_upnp
Post by: MordredKLB on 2009-09-02 00:52:27
So I'm having a weird problem. When I try and right click on the browser panel to bring up the context menu so that I can add my remote server, I get this context menu:

(http://i26.tinypic.com/v6ri4k.png)

I don't seem to get a UPnP context menu, no matter what I do. Any ideas what could be causing this? I don't seem to have this problem with any other ui_columns elements.
Title: foo_upnp
Post by: icwong on 2009-09-02 05:37:06
EDIT: you can try to set a column to $meta(artist,0) and see if it always display the artist.

Thanks for the suggestion.  I tried it and it is returning "Unknown".  I still can't find a pattern as to when it gets the artist tag successfully and when it does not.  Is there any other test I can do to help?


I had some more time to look into this and here's what I found.

In the properties of a file that does not show the artist properly, I see:

<UPNPDIDL>:
Code: [Select]
<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/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/"><item id="1$12$1684301006$1684301013$3026479887" refID="1$268435466$2013266774" parentID="1$12$1684301006$1684301013" restricted="1">
  <dc:title>Party Up</dc:title>
  <dc:creator>Unknown</dc:creator>
  <upnp:artist>DMX</upnp:artist>
  <upnp:album>Unknown</upnp:album>
  <upnp:genre>Unknown</upnp:genre>
  <res size="6446891" duration="0:04:29.000" protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000">http://removedip/disk/music/DLNA-PNMP3-OP01-FLAGS01700000/O1$12$1684301006$1684301013$3026479887.mp3</res>
  <upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item></DIDL-Lite>

<UPNPSIZE>:
6446891




This second file does show the artist, but only when foobar actually plays the song.  I don't know why it only shows the artist when it plays the song, because when I look at the file properties through foobar, the UPNP tags appear to be complete:

<UPNPDIDL>:
Code: [Select]
<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/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/"><item id="1$12$1684301006$1684301013$3026479965" refID="1$268435466$2013266813" parentID="1$12$1684301006$1684301013" restricted="1">
  <dc:title>On My Block</dc:title>
  <dc:creator>Unknown</dc:creator>
  <upnp:artist>Scarface</upnp:artist>
  <upnp:album>Unknown</upnp:album>
  <upnp:genre>Blues</upnp:genre>
  <dc:date>2002-01-01</dc:date>
  <res size="5079839" duration="0:03:32.000" protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=01700000000000000000000000000000">http://removedip/disk/music/DLNA-PNMP3-OP01-FLAGS01700000/O1$12$1684301006$1684301013$3026479965.mp3</res>
  <upnp:class>object.item.audioItem.musicTrack</upnp:class>
</item></DIDL-Lite>

<UPNPSIZE>:
5079839


I am using foobar 9.6.9 and foo_upnp 0.99.12.  Files are being streamed from a TwonkyMedia Server 4.4.17.  Clearly the artist information does exist for both files, but for the first one, it never shows it in foobar, and in the second one, it only shows when I play the song.  (As an aside, the track title always appears.)

Nobody else have this issue?
Title: foo_upnp
Post by: bubbleguuum on 2009-09-02 20:26:35
I am using foobar 9.6.9 and foo_upnp 0.99.12.  Files are being streamed from a TwonkyMedia Server 4.4.17.  Clearly the artist information does exist for both files, but for the first one, it never shows it in foobar, and in the second one, it only shows when I play the song.  (As an aside, the track title always appears.)


Fixed in 0.99.13 (first post to download):

- browser: fix: %artist% not appearing with Twonky and possibly other Media Servers (was using dc:creator instead of upnp:artist)
- server: new: can stream cdda:// items. Play works only if cd not playing on the server. Seek is slow
- server: fix: can stream (as PCM or MP3) xa:// items managed by foo_adpcm, and other foo_adpcm items without crashing.
Title: foo_upnp
Post by: bubbleguuum on 2009-09-02 20:42:51
I don't seem to get a UPnP context menu, no matter what I do. Any ideas what could be causing this? I don't seem to have this problem with any other ui_columns elements.


What CUI container did you use to put the upnp panel in ?
Title: foo_upnp
Post by: MordredKLB on 2009-09-02 23:07:33
What CUI container did you use to put the upnp panel in ?

Panel Stack Splitter
Title: foo_upnp
Post by: bubbleguuum on 2009-09-02 23:22:46
What CUI container did you use to put the upnp panel in ?

Panel Stack Splitter


Did you try right-clicking in an empty area of the browser ? displays the browser's menu for me.
Title: foo_upnp
Post by: MordredKLB on 2009-09-02 23:37:54
Did you try right-clicking in an empty area of the browser ? displays the browser's menu for me.

Yup. No matter where I click I get the exact same menu, unless I right click on the text box, and then I get the Cut/Copy/Paste contextual menu. Is there any way another panel could somehow be interfering? I assume that menu I'm getting is for the PSS because I have the option to add panels/splitters/etc. into the container. I move the PSS containing the UPnP Browser to the top of the stack, and still have the same problem, so I don't really know what to do.
Title: foo_upnp
Post by: Dauntless on 2009-09-03 03:15:59
I can't find any titles on my PS3. I find all the folders, including Artists, Albums and Playlists and more. But there are no titles :\ Have I done anything wrong? I tried searching the thread, but found nothing.
Title: foo_upnp
Post by: marc2003 on 2009-09-03 03:42:35
Panel Stack Splitter


how are you positioning your panel? i find some panels won't show the context menu if using $movepanel_c  - instead use the panel list to set this stuff.
Title: foo_upnp
Post by: Googer on 2009-09-03 06:08:30
Great plugin - with fb2k's great codec support this should mean, for example, that I should be able to listen to all the various game formats from foo_gep, etc., on my 360.  I say should, as opposed to can, because I'm finding that a lot of formats (mainly ones with subsongs) aren't working properly.  On another instance of fb2k, I get 404 errors (Unable to open item for playback (File Not Found (404)):
"upnp://aHR0cDovLzE5Mi4xNjguMC4xOTc6NTY5MjMvY29udGVudC8wYTE1MGYyMmQwYTc4NmMyODdmYzY3YzAwYzY3NDdjYS5taW5pMnNm") trying to actually play a lot of them from the server and they similarly don't work from my 360, presumably for the same reason.

My sources are mostly the archives from vgm.hcs64.com.  NSF's are somewhat hit-or-miss, SPC's and VGM's don't work at all, etc., etc.  Is this a known limitation / problem that I missed or have I stumbled across a new bug?  FWIW, I left the songs in their archives as-downloaded, but they do in fact show up in and play fine when browsing the local song library and they obviously are selectable for playing via UPnP; just the actual playing doesn't work...
Title: foo_upnp
Post by: bubbleguuum on 2009-09-03 12:53:23
Great plugin - with fb2k's great codec support this should mean, for example, that I should be able to listen to all the various game formats from foo_gep, etc., on my 360.  I say should, as opposed to can, because I'm finding that a lot of formats (mainly ones with subsongs) aren't working properly.


Probably a bug, never tried items managed by foo_gep. I'll try and see how it goes.
Title: foo_upnp
Post by: MordredKLB on 2009-09-03 16:48:48
Panel Stack Splitter


how are you positioning your panel? i find some panels won't show the context menu if using $movepanel_c  - instead use the panel list to set this stuff.


Well, I was using $movepanel_c, but on your suggestion I took that out and still no dice. I've tried it with different themes, in different containers, and still no luck. Is there possibly some kind of dependency or version incompatibility that I'm overlooking?
Title: foo_upnp
Post by: bubbleguuum on 2009-09-03 18:35:20
Well, I was using $movepanel_c, but on your suggestion I took that out and still no dice. I've tried it with different themes, in different containers, and still no luck. Is there possibly some kind of dependency or version incompatibility that I'm overlooking?


It works for me with CUI 0.3.7.8, Panel Stack Splitter 0.3.8(alpha) with this simple disposition in CUI

Code: [Select]
Panel Stack Splitter
          UPnP Browser


Maybe you have a Panel Stack Splitter option enabled that conflicts with panels menus ?

Anyway in a future version, the "connect to remote server" functionality will also be exposed in the main menu.
Title: foo_upnp
Post by: bubbleguuum on 2009-09-03 19:39:43
Great plugin - with fb2k's great codec support this should mean, for example, that I should be able to listen to all the various game formats from foo_gep, etc., on my 360.  I say should, as opposed to can, because I'm finding that a lot of formats (mainly ones with subsongs) aren't working properly.  On another instance of fb2k, I get 404 errors (Unable to open item for playback (File Not Found (404)):
"upnp://aHR0cDovLzE5Mi4xNjguMC4xOTc6NTY5MjMvY29udGVudC8wYTE1MGYyMmQwYTc4NmMyODdmYzY3YzAwYzY3NDdjYS5taW5pMnNm") trying to actually play a lot of them from the server and they similarly don't work from my 360, presumably for the same reason.

My sources are mostly the archives from vgm.hcs64.com.  NSF's are somewhat hit-or-miss, SPC's and VGM's don't work at all, etc., etc.  Is this a known limitation / problem that I missed or have I stumbled across a new bug?  FWIW, I left the songs in their archives as-downloaded, but they do in fact show up in and play fine when browsing the local song library and they obviously are selectable for playing via UPnP; just the actual playing doesn't work...


Ok I tried and it mostly works using 0.99.13 (older versions may have problems if files have bitspersample < 16).

unpack:// items (ie 7z archives managed by foo_unpack_7z) must be streamed as PCM (or transcoded to mp3). It cannot be streamed as is but this is what the foobar2000
streaming profile will try to do by default (this is why you get a 404 error) unless you modify it. In the foobar2000 profile, you can add file extensions in the Decode to PCM section (real extensions, not the 7z extension), so these files are streamed as PCM (WAV). In the next version of the plugin, unpack:// items will be always streamed as PCM so it will be unecessary to add exception extensions.
Note that there shouldn't be any problem playing files as is, if you extract them first of the 7z and put them in a playlist.

On the X360, unpack:// items should work out of the box as stream is forced to LPCM anyway for this profile for anything that is not mp3,aac,wma. I'm surprised it didn't. You may want to remove the plugin's configuration file (foo_upnp.xml) to regenerate the default profiles. It is located either in your foobar directory or in c:\Documents And Settings\<you login>\Application Data\foobar2000.
Can you point me to an archive that didn't work on your 360? It tried successfully with Addams Family Values (1995)(Ocean).7z (contains SPC).

I could also play a NSF successfully, namely Family Mahjong (1987)(-)(Namco).nsf. Also automatically forced to PCM, as all formats that have a subsong.
Title: foo_upnp
Post by: peld on 2009-09-03 21:28:50
Just wanted to thank bubbleguum for the implementation of CDDA support. Works quite well.
Thank you!
Title: foo_upnp
Post by: MordredKLB on 2009-09-03 21:35:01
It works for me with CUI 0.3.7.8, Panel Stack Splitter 0.3.8(alpha) with this simple disposition in CUI

Code: [Select]
Panel Stack Splitter
           UPnP Browser


Maybe you have a Panel Stack Splitter option enabled that conflicts with panels menus ?

Anyway in a future version, the "connect to remote server" functionality will also be exposed in the main menu.

Well, I updated my CUI and Panel Stack Splitter to the same or newer versions that you have and still have the same issue. For testing I used the exact same PSS->UPnP setup with nothing else. I tried changing the base container type from PSS to Tab Stack which was a problem because after doing that I couldn't get any context menu to come up. I have the titlebar disabled by default and there was no way to load the properties page (because CTRL+P doesn't work on the UPnP panels either). Anyway I'll just await the next version which allows you to add remote servers in the Tools menu

Thanks for trying to help.
Title: foo_upnp
Post by: Googer on 2009-09-05 01:53:54
Ok I tried and it mostly works using 0.99.13 (older versions may have problems if files have bitspersample < 16).

unpack:// items (ie 7z archives managed by foo_unpack_7z) must be streamed as PCM (or transcoded to mp3). It cannot be streamed as is but this is what the foobar2000
streaming profile will try to do by default (this is why you get a 404 error) unless you modify it. In the foobar2000 profile, you can add file extensions in the Decode to PCM section (real extensions, not the 7z extension), so these files are streamed as PCM (WAV). In the next version of the plugin, unpack:// items will be always streamed as PCM so it will be unecessary to add exception extensions.
Note that there shouldn't be any problem playing files as is, if you extract them first of the 7z and put them in a playlist.

On the X360, unpack:// items should work out of the box as stream is forced to LPCM anyway for this profile for anything that is not mp3,aac,wma. I'm surprised it didn't. You may want to remove the plugin's configuration file (foo_upnp.xml) to regenerate the default profiles. It is located either in your foobar directory or in c:\Documents And Settings\<you login>\Application Data\foobar2000.
Can you point me to an archive that didn't work on your 360? It tried successfully with Addams Family Values (1995)(Ocean).7z (contains SPC).

I could also play a NSF successfully, namely Family Mahjong (1987)(-)(Namco).nsf. Also automatically forced to PCM, as all formats that have a subsong.
I took your advice with deleting the foo_upnp.xml from my foobar2000 profile directory and sure enough, it seems to be mostly well-behaved now, possibly perfectly on the 360 (I haven't done truly exhaustive testing yet but thus far everything has played fine).  I had only started using foo_upnp with 0.99.12 and based on your changelog I didn't think 12->13 should have made a difference as far as possibly having a stale configuration getting in the way but whatever.

There's still problems with the foobar2000 profile but you already explained what and why, that it should be fixed in the next version, and a couple possible work-arounds I could do for the time-being if I'm impatient (either unpack the archives or add .spc, etc., as filetypes that must be transcoded).  Thanks!

-

Now, I do have a question about browsing on the 360.  Since a lot of games have multiple artists, with the default browsing they get broken up into multiple albums.  I can't figure out for the life of me how to fix this - I first tried removing %album artist% from the Albums subtree in foo_upnp_ml_tree.xml but that only fixed this when browsing on my PC, so I thought perhaps you were basing the browsing on the media library's 'by album' formatting instead, but pulling album artist out of its first level of browsing didn't help either.  What am I missing, or is this hard-coded right now?
Title: foo_upnp
Post by: icwong on 2009-09-06 23:35:59
- browser: fix: %artist% not appearing with Twonky and possibly other Media Servers (was using dc:creator instead of upnp:artist)


Works for me!  Thank you for the fix!
Title: foo_upnp
Post by: valand on 2009-09-10 03:52:22
Can anyone tell me how to enable UPnP Controller UI Element?
Thank you very much! 

--
I've got it!
It's perfect!
Title: foo_upnp
Post by: Zayfod on 2009-09-15 00:51:24
Hi,
  I'm trying to alter the tree file so as to display things sorted by a custom tag, but the syntax is eluding me.
So far I've got this

   <SubTree label="Scene">
      <spec>%SCENE%</spec>
      <spec type="object.container.album.musicAlbum">%SCENE%</spec>
   </SubTree>

which produces a list that goes
scene tag --- scene tag [album artist] --- tracks

and will only display all tracks under a scene tag once all the album artists have been explored.
What I'm aiming for the list to sort as
scene tag --- tracks

to display all tracks from the scene tag, but I can't work the syntax out, or find anything about it on the web.

Thanks

EDIT:-  Make that, it's a little unpredictable as to how it works. Right now it is displaying things
scene tag --- scene tag --- tracks  most odd...
Title: foo_upnp
Post by: Anomalous on 2009-09-15 03:00:34
Each <spec></spec> is a new folder level. Perhaps you just want some thing simple like

Code: [Select]
    <SubTree label="Scene">
        <spec>%SCENE%</spec>
    </SubTree>


I think it showing the tracks twice might be a bug, sounds like that same thing as this (http://www.hydrogenaudio.org/forums/index.php?showtopic=69664&st=300&p=651977&#entry651977).
Title: foo_upnp
Post by: bubbleguuum on 2009-09-15 23:27:01
to display all tracks from the scene tag, but I can't work the syntax out, or find anything about it on the web.


I you want to have a node holding a flat list of all tracks that have the SCENE tag, use:

Code: [Select]
<SubTree label="Scene" query="scene PRESENT"/>
Title: foo_upnp
Post by: bavan on 2009-09-21 10:25:42
Hi Bubblegum,

thanks for the excellent plug in. Since we recently discovered foobar with this UPNP functionality we finally were able to master our music collection in a much easier and flexible way.

I have a couple of remarks / issues I wanted to share when testing it within our environment.
I have the following media renderers: Philips NP2900, Teac WAP-4500, Samsung ue46b7020.

1) When playing songs from the UPNP queue, playback stops after one song has been played. I've found out when selecting the WAP-4500 as second device in the list, the philips NP2900 pops up as first device in the list, after playing one song your software switches to the philips np2900 (maybe because it's the first in the list and it steals away attention on your device manager) and afterwards it doesn't continue playing the second song on the WAP-4500. If I power off all devices except the WAP-4500 (it's then the one and only device in the list of media renderers) everything goes well and all songs are played perfectly one after the other.

2) When selecting the current UPNP playlist on your UPNP server to be played on a media renderer all plays well but when I clear your playlist and load a new couple of songs it doesn't refresh. So once the media renderer loads in the playlist the first loaded current playlist stays there, no matter whether your make a new list of songs or not, untill everything is powered of. It seems only the first time you connect to your plugin server the current playlist is loaded correctly. Changes afterwards are not loaded when doing a refresh.

3) When playing songs the artist name is not displayed correctly in the Foobar window of UPNP (it always says artist unknown). Only the track title shows up correctly. However on the media renderer devices everything shows up correctly.

Hopefully you can have a look at my remarks and find a solution for it.

I've installed al latest versions of software and plugin so that should be OK. Don't hesitate to contact me if you have questions or want me to test a number of things to solve this minor problems.

BR
Title: foo_upnp
Post by: bubbleguuum on 2009-09-21 19:46:55
1) When playing songs from the UPNP queue, playback stops after one song has been played. I've found out when selecting the WAP-4500 as second device in the list, the philips NP2900 pops up as first device in the list, after playing one song your software switches to the philips np2900 (maybe because it's the first in the list and it steals away attention on your device manager) and afterwards it doesn't continue playing the second song on the WAP-4500. If I power off all devices except the WAP-4500 (it's then the one and only device in the list of media renderers) everything goes well and all songs are played perfectly one after the other.


If I understand you correctly, in the UPnP Controller renderer combo box initially you had:

1. the np29000
2. the WAP-4500

You then select the WAP-4500, play a track on it via the UPnP Controller Queue and when it reached the end of track the np29000 was selected (in the combo box), instead of playing next track on the WAP-4500

The only thing I can think of happen is that the WAP-4500 disappeared from the list at end of track (which would indeed make the UPnP controller switch to the previous renderer in list.
There' no reason for a device to disappear suddenly except if it is powered off or if it crashes.

2) When selecting the current UPNP playlist on your UPNP server to be played on a media renderer all plays well but when I clear your playlist and load a new couple of songs it doesn't refresh. So once the media renderer loads in the playlist the first loaded current playlist stays there, no matter whether your make a new list of songs or not, untill everything is powered of. It seems only the first time you connect to your plugin server the current playlist is loaded correctly. Changes afterwards are not loaded when doing a refresh.


I'm not sure I understand what you mean. Can you describe step by step exactly what you did ? I assume the playlist you're talking about is the "UPnP Controller Playing Queue" playlist ?

3) When playing songs the artist name is not displayed correctly in the Foobar window of UPNP (it always says artist unknown). Only the track title shows up correctly. However on the media renderer devices everything shows up correctly.

That means for some reason the renderer sent back the artist name incorrectly to the UPnP Controller.

All of these problems are very difficult to troubleshoot without having the actual hardware.
Title: foo_upnp
Post by: bavan on 2009-09-21 21:55:08
[blockquote]
1) When playing songs from the UPNP queue, playback stops after one song has been played. I've found out when selecting the WAP-4500 as second device in the list, the philips NP2900 pops up as first device in the list, after playing one song your software switches to the philips np2900 (maybe because it's the first in the list and it steals away attention on your device manager) and afterwards it doesn't continue playing the second song on the WAP-4500. If I power off all devices except the WAP-4500 (it's then the one and only device in the list of media renderers) everything goes well and all songs are played perfectly one after the other.


If I understand you correctly, in the UPnP Controller renderer combo box initially you had:

1. the np29000
2. the WAP-4500

You then select the WAP-4500, play a track on it via the UPnP Controller Queue and when it reached the end of track the np29000 was selected (in the combo box), instead of playing next track on the WAP-4500

The only thing I can think of happen is that the WAP-4500 disappeared from the list at end of track (which would indeed make the UPnP controller switch to the previous renderer in list.
There' no reason for a device to disappear suddenly except if it is powered off or if it crashes.

[indent][/blockquote]Bubblegum I found out this behaviour might be caused specifically by the NP2900. In standby mode the NP2900 seems to keep the stream active in the background and polls the server about each minute to fast resume when you power it on again so the NP2900 immediately continues playing the song it was playing before when you put it in standby mode. This doesn't happen if you completely power off the NP2900. Philips calls this the fast resume feature and the funny thing is I haven't found any option to disable it for standby mode. It's the same when streaming music from the internet (internet radio). For one reason or the other Philips believes that when you power on the device from standby it should immediately continues to play music from where it was put in standby before. Probably when you use the device as a clock radio it needs to be that way to make sure it plays music when it awakes you in the morning. Maybe because of this feature the NP2900 steals away attention from your device manager? Probably it's the same for the NP2500 (same firmware) and maybe also the NP1200 (not sure as it has a different firmware compared to the NP2900). This behavious dissappears when you realy power off the NP2900 as the WAP-4500 then  plays normally song after song. I'm not sure if you could block such hijacks and if it makes sense what I'm trying to explain? I do not know whether you could power off a media renderer remotely by sending some command codes to it but having the option to click a software button to do this would certainly be a nice option to have on your plug in. Probably it could also be an option in the settings panel or an option in the UPnP control panel which can be clicked to first disable all media renderers except the one which was selected to play music. Just an idea?

[blockquote]
2) When selecting the current UPNP playlist on your UPNP server to be played on a media renderer all plays well but when I clear your playlist and load a new couple of songs it doesn't refresh. So once the media renderer loads in the playlist the first loaded current playlist stays there, no matter whether your make a new list of songs or not, untill everything is powered of. It seems only the first time you connect to your plugin server the current playlist is loaded correctly. Changes afterwards are not loaded when doing a refresh.


I'm not sure I understand what you mean. Can you describe step by step exactly what you did ? I assume the playlist you're talking about is the "UPnP Controller Playing Queue" playlist ?

[indent][/blockquote]Bubblegum I'm talking indeed about the "UPnp Controller Playing Queue" playlist. The first time you power on Foobar and select the UPnp controller playlist from the media renderer everything shows up normally. If you clear the UPnP controller playlist on the computer and load new songs into it, in fact build a new UPnp controller playlist with new selected songs, the media renderer keeps the first UPnP controller playlist still in his memory and doesn't load in the second new build UPnP controller playlist until you quit Foobar and start Foobar again. So in fact to make the media renderer load new build or changed UPnp controller playlists you need to quit Foobar and start it again in between new playlists. I hope this makes it a bit clear for you to understand what I mean. This behaviour is not media renderer specific as it happens on all the different devices I have.

[blockquote]
3) When playing songs the artist name is not displayed correctly in the Foobar window of UPNP (it always says artist unknown). Only the track title shows up correctly. However on the media renderer devices everything shows up correctly.

That means for some reason the renderer sent back the artist name incorrectly to the UPnP Controller.

[indent][/blockquote]Bubblegum, you are 100% right. It is the media renderer which is causing the unknow artist display within the Foobar UPnP window. The WAP-4500 doesn't seem to return the artist correctly although on its own display it shows up normally. Unfortunately not in the Foobar UPnP control displayed window. With the NP2900 all displays correctly so I'll send a note to Teac for their next WAP-4500 firmware release (current firmware = v1.2.3.4).

[blockquote]All of these problems are very difficult to troubleshoot without having the actual hardware.

[indent][/blockquote]Bubblegum I fully understand your remark and do also appreciate very much the effort you put in developping this plug in. I believe you have delivered a fine peace of software far much better than most of the big boys deliver out of the box. So if can help in debugging a number of things I would be more than happy to test future evolutions.  Let me know and keep up the good work.

Title: foo_upnp
Post by: bavan on 2009-09-21 23:33:33
[blockquote]
1) When playing songs from the UPNP queue, playback stops after one song has been played. I've found out when selecting the WAP-4500 as second device in the list, the philips NP2900 pops up as first device in the list, after playing one song your software switches to the philips np2900 (maybe because it's the first in the list and it steals away attention on your device manager) and afterwards it doesn't continue playing the second song on the WAP-4500. If I power off all devices except the WAP-4500 (it's then the one and only device in the list of media renderers) everything goes well and all songs are played perfectly one after the other.


If I understand you correctly, in the UPnP Controller renderer combo box initially you had:

1. the np29000
2. the WAP-4500

You then select the WAP-4500, play a track on it via the UPnP Controller Queue and when it reached the end of track the np29000 was selected (in the combo box), instead of playing next track on the WAP-4500

The only thing I can think of happen is that the WAP-4500 disappeared from the list at end of track (which would indeed make the UPnP controller switch to the previous renderer in list.
There' no reason for a device to disappear suddenly except if it is powered off or if it crashes.

[indent][/blockquote]Bubblegum I found out this behaviour might be caused specifically by the NP2900. In standby mode the NP2900 seems to keep the stream active in the background and polls the server about each minute to fast resume when you power it on again so the NP2900 immediately continues playing the song it was playing before when you put it in standby mode. This doesn't happen if you completely power off the NP2900. Philips calls this the fast resume feature and the funny thing is I haven't found any option to disable it for standby mode. It's the same when streaming music from the internet (internet radio). For one reason or the other Philips believes that when you power on the device from standby it should immediately continues to play music from where it was put in standby before. Probably when you use the device as a clock radio it needs to be that way to make sure it plays music when it awakes you in the morning. Maybe because of this feature the NP2900 steals away attention from your device manager? Probably it's the same for the NP2500 (same firmware) and maybe also the NP1200 (not sure as it has a different firmware compared to the NP2900). This behavious dissappears when you realy power off the NP2900 as the WAP-4500 then  plays normally song after song. I'm not sure if you could block such hijacks and if it makes sense what I'm trying to explain? I do not know whether you could power off a media renderer remotely by sending some command codes to it but having the option to click a software button to do this would certainly be a nice option to have on your plug in. Probably it could also be an option in the settings panel or an option in the UPnP control panel which can be clicked to first disable all media renderers except the one which was selected to play music. Just an idea?

[blockquote]
2) When selecting the current UPNP playlist on your UPNP server to be played on a media renderer all plays well but when I clear your playlist and load a new couple of songs it doesn't refresh. So once the media renderer loads in the playlist the first loaded current playlist stays there, no matter whether your make a new list of songs or not, untill everything is powered of. It seems only the first time you connect to your plugin server the current playlist is loaded correctly. Changes afterwards are not loaded when doing a refresh.


I'm not sure I understand what you mean. Can you describe step by step exactly what you did ? I assume the playlist you're talking about is the "UPnP Controller Playing Queue" playlist ?

[indent][/blockquote]Bubblegum I'm talking indeed about the "UPnp Controller Playing Queue" playlist. The first time you power on Foobar and select the UPnp controller playlist from the media renderer everything shows up normally. If you clear the UPnP controller playlist on the computer and load new songs into it, in fact build a new UPnp controller playlist with new selected songs, the media renderer keeps the first UPnP controller playlist still in his memory and doesn't load in the second new build UPnP controller playlist until you quit Foobar and start Foobar again. So in fact to make the media renderer load new build or changed UPnp controller playlists you need to quit Foobar and start it again in between new playlists. I hope this makes it a bit clear for you to understand what I mean. This behaviour is not media renderer specific as it happens on all the different devices I have.

[blockquote]
3) When playing songs the artist name is not displayed correctly in the Foobar window of UPNP (it always says artist unknown). Only the track title shows up correctly. However on the media renderer devices everything shows up correctly.

That means for some reason the renderer sent back the artist name incorrectly to the UPnP Controller.

[indent][/blockquote]Bubblegum, you are 100% right. It is the media renderer which is causing the unknow artist display within the Foobar UPnP window. The WAP-4500 doesn't seem to return the artist correctly although on its own display it shows up normally. Unfortunately not in the Foobar UPnP control displayed window. With the NP2900 all displays correctly so I'll send a note to Teac for their next WAP-4500 firmware release (current firmware = v1.2.3.4).

[blockquote]All of these problems are very difficult to troubleshoot without having the actual hardware.

[indent][/blockquote]Bubblegum I fully understand your remark and do also appreciate very much the effort you put in developping this plug in. I believe you have delivered a fine peace of software far much better than most of the big boys deliver out of the box. So if I can help in debugging a number of things I would be more than happy to test future evolutions.  Let me know and keep up the good work.


Title: foo_upnp
Post by: bavan on 2009-09-22 00:06:02
Bubblegum,

I was thinking on how to reproduce the problem I've found out with the NP-2900 & the WAP-4500.
Maybe the following thing is happening (I can not test it for the moment as the house is asleep now).

My wife starts foobar and the UPnp control panel is pointing to the NP2900 but she didn't notice (the order in which devices are displayed and selected in your panel as first, second or third seems to change from time to time). She makes a playlist in your UPnP control queue playlist and hits the button to play music.
Probably the NP2900 starts to play but she doesn't hear anything as it is placed in another room. Then without stopping the NP2900, probably she then discovered she first didn't select the WAP-4500 which was probably listed as second or third device and therefore initially not visible on your control panel, she selects the WAP-4500 and hits the play button again.
The WAP-4500 starts to play but stops after playing 1 song (probably the NP2900 takes over again when it changes songs ?).

Then afterwards the NP2900, even if it has finished the playlist, keeps steeling away control of the playlist because of its "Fast resume option" until a stop or multiple stops are send to it or till you power it off completely (Standby on the NP2900 keeps the stream alive in the background - See following URL on the Philips forum http://www.streamiumcafe.com/vBulletin/sho...ad.php?t=20612) (http://www.streamiumcafe.com/vBulletin/showthread.php?t=20612)).

Does this makes sense?

If yes would it be an option when you select another device than the one which is already playing for the UPnp control queued playlist to ask a question to stop the first selected device or by means of setting an option in the config that your plug in should send some commands to stop other device(s ?) making use of the current playlist when at the same time selecting another media renderer to start playing music from your control point?

I'll try to test this out somewhere this week if the wife allows me to spend time on it. Not always easy to keep the WAF positive with all these electronic gadgets in the house.

If you could make your plug in WAF proove for this that would be fantastic together with fixing the second point on the changed or new playlist loading from the media renderer itself (see previous post).

PS: I tried to attach the foobar config (zipped) file but don't know how this works on this forum.
Title: foo_upnp
Post by: itazurajackson on 2009-09-23 18:41:50
Observations: fantastic component, thank you!  I installed the latest foobar2k, loaded your component, adjusted my firewall settings, and was streaming successfully to a hardware renderer (Philips NP1100/37) on my LAN within minutes. I had been using foobar 0.8 for years and had never seen any compelling reason to upgrade to ver 0.9+, but this component offered sufficient impetus!

General feature request:
    Permit navigation of media library via directory structure.

Quirky self-serving feature request (driven by limitations of my hardware renderer):
    The Philips NP1100 has awful metadata display options during playback.  By default, only the track title is displayed.  With the push of a button on the remote, it is possible (but only on a track by track basis) to trigger a scrolling display that shows TITLE / ALBUM / ARTIST (in that order).  This is inconvenient -- not only because one needs to find and manually press a button on the remote for each track, but also because the scrolling speed on the unit's display is so dreadfully slow that waiting to see the album and artist data (which is what I really want in most cases) is a maddening exercise.  So here's my question: without actually altering the content of my files' tags, can I customize the nature/format of the "TITLE" data sent out by the server during playback to trick my Philips NP1100 into showing default "now playing" info that suits my preferences: (e.g. "%ARTIST% - %title% (%album%)".  A request framed by very local concerns, I know.... but may be relevant for users of other renderers?

Cheers




Title: foo_upnp
Post by: bavan on 2009-09-26 14:37:42
L&G's,

I've been trying to reproduce and isolate my problem on the WAP-4500 sometimes playing 1 or max 2 songs and then stopping playback using the uPnp control plug in from bubbleguum. I assumed it was due to the Philips NP2900 fast resume feature, as explained in above topics, but I'm afraid that's only part of the story. I discovered even with the NP2900 completely switched off I also have this issue on the WAP-4500. My WAP-4500 is connected after 2 switches (Netgear GS108T managed switch with multimedia QOS + Netgear G108 unmanaged swith - 8 port each) and I do not know whether this could cause a problem but when the WAP-4500 stops playing the uPnP control panel displays the message 'Play error: Actions failed (501)'.
Has anyone else encountered this type of uPnP control plug-in error and if Yes what does it mean?

To be sure I've enlarged all Foobar buffers for network and playback to the maximum value to see whether this could help but so far the issue is still there. Are there any other parameters / buffers in Foobar I could try to change to improve network connection / playback or control on a media renderer?

Thanks in advance for some good advice.
Title: foo_upnp
Post by: TREX6662k6 on 2009-09-26 18:03:10
Hey there,

Having a wee bit of a problem using this with Simplify Media.

I get error when attempting to play files over UPnP

Opening track for playback: "upnp://aHR0cDovLzE5Mi4xNjguMTkuMzg6NTc3MTkvUGxheS80MTI2MzYzNzI5LzY5MTcubXAz"
Could not read info (Reported file length changed) from: "upnp://aHR0cDovLzE5Mi4xNjguMTkuMzg6NTc3MTkvUGxheS80MTI2MzYzNzI5LzY5MTcubXAz"

Any ideas, if you need more info; fire away.
Title: foo_upnp
Post by: bubbleguuum on 2009-09-27 03:15:16
General feature request:
    Permit navigation of media library via directory structure.


This has been requested many times and is somewhat in the todo list but not sure when I'll implement it

Quote
So here's my question: without actually altering the content of my files' tags, can I customize the nature/format of the "TITLE" data sent out by the server during playback to trick my Philips NP1100 into showing default "now playing" info that suits my preferences: (e.g. "%ARTIST% - %title% (%album%)".

I understand what you mean and this is something I though about being configurable early on, but forgot about it. I'll see what I can do

when the WAP-4500 stops playing the uPnP control panel displays the message 'Play error: Actions failed (501)'.
Has anyone else encountered this type of uPnP control plug-in error and if Yes what does it mean?

For some unknown reason, after a few tracks, the http server of the WAP-4500 returns error code 501 (meaning it could not complete the action) when instructed to play the next song.
Without the hardware to try a few different things, it is almost impossible to guess what went wrong. Can you check you're not trying to play a file in a format it cannot handle ?
Note that for a Control Point, advancing in playlist is a pain in the ass to do reliably over a wide range of devices, because how it should be done is not really specified, and lots of device haves their own quirks (and sometimes bugs). You could try to see if advancing in playlist works better with Cidero (or another control point). If that's the case then I might do something wrong.

Opening track for playback: "upnp://aHR0cDovLzE5Mi4xNjguMTkuMzg6NTc3MTkvUGxheS80MTI2MzYzNzI5LzY5MTcubXAz"
Could not read info (Reported file length changed) from: "upnp://aHR0cDovLzE5Mi4xNjguMTkuMzg6NTc3MTkvUGxheS80MTI2MzYzNzI5LzY5MTcubXAz"


This is the foobar HTTP decoder complaining about the stream (whose decoded URL is http://192.168.19.38:57719/Play/4126363729/6917.mp3 (http://192.168.19.38:57719/Play/4126363729/6917.mp3), I assume it is a URL from the Simplify Media Server ?).
A search for this error on this forum recommends to disable "allow seeking over http" in the advanced options.
Title: foo_upnp
Post by: bavan on 2009-09-27 15:26:45
[blockquote][/indent]
when the WAP-4500 stops playing the uPnP control panel displays the message 'Play error: Actions failed (501)'.
Has anyone else encountered this type of uPnP control plug-in error and if Yes what does it mean?

For some unknown reason, after a few tracks, the http server of the WAP-4500 returns error code 501 (meaning it could not complete the action) when instructed to play the next song.
Without the hardware to try a few different things, it is almost impossible to guess what went wrong. Can you check you're not trying to play a file in a format it cannot handle ?
Note that for a Control Point, advancing in playlist is a pain in the ass to do reliably over a wide range of devices, because how it should be done is not really specified, and lots of device haves their own quirks (and sometimes bugs). You could try to see if advancing in playlist works better with Cidero (or another control point). If that's the case then I might do something wrong.

[indent][/blockquote]Bubblegum thanks for the Cidero suggestion. I've tried it and Yes the same problem is happening. The WAP-4500 also stops playing after 2 to 3 songs when using Cidero. So maybe something with the firmware implementation of uPnP direct control by Teac. Strange enough I also have this problem sometimes on my NP2900 but without the error 501 message. So maybe 2 different issues here and it's driving me crazy as the Foobar soft together with your uPnP plug-in is such a wonderfull thing to use. It's an intermitting problem and hard to reproduce so I will do a fresh install on another computer to see whether it's not computer related. There is a workaround by uploading songs into a media renderer from the Foobar server uPnP playlist. When I do that everything keeps playing but I would of course prefer direct control from the uPnP panel. Anyway I will log a ticket towards Teac to see if they can come up with something.

PS: When after receiving the error 501 on the WAP-4500 I start the next song in the playlist and everything plays again normally for 1 to 2 songs before the same error occurs on the WAP-4500. Would it be possible for your plugin to send again the song play command, maybe preceeded by a stop /reset command, when you detect error 501. The error always occurs when the next song is loaded in the playlist and wants to start playing. Maybe it's a way of getting around the problem and keep things going?

Secondly I always need to quit Foobar and restart it again to make my media renderers to load new playlists created in the uPnP queued playlist after I have loaded a first one. Maybe if you can have a look into that it would already increase useability. Note that not loading a uPnP server queued playlist the second time, after playing the first one, is happening on both my WAP-4500 as the NP2900.

Thanks already for the good support.
Title: foo_upnp
Post by: Googer on 2009-09-28 02:08:12
BTW bubbleguuum, I don't believe you answered my question / observation about browsing from my 360 (you probably missed seeing it since it was in my reply about deleting an apparently-stale config fixing my playing issues), so here it is again  :

I do have a question about browsing on the 360. Since a lot of games have multiple artists, with the default browsing they get broken up into multiple albums. I can't figure out for the life of me how to fix this - I first tried removing %album artist% from the Albums subtree in foo_upnp_ml_tree.xml but that only fixed this when browsing on my PC, so I thought perhaps you were basing the browsing on the media library's 'by album' formatting instead, but pulling album artist out of its first level of browsing didn't help either. What am I missing, or is this hard-coded right now?
Title: foo_upnp
Post by: bubbleguuum on 2009-09-29 20:03:48
PS: When after receiving the error 501 on the WAP-4500 I start the next song in the playlist and everything plays again normally for 1 to 2 songs before the same error occurs on the WAP-4500. Would it be possible for your plugin to send again the song play command, maybe preceeded by a stop /reset command, when you detect error 501. The error always occurs when the next song is loaded in the playlist and wants to start playing. Maybe it's a way of getting around the problem and keep things going?

Reissuing a Play to the device after the first one failed might work if we're lucky. I'll add it to the next version.

Secondly I always need to quit Foobar and restart it again to make my media renderers to load new playlists created in the uPnP queued playlist after I have loaded a first one. Maybe if you can have a look into that it would already increase useability. Note that not loading a uPnP server queued playlist the second time, after playing the first one, is happening on both my WAP-4500 as the NP2900.

I don't understand what you mean. What are you trying to achieve ?


I do have a question about browsing on the 360. Since a lot of games have multiple artists, with the default browsing they get broken up into multiple albums. I can't figure out for the life of me how to fix this - I first tried removing %album artist% from the Albums subtree in foo_upnp_ml_tree.xml but that only fixed this when browsing on my PC, so I thought perhaps you were basing the browsing on the media library's 'by album' formatting instead, but pulling album artist out of its first level of browsing didn't help either. What am I missing, or is this hard-coded right now?


Indeed, the X360 tree is hardcoded and not editable. The Album subtree is populated with %album%[ '['%album artist%']'].  I can see it being a problem if you don't have tag "ALBUM ARTIST" set on your VA albums files, as %album artist% would then evaluate to %artist%, and that could split a same album under several nodes.
As it is not editable, in the next version I'll just remove %album artist% from the definition above. You can also set ALBUM ARTIST on your files, that should work.
Title: foo_upnp
Post by: bubbleguuum on 2009-09-30 21:07:11
new version available with minor enhancements / fixes (first post to download):

0.99.14
---------
- server: play unpack:// items as PCM
- server: XBOX360 Album subtree don't use %album artist% anymore in album names to split albums
- server: returned track titles are now configurable with a titleformat script in the server's advanced preferences. Useful for hardware renderers that are not very configurable in the way they present track info
- controller: if Play() fails on a renderer, retry 1sec later (attempt to make buggy renderers work)
- browser: "Add Remote foobar2000 UPnP Server" command now available in the View menu, if the UPnP Browser component is instanciated
Title: foo_upnp
Post by: GeSomeone on 2009-09-30 21:15:35
Indeed, the X360 tree is hardcoded and not editable. The Album subtree is populated with %album%[ '['%album artist%']']. ...
As it is not editable, in the next version I'll just remove %album artist% from the definition above.

If it works like in the rest of foobar2000, how about %album%[ '['$meta(album artist)']']? In that case it would only evaluate if ALBUM ARTIST was filled, if not, I admit, it would hardly do anything good.

Quote
You can also set ALBUM ARTIST on your files, that should work.

That would be the proper way for VA albums
Title: foo_upnp
Post by: ironflag on 2009-09-30 23:56:42
I'm having the same problem as boombaard in post #109: although the track names are initially loaded correctly, each track that is played is replaced with a gibberish hash file name. If I right click on the track, choose Properties, click on Tools and choose Reload Info, the file metadata is restored, but that's time-consuming and tedious. I'm using Simplify Media as the remote UPNP server, if that makes a difference.
Title: foo_upnp
Post by: bavan on 2009-10-01 19:10:23
Hi Bubbleguum,

great Job. I've seen in your new release 0.99.14 you've addressed, hopely solved, some of my problems using the WAP-4500 with the "send play again command". I'll be testing the new version the coming days and will post my finding in whether this change has solved my issues where the WAP-4500 could suddenly stop after playing 1 to 2 songs in the queue list.

As for my other request:


[/indent]QUOTE (bavan @ Sep 27 2009, 16:26)
Secondly I always need to quit Foobar and restart it again to make my media renderers to load new playlists created in the uPnP queued playlist after I have loaded a first one. Maybe if you can have a look into that it would already increase useability. Note that not loading a uPnP server queued playlist the second time, after playing the first one, is happening on both my WAP-4500 as the NP2900.

I don't understand what you mean. What are you trying to achieve ?
[indent]


What I'm trying to achieve is the functionality where you can load a Foobar uPNP controller playback queued playlist by using the media renderer and once you've finished playing all the songs you can create a new list of songs in the uPNP queued playlist and reload the new list into the media renderer. What is happening is that after playing a uPNP queued list a first time you can clear it and load new songs into the queue, which by the way is working fine in Foobar, but the media renderer remembers still the previous queue and doesn't load the new queued songs. Note that all control for loading and selecting the uPnP queued playlist is done via the media renderer remote by selecting Foobar server / playlists / uPNP queued playlist. The PC is only used to select songs into the uPnP playlist queue and stream content on request of the media renderer.

I'll try to summary actions step by step:
1. PC: Start Foobar & Load songs into uPnP queue
2. WAP: Select Foobar server name / Playlists / uPnP Controller Playback Queue / Start playing songs in this queue till all songs in the queue are played
3. PC: Clear uPnP Controller Playback queue / Load new songs into uPnP queue
4. Repeat step 2 so you have a new list of songs loaded to the media renderer
Step 4 is the point where a media renderer doesn't refresh the list. The first one loaded remains actif until you quit and restart Foobar between step 2 &3 to make step 4 work.

The big advantage of loading a queue directly from a media renderer instead of using the PC is that you have control to select which song can start playing or is next or can be skipped instead of returning to the PC to do this from within Foobar. Also if you start playing songs in the list by using the PC Foobar uPnp control panel the songs will be streamed one by one and you can't see the queue playlist on the media renderer and don't know what's coming next or what's in the queue without returning to the PC.

I hope this explanation makes it more understandable, if not let me know.
Title: foo_upnp
Post by: Caleb on 2009-10-02 21:10:12
Hi,

How do I access the UPnP server from a browser from work? I can't even access it from a browser locally (yes, I've configured the Internet settings for the plugin).
I do get the HTTP Auth inputbox, but in the foobar console the component tells me that Auth has failed even though that my login credentials are correct.

It does seem to work from foobar itself though. Any ideas?

Also, are there any docs on "Streaming Profiles" page in the settings, it's a little confusing.

Thanks!
Title: foo_upnp
Post by: itazurajackson on 2009-10-02 22:04:45
Many thanks for implementing the configurable TITLE option -- works a charm!

On an unrelated note, I sometimes use the foo_lastfm_radio component to listen to last.fm radio streams in foobar.  Do you happen to know if these streams should be compatible with foo_upnp?  They don't seem to work in my Philips hardware renderer at present (NP1100/37), but I don't know if the problem is fundamental or whether it can be addressed with a simple runtime variable setting somewhere...

Thanks again - Itazura


Title: foo_upnp
Post by: bubbleguuum on 2009-10-02 22:17:05
Hi,

How do I access the UPnP server from a browser from work? I can't even access it from a browser locally (yes, I've configured the Internet settings for the plugin).
I do get the HTTP Auth inputbox, but in the foobar console the component tells me that Auth has failed even though that my login credentials are correct.

It does seem to work from foobar itself though. Any ideas?

Also, are there any docs on "Streaming Profiles" page in the settings, it's a little confusing.

Thanks!


For Internet access you need to set your *public*  ip or hostname which may or may not be the same as you PC running the server.
If it is not the same, you're probably using a router and you need to configure it to forward incoming connections on port 56923  (HTTP) (or the port you specified if you changed it)
to your PC running the server. If all settings are correct you should be able to test that it works locally, connecting with "View->Add remote foobar2000 server", and have
the server appear in the browser postfixed with [Internet].

There no real doc on Streaming Profile but to summarize it goes like this:
- the mp3 transcode rules determines if the file will be streamed transcoded to mp3
- if that's not the case the PCM rules determines if the file will be streamed as PCM.
- if the file is not streamed as PCM the file is streamed as is in whatever its native format is: mp3, ogg, etc.

There's some cases where PCM is forced (if mp3 transcode rules didn't apply):

Among others:

- files with subsong, mpc, some protocols (unpack://).
- if replaygain is enabled
- to honour the samplerate or bitdepth limitation set in the profile (for example a PS3 can only play 44.1 or 48Khz content, 16 bits)
...

////////

Now for your title problem with WMP (long URL appearing in place of the title), it is a bug introduced in 0.99.14 and that manifest only if you didn't have a previous version installed or if you delete
foo_upnp.xml containing the configuration. Until I release a fixed version, a quick fix is to set "Format title track using:" to %title%  in the Server's Advanced Settings page.
Title: foo_upnp
Post by: bubbleguuum on 2009-10-02 22:23:17
Many thanks for implementing the configurable TITLE option -- works a charm!

On an unrelated note, I sometimes use the foo_lastfm_radio component to listen to last.fm radio streams in foobar.  Do you happen to know if these streams should be compatible with foo_upnp?  They don't seem to work in my Philips hardware renderer at present (NP1100/37), but I don't know if the problem is fundamental or whether it can be addressed with a simple runtime variable setting somewhere...

Thanks again - Itazura


Some time ago I disabled lastfm:// items because I coudn't make them work for streaming.
I'll give a look again as I don't remember the exact specifics.
Title: foo_upnp
Post by: Caleb on 2009-10-02 22:24:23
Thanks for the reply bubbleguum, note that I've edited my post before your reply because I figured out the custom title workaround on my own

I do see the remote connection in foobar properly! Although trying to access it from the web browser gives an Auth fail, but I suppose that it does not matter since you cannot do anything from a browser anyway, right?

Does this mean that the only way to access my media library remotely would be through foobar + this plugin?
Title: foo_upnp
Post by: bubbleguuum on 2009-10-02 22:35:49
Thanks for the reply bubbleguum, note that I've edited my post before your reply because I figured out the custom title workaround on my own

I do see the remote connection in foobar properly! Although trying to access it from the web browser gives an Auth fail, but I suppose that it does not matter since you cannot do anything from a browser anyway, right?

Yup

Quote
Does this mean that the only way to access my media library remotely would be through foobar + this plugin?


Yes. But it is also possible to access it from a iPhone/iTouch using PlugPlayer with 3G or wifi.
Title: foo_upnp
Post by: Googer on 2009-10-05 19:04:19
I haven't tested real exhaustively as of yet but after updating foo_upnp to 0.99.14, browsing on the 360 looks to be exactly what I was looking for now.  Thank you!
Title: foo_upnp
Post by: Wadsbrau on 2009-10-07 21:10:53
Any news on implementing "folder" view in to the server?  Or is there any way to configure the current version to view the music by the folders that they are stored in?  I would love to use the server portion of the plug-in.  But i can't as my large collection relies on the music being sorted by folder instead of tags.

Thank you
Darren
Title: foo_upnp
Post by: Wadsbrau on 2009-10-07 21:43:00
Yes, I'm Streaming via wireless
I use tversity, and works fine with audio and video, so isn't a wireless problem.

http://oss.linn.co.uk/trac/wiki/KinskyPda (http://oss.linn.co.uk/trac/wiki/KinskyPda)
Title: foo_upnp
Post by: bubbleguuum on 2009-10-07 23:42:25
Any news on implementing "folder" view in to the server?  Or is there any way to configure the current version to view the music by the folders that they are stored in?  I would love to use the server portion of the plug-in.  But i can't as my large collection relies on the music being sorted by folder instead of tags.

Thank you
Darren


I will definitely implement a folder view rather sooner than later as it has been requested a lot.
However the browsing will probably be restricted to the directories declared in the Media Library.
Title: foo_upnp
Post by: Wadsbrau on 2009-10-08 00:31:19
That sounds great thank you!  I can't wait till its ready to try!

Darren
Title: foo_upnp
Post by: beto on 2009-10-08 02:33:13
I still have constant crashes with the latest version. I submitted again now some bug reports using foobar's bug report utility. Am I the only one having trouble with this plugin?
Title: foo_upnp
Post by: bubbleguuum on 2009-10-08 19:12:35
I still have constant crashes with the latest version. I submitted again now some bug reports using foobar's bug report utility. Am I the only one having trouble with this plugin?


I saw your submitted crashes. They are all identical and happen in the UPnP library I'm using, when sending a http request to an UPnP client.
I really have no clue yet why it crashes at this place but I'll investigate but it's not going easy to find why.
Another guy submitted the same crash with 0.99.12. 

Title: foo_upnp
Post by: beto on 2009-10-10 15:33:54
I see. I thank you for taking the time to look into it. 

I do not know if this is relevant but I am using tversity media server and the regular windows ssdp service in the same machine. I tried disabling both but foobar still crashes.

Another thing: version 0.99.8 does not crash.


Anyway, thank you again.
Title: foo_upnp
Post by: garbandi on 2009-10-11 13:27:39
Thanks for the great plugin!

I'm using it to play music served with mediatomb running on my NAS.

It works just fine with playing plain files from my server, but fails for server entries that use mediatomb's transcoding feature. When trying to play such an entry I receive:

[blockquote]Opening track for playback: "upnp://aHR0cDovLzE5Mi4xNjguMTI4LjI2OjQ5MTUyL2NvbnRlbnQvbWVkaWEvb2JqZWN0X2lkLzUzNC9yZXNfaWQvbm9uZS9wcl9uYW1l
L2ZsYWN3YXYvdHIvMQ=="
Could not read info (Unsupported format or corrupted file) from: "upnp://aHR0cDovLzE5Mi4xNjguMTI4LjI2OjQ5MTUyL2NvbnRlbnQvbWVkaWEvb2JqZWN0X2lkLzUzNC9yZXNfaWQvbm9uZS9wcl9uYW1l
L2ZsYWN3YXYvdHIvMQ=="
Unable to open item for playback (Unsupported format or corrupted file):
"upnp://aHR0cDovLzE5Mi4xNjguMTI4LjI2OjQ5MTUyL2NvbnRlbnQvbWVkaWEvb2JqZWN0X2lkLzUzNC9yZXNfaWQvbm9uZS9wcl9uYW1l
L2ZsYWN3YXYvdHIvMQ=="
[/blockquote]

I think the error message is missleading; When I use wget to fetch the transcoded file, I can play the wav-file. So neither the format (audio/x-wav) is unknown nor the file corrupted.

Comparing the HTTP-header for a standard-file request, I suspect the missing CONTENT_LENGTH header in combination with the chunked encoding used by mediatomb for serving the transcoded entry is causing the troubble:

This is the header for a transcoded entry request that fails
[blockquote]  HTTP/1.1 200 OK
  TRANSFER-ENCODING: chunked
  CONTENT-TYPE: audio/x-wav
  DATE: Sun, 11 Oct 2009 09:00:46 GMT
  LAST-MODIFIED: Tue, 03 Mar 2009 20:09:24 GMT
  SERVER: Linux/2.6.12.6-arm1, UPnP/1.0, MediaTomb/0.12.0
  CONNECTION: close[/blockquote]


This is the header for the same file as standard-file  (by adding the transcoded file back to my servier)
[blockquote]  HTTP/1.1 200 OK
  CONTENT-LENGTH: 45083180
  CONTENT-TYPE: audio/x-wav
  DATE: Sun, 11 Oct 2009 09:01:51 GMT
  LAST-MODIFIED: Tue, 03 Mar 2009 20:09:24 GMT
  SERVER: Linux/2.6.12.6-arm1, UPnP/1.0, MediaTomb/0.12.0
  CONNECTION: close
  Content-Disposition: attachment; filename="lala.wav"
  Accept-Ranges: bytes[/blockquote]


I think it's obvious, that a on-the-fly trancoding server doesn't know in advance how big the result will be. So is this a bug of the plugin or something where mediatomb would have to provide additional information? Any known workaround?

BTW: I can play the transcoded files successfully with XMBC, so the behaviour of mediatomb doesn't seem to be completely wrong
Title: foo_upnp
Post by: bubbleguuum on 2009-10-11 20:15:32
BTW: I can play the transcoded files successfully with XMBC, so the behaviour of mediatomb doesn't seem to be completely wrong



The error messages you see is from the foobar2000 http decoder. For some reason it doesn't like the stream from mediatomb.
If you tried to play the base64 decoded upnp:// location (which decodes to a standard http url), you'd get the same error.
I'll try to get more info. You may want to disable "Allow seeking over http" if foobar's advanced settings, in the the Networking section, to see if it fixes the problem.
Title: foo_upnp
Post by: garbandi on 2009-10-11 22:58:49
Thanks for your quick reply.

You may want to disable "Allow seeking over http" if foobar's advanced settings, in the the Networking section, to see if it fixes the problem.


This didn't help. The only effect I realized so far, is that now foobar can't even play the static wav-files on mediatomb anymore and complains: "Unable to open item for playback (Object is not seekable):"

The transcoded dynamic entries are still: "Unable to open item for playback (Unsupported format or corrupted file)"
Title: foo_upnp
Post by: bubbleguuum on 2009-10-11 23:21:23
Thanks for your quick reply.

You may want to disable "Allow seeking over http" if foobar's advanced settings, in the the Networking section, to see if it fixes the problem.


This didn't help. The only effect I realized so far, is that now foobar can't even play the static wav-files on mediatomb anymore and complains: "Unable to open item for playback (Object is not seekable):"

The transcoded dynamic entries are still: "Unable to open item for playback (Unsupported format or corrupted file)"


What happen if you try to play  http://192.168.128.26:49152/content/media/...me/flacwav/tr/1 (http://192.168.128.26:49152/content/media/object_id/534/res_id/none/pr_name/flacwav/tr/1)  direclty in foobar2000 ? Do you have the same error ?
this is the decoded upnp:// location you provided in your post. Not sure it is still valid, but you can try with another one that you'd have previously decoded with http://www.motobit.com/util/base64-decoder-encoder.asp (http://www.motobit.com/util/base64-decoder-encoder.asp)
Title: foo_upnp
Post by: garbandi on 2009-10-12 06:39:39
What happen if you try to play  http://192.168.128.26:49152/content/media/...me/flacwav/tr/1 (http://192.168.128.26:49152/content/media/object_id/534/res_id/none/pr_name/flacwav/tr/1)  direclty in foobar2000 ? Do you have the same error ?


Same error! I realized that the error message popped up, even before the harddisk of my NAS had a chance to spin up (was in sleep mode). So it really seems to be something in the http-header processing, because before spinning up, mediatomb has no chance to send something.
Title: foo_upnp
Post by: garbandi on 2009-10-12 08:30:25
some more details:

I managed to configure mediatomb not to use chunked encoding. No change; still "Unsupported format or corrupted file"

So I see two possible explanations: either it's just the missing CONTENT_LENGTH or the fact that mediatomb sends the http headers long before the first byte of the stream is available.

BTW: by just playing around with other players: also real-player is not able to play the transcoded stream. So foobar is not the only one having problems with mediatomb 
Title: foo_upnp
Post by: Peti on 2009-10-12 08:48:02
Hello
Great component!
Would it be possible to add a feature to replaygain processing? To process volume normalization only when transcoding regarding the rules.
Thanks
Title: foo_upnp
Post by: bubbleguuum on 2009-10-12 13:00:03
So I see two possible explanations: either it's just the missing CONTENT_LENGTH or the fact that mediatomb sends the http headers long before the first byte of the stream is available.


It may well be the missing Content-Length. Another possibility is that the 44 bytes WAV header is somewhat invalid or incomplete.
Title: foo_upnp
Post by: raphaelrenaud on 2009-10-12 16:33:24
first: hello everybody from switzerland
to the topic: wow, what a great plugin!!! there is just one thing to fix that it would be perfect (in my opinion):
when transcoding files to mp3, the %discnumber% and the %compilation% tag is not transmitted. then it is not really sorted in my songlist, like it should. also when I don't transcode or decode a file, the %discnumber%-tag is not transmitted until I play the song. It would be great, when it is possible to transmit every tag from the beginning, when I select an album. But anyway, a really great job, thanks!!
Title: foo_upnp
Post by: garbandi on 2009-10-12 20:57:39
It may well be the missing Content-Length. Another possibility is that the 44 bytes WAV header is somewhat invalid or incomplete.

How should it be the WAV header if I can successfully play the wav-stream in foobar after saving the stream with wget to a file? I can even re-import the downloaded file to mediatomb and play it then from there.
Title: foo_upnp
Post by: bubbleguuum on 2009-10-12 21:01:09
first: hello everybody from switzerland
to the topic: wow, what a great plugin!!! there is just one thing to fix that it would be perfect (in my opinion):
when transcoding files to mp3, the %discnumber% and the %compilation% tag is not transmitted. then it is not really sorted in my songlist, like it should. also when I don't transcode or decode a file, the %discnumber%-tag is not transmitted until I play the song. It would be great, when it is possible to transmit every tag from the beginning, when I select an album. But anyway, a really great job, thanks!!


thanks for pointing that %discnumber% was not transmitted anymore (it worked at some point). It'll be back in the next version.
%compilation% was never transmitted but I'll add it with a some others (%totaltracks%, %totaldiscs%
%publisher%, %rating%) to have richer metadata at browse time.
Title: foo_upnp
Post by: raphaelrenaud on 2009-10-12 22:02:28
first: hello everybody from switzerland
to the topic: wow, what a great plugin!!! there is just one thing to fix that it would be perfect (in my opinion):
when transcoding files to mp3, the %discnumber% and the %compilation% tag is not transmitted. then it is not really sorted in my songlist, like it should. also when I don't transcode or decode a file, the %discnumber%-tag is not transmitted until I play the song. It would be great, when it is possible to transmit every tag from the beginning, when I select an album. But anyway, a really great job, thanks!!


thanks for pointing that %discnumber% was not transmitted anymore (it worked at some point). It'll be back in the next version.
%compilation% was never transmitted but I'll add it with a some others (%totaltracks%, %totaldiscs%
%publisher%, %rating%) to have richer metadata at browse time.

wow, that would be great! thanks!
Title: foo_upnp
Post by: bubbleguuum on 2009-10-13 00:11:29
Hello
Great component!
Would it be possible to add a feature to replaygain processing? To process volume normalization only when transcoding regarding the rules.
Thanks


I suppose you mean applying RG only on files transcoded to MP3 or decoded as PCM, and not on files streamed "as is". Why would you want to do that ?
Title: foo_upnp
Post by: Peti on 2009-10-13 07:24:33
Hello
Great component!
Would it be possible to add a feature to replaygain processing? To process volume normalization only when transcoding regarding the rules.
Thanks


I suppose you mean applying RG only on files transcoded to MP3 or decoded as PCM, and not on files streamed "as is". Why would you want to do that ?


Because I want to use replaygain and transcode only lossless files. For lossy source, RG is processed by the client (foobar, too), and for the rest to apply RG when transcoding. Other workaround would be to copy RG values to transcoded files.
Title: foo_upnp
Post by: prefab on 2009-10-14 17:35:37
Quote
What does the option "Client decode HTTP streams directly" do?
If this option is enabled and you upnp browse a playlist containing http items (for example a netradio stream), the http URL is passed "as is" to the client and the client directly decodes it. If it is not enabled, the UPnP server act as a proxy (do the decoding) and the client stream from the UPnP server like it does for normal (file) items. The second option can be the only way for the client to play the http stream if it can't decode it directly (for example it it can't handle the codec) or doesn't have network connectivity.
I am having some problems with this option: with both checked / unchecked the radio stream seems to be decoded at the client.

I have verified this with foobar 9.6.9 and foo_upnp 0.99.14 installed on 2 windows XP SP2. In the client machine I can verify that foobar is playing the original format (ogg for example: http://radio.hiof.no/nrk-alltid-klassisk-172.ogg) (http://radio.hiof.no/nrk-alltid-klassisk-172.ogg)) instead of following the transcoding rules, or raises an error when trying to play a mms stream without foo_imput_mslive (for example mms://straumr.nrk.no/nrk_radio_alltid_klassisk_l). Am I missing something ?

cheers
Title: foo_upnp
Post by: bubbleguuum on 2009-10-14 19:49:30
Quote
What does the option "Client decode HTTP streams directly" do?
If this option is enabled and you upnp browse a playlist containing http items (for example a netradio stream), the http URL is passed "as is" to the client and the client directly decodes it. If it is not enabled, the UPnP server act as a proxy (do the decoding) and the client stream from the UPnP server like it does for normal (file) items. The second option can be the only way for the client to play the http stream if it can't decode it directly (for example it it can't handle the codec) or doesn't have network connectivity.
I am having some problems with this option: with both checked / unchecked the radio stream seems to be decoded at the client.

I have verified this with foobar 9.6.9 and foo_upnp 0.99.14 installed on 2 windows XP SP2. In the client machine I can verify that foobar is playing the original format (ogg for example: http://radio.hiof.no/nrk-alltid-klassisk-172.ogg) (http://radio.hiof.no/nrk-alltid-klassisk-172.ogg)) instead of following the transcoding rules, or raises an error when trying to play a mms stream without foo_imput_mslive (for example mms://straumr.nrk.no/nrk_radio_alltid_klassisk_l). Am I missing something ?

cheers


I tried here and the  "Client decode HTTP streams directly" setting is taken into account. Are you sure you edited the foobar2000 profile (and not by mistake the Default one) ?
Note that when profile settings changes the server automatically restarts and the client must browse again as the server reappeared.

Note that for that particular stream, even if you're successful disabling "Client decode HTTP streams directly", the stream still won't play in the client and you'll get a "file not found error".
I fixed it in my local build and it will play in the next version, the server being better at getting technical info such as channel count, sample rate etc in the case of streams.

As for mms:// I haven't tested it so I'm not sure how well (if at all) it works. I'll test it and have it working with the "Client decode HTTP streams directly" setting.
Title: foo_upnp
Post by: bubbleguuum on 2009-10-14 19:58:37
Because I want to use replaygain and transcode only lossless files. For lossy source, RG is processed by the client (foobar, too), and for the rest to apply RG when transcoding. Other workaround would be to copy RG values to transcoded files.


Makes sense. A settings for this will be in the upcoming version.

EDIT: in the client, you'll have to use no preamp for files without RG info for this to work as expected.
Title: foo_upnp
Post by: garbandi on 2009-10-14 22:37:01
The error messages you see is from the foobar2000 http decoder. For some reason it doesn't like the stream from mediatomb.

After playing around with various options I'm quite sure that you're right and this is a foobar2000 bug and nothing specific to your plugin.

I've opened a thread in the [a href='index.php?showtopic=75446']foobar support forum[/a]

But if you have any idea how to bypass the problem, let me know.

So again: thanks for your help ( and your plugin! )
Title: foo_upnp
Post by: prefab on 2009-10-14 22:39:45
I tried here and the  "Client decode HTTP streams directly" setting is taken into account.

Yes, after your reply I tested it on the client side and the setting is indeed taken into account. But If you play the stream on the same client from a remote UPnP Controller the stream is played without respecting the setting (this is how I did my tests, I am planning on streaming to a "dumb" renderer, I was not aware there is a difference between the two modes).

Note that for that particular stream, even if you're successful disabling "Client decode HTTP streams directly", the stream still won't play in the client and you'll get a "file not found error".
I fixed it in my local build and it will play in the next version, the server being better at getting technical info such as channel count, sample rate etc in the case of streams.

As for mms:// I haven't tested it so I'm not sure how well (if at all) it works. I'll test it and have it working with the "Client decode HTTP streams directly" setting.

Excellent, thanks.
Title: foo_upnp
Post by: bubbleguuum on 2009-10-14 23:03:42
Yes, after your reply I tested it on the client side and the setting is indeed taken into account. But If you play the stream on the same client from a remote UPnP Controller the stream is played without respecting the setting (this is how I did my tests, I am planning on streaming to a "dumb" renderer, I was not aware there is a difference between the two modes).


Exact. For some reason I can't remember the Controller use the *Default* profile when sending an item to any "dumb" renderer [In the case it is an item managed by the fb server, ie in your playlist or collection]. I did this probably because I don't assume anything about the
capabilities of the renderer (codec support, samplerate limitations, ...) and the Default profile provides sane defaults which should work with most renderers.
So you have to edit this profile depending of your renderer and it should work.

EDIT: changing "Client decode HTTP streams directly" in the default profile won't work. It needs a fix on my side.
Title: foo_upnp
Post by: prefab on 2009-10-15 13:25:04
Yes, after your reply I tested it on the client side and the setting is indeed taken into account. But If you play the stream on the same client from a remote UPnP Controller the stream is played without respecting the setting (this is how I did my tests, I am planning on streaming to a "dumb" renderer, I was not aware there is a difference between the two modes).


Exact. For some reason I can't remember the Controller use the *Default* profile when sending an item to any "dumb" renderer [In the case it is an item managed by the fb server, ie in your playlist or collection]. I did this probably because I don't assume anything about the
capabilities of the renderer (codec support, samplerate limitations, ...) and the Default profile provides sane defaults which should work with most renderers.
So you have to edit this profile depending of your renderer and it should work.

EDIT: changing "Client decode HTTP streams directly" in the default profile won't work. It needs a fix on my side.
OK, I configured the Default profile to my renderer specs and I can play the files in the library from the Controller 
I will just sit here holding my breath waiting for the streams to work... 
cheers

EDIT: Is it too complex to provide a *Controller* profile, so that the modifications for playing through the Controller do not affect the Default (sane defaults) ? Thanks
Title: foo_upnp
Post by: prefab on 2009-10-16 11:17:57
EDIT: Is it too complex to provide a *Controller* profile, so that the modifications for playing through the Controller do not affect the Default (sane defaults) ? Thanks

My previous suggestion does not make sense. The profiles to be used by the Media Server depend only on the renderer connected, whether this connection was instructed by the renderer itself or by a remote controller.

Currently the profiles dont seem to work when using a controller instead of directly using the media renderer (I tried with fb and Linn's Kinsky). Some streams also crash fb. I have sent the reports.

cheers.
Title: foo_upnp
Post by: e2z on 2009-10-16 19:02:32
This is an awesome plugin, great work!

After some fiddling I got it working, sort of. I'm sorry if this has been covered before but all my files, except the ones I've played once are displayed with their hash-numbers or something.

http://img238.imageshack.us/img238/7427/foobar.jpg (http://img238.imageshack.us/img238/7427/foobar.jpg)

What am I doing wrong? 
Title: foo_upnp
Post by: Groundskeeper Willie on 2009-10-16 19:26:19
Hi,

is it possible to exclude certain results in a query, i.e. performe the negation of the PRESENT keyword?
Something like  query="compilation NOT PRESENT"?

Thanks, G.W.
Title: foo_upnp
Post by: bubbleguuum on 2009-10-16 19:58:36
EDIT: Is it too complex to provide a *Controller* profile, so that the modifications for playing through the Controller do not affect the Default (sane defaults) ? Thanks

My previous suggestion does not make sense. The profiles to be used by the Media Server depend only on the renderer connected, whether this connection was instructed by the renderer itself or by a remote controller.


True, except that when using the controller the User-Agent string cannot be used to identify the renderer. It may be done using another method but there's no support for it yet. i'll see if I can do something about it.

Quote
Currently the profiles dont seem to work when using a controller instead of directly using the media renderer (I tried with fb and Linn's Kinsky). Some streams also crash fb. I have sent the reports.

When using the controller, the default profile is used. Do you remember what you did to trigger the crash ?  This is a crash i've seen before but have no clue about yet for a fix.


After some fiddling I got it working, sort of. I'm sorry if this has been covered before but all my files, except the ones I've played once are displayed with their hash-numbers or something.

http://img238.imageshack.us/img238/7427/foobar.jpg (http://img238.imageshack.us/img238/7427/foobar.jpg)

What am I doing wrong? 


There's a bug in 0.99.14 when you had no pervious version installed. Go in Files -> Configuration -> Tools -> UPnp -> Server -> Avanced Settings and set "Format track titles using" to %title%



Hi,

is it possible to exclude certain results in a query, i.e. performe the negation of the PRESENT keyword?
Something like  query="compilation NOT PRESENT"?

Thanks, G.W.


try compilation MISSING.  See here (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Query_syntax) for the query syntax reference.
Title: foo_upnp
Post by: Groundskeeper Willie on 2009-10-16 20:07:47
Hi,

is it possible to exclude certain results in a query, i.e. performe the negation of the PRESENT keyword?
Something like  query="compilation NOT PRESENT"?

Thanks, G.W.


try compilation MISSING.  See here (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Query_syntax) for the query syntax reference.

Great, thx! Haven't seen that...

G.W.
Title: foo_upnp
Post by: e2z on 2009-10-16 21:10:21
Thanks bubbleguuum, this is great!
Title: foo_upnp
Post by: raphaelrenaud on 2009-10-17 14:02:00
I found something that would also be very nice for the next release: at the moment, I have to restart foobar2000 on my server, that the new songs I added are shown in the UPnP browser (foobar is monitoring my folders for new songs in the background). The local albumlist is updated automatically, but not the UPnP albumlist. Maybe an idea could also be, that this list is updated in a certain intervall?!
Title: foo_upnp
Post by: bubbleguuum on 2009-10-17 14:32:48
I found something that would also be very nice for the next release: at the moment, I have to restart foobar2000 on my server, that the new songs I added are shown in the UPnP browser (foobar is monitoring my folders for new songs in the background). The local albumlist is updated automatically, but not the UPnP albumlist. Maybe an idea could also be, that this list is updated in a certain intervall?!


This is definitely in the todo list, as the UPnP AV spec provides way to that, but it is not trivial to implement.
That, and search for all UPnP servers that support it, using the fb2k request language.
Title: foo_upnp
Post by: Groundskeeper Willie on 2009-10-17 16:06:44
Two suggestions:



Thx!
Best, G.W.
Title: foo_upnp
Post by: raphaelrenaud on 2009-10-18 12:27:15
Two suggestions:

  • Would it be possible to include non-english artist prefices such as "Die", "Les", "Los" etc. in the "swap prefix in artist names" function? Or, better: Allow for a custom list of such prefices?
  • Is it possible to switch the title formatting based upon the subtree in which the audio items are presented? Or can this even be already done?


Thx!
Best, G.W.

I only have a solution for the first question: you can do it by editing the foo_upnp_ml_tree.xml manually. If you wish that for example "The Beatles" are listened as "Beatles, The", you can use this code:

$ifequal($strstr(%artist%,The ),1,$substr(%artist%,5,$len(%artist%))', The',%artist%)

This code, you can edit and expend as you want, to swap prefixes like "Die", "Les", "Los" etc.
Title: foo_upnp
Post by: Purple Monkey on 2009-10-18 14:01:34
$ifequal($strstr(%artist%,The ),1,$substr(%artist%,5,$len(%artist%))', The',%artist%)

$swapprefix(%artist%,The,A,Die,Les,Los,etc) (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Titleformat_Reference#.24swapprefix.28x.29)
Title: foo_upnp
Post by: Groundskeeper Willie on 2009-10-18 14:40:31
$ifequal($strstr(%artist%,The ),1,$substr(%artist%,5,$len(%artist%))', The',%artist%)

$swapprefix(%artist%,The,A,Die,Les,Los,etc) (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Titleformat_Reference#.24swapprefix.28x.29)


Thank you!!
Title: foo_upnp
Post by: raphaelrenaud on 2009-10-18 22:21:33
$ifequal($strstr(%artist%,The ),1,$substr(%artist%,5,$len(%artist%))', The',%artist%)

$swapprefix(%artist%,The,A,Die,Les,Los,etc) (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Titleformat_Reference#.24swapprefix.28x.29)

wow.. that's cool  haven't noticed this function before, thanks!
Title: foo_upnp
Post by: vassie on 2009-10-20 09:28:54
Quick question, how can I change foo_upnp to work with WMP12 & albums with various artists?

WMP12 to WMP12 shows the one album, however, foo_upnp to WMP12 shows one album per artists

Thanks
Title: foo_upnp
Post by: bavan on 2009-10-28 11:15:09
Hi Bubbleguum,

it's been a time since I've been on the forum which means everything with your plugin is working fine so far (GREAT !).

Now I have a new problem when buying a new device Freecom MusicPal.
I can play songs from your Upnp plugin but after playing 1 song the music stops no matter where I start in a playlist. When I select one of my other renderers without changing anything in the set up or playlist (Philips / Teac) I don't have this problem so probably it's related to the MusicPal itself. To use the MusicPal properly I had to change the transcode to MP3 settings to "Always" as the MusicPal own capabilities for direct transcoding of a song seems to be limited and as such I won't otherwise plays all possible available songs in my LIB correctly (I've adapted the default profile for that). I hope it has nothing to do with this option.

I'm running Foobar v0.9.6.9 & Upnp v0.99.13/0.99.14 (tried both versions to make sure it's not the plugin without result) ) and used 2 different firmware's on the MusciPal v1.59d & v1.65Beta. Both firmware's gave the same problem, playing 1 song in the playlist and than stopping so not starting the next song in the playlist.

I was wondering if you could give me some advice if there are any tricks I could try to get a full playlist playing? If not I'm stuck and have to rely on freecom for the next firmware.

Many thanks in advance for the support.
Title: foo_upnp
Post by: bubbleguuum on 2009-10-28 19:14:37
I was wondering if you could give me some advice if there are any tricks I could try to get a full playlist playing? If not I'm stuck and have to rely on freecom for the next firmware.


One question: do you select music by browsing the UPnP server directly from your device, or do you use the UPnP Controller to push content to it ?

If you do the former,  the UPnP Controller playback Queue playlist must remain empty (or another renderer should be selected), else it could conflict with what you tell it to play directly from the device.

If the later, then of course you use the UPnP Controller playback Queue playlist to control your renderer. Assuming this is what you do, the Controller may not detect track changes (and start playback of next track) if for whatever reason the renderer do not signal end of track with the "Stopped" UPnP state. Some renderers are known to be problematic in this regard. I may implement a workaround for such cases. If you have the same problem with Cidero as a Control Point then it is likely this problem.
Title: foo_upnp
Post by: bubandno on 2009-10-29 13:41:42
Hi!
in first thank for your work about unpnp.
in second, make be careful, i a frenchy user and my english is not so rich..

i'm using unpnp component to stream on my denon 3N (ipod dock with unpnp capabilities). It work fine.
sometime I use upnp as an UPnP Control Point to play music to the denon 3N. it work fine too with single file mp3, acc, wma  in the UPnP Controller playback Queue
it does'nt work with the couple FLAC+CUE (one file FLAC=one CD). Foobar say "enable to convert  xxxxxxxx.cue". it's the same with APE+CUE.
so so thank for your indication about this problem 'cause all my music is in this format (flac+Cue).

I use a another DMR : a iblik radio. it connect fine on the foobar server and i can listen the music But only the single file mp3, acc, wma etc...
if I want to listen a (FLAC+CUE) music, it work fine for the first song but when the second should start, iblik says connecting.........and never play the song. perhaps iblik is not so compliant ? how can i know ? iblik support does'nt anwser..grrr)

more info : if i push the button "next song" during the first is playing. it work fine...
thank a second time for your help.
Title: foo_upnp
Post by: bavan on 2009-10-29 19:07:48
I was wondering if you could give me some advice if there are any tricks I could try to get a full playlist playing? If not I'm stuck and have to rely on freecom for the next firmware.


One question: do you select music by browsing the UPnP server directly from your device, or do you use the UPnP Controller to push content to it ?
[blockquote]
I'm using the UPnP controller to push content to the MusicPal. I'm wondering why your plugin dosplays the message "transitioning instead of the artist & title in your cUPnp control panel?
[/blockquote]

If you do the former,  the UPnP Controller playback Queue playlist must remain empty (or another renderer should be selected), else it could conflict with what you tell it to play directly from the device.

If the later, then of course you use the UPnP Controller playback Queue playlist to control your renderer. Assuming this is what you do, the Controller may not detect track changes (and start playback of next track) if for whatever reason the renderer do not signal end of track with the "Stopped" UPnP state. Some renderers are known to be problematic in this regard. I may implement a workaround for such cases. If you have the same problem with Cidero as a Control Point then it is likely this problem.
[blockquote]
Some interresting results when testing with Cidero to push content: Playlist is played normally song after song so probably Cidero does things differently when pusing content and changing to next song to play. I've also noticed Cidero indicates & updates song play time progress corretly as your component only indicates total song time and no progress in song play time counting.
[/blockquote]


Why I don't stick to Cidero is very simple, Foobar is much more powerfull and song folder & database management is top also thanks to your plugin for remote controlling media renderers. It simple needs some more finetuning and a bit of development to make it multimedia & WAF proof.

If you know a workaround or another method to advance next song play please try to implement it (maybe as an option to enable this via the config als alternative method). I would be more than happy to test this on the multiple renderes I have and share the results (Teac WAP-4500 / Philips NP2900 / Roku Soundbrige M1001 / Freecom MusicPal / Samsung UE46B7020 LED TV).

Thanks so far for the great support and advice.
Title: foo_upnp
Post by: bubbleguuum on 2009-10-29 19:57:00
i'm using unpnp component to stream on my denon 3N (ipod dock with unpnp capabilities). It work fine.
sometime I use upnp as an UPnP Control Point to play music to the denon 3N. it work fine too with single file mp3, acc, wma  in the UPnP Controller playback Queue
it does'nt work with the couple FLAC+CUE (one file FLAC=one CD). Foobar say "enable to convert  xxxxxxxx.cue". it's the same with APE+CUE.
so so thank for your indication about this problem 'cause all my music is in this format (flac+Cue).


I assume individual tracks appear in the playlist when using flac+cue  and that you can play those tracks in foobar ? Can you be more precise about the error message you mention, where does it appear and what action you are doing ?  You can try modifying the Default streaming profile in the server's conf. In the case of flac+cue,  it should stream as WAV to your device which might not support it. You may want to try LPCM streaming (any DLNA device is supposed to support LPCM), or transcoding to mp3.

Quote
I use a another DMR : a iblik radio. it connect fine on the foobar server and i can listen the music But only the single file mp3, acc, wma etc...
if I want to listen a (FLAC+CUE) music, it work fine for the first song but when the second should start, iblik says connecting.........and never play the song. perhaps iblik is not so compliant ? how can i know ? iblik support does'nt anwser..grrr)

more info : if i push the button "next song" during the first is playing. it work fine...
thank a second time for your help.


That's exactly the same problem reported by bavan, see my answer below.



If you know a workaround or another method to advance next song play please try to implement it (maybe as an option to enable this via the config als alternative method). I would be more than happy to test this on the multiple renderes I have and share the results (Teac WAP-4500 / Philips NP2900 / Roku Soundbrige M1001 / Freecom MusicPal / Samsung UE46B7020 LED TV).

Thanks so far for the great support and advice.


It's good to know it is working with Cidero. I can easily see exactly how it operates on track change and emulate that. I have already an idea what could make cause problem with some renderers with the way I handle track advancing.
Title: foo_upnp
Post by: bavan on 2009-10-30 00:30:40
i'm using unpnp component to stream on my denon 3N (ipod dock with unpnp capabilities). It work fine.
sometime I use upnp as an UPnP Control Point to play music to the denon 3N. it work fine too with single file mp3, acc, wma  in the UPnP Controller playback Queue
it does'nt work with the couple FLAC+CUE (one file FLAC=one CD). Foobar say "enable to convert  xxxxxxxx.cue". it's the same with APE+CUE.
so so thank for your indication about this problem 'cause all my music is in this format (flac+Cue).


I assume individual tracks appear in the playlist when using flac+cue  and that you can play those tracks in foobar ? Can you be more precise about the error message you mention, where does it appear and what action you are doing ?  You can try modifying the Default streaming profile in the server's conf. In the case of flac+cue,  it should stream as WAV to your device which might not support it. You may want to try LPCM streaming (any DLNA device is supposed to support LPCM), or transcoding to mp3.

Quote
I use a another DMR : a iblik radio. it connect fine on the foobar server and i can listen the music But only the single file mp3, acc, wma etc...
if I want to listen a (FLAC+CUE) music, it work fine for the first song but when the second should start, iblik says connecting.........and never play the song. perhaps iblik is not so compliant ? how can i know ? iblik support does'nt anwser..grrr)

more info : if i push the button "next song" during the first is playing. it work fine...
thank a second time for your help.


That's exactly the same problem reported by bavan, see my answer below.



If you know a workaround or another method to advance next song play please try to implement it (maybe as an option to enable this via the config als alternative method). I would be more than happy to test this on the multiple renderes I have and share the results (Teac WAP-4500 / Philips NP2900 / Roku Soundbrige M1001 / Freecom MusicPal / Samsung UE46B7020 LED TV).

Thanks so far for the great support and advice.


It's good to know it is working with Cidero. I can easily see exactly how it operates on track change and emulate that. I have already an idea what could make cause problem with some renderers with the way I handle track advancing.


Hi Bubbleguum,
copying change next song the way Cidero does seems to be a good idea but beside that don't copy everthing Cidero is doing as I've encountered some other problems with Cidero for playing and selecting songs and in that respect your plugin is working fine. Just find the best between both worlds. I'm trilled to await your workaround as alternative or not.
TX
Title: foo_upnp
Post by: Groundskeeper Willie on 2009-10-31 16:05:04
Hi,

in the UPnP browser's preferences, it can be adjusted to which playlist titles are added upon left/right click. Would it be possible to define the target playlist for the search function as well? Currently, the current playlist is simply overwritten.

Thx!

Best, G.W.
Title: foo_upnp
Post by: bubbleguuum on 2009-11-02 10:50:04
Hi,

in the UPnP browser's preferences, it can be adjusted to which playlist titles are added upon left/right click. Would it be possible to define the target playlist for the search function as well? Currently, the current playlist is simply overwritten.

Thx!

Best, G.W.


Good catch. Ideally, Search should probably present results in the browse tree itself, much like the Album List component.
Title: foo_upnp
Post by: Adagio on 2009-11-02 15:11:34
It's good to know it is working with Cidero. I can easily see exactly how it operates on track change and emulate that. I have already an idea what could make cause problem with some renderers with the way I handle track advancing.

The Kiss 1600 (UPnP/AV Device Capability Database (http://www.upnp-database.info/device.jsp?deviceId=71)) seems to have the same problem of stopping after the first track.
Title: foo_upnp
Post by: mck on 2009-11-05 15:07:41
Hi,

I`m new in this forum. I spent a lot of time in reading this topic. But I can`t find any answers to my problem. I already asked in another foobar2000 forum but  nobody could give me a proper answer.

I use WinXP with the Twonky Media Server to send my music files by UPNP to the receiver by network.

[PC (Twonky Media Server) --> Router --> Yamaha (Network Receiver,RX-V3900]


This works fine, but there is only access to my sound files by using the GUI of the Yamaha Receiver (TV).

The idea was to use Foobar2000 to select my soundfiles (mp`3s) and send them to the Yamaha by network.

I already included the foo_upnp (0.99.14) and the foo_ui_columns (0.3.7.3) in the components folder.
The plugins were identified by Foobar correctly and I can do some settings but there is no communication/connection between the receiver and the software.

If somebody could give me a short introduction (or screenshots) in doing the right settings or give me other informations to solve this problem I would be very grateful.

Thanks in advance!
Title: foo_upnp
Post by: bubbleguuum on 2009-11-05 19:02:46
I already included the foo_upnp (0.99.14) and the foo_ui_columns (0.3.7.3) in the components folder.
The plugins were identified by Foobar correctly and I can do some settings but there is no communication/connection between the receiver and the software.

Can you be a bit more specific ?

I assume you're seeing the Twonky server in the UPnP Browser but your Yamaha receiver do not appear in the UPnP Controller ?

Title: foo_upnp
Post by: mck on 2009-11-05 20:39:07
Hi,

Yes you're right!

I can see my receiver in the network environment of winXP and the twonky server in the GUI of the receiver.

In foobar only the Twonky Server is listed! I don't know how to include my Yamaha.....

(http://i38.tinypic.com/2mzk4td.jpg)
Title: foo_upnp
Post by: bubbleguuum on 2009-11-05 23:38:29
Hi,

Yes you're right!

I can see my receiver in the network environment of winXP and the twonky server in the GUI of the receiver.


You need to add the UPnP Controller CUI panel to your layout! It looks like this:

http://bubbleguuum.free.fr/foo_upnp_cui.PNG (http://bubbleguuum.free.fr/foo_upnp_cui.PNG)


The UPnP Controler is what looks like a player, on the lower-left. Your receiver should appear in the combo box. Then you add tracks for playing to your receiver to the UPnP Controller Playback queue playlist, that you can display at any time using the PL button.
Title: foo_upnp
Post by: Dr Arctic Fox on 2009-11-06 05:59:47
I appear to be having a weird problem, since plenty of people in this thread have said that the X360 works fine...

I have got foo upnp working, it transcodes .FLAC files stored on my Windows Home Server to lpcm and plays them through my XBox360 just fine. The problem is that when I browse through Artist> then choose an artist with multiple albums, all of their songs are displayed on the next screen completely ungrouped. So for example, if I chose The Beatles, instead of seeing the albums on the next page...

> Please Please Me
> Beatles For Sale
> Help
> Rubber Soul
etc

Instead I see all of the songs from all their albums, ungrouped:
> 01 I Saw Her Standing There
> 01 No Reply
> 01 Help!
> 01 Drive My Car
etc.

Of course I could sort them by putting %album% in front of the track title, but this means I can't see the song titles on the XBox's giant UI.

Am I doing something wrong, or is this a limitation of the way XBox handles UPNP? I've tried messing with foo_upnp_ml_tree.xml, to no avail. Thanks.

Fox
Title: foo_upnp
Post by: mck on 2009-11-06 08:43:20
@ bubbleguuum:

As you can see on the screenshot there is no media renderer listed in the UPnP Controller...

(http://i36.tinypic.com/5yb52t.jpg)

Perhaps some settings in the images below are wrong?

(http://i36.tinypic.com/15dnjox.jpg)

(http://i37.tinypic.com/n1ow1c.jpg)

(http://i38.tinypic.com/muwmx0.jpg)

(http://i33.tinypic.com/ae84u8.jpg)

Thanks!
Title: foo_upnp
Post by: bubbleguuum on 2009-11-06 18:47:07
Am I doing something wrong, or is this a limitation of the way XBox handles UPNP? I've tried messing with foo_upnp_ml_tree.xml, to no avail. Thanks.


The upcoming version of the plugin will fix that. For now it just sorts content by tracknumber which obvisouly is messy if there's more than 1 album.


@ bubbleguuum:
As you can see on the screenshot there is no media renderer listed in the UPnP Controller...


Install Cidero (http://cidero.com/downloads.html) and tell me if it sees your receiver. If it does not see it, it is likely to be a network issue.
If it sees it, then edit foo_upnp.xml (in your foobar2000 install directory) to enable logging with max info:
set    console_log enabled="yes" level="0".
Now start foobar2000, display the console (View->Console), check the "Write Log" button to save the log to file,  remove the Controller UI Panel and re-add it to your layout, wait a few seconds and send me the generated log file to bubbleguuum@free.fr.
Title: foo_upnp
Post by: Dr Arctic Fox on 2009-11-06 19:36:56
The upcoming version of the plugin will fix that. For now it just sorts content by tracknumber which obvisouly is messy if there's more than 1 album.


Awesome, good to know it's just not me being stupid. I'll keep an eye on this thread then. The plugin is otherwise working great, thanks for developing such a quality product (and you've been a model of patience with all the requests in this thread, too).

Fox
Title: foo_upnp
Post by: creosote on 2009-11-07 20:03:02
Nice work - I am streaming to a ROKU. I have a couple issues which I wonder if could be handled with the xml file.

1. Browse to Artist>Album and it lists the albums, BUT then every song by the artist after the albums - this is not needed.

2. Possible to order the albums in the aforementioned tree by year instead of alphabetical?

This is my current file, which I edited down for simplicty:

- <MediaLibraryTree>
- <SubTree label="Artists">
  <spec type="object.container.person.musicArtist">%artist%</spec>
  <spec type="object.container.album.musicAlbum">%album%</spec>
  </SubTree>
- <SubTree label="Albums">
  <spec type="object.container.album.musicAlbum">%album%[ '['%artist%']']</spec>
  </SubTree>
- <SubTree label="Years">
  <spec>%date%</spec>
  <spec type="object.container.album.musicAlbum">[%artist% - ]%album%</spec>
  </SubTree>
  </MediaLibraryTree>
Title: foo_upnp
Post by: bubbleguuum on 2009-11-07 21:44:45
Nice work - I am streaming to a ROKU. I have a couple issues which I wonder if could be handled with the xml file.

1. Browse to Artist>Album and it lists the albums, BUT then every song by the artist after the albums - this is not needed.

This is actually a feature: an artist node, contains all the tracks of that artist. I don't know how it appears on your roku but this is intended.

Quote
2. Possible to order the albums in the aforementioned tree by year instead of alphabetical?

Try this:

Code: [Select]
<SubTree label="Artists_Year">
<spec type="object.container.person.musicArtist">%artist%</spec>
<spec>%date%</spec>
<spec type="object.container.album.musicAlbum">%album%</spec>
</SubTree>
Title: foo_upnp
Post by: guix314 on 2009-11-08 17:11:00
Hello,

I'm having problems with foo_upnp on my Philips DLNA-compliant LCD TV :
Whatever foo_upnp transcoding & decoding settings, I can't get my TV to list any of my FLAC or MP3 files.
Browsing within the database is OK, but all the subdirectories are displayed as empty. So I can't play any file.

On the other hand, everything is fine within Cidero test client, with the same foo_upnp settings.
And I don't have such a problem on the TV with some other upnp servers.

For information, here is a sample foo_upnp console output when trying to browse the content of an album from the TV :
foo_upnp: INFO: received LAN request: http://192.168.0.78:56923/ContentDirectory...e56/control.xml (http://192.168.0.78:56923/ContentDirectory/cf009764-05e4-9bea-53f5-78ce62c30e56/control.xml) (User-Agent: Allegro-Software-WebClient/4.61 DLNADOC/1.00)
foo_upnp: INFO: received action 'Browse', args = { ObjectID=0/1/0/113, BrowseFlag=BrowseDirectChildren, Filter=@id,dc:title,res,res@protocolInfo, StartingIndex=0, RequestedCount=100, SortCriteria= }
foo_upnp: INFO: using default profile (User-Agent:Allegro-Software-WebClient/4.61 DLNADOC/1.00)
foo_upnp: INFO: action 'Browse' response: args = { ObjectID=0/1/0/113, BrowseFlag=BrowseDirectChildren, Filter=@id,dc:title,res,res@protocolInfo, StartingIndex=0, RequestedCount=100, SortCriteria=, NumberReturned=7, TotalMatches=7, UpdateID=0 }

-> Any hints ?
I can post more low-level traces if needed (full wireshark flows, ...)

thanks
Title: foo_upnp
Post by: bubbleguuum on 2009-11-08 18:16:42
Hello,

I'm having problems with foo_upnp on my Philips DLNA-compliant LCD TV :
Whatever foo_upnp transcoding & decoding settings, I can't get my TV to list any of my FLAC or MP3 files.
Browsing within the database is OK, but all the subdirectories are displayed as empty. So I can't play any file.

thanks


Nothing wrong with that traces: items are retuned to the TV. The plugin ignore the Filter which the TV might not like and it might discard items based on that (unlikely). Either that, or it doesn't like th URL / protocol info returned (not displayed in the traces above). Also make sure you edited the "Default" streaming profile to suit your TV capabilities.
What you can do is capture with wireshark what is sent by another Media Server that works. Look for something that look like the XML below in wireshark (HTTP traffic) , and post it here so I can have a look:

Code: [Select]
 <DIDL-Lite>
    <item id="0/1/0/2/168/0I" parentID="0/1/0/2/168" restricted="1">
      <dc:title>Flights Of Fantasy</dc:title>
      <dc:creator>Elegy</dc:creator>
      <dc:date>1996-01-01</dc:date>
      <upnp:artist>Elegy</upnp:artist>
      <upnp:artist role="AlbumArtist">Elegy / As One / Nuron</upnp:artist>
      <upnp:album>Likemind 04</upnp:album>
      <upnp:genre>Abstract</upnp:genre>
      <upnp:genre>Techno</upnp:genre>
      <upnp:genre>Experimental</upnp:genre>
      <dc:publisher>Likemind</dc:publisher>
      <upnp:albumArtURI>http://192.168.56.1:58390/albumart/836d49bc5760f9067f9b4c219b1de35d</upnp:albumArtURI>
      <upnp:originalTrackNumber>1</upnp:originalTrackNumber>
      <res duration="0:08:03.000" size="11599972" bitrate="24000" bitsPerSample="16" sampleFrequency="44100" nrAudioChannels="2" protocolInfo="http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_CI=0">http://192.168.56.1:58390/content/836d49bc5760f9067f9b4c219b1de35d.mp3</res>
      <upnp:class>object.item.audioItem.musicTrack</upnp:class>
    </item>
</DIDL-Lite>
Title: foo_upnp
Post by: guix314 on 2009-11-08 19:27:10
Thanks for your quick support.
OK, here are the wireshark traces (large content, sorry...).

As far as I can see, the 2 main differences are :
- foo_upnp sets restricted to 1, while assetupnp sets restricted to 0
- probably more important, foo_upnp seems to fail at setting the tracks titles, each title field is empty!! 
FWIW, my computer in WinXP SP3 French, and the main path to the library is "G:\__MEDIA__\__RIP_flac__\Classique\Beethoven misc"



** working, all 3 items are displayed (assetupnp)

POST /ContentDirectory/007ffdc8-d2c9-45a8-abcd-123456789abc/control.xml HTTP/1.1
Host: 192.168.0.78:26125
Connection: close
User-Agent: Allegro-Software-WebClient/4.61 DLNADOC/1.00
Accept: */*
SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
Content-Type: text/xml; charset=utf-8
Content-Length: 479

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body><u:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
<ObjectID>au73</ObjectID> <BrowseFlag>BrowseDirectChildren</BrowseFlag>
<Filter>@id,dc:title,res,res@protocolInfo</Filter> <StartingIndex>0</StartingIndex>
<RequestedCount>100</RequestedCount>
<SortCriteria></SortCriteria>
</u:Browse>
</s:Body>
</s:Envelope>


HTTP/1.1 200 OK
SERVER: Platinum/0.4.9
CONTENT-TYPE: text/xml; charset="utf-8"
EXT:
CONNECTION: close
CONTENT-LENGTH: 1789

<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <u:BrowseResponse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
      <Result>&lt;DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/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/"&gt;&lt;item id="978-au73.flac" parentID="au73" restricted="0"&gt;&lt;dc:title&gt;  1  I. Allegro con brio&lt;/dc:title&gt;&lt;res duration="00:17:16.000" protocolInfo="http-get:*:audio/wav:DLNA.ORG_PN=WAV;DLNA.ORG_OP=01"&gt;http://192.168.0.78:26125/content/c2/b16/f44100/978.wav&lt;/res&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;/item&gt;&lt;item id="979-au73.flac" parentID="au73" restricted="0"&gt;&lt;dc:title&gt;  2  II. Largo&lt;/dc:title&gt;&lt;res duration="00:11:13.000" protocolInfo="http-get:*:audio/wav:DLNA.ORG_PN=WAV;DLNA.ORG_OP=01"&gt;http://192.168.0.78:26125/content/c2/b16/f44100/979.wav&lt;/res&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;/item&gt;&lt;item id="980-au73.flac" parentID="au73" restricted="0"&gt;&lt;dc:title&gt;  3  III. Rondeau. Allegro [scherzando]&lt;/dc:title&gt;&lt;res duration="00:09:05.000" protocolInfo="http-get:*:audio/wav:DLNA.ORG_PN=WAV;DLNA.ORG_OP=01"&gt;http://192.168.0.78:26125/content/c2/b16/f44100/980.wav&lt;/res&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;</Result>
      <NumberReturned>3</NumberReturned>
      <TotalMatches>3</TotalMatches>
      <UpdateID>144</UpdateID>
    </u:BrowseResponse>
  </s:Body>
</s:Envelope>


--

** not working, no item displayed (foo_upnp 0.9.14)

POST /ContentDirectory/cf009764-05e4-9bea-53f5-78ce62c30e56/control.xml HTTP/1.1
Host: 192.168.0.78:56923
Connection: close
User-Agent: Allegro-Software-WebClient/4.61 DLNADOC/1.00
Accept: */*
SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
Content-Type: text/xml; charset=utf-8
Content-Length: 483

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body><u:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
<ObjectID>0/1/0/21</ObjectID>
<BrowseFlag>BrowseDirectChildren</BrowseFlag>
<Filter>@id,dc:title,res,res@protocolInfo</Filter>
<StartingIndex>0</StartingIndex>
<RequestedCount>100</RequestedCount>
<SortCriteria></SortCriteria>
</u:Browse>
</s:Body>
</s:Envelope>

HTTP/1.1 200 OK
Server: Platinum/0.5.1
Content-Type: text/xml; charset="utf-8"
Ext:
Connection: close
Content-Length: 1833

<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <u:BrowseResponse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
      <Result>&lt;DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/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/"&gt;&lt;item id="0/1/0/21/0I" parentID="0/1/0/21" restricted="1"&gt;&lt;dc:title&gt;&lt;/dc:title&gt;&lt;res duration="0:17:16.000" protocolInfo="http-get:*:audio/wav:DLNA.ORG_PN=WAV;DLNA.ORG_OP=01;DLNA.ORG_CI=1"&gt;http://192.168.0.78:56923/content/833b97e2b2644b566f7aca824513b174.wav?convert=wav&lt;/res&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;/item&gt;&lt;item id="0/1/0/21/1I" parentID="0/1/0/21" restricted="1"&gt;&lt;dc:title&gt;&lt;/dc:title&gt;&lt;res duration="0:11:13.000" protocolInfo="http-get:*:audio/wav:DLNA.ORG_PN=WAV;DLNA.ORG_OP=01;DLNA.ORG_CI=1"&gt;http://192.168.0.78:56923/content/f2f845cf23a004155666aa25a80692f2.wav?convert=wav&lt;/res&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;/item&gt;&lt;item id="0/1/0/21/2I" parentID="0/1/0/21" restricted="1"&gt;&lt;dc:title&gt;&lt;/dc:title&gt;&lt;res duration="0:09:05.000" protocolInfo="http-get:*:audio/wav:DLNA.ORG_PN=WAV;DLNA.ORG_OP=01;DLNA.ORG_CI=1"&gt;http://192.168.0.78:56923/content/5c4f7209744fce0f6b518cbea074f9c3.wav?convert=wav&lt;/res&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;</Result>
      <NumberReturned>3</NumberReturned>
      <TotalMatches>3</TotalMatches>
      <UpdateID>0</UpdateID>
    </u:BrowseResponse>
  </s:Body>
</s:Envelope>


Title: foo_upnp
Post by: bubbleguuum on 2009-11-08 19:40:38
@guix314:  I guess you installed 0.99.14 without having a previous version installed. There's a bug that will set no title until you go in
the conf: UpnP -> Server -> Advanced Settings and set "Format track titles using"  to %title%   

Let me know if it works then but it's likely to fix it.



Title: foo_upnp
Post by: guix314 on 2009-11-08 20:26:15
All right, problem solved.
This "known bug" was preventing foo_upnp from working properly here.
Thank you.

While we are at it, maybe you can help me for my second (and less blocking) problem :
It there a way to perform browsing by filesystem folders tree, instead of browsing by various metadata ?
I guess this can be configured via the "Customize media library tree" XML file, but I'm not an XML expert, and I can't find the relevant docs/specs for foo_upnp.

thanks again
Title: foo_upnp
Post by: bubbleguuum on 2009-11-08 20:38:09
It there a way to perform browsing by filesystem folders tree, instead of browsing by various metadata ?

Not possible yet
Title: foo_upnp
Post by: guix314 on 2009-11-08 20:48:20
OK,

So browsing by filesystem folders tree is my #1 feature request,
as my audio library is perfectly organized on the filesystem, but a lot less clean in terms of metadata tags...

Once this is done, foobar2000 + foo_upnp combo will be just perfect.

cheers
Title: foo_upnp
Post by: bavan on 2009-11-09 00:07:48
Hi Bubleguuum,

I've made a Foobar Theme which I would like to share as it  could be handfull for novell users. It's a full GUI with on the left file folders (can be switched by Filter) & on the right UPnP and ofcourse the other stuff like metadata, find song & album art display.

How can I upload files on this forum to share this with the UPnp community? I didn't find a file upload button but maybe I missed it.

How is the "Play next song" development going (Cidero alike control)?
I'm desperatley waiting for this new functionality.

BR.
Title: foo_upnp
Post by: bubbleguuum on 2009-11-13 19:37:46
v0.99.16  released. 0.99.14 is still available in case of possible regressions with some hardware. Thanks TheLink for testing .

Code: [Select]
0.99.16 

- chg: merge with Platinum UPnP SDK 0.5.4, should fix a few crashes and improve stability
- fix: obscure repeated crash in http request code (thanks Yirkha)
- new: in Server's advanced preferences, ability to enable log to file and to set log level. Log file is called foo_upnp.log and overwritten on each foobar2000 launch.
- fix (regression): if there was no previous config file, returned item titles defaulted to the http URL or where just empty
- add: browser: added "Directories" node, shows albums by last directory path component. Need to manually delete foo_upnp_ml_tree.xml for this new node to show up.
- new: browser: can configure action on search: send to active playlist, add to active playlist, send to UPnP Browser Search Playlist
- new: browser: display number of items in a browsed tree node
- new: browser: drag'n drop support of a node containing tracks to a playlist or whatever where tracks are accepted
- fix: browser: in some fail cases, browse and search threads could be left running indefinitely
- add: server: now returns a date if %date% is in the yyyy-mm and yyyy-mm-dd formats (before only yyyy was handled). needed for correct album grouping in WMP
- chg: server: WMP should now know about Album Artist in returned items, needed for correct album grouping.
- chg: server: if connecting client is not foobar2000 and track has %discnumber%, append %discnumber% to album name. Needed for correct album grouping on WMP
- fix: server: items with a real subsong of 0 where improperly detected (the original whole file was streamed instead of the subsong)
- fix: controller: fix bug on event subscription renewal in Platinum. On the second renewal (happening 1h after first subscription), controller would not get any event from the renderer
- fix: controller: UPnP Controller context menu on selected items could sometimes never be shown
- chg: controller now try to identify the renderer to which content is pushed to, and use the appropriate streaming profile. The Default profile is used if no matching could be made.
- fix: controller: "Client decode HTTP streams directly" setting not taken into account when sending a local item to a renderer using the controller. Now the setting  in the Default profile is used in that case.
- chg: controller: don't issue 2 consecutive Seek() or SetVolume() when using the respective sliders
- chg: server: now return items sorted using the default "sort incoming by" order: "%album artist%|$if($not($meta(album artist)),%date%)|%album%|%discnumber%|%tracknumber%|%title%". this should correcltly group track by album on the XBOX360 among others.
- fix: server: return %publisher% (dc:publisher) for all UPnP clients. For foobar2000 clients (ie foo_upnp) return specific additional info in DIDL: %discnumber%, %style%, %composer%, %conductor%,  %totaltracks%, %totaldiscs%, %compilation%, %vinyltrack%, %rating%.
- new: server: now returns mms:// items (previously they were skipped). Those items uses the "Client decode HTTP streams directly" setting.
- fix: server: when streaming a non-seekable location as PCM (for example relaying a netradio), seeking on the client will return a seek error to prevent bad things.
- fix: server: on foobar exit, a previous long seek operation could hang the app for a loooooooooooong while
- chg: server: the PCM decoder (also used for mp3 transcoding) was failing at some http streams and giving "file not found" errors. Now better with getting technical infos should imply less fail.
- chg: server: reduced buffer size of the PCM decoder for faster play (in the client) of http streams decoded by the server
- new: server: option in streaming profile to apply RG only to files that would be transcoded to mp3 or decoded to PCM according to the rules.
- fix: server: set rate and channels parameters in audio/L16 mime-type when streaming LPCM
Title: foo_upnp
Post by: bubbleguuum on 2009-11-14 12:30:15
0.99.16.1 released, to fix 2 crashes introduced in 0.99.16:

Code: [Select]
- fix: crash at plugin init in some rare cases
- fix: controller: crash when adding a renderer with no AVT service (the fake Xbox 360 renderer for example)


Title: foo_upnp
Post by: phibercrack on 2009-11-14 15:47:02
hi bubbleguuum..
i have problems with version 16 and 16.1 with my ps3.
with version 14 everything was perfect.. I made also a "clean" install of that component (means: i deleted: foo_upnp.xml) ..

i can choose the playlists or the library but i can't see any songs..

thanks for that creat component
ruben
Title: foo_upnp
Post by: bubbleguuum on 2009-11-14 16:56:42
hi bubbleguuum..
i have problems with version 16 and 16.1 with my ps3.
with version 14 everything was perfect.. I made also a "clean" install of that component (means: i deleted: foo_upnp.xml) ..

i can choose the playlists or the library but i can't see any songs..

thanks for that creat component
ruben



Very strange as it works here on my PS3...

Can you enable "log to file" in the Server advanced prefs and set log level to "ALL". Then restart fb so it takes effect, browse on your PS3 to some location
not showing items and send me the log file (foo_upnp.log) at bubbleguuum@ree.fr.
Title: foo_upnp
Post by: Adagio on 2009-11-14 20:27:35
I have the same problem of not seeing any titles (but Genre or Album structure are there) when browsing from the Kiss 1600.
I'm sending you foo_upnp.log in case you want to look at it, too.
Title: foo_upnp
Post by: raphaelrenaud on 2009-11-15 12:02:54
thank you very much for the nwe version! great, that now %discnumber% and %compilation% works! great!
Title: foo_upnp
Post by: phibercrack on 2009-11-15 12:37:25
its a little bit curious.. now it works.. i rebooted my notebook and everything is fine ..

thanks!
Title: foo_upnp
Post by: Wadsbrau on 2009-11-16 19:38:15
I set up the server to try out the "directories" listing and found a problem.  Although I am not sure if this is a bug or I am forgetting something. 

I have a folder called "Music"  that contains subfolders that are the names of the artists.  the artist subs contain the albums for that artist i.e.:

-Music
-- Beck
--- Mutations
    ...

However, after deleting the foo_upnp_ml_tree.xml file, I am getting a list of the album titles instead of the simple directory structure. i.e.

-Music
-- Mutations
    ...

Am I missing something? Or is this a bug to report?

Also, as a request, most UPnP servers that use folder structure to list the folders call the node "Folders".  if you could change that, I would appreciate it.

Thank you for your time

Darren
Title: foo_upnp
Post by: bubbleguuum on 2009-11-16 19:56:32
@Wadsbrau
It's not the real full filesystem structure. It just group your ML by %directoryname%, the last (directory) path component of your files.

This is temporary until I implement proper filesystem navigation contrained to the ML (not in the immediate future though).
Title: foo_upnp
Post by: Wadsbrau on 2009-11-16 20:37:45
Oh, sorry.  This "directories" node is useless then.  Hopefully in the near future you can add that feature.  Windows media player 12 has a "folder" list.  As well as almost all of the other UPnP server software. I was hopeful to use your server.  Well, there is still Twonky (which has issues) or FUPPES (also many issues).  However, I am grateful for the renderer part of the plugin.  I use it nearly every day utilizing a remote UPnP controller. 

I'll keep my fingers crossed.

Thanks,

Darren
Title: foo_upnp
Post by: adamtoth on 2009-11-22 10:31:24
First of all, this plugin is awesome!

I have an HP MediaSmart Windows Home Server that my music files are stored on. Previously to get my files to play in WMP, I had to add the network location to my libraries, install all the right directshow filters, and then use the WMPTagSupportExtender to get the metadata into the library (for FLAC/APE files). This always sucked on 64bit machines because not every format had a 64bit directshow filter, and the WMPTagSupportExtender never was compiled for 64bit. With this plugin, I can run foobar2000 on the Home Server and I don't have to worry about any of that because the files are streamed and all the metadata and album art comes with it. The only thing I need now is to get this working with Windows Media Center.

Does anyone know if Windows Media Center can be configured to browse a UPNP server? I know that WMC is kind of a glorified front-end to WMP, and uses the same media library, filters and codecs. Since WMP has the UPNP client, it seems like there should be a way for WMC to use it as well, however in the WMC UI the only options are to add specific network/local folders to the library for indexing. This puts me back on the dependency for WMPTagSupportExtender.

One more question, is it possible to include the Composer metadata tag? All my files are showing Unknown when viewing by composer (I have the correct tags set in my files).
Title: foo_upnp
Post by: Wacky on 2009-11-22 21:52:34
I would also like to thank the developer.  I used foobar2000 with a digital out soundcard for a long time but recently have been using FUPPES to stream music to several SMCWAA-G network players that I modifed for digital output.  FUPPES is a bitch to configure, but is very fast and low CPU overhead.  I tried Tversity and it was very slow and high overhead.

With foo_upnp I had to figure out how to list individual songs rather than albums.    My SMCWAA-G boxes can operate in Shuffle mode.  I had lists like All Songs, Songs by Artist or Songs by Genre. 

I looked at the foo_upnp_ml_tree.xml file and it appeared that you had to select albums as the "lowest common denominator" if you will.  But you can use the <item></item> method to get individual tracks.

<MediaLibraryTree>
   <SubTree label="Genres">
      <spec type="object.container.genre.musicGenre">%genre%</spec>
      <item>%title%</item>
   </SubTree>
   
   <SubTree label="All Songs">
      <item>%title%</item>
   </SubTree>
   
   <SubTree label="By Artist">
      <spec type="object.container.person.musicArtist">%artist%</spec>
      <item>%title%</item>
   </SubTree>
   
   <SubTree label="Albums">
      <spec type="object.container.album.musicAlbum">%album%[ '['%album artist%']']</spec>
   </SubTree>
   
</MediaLibraryTree>

If you select Genres, you get a list of Genre folders.  Within each folder there is a list of all matching songs.

If you select All Songs, you get a list of All Songs.  So Shuffle mode is like a jukebox which plays your entire Library.

If you select By Artist, you get a list of Artist folders.  Within each folder there is a list of all matching songs.

Perhaps this will be of interest.
Title: foo_upnp
Post by: bubbleguuum on 2009-11-23 22:32:14
Does anyone know if Windows Media Center can be configured to browse a UPNP server? I know that WMC is kind of a glorified front-end to WMP, and uses the same media library, filters and codecs. Since WMP has the UPNP client, it seems like there should be a way for WMC to use it as well, however in the WMC UI the only options are to add specific network/local folders to the library for indexing. This puts me back on the dependency for WMPTagSupportExtender.


Im not too sure about WMC but the plugin offers good support with WMP, especially the latest version (you'll have to thank TehLink for that).
If WMC works like WMP for upnp, it should work.

Quote
One more question, is it possible to include the Composer metadata tag? All my files are showing Unknown when viewing by composer (I have the correct tags set in my files).


It's possible to add that info so WMP can see it. I'll add it for next version
Title: foo_upnp
Post by: bubbleguuum on 2009-11-23 22:34:24
I looked at the foo_upnp_ml_tree.xml file and it appeared that you had to select albums as the "lowest common denominator" if you will.  But you can use the <item></item> method to get individual tracks.


I'm not sure to understand what you were trying to achieve, but <item> tags are not parsed at all by the plugin.
Title: foo_upnp
Post by: Goombas on 2009-11-24 00:41:02
@adamtoth
WMC does not allow you to index your media server but one can still browse it by clicking on "Music Library" and then "shared", last entry on the right. "foobar2000 Media Server" should appear in the list (this is on win 7 pro,  wmc v6.1).

@bubbleguuum
First bravo for this cool plugin. The last update .99.16.1 works great. 2 issues remain though:
* This is really personnal taste, but I don't like the new handling of albums in wmp. Even if an album is composed of two discs, this is still _one_ album. The choice of appending the disc number to the title leads to duplicates, not to say this is counter intuitive. Indeed when I click 'album listing', I expect to see an album list and not a disc one.
To solve the sorting problem, I'd rather make the track number the concatenation of the disc number + track number ie. 103, third track of the first disc or 201, first track of the second. Maybe you can make this an option? (ok i'm picky here i admit)

* I may have missed something but I can't make foo_upnp work with audio players based on the Coherence (http://coherence.beebits.net/wiki/WikiStart#Whatisit) library. This library is often used by media players on Linux. I can browse the hierarchy exposed by foo_upnp_ml_tree.xml but I never see the leaves (the media files), it stops at the parent folder even if it shows the number of files in the directory when I click on it.
The Coherence library comes with a debugging tool, Upnp Inspector. Below, a screenshot of it that exhibits the problem :

(http://i.imagehost.org/0971/Capture2.png)

On the following link, one can see how it should look like: http://coherence.beebits.net/wiki/Totem (http://coherence.beebits.net/wiki/Totem)

HTTP query from Totem, the default media player on Ubuntu, when I click on the last folder of the hierarchy :

Code: [Select]
POST /ContentDirectory/f853349f-80cf-bc9b-55b6-e4db60ac35d6/control.xml HTTP/1.0
Host: 192.168.1.105
User-Agent: Twisted PageGetter
Content-Length: 450
SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
content-type: text/xml;charset="utf-8"
connection: close
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
      <s:Body>
            <ns0:Browse xmlns:ns0="urn:schemas-upnp-org:service:ContentDirectory:1">
                  <ObjectID>0/1/0/1</ObjectID>
                  <BrowseFlag>BrowseDirectChildren</BrowseFlag>
                  <Filter>*</Filter>
                  <RequestedCount>0</RequestedCount>
                  <StartingIndex>0</StartingIndex>
                  <SortCriteria />
            </ns0:Browse>
      </s:Body>
</s:Envelope>

The response from foo_upnp:

Code: [Select]
HTTP/1.1 200 OK
Server: Platinum/0.5.4.0
Content-Type: text/xml; charset="utf-8"
Ext:
Connection: close
Content-Length: 625
<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
      <s:Body>
            <u:BrowseResponse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
                  <Result>&lt;DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/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/"&gt;&lt;/DIDL-Lite&gt;</Result>
                  <NumberReturned>0</NumberReturned>
                  <TotalMatches>21</TotalMatches>
                  <UpdateID>0</UpdateID>
            </u:BrowseResponse>
      </s:Body>
</s:Envelope>


I guess this is more a bug between the Platinium and Coherence library but maybe someone has an idea.
Title: foo_upnp
Post by: adamtoth on 2009-11-24 14:48:33
@adamtoth
WMC does not allow you to index your media server but one can still browse it by clicking on "Music Library" and then "shared", last entry on the right. "foobar2000 Media Server" should appear in the list (this is on win 7 pro,  wmc v6.1).


Thanks Goombas! I never even noticed that Shared link before, it's so hidden. Media Center seems to take a much longer time pulling in all the album art then just WMP by itself. I have a pretty large library and ehshell.exe gets over 2 GB of memory usage. It also doesn't seem to cache the art well for the next time I open WMC. Oh well, this is much better than before, and now seeking works on FLAC! Can't wait for the composer tag to be included, thanks again.


Title: foo_upnp
Post by: bubbleguuum on 2009-11-24 19:44:34
* This is really personnal taste, but I don't like the new handling of albums in wmp. Even if an album is composed of two discs, this is still _one_ album. The choice of appending the disc number to the title leads to duplicates, not to say this is counter intuitive. Indeed when I click 'album listing', I expect to see an album list and not a disc one.
To solve the sorting problem, I'd rather make the track number the concatenation of the disc number + track number ie. 103, third track of the first disc or 201, first track of the second. Maybe you can make this an option? (ok i'm picky here i admit)


I understand what you mean, I'll add the option

Quote
I guess this is more a bug between the Platinium and Coherence library but maybe someone has an idea.


This was a bug in my code when browsing is called with RequestedCount=0, something not recommended since it asks for all items of a container
. Thanks for reporting, fixed in upcoming version.
Title: foo_upnp
Post by: Wacky on 2009-11-24 22:56:58
I'm not sure to understand what you were trying to achieve, but <item> tags are not parsed at all by the plugin.

Hello:

Here's an example.

Using your default xml file.    If I open a folder for a specific Genre, I get a list of Albums which match that Genre.  I can open one of those Albums and play it from start to finish, correct?

But I wanted to open the Genre folder and see a list of all the Titles which matched that Genre, so my network player could "Shuffle" them automatically.

So I tried the <item></item> syntax that is similar to the FUPPES xml file and it works with foo_upnp.  I know it works because I have been listening to it for the past day.

Not sure why it works, of course.  I just assumed this was a standard part of upnp compatibility.

Once again, thanks for the plugin.
Title: foo_upnp
Post by: bubbleguuum on 2009-11-24 23:38:52
You can remove <item></item>, it will have the same effect.

writing:

<spec type="object.container.genre.musicGenre">%genre%</spec>

just splits your collection by genre, each node containing the items of a genre.

adding more <spec> clauses further split generated nodes into sub-nodes, for example to split all tracks of a genre by albums (this is what
the default Genres node does) you would add: <spec type="object.container.genre.musicAlbum">%album%</spec>

You can also restrict the splitting of a node to a subset of the Media Library. Suppose you want to display by genre, only your tracks in compilations:

<SubTree label="Compilations tracks by genres" query="compilation PRESENT">
<spec type="object.container.genre.musicGenre">%genre%</spec>
</SubTree>

Moderation: Removed useless full quote of the preceding post.
Title: foo_upnp
Post by: Wacky on 2009-11-25 12:41:11
You can remove <item></item>, it will have the same effect.


Thanks for the other tips.  I stumbled into the right answer by removing the second level of <spec></spec>.

Perhaps you can answer another question?

My SMC media renderer has a 3 line display.  When I play mp3 files with ID3V2 tags, the Artist, Album and Title are displayed statically on each line.  Also some streaming radio stations display multiple lines.

I would like this type of multi-line display for any file being played.

When I play a flac file with only flac tags ( I used tag.exe to strip out all the ID3V1 tags ) the SMC only displays one line.  Your foo_upnp allows me to display [%artist%] - [%title%] on one line, which is an improvement.

Do you have any ideas?


Title: foo_upnp
Post by: EarlMobileh on 2009-11-27 00:28:48
At first thanks for this plugin! I'm having the problem of a ~45 seconds delay between the playing of two songs. For server and client (browser panel) I'm using foobar 0.9.6.9 with the latest foo_upnp 0.99.16.1. I tried different sizes of the media library, tried to connect from work and everything works fine except the waiting time between the songs. Well, I assume thats not supposed to be, right? I'm running out of ideas and I didn't find anything helpful on the boards...

Before I had another (rather old) instance of foobar installed and for testing this plugin I installed another one with the latest versions of foobar, columns ui and foo_upnp. I didn't try uninstalling the old foobar yet, because I don't think that could be the reason, but who knows...

Any suggestions?
Title: foo_upnp
Post by: Bastard From A Basket on 2009-11-27 01:43:32
Is there some guide or help file for this somewhere?  Because it just flat out doesn't work for me.  I could have the plugin thing uninstalled and I wouldn't be able to tell for all it matters because nothing is happening here.  I'm wanting to play my music off my ps3.  I've got ps3 media server running for movies (though I don't use it), it detects that fine, I didn't have to mess with any ports or anything.  For this I've tried messing with all kinds of ports and nothing is happening.  None of the PCs can seem to detect it either.  I didn't see where anyone else was having any problem with this so I don't know what to do.  UPnP browser just shows PS3 Media Server, don't know if it is supposed to also show itself as well or what.  I feel like there's a giant ON button somewhere I'm missing or something. 

I want to use this because I have my pc hooked up to my tv and reciever but for some reason with my music, surround sound only comes out as stereo no matter what.  I thought sending it as lcpm to the ps3 instead might fix that.  I got my movies to finally work with surround sound by messing with some spdif shit but that doesn't seem to have worked here.  Not really up on all the terminology and shit as you might be able to tell.
Title: foo_upnp
Post by: Wacky on 2009-11-28 21:04:37
For Sirius Subscribers:

Check out SiriusStreamer at this link:

http://www.digitalradiocentral.com/sir-xmr...eplacement.html (http://www.digitalradiocentral.com/sir-xmro-internet-radio/8155-siriusstreamer-v1-0-beta-release-usirius-replacement.html)

You have to subscribe to download the file, but it is a terrific replacement for uSirius.  I am using this with foobar2000 and foo_upnp to stream my music and Sirius channels over my network.


There are directions on how to copy the Sirius channel streams so you can Add Location in foobar2000.  The author is working on some changes that may make it more foobar2000 friendly with respect to m3u support and feeds.

For now, I will make a new Playlist for each channel that I regularly listen to.


Title: foo_upnp
Post by: OrcaMarinha on 2009-11-29 23:59:16
I have just installed this plugin but having some problems to get it working.

I have a desktop which has all my music with this is it possible to use my laptop add the library from \\desktop\music and reproduce the music on the desktop ?

Now when I click on the files using the laptop it play on the laptop and I want to play on desktop.

Is it possible ?
Title: foo_upnp
Post by: shakey_snake on 2009-11-30 00:10:29
Do you have fb2k + foo_upnp installed on the laptop?

Yes it is very possibly, I do it every day.
Title: foo_upnp
Post by: OrcaMarinha on 2009-11-30 00:12:05
Do you have fb2k + foo_upnp installed on the laptop?

Yes it is very possibly, I do it every day.

Yep how do I do it ?
Title: foo_upnp
Post by: shakey_snake on 2009-11-30 00:30:05
Add the UPnP browser element to your layout on the laptop. See (layout editing mode (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Layout_Editing_Mode))


Then the desktop should show up under "UPnP server" usually with "foobar2000 Media Server" in the name. Then you can just browse your desktop's library and listen from there.
Title: foo_upnp
Post by: OrcaMarinha on 2009-11-30 12:38:24
WOW I'm just wow 

It works ! The most amazing is that I dont need to have the mp3 on the desktop I can just order to play there.
I asked on several forums for a solution there wasn't one that really work well. Foobar and this pluging rocks , thanks 
Title: foo_upnp
Post by: OrcaMarinha on 2009-11-30 19:44:02
Any of you u use MonoLite (http://fanco86.deviantart.com/art/MonoLite-122756120) ?
I'm trying to put a tab of browser but not working =(
Title: foo_upnp
Post by: OrcaMarinha on 2009-11-30 23:18:39
I have swaped my Music HD to the laptop and now when I click play on Upnp Controller on the laptop doesn't do anything on the desktop, doesnt work when the songs I want to play on desktop are in the laptop ?
Title: foo_upnp
Post by: EarlMobileh on 2009-11-30 23:33:53
As for the delay between tracks... I tried a bit more to figure out what causes the problem..

- deinstalling every old foobar installation
- setting up a server at work and connecting to it per internet (works perfectly!)
- throwing out any files stored on usb hard drives
- updating my router firmware (Netgear WGR614v7)
- deactivating any unneeded network connections
- quitting any upnp-aware applications

Nothing helped. Now I'm trying to understand the log files foo_upnp writes. If I assume correctly that the numbers are some kind of time measuring the delay must happen between the GET requests at 115.859 and 241.219. I started playing one file and waited until the second one got played. The first song is /content/9583af166357aeeea1cefbf3c1f8528c.mp3 and second one is /content/6bb959bcd694bfef9ee00cf53287c706.mp3. There is a NPT_ERROR_CONNECTION_RESET .. might that be the reason and why could it occur?

The codebox contains everything between those two mentioned points and here is the complete log (http://tinyurl.com/y89axs4).

Any help would be greatly appreciated!

[code]115.844: PLT_HttpHelper::ToLog(399): INFO:
GET /content/9583af166357aeeea1cefbf3c1f8528c.mp3?convert=mp3 HTTP/1.1
Host: 127.0.0.1:56000
User-Agent: foobar2000/0.9.6.9
Accept: */*
Icy-MetaData: 1

115.844: upnp_server_conf::get_profile(523): INFO: using profile 'foobar2000' (User-Agent:foobar2000/0.9.6.9)
115.844: upnp_server_conf::get_profile(523): INFO: using profile 'foobar2000' (User-Agent:foobar2000/0.9.6.9)
115.859: PLT_HttpServerSocketTask::Write(303): WARNING: NPT_CHECK failed, result=-20400 (
              NPT_ERROR_CONNECTION_RESET) [(NPT_StreamToStreamCopy(
              *body_stream.AsPointer(), *output_stream.AsPointer(), 0, entity->GetContentLength()))]
115.859: PLT_HttpServerSocketTask::Write(281): FINER: PLT_HttpServerTask Sending response:
115.859: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
Server: Platinum/0.5.4.0
Accept-Ranges:
Connection: keep-alive
Content-Type: audio/mpeg

150.750: PLT_HttpHelper::ToLog(399): FINE:
M-SEARCH * HTTP/1.1
MX: 1
ST: upnp:rootdevice
MAN: "ssdp:discover"
User-Agent: Platinum/0.5.4.0, DLNADOC/1.50 / foobar2000
Host: 239.255.255.250:1900

150.750: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
150.750: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
150.750: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: upnp:rootdevice
USN: uuid:8c8ee318-22b6-836b-3d55-5a7aadbc34d8::upnp:rootdevice

150.750: PLT_CtrlPoint::ProcessSsdpMessage(1052): FINE: Device "Residential Gateway" expiration time renewed..
150.750: NPT_Win32Thread::Start(482): FINER: creating thread
150.750: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
150.750: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
150.750: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: upnp:rootdevice
USN: uuid:8c8ee318-22b6-836b-3d55-5a7aadbc34d8::upnp:rootdevice

150.750: NPT_Win32Thread::EntryPoint(449): FINER: thread in =======================
150.750: PLT_HttpHelper::ToLog(399): FINE:
M-SEARCH * HTTP/1.1
MX: 1
ST: upnp:rootdevice
MAN: "ssdp:discover"
User-Agent: Platinum/0.5.4.0, DLNADOC/1.50 / foobar2000
Host: 239.255.255.250:1900

150.750: NPT_Win32Thread::Start(482): FINER: creating thread
150.750: PLT_CtrlPoint::ProcessSsdpMessage(1052): FINE: Device "Residential Gateway" expiration time renewed..
150.750: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
150.750: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

150.750: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
150.750: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3445
150.750: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

150.750: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

150.750: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
150.750: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

150.750: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
150.750: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3445
150.750: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

150.750: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

150.750: NPT_Win32Thread::EntryPoint(449): FINER: thread in =======================
150.750: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
150.750: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

150.750: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
150.750: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

150.750: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
150.750: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3447
150.750: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

150.750: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

150.766: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
150.766: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3447
150.766: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

150.766: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

156.797: PLT_HttpHelper::ToLog(399): FINE:
M-SEARCH * HTTP/1.1
MX: 5
ST: ssdp:all
MAN: "ssdp:discover"
User-Agent: Platinum/0.5.4.0, DLNADOC/1.50 / foobar2000
Host: 239.255.255.250:1900

156.797: NPT_Win32Thread::Start(482): FINER: creating thread
156.797: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.797: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
156.797: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: upnp:rootdevice
USN: uuid:8c8ee318-22b6-836b-3d55-5a7aadbc34d8::upnp:rootdevice

156.797: PLT_CtrlPoint::ProcessSsdpMessage(1052): FINE: Device "Residential Gateway" expiration time renewed..
156.797: PLT_HttpHelper::ToLog(399): FINE:
M-SEARCH * HTTP/1.1
MX: 5
ST: ssdp:all
MAN: "ssdp:discover"
User-Agent: Platinum/0.5.4.0, DLNADOC/1.50 / foobar2000
Host: 239.255.255.250:1900

156.797: NPT_Win32Thread::EntryPoint(449): FINER: thread in =======================
156.797: NPT_Win32Thread::Start(482): FINER: creating thread
156.797: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.797: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
156.797: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: uuid:8c8ee318-22b6-836b-3d55-5a7aadbc34d8
USN: uuid:8c8ee318-22b6-836b-3d55-5a7aadbc34d8

156.797: NPT_Win32Thread::EntryPoint(449): FINER: thread in =======================
156.797: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
156.797: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

156.797: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.797: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
156.797: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
USN: uuid:8c8ee318-22b6-836b-3d55-5a7aadbc34d8::urn:schemas-upnp-org:device:InternetGatewayDevice:1

156.797: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
156.797: PLT_CtrlPoint::ProcessSsdpMessage(1052): FINE: Device "Residential Gateway" expiration time renewed..
156.797: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a
ST: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a

156.797: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.797: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
156.797: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
156.797: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:device:MediaServer:1
ST: urn:schemas-upnp-org:device:MediaServer:1

156.797: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: uuid:273df994-239c-aa6f-3b64-c488d76846b4
USN: uuid:273df994-239c-aa6f-3b64-c488d76846b4

156.797: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
156.797: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.797: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
ST: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1

156.797: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
156.797: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: urn:schemas-upnp-org:device:WANDevice:1
USN: uuid:273df994-239c-aa6f-3b64-c488d76846b4::urn:schemas-upnp-org:device:WANDevice:1

156.797: PLT_CtrlPoint::ProcessSsdpMessage(1052): FINE: Device "WAN Device" expiration time renewed..
156.797: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
156.797: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:service:ContentDirectory:1
ST: urn:schemas-upnp-org:service:ContentDirectory:1

156.797: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.797: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
156.797: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: uuid:0a40e193-2282-a022-340b-f5e72c31530c
USN: uuid:0a40e193-2282-a022-340b-f5e72c31530c

156.797: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
156.797: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:service:ConnectionManager:1
ST: urn:schemas-upnp-org:service:ConnectionManager:1

156.797: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.797: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
156.797: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: urn:schemas-upnp-org:device:WANConnectionDevice:1
USN: uuid:0a40e193-2282-a022-340b-f5e72c31530c::urn:schemas-upnp-org:device:WANConnectionDevice:1

156.797: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
156.797: PLT_CtrlPoint::ProcessSsdpMessage(1052): FINE: Device "WAN Connection Device" expiration time renewed..
156.797: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

156.797: PLT_SsdpSearchTask::DoRun(476): WARNING: PLT_SsdpSearchTask got an error (-20800) waiting for response
156.797: PLT_SsdpSearchTask::DoRun(476): WARNING: PLT_SsdpSearchTask got an error (-20800) waiting for response
156.813: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
156.813: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a
ST: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a

156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3456
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

156.813: PLT_SsdpSearchTask::DoRun(476): WARNING: PLT_SsdpSearchTask got an error (-20800) waiting for response
156.813: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
156.813: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:device:MediaServer:1
ST: urn:schemas-upnp-org:device:MediaServer:1

156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3456
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a
ST: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a

156.813: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
156.813: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
ST: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1

156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: upnp:rootdevice
USN: uuid:8c8ee318-22b6-836b-3d55-5a7aadbc34d8::upnp:rootdevice

156.813: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:service:ContentDirectory:1
ST: urn:schemas-upnp-org:service:ContentDirectory:1

156.813: PLT_CtrlPoint::ProcessSsdpMessage(1052): FINE: Device "Residential Gateway" expiration time renewed..
156.813: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
156.813: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:service:ConnectionManager:1
ST: urn:schemas-upnp-org:service:ConnectionManager:1

156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: uuid:8c8ee318-22b6-836b-3d55-5a7aadbc34d8
USN: uuid:8c8ee318-22b6-836b-3d55-5a7aadbc34d8

156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3456
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:device:MediaServer:1
ST: urn:schemas-upnp-org:device:MediaServer:1

156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: urn:schemas-upnp-org:device:InternetGatewayDevice:1
USN: uuid:8c8ee318-22b6-836b-3d55-5a7aadbc34d8::urn:schemas-upnp-org:device:InternetGatewayDevice:1

156.813: PLT_CtrlPoint::ProcessSsdpMessage(1052): FINE: Device "Residential Gateway" expiration time renewed..
156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3456
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
ST: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1

156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: uuid:273df994-239c-aa6f-3b64-c488d76846b4
USN: uuid:273df994-239c-aa6f-3b64-c488d76846b4

156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3456
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:service:ContentDirectory:1
ST: urn:schemas-upnp-org:service:ContentDirectory:1

156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: urn:schemas-upnp-org:device:WANDevice:1
USN: uuid:273df994-239c-aa6f-3b64-c488d76846b4::urn:schemas-upnp-org:device:WANDevice:1

156.813: PLT_CtrlPoint::ProcessSsdpMessage(1052): FINE: Device "WAN Device" expiration time renewed..
156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: uuid:0a40e193-2282-a022-340b-f5e72c31530c
USN: uuid:0a40e193-2282-a022-340b-f5e72c31530c

156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3456
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:service:ConnectionManager:1
ST: urn:schemas-upnp-org:service:ConnectionManager:1

156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: urn:schemas-upnp-org:device:WANConnectionDevice:1
USN: uuid:0a40e193-2282-a022-340b-f5e72c31530c::urn:schemas-upnp-org:device:WANConnectionDevice:1

156.813: PLT_CtrlPoint::ProcessSsdpMessage(1052): FINE: Device "WAN Connection Device" expiration time renewed..
156.813: PLT_SsdpSearchTask::DoRun(476): WARNING: PLT_SsdpSearchTask got an error (-20800) waiting for response
156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3456
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

156.813: PLT_SsdpSearchTask::DoRun(476): WARNING: PLT_SsdpSearchTask got an error (-20800) waiting for response
156.813: PLT_SsdpSearchTask::DoRun(476): WARNING: PLT_SsdpSearchTask got an error (-20800) waiting for response
156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3456
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a
ST: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a

156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3456
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:device:MediaServer:1
ST: urn:schemas-upnp-org:device:MediaServer:1

156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3456
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
ST: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1

156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3456
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:service:ContentDirectory:1
ST: urn:schemas-upnp-org:service:ContentDirectory:1

156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

156.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3456
156.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:service:ConnectionManager:1
ST: urn:schemas-upnp-org:service:ConnectionManager:1

156.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
            (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

156.953: NPT_HttpRequest::Parse(591): FINE: NPT_CHECK failed, result=-20014 (
              NPT_ERROR_TIMEOUT) [(stream.ReadLine(line,
              NPT_HTTP_PROTOCOL_MAX_LINE_LENGTH))]
157.766: PLT_HttpHelper::ToLog(399): FINE:
M-SEARCH * HTTP/1.1
MX: 5
ST: upnp:rootdevice
MAN: "ssdp:discover"
User-Agent: Platinum/0.5.4.0, DLNADOC/1.50 / foobar2000
Host: 239.255.255.250:1900

157.766: NPT_Win32Thread::Start(482): FINER: creating thread
157.766: PLT_HttpHelper::ToLog(399): FINE:
M-SEARCH * HTTP/1.1
MX: 5
ST: upnp:rootdevice
MAN: "ssdp:discover"
User-Agent: Platinum/0.5.4.0, DLNADOC/1.50 / foobar2000
Host: 239.255.255.250:1900

157.766: NPT_Win32Thread::Start(482): FINER: creating thread
157.766: NPT_Win32Thread::EntryPoint(449): FINER: thread in =======================
157.766: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
157.766: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
157.766: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: upnp:rootdevice
USN: uuid:8c8ee318-22b6-836b-3d55-5a7aadbc34d8::upnp:rootdevice

157.766: PLT_CtrlPoint::ProcessSsdpMessage(1052): FINE: Device "Residential Gateway" expiration time renewed..
157.766: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
157.766: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
157.766: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: upnp:rootdevice
USN: uuid:8c8ee318-22b6-836b-3d55-5a7aadbc34d8::upnp:rootdevice

157.766: PLT_CtrlPoint::ProcessSsdpMessage(1052): FINE: Device "Residential Gateway" expiration time renewed..
157.766: NPT_Win32Thread::EntryPoint(449): FINER: thread in =======================
158.766: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
158.766: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

158.766: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
158.766: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
158.766: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3458
158.766: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

158.766: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

158.766: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

158.766: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
158.766: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3458
158.766: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

158.766: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

160.828: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
160.828: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

160.828: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
160.828: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a
ST: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a

160.828: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
160.828: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3463
160.828: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

160.828: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

160.828: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
160.828: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:device:MediaServer:1
ST: urn:schemas-upnp-org:device:MediaServer:1

160.828: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
160.828: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3463
160.828: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a
ST: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a

160.828: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
160.828: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
ST: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1

160.828: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
160.828: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3463
160.828: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:device:MediaServer:1
ST: urn:schemas-upnp-org:device:MediaServer:1

160.828: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

160.828: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
160.828: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:service:ContentDirectory:1
ST: urn:schemas-upnp-org:service:ContentDirectory:1

160.828: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
160.828: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3463
160.828: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
ST: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1

160.828: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
160.828: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

160.828: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:service:ConnectionManager:1
ST: urn:schemas-upnp-org:service:ConnectionManager:1

160.828: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
160.828: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

160.828: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
160.828: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a
ST: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a

160.828: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
160.828: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3463
160.828: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:service:ContentDirectory:1
ST: urn:schemas-upnp-org:service:ContentDirectory:1

160.828: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

160.828: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
160.828: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:device:MediaServer:1
ST: urn:schemas-upnp-org:device:MediaServer:1

160.828: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
160.828: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
ST: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1

160.828: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
160.828: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3463
160.828: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:service:ConnectionManager:1
ST: urn:schemas-upnp-org:service:ConnectionManager:1

160.828: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
160.828: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

160.828: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:service:ContentDirectory:1
ST: urn:schemas-upnp-org:service:ContentDirectory:1

160.828: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
160.828: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
160.828: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3463
160.828: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:service:ConnectionManager:1
ST: urn:schemas-upnp-org:service:ConnectionManager:1

160.828: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

160.828: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

160.828: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
160.828: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3463
160.828: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a
ST: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a

160.828: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
160.828: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3463
160.828: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:device:MediaServer:1
ST: urn:schemas-upnp-org:device:MediaServer:1

160.828: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

160.844: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
160.844: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3463
160.844: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
ST: urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1

160.844: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

160.844: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
160.844: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3463
160.844: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:service:ContentDirectory:1
ST: urn:schemas-upnp-org:service:ContentDirectory:1

160.844: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

160.844: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
160.844: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3463
160.844: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::urn:schemas-upnp-org:service:ConnectionManager:1
ST: urn:schemas-upnp-org:service:ConnectionManager:1

160.844: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

161.813: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
161.813: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

161.813: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
161.813: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

161.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
161.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3467
161.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

161.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

161.813: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
161.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3467
161.813: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

161.813: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

176.453: PLT_HttpServerSocketTask::Write(303): WARNING: NPT_CHECK failed,
              result=-20014 (NPT_ERROR_TIMEOUT) [(NPT_StreamToStreamCopy(
              *body_stream.AsPointer(), *output_stream.AsPointer(), 0, entity->GetContentLength()))]
200.766: PLT_HttpHelper::ToLog(399): FINE:
M-SEARCH * HTTP/1.1
MX: 1
ST: upnp:rootdevice
MAN: "ssdp:discover"
User-Agent: Platinum/0.5.4.0, DLNADOC/1.50 / foobar2000
Host: 239.255.255.250:1900

200.766: NPT_Win32Thread::Start(482): FINER: creating thread
200.766: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
200.766: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
200.766: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: upnp:rootdevice
USN: uuid:8c8ee318-22b6-836b-3d55-5a7aadbc34d8::upnp:rootdevice

200.766: PLT_CtrlPoint::ProcessSsdpMessage(1052): FINE: Device "Residential Gateway" expiration time renewed..
200.766: NPT_Win32Thread::EntryPoint(449): FINER: thread in =======================
200.766: PLT_HttpHelper::ToLog(399): FINE:
M-SEARCH * HTTP/1.1
MX: 1
ST: upnp:rootdevice
MAN: "ssdp:discover"
User-Agent: Platinum/0.5.4.0, DLNADOC/1.50 / foobar2000
Host: 239.255.255.250:1900

200.766: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
200.766: NPT_Win32Thread::Start(482): FINER: creating thread
200.766: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.1:1900
200.766: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
200.766: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
SERVER: Ambit OS/1.0 UPnP/1.0 AMBIT-UPNP/1.0
EXT:
LOCATION: http://192.168.1.1:80/Public_UPNP_gatedesc.xml (http://192.168.1.1:80/Public_UPNP_gatedesc.xml)
CACHE-CONTROL: max-age=3600
ST: upnp:rootdevice
USN: uuid:8c8ee318-22b6-836b-3d55-5a7aadbc34d8::upnp:rootdevice

200.766: PLT_CtrlPoint::ProcessSsdpMessage(1052): FINE: Device "Residential Gateway" expiration time renewed..
200.766: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

200.766: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
200.766: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3513
200.766: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

200.766: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
200.766: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

200.766: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

200.766: NPT_HttpClient::ReadResponse(1154): FINER: got response, code=200, msg=OK
200.766: PLT_CtrlPoint::ProcessSsdpSearchResponse(772): FINE: CtrlPoint received SSDP search response from 192.168.1.2:3513
200.766: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
LOCATION: http://192.168.1.2:56000/DeviceDescription.xml (http://192.168.1.2:56000/DeviceDescription.xml)
CACHE-CONTROL: max-age=1800
Server: UPnP/1.0, DLNADOC/1.50, Platinum/0.5.4.0 / foobar2000
EXT:
USN: uuid:84b4bdec-94b1-f271-e0ef-9c2c5b99f19a::upnp:rootdevice
ST: upnp:rootdevice

200.766: PLT_CtrlPoint::ProcessSsdpSearchResponse(807): FINE: CtrlPoint received a search response from ourselves
              (84b4bdec-94b1-f271-e0ef-9c2c5b99f19a)

200.766: NPT_Win32Thread::EntryPoint(449): FINER: thread in =======================
200.781: PLT_SsdpSender::SendSsdp(103): FINE: Sending SSDP:
200.781: PLT_HttpHelper::ToLog(485): FINE:
HTTP/1.1 200 OK
LOCATION: [url=
Title: foo_upnp
Post by: bubbleguuum on 2009-12-01 00:21:54
@EarlMobileh: I'll look more in detail tomorrow but what is strange is that http requests are coming from 127.0.0.1 or sometimes, localhost:

INFO: received LAN request: http://127.0.0.1:56000/content/6bb959bcd69...mp3?convert=mp3 (http://127.0.0.1:56000/content/6bb959bcd694bfef9ee00cf53287c706.mp3?convert=mp3).

You probably should have a real IP on your LAN here instead. I'll send you a test build that disable considering 127.0.0.1 as an interface to see if it makes things better.

You can try to type the command ipconfig in a command shell, on the PC acting as the client. If you see 127.0.0.1 listed as an interface it might be getting in the way.

EDIT: check for an interface (whith ipconfig) on 127.0.0.1 also on the server, as it may wrongly advertise itself wrongly on this IP.
Title: foo_upnp
Post by: EarlMobileh on 2009-12-01 08:12:10
Hmm, I didn't find an interface 127.0.0.1 with ipconfig. What I'm doing is connecting with a local client to a local server per internet (server and client runs on the same foobar instance). But it doesn't matter if a friend connects or if I connect to myself - the delay occurs every time.
Title: foo_upnp
Post by: OrcaMarinha on 2009-12-01 11:59:18
No one can answer my question ?
Isn't possible to stream withing the lan to other computer ?
Title: foo_upnp
Post by: Walterrrr on 2009-12-01 12:25:28
Hi bubbleguuum, I wanted to let you know this is exactly what I was looking for. Granted, my xbox is currently connected to the same receiver as my computer, but the living PS3 will be happy to have some good tunes!
Title: foo_upnp
Post by: Goombas on 2009-12-01 19:09:33
Hi bubbleguuum,

You were right with the "RequestedCount=0", I temporally modified my player plugin to send 999999 instead of 0 and now I can browse and play the media files. Thanks.

One remark though about your server: if that's easy for you, it would be great to implement the childCount attribute at the container level.
It allows clients that support it to show the number of entries a container has without actually clicking on it. A tiny usability improvement.

And the other way arround for your browser, make use of this attribute when the server send it.

Please find below the didl capture of a server that implements this feature:

Code: [Select]
<DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:dlna="urn:schemas-dlna-org:metadata-1-0" xmlns:pv="http://www.pv.com/pvns/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">
      <container childCount="3" id="101" parentID="0" restricted="0">
            <dc:title xmlns:dc="http://purl.org/dc/elements/1.1/">All tracks</dc:title>
            <upnp:class xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/">object.container</upnp:class>
            <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2003-07-23T01:18:00+02:00</dc:date>
            <res protocolInfo="http-get:*:*:*">
  dlna-playcontainer://uuid%3Abd1081ce-4ee6-496d-91b1-0a4d633785d8?sid=urn%3Aupnp-org%3AserviceId%3AContentDirectory&cid=101&fid=1000001&fii=0&sc=&md=0</res>
      </container>
</DIDL-Lite>

cheers.
Title: foo_upnp
Post by: erauch on 2009-12-03 02:43:20
Is there someone that can give me a simple tutorial on using the Plugin? I was led here as Foobar2000 is listed as a media or audio player that supports upnp. I have a UPNP server, I can access it via Windows Media and so on with no issue but I wanted to try Foobar 2000. Unfortunately although I have copied the dll to the component locations, and I see the UPNP settings... it still looks as though Foobar2000 wants to be a SERVER and not a Renderer or Player. It certainly doesn't see the existing server on my network... is this perhaps not intended... maybe it can only see itself on another machine running as SERVER?? Please advise and sorry for the newbie questions.

EdR
Title: foo_upnp
Post by: shakey_snake on 2009-12-03 02:52:31
erauch: Now that I've moved you post to the proper thread, you should check out my post (http://www.hydrogenaudio.org/forums/index.php?showtopic=69664&view=findpost&p=670622) above.
Title: foo_upnp
Post by: alkasar on 2009-12-05 11:09:35
This plugin is awesome :-) thanks a lot bubbleguuum
two questions for you :

- Gapless playback with upnp seems related to the server. Any chance that foo_upnp server could implement gapless playback using foobar settings ?

- sync mulitple players. is this possible with the controller ?

I use a Philips NP2500 player. the server works perfectly with this player. The controller however sometimes looses control. I need to close/reopen foobar to get control again. Difficult to give you detailed feed back to identify problem. Overall it works pretty well.  Keep on the good work :-)
Title: foo_upnp
Post by: robin5210 on 2009-12-05 12:01:08
Hello, It works. but there are some problems...

When i right click on a file inside foobar and want to sellect the controller no menu shows up.
I'm streaming to plugplayer 2.3.2.
With plugplayer i can control foobar, thats not the problem.

So is it possible to control plugplayer with foobar?
And if yes. How do u do it?

Thanks for the gr8 plugin
Title: foo_upnp
Post by: bubbleguuum on 2009-12-05 14:42:47
One remark though about your server: if that's easy for you, it would be great to implement the childCount attribute at the container level.
It allows clients that support it to show the number of entries a container has without actually clicking on it. A tiny usability improvement.

I'll return the childCount attribute, athough the UPnP browser will not make use of it because I display child count on a node to show that a node has been browsed.


- Gapless playback with upnp seems related to the server. Any chance that foo_upnp server could implement gapless playback using foobar settings ?

UPnP AV do not really make gapless possible unfortunately on individual items, but see next answer for a possible way to have gapless.

- sync mulitple players. is this possible with the controller ?

Not possible with the controller, but in the next foo_upnp release, the server will expose a new item called "Playback Stream Capture" playing whatever foobar is actually playing, as one infinite LPCM stream. If you play that item from each individual renderer, they should all be playing the same stream with a slight desynchronization probably < 1 sec.

I use a Philips NP2500 player. the server works perfectly with this player. The controller however sometimes looses control. I need to close/reopen foobar to get control again. Difficult to give you detailed feed back to identify problem. Overall it works pretty well.  Keep on the good work :-)

There's many problems with the Controller and various hardware players. I'm in the process of trying to fix them but as each hardware behave slightly differenlty and I don't have said hardware, this proves to be difficult (I work only from log files).


When i right click on a file inside foobar and want to sellect the controller no menu shows up.
I'm streaming to plugplayer 2.3.2.
With plugplayer i can control foobar, thats not the problem.

So is it possible to control plugplayer with foobar?
And if yes. How do u do it?


First you need to enable the PlugPlayer Renderer in PP configuration. It is disabled by default so it can't be seen on the network until you enable it.
Once you see this renderer in the UPnP Controller, you should be able to control it. I strongly advise you upgrade to PP 2.5.0 it  fixes
many issues of its previous renderer implementation.
Title: foo_upnp
Post by: robin5210 on 2009-12-06 20:37:15
@bubbleguuum

Thanks for the help. But it dind't work Foobar just doesn't seem to find it and also cidero not. So i gues there must be something wrong with my network settings. I will try to find a solution.
Title: foo_upnp
Post by: sti3 on 2009-12-11 17:58:25
Perhaps I missed it, but would it be possible for Folders view to mimic the directory structure of one's library?  I have my library broken up into groups of genres (the genres in the tags of my music are crap) and then subfolders and subfolders within that (e.g. trance\mixes__livesets\va_mixed_by_armin_van_buuren-a_state_of_trance_2005-2005) and would prefer if the server could mirror that.  Not possible?  Forgive me if this has been mentioned.
Title: foo_upnp
Post by: Goombas on 2009-12-11 20:53:51
Hi sti3,
yes already mentioned [a href=\'index.php?act=findpost&pid=667939\']here[/a].

It's not the real full filesystem structure. It just group your ML by %directoryname%, the last (directory) path component of your files.

This is temporary until I implement proper filesystem navigation contrained to the ML (not in the immediate future though).

In the meantime, I use this suboptimal solution in foo_upnp_ml_tree.xml:
<SubTree label="Directories">
  <spec>$directory(%path%,4)</spec>
  <spec>$directory(%path%,3)</spec>
  <spec>$directory(%path%,2)</spec>
  <spec>$directory(%path%,1)</spec>
</SubTree>


Non optimal because this will only works if your media files are always at the same depth from the top directory.


@bubbleguuum
While I'm at it, WMP ignore the "Directories" tree and just shows all the files in a pseudo folder named "<CurrentFolder>".

To make it work properly, you might send a microsoft specific property:

Code: [Select]
<item>
  (...)
  <desc id="folderPath" nameSpace="urn:schemas-microsoft-com:WMPNSS-1-0/" xmlns:microsoft="urn:schemas-microsoft-com:WMPNSS-1-0/">
    <microsoft:folderPath>Music\iTunes\iTunes Music\Podcasts\Frenchspin.com (fr)</microsoft:folderPath>
 </desc>
 (...)
</item>
Title: foo_upnp
Post by: bubbleguuum on 2009-12-12 23:43:43
v 0.99.17 out (first post to donwload). This version requires foobar2000 1.0.0.
There's also a first attempt at documentation (see first post for the link), in a text file until I present it more nicely in the Wiki.

@Goombas: I've been trying to have WMP recognize those extensions, but no luck. Looks like it parses it only if it thinks the server is WMP, and I couldn't
find what it is (tried setting the Model of the device but didn't work). Also, filesystem browsing support should arrive in the next version, since it is the most requested feature.

0.99.17

- supports foobar2000 1.0.0+ only, prefs pages are 1.0.0 compliant
- controller / browser: popup version of UI elements can be found in the View menu
- controller: Linn DS embedded Playlist support. List all sources of a Product, as renderers. Added Linn DS streaming profile
- controller: added pref page with track info configurable with a titleformat script
- controller: various changes for more compat with harwdare renderers + more debug traces
- server: added experimental "Playback Stream Capture" node. This will stream what's currently playing on the remote instance, in 44100Khz / 16 bits / 2 channels LPCM.
Can be used to do cheap multi-room audio. There's still some small audio glitches when manually changing tracks on the remote instance.
- server: upnp:// items are now regular http:// items. Copy file operation on such items now works and preserve the file extension (only if the URL has a file extension which is the ase with items exposed by foo_upnp). Also, the converter should work on those items.
- controller: avoid jumpy volume and seek sliders, display volume on slider drag
- controller: renderers are listed in alphabetic order
- controller: when sending track to a renderer, try to pick the best uri in all resources, matching the more closely the ip of the renderer, to avoid having
the renderer play a non routable ip.
- controller: in context menu, don't list renderers that do not have play capability
- controller: enable state of buttons possibly incorrect when multiple renderers listed
- controller: streaming profile associated to a renderer was not taking into account subsequent modifications of this profile
- controller: click on PL button select playing track in playlist, if any
- controller: "UPnP Controller playback queue" cannot be deleted while UPnP Controller UI Element is running. It is always (re)created when component is instanciated.
- server: populate all playlists on Playlists node browse, because we don't monitor playlist updates
- server: several foobar2000 instances on the same PC can see each other servers as long as they are installed in different directories.
- server: returned item resources had no correct mime-type for flac, wavpack, musepack, ogg. PlugPlayer 2.5.0 wouldn't play flac because of this.
- server: if client is not foobar2000 and item has %discnumber%, prepend %discnumber% to track number. ex: track 1 / disc 2 => tracknumber = 201. Needed for correct WMP track ordering.
Except if %totaldiscs% is > 2 or is not set, fallback to appending [Disc %discnumber%] to album name (because WMP  consider a tracknumber > 256 as bogus and won't display it. Ouch
- server: WMP now recognize the returned %composer% tag
- server: Browse() action with RequestedCount=0 would not return any item in some cases
- server: removed option to enable/disable Playlists and Media Library nodes
- server: removed option to use %album artist% instead of %artist% in returned items
- server: profile option "convert 5.1 to stereo" is now "convert to stereo" and will convert both mono and 5.1 to stereo
- server: selecting LPCM in streaming profile force max bitdepth to 16 bits
- server: if streaming LPCM to a foobar2000 instance, force conversion to stereo
- server: return chidCount property of containers
- server: returned items contain one resource per network interface
- renderer: played items that were not pushed by a control point now send back correct metadata to control points
- renderer: set browse data on pushed items by a controller. needed for album art display and for PCM pushed items to display track metadata in foobar title bar (would just display the URL otherwise)
- browser: removed option "Remove remote items in all playlists on server disconnection"
- fix: rare crash in Platinum
- fix: rare crashes on exit
Title: foo_upnp
Post by: Goombas on 2009-12-13 22:52:16
Thanks for this new release, the best ever!

[quote author=bubbleguuum link=msg=0 date=]I've been trying to have WMP recognize those extensions, but no luck. Looks like it parses it only if it thinks the server is WMP, and I couldn't
find what it is (tried setting the Model of the device but didn't work).[/quote]

It works with WMP 12, I don't know the version you're using. As a proof of concept, i've made a patch against the last version 0.99.17: http://bit.ly/8XXGK6 (http://bit.ly/8XXGK6)
For this to work, you need to set the title format to $directory_path(%path%) in the upnp  server advanced settings (I hijacked the year tag).

(http://i.imagehost.org/0907/Untitled-1_5.png)


With this and user rating taken from foo_playcount tags, wmp support should be complete. There is the share of playlists but I'm not sure it's possible to do (and I don't care) .
Title: foo_upnp
Post by: Peti on 2009-12-15 07:28:10
Quote
new: server: option in streaming profile to apply RG only to files that would be transcoded to mp3 or decoded to PCM according to the rules.

Thank you for implementing this feature, but unfortunately I can't find it.
Title: foo_upnp
Post by: bubbleguuum on 2009-12-16 19:21:25
Quote
new: server: option in streaming profile to apply RG only to files that would be transcoded to mp3 or decoded to PCM according to the rules.

Thank you for implementing this feature, but unfortunately I can't find it.


The option is not in the UI, you have to edit foo_upnp.xml and restart the server. look for the "decoded_and_transcoded_only" attribute in the file and set it to "yes" in the relevant profile.
Title: foo_upnp
Post by: Hengest on 2009-12-17 07:25:34
Request: Not sure if this is possible, but an option to scrobble tracks to last.fm (via foo_audioscrobbler - similar to how foo_dop does it) when they are streamed to another device. Eg., if I use foo_upnp to play a track on my Xbox360, the track would also get scrobbled.
Title: foo_upnp
Post by: zerox on 2009-12-18 13:36:44
This is probably the single best plugin (IMHO) for foobar. Keep up the great work!

Were you the same person who had done some of the work years(s) ago on Java integration? If so I'm very interested in helping / forking if you'd be willing to share source.

On to the meat of the post...

Suggestion/Request:

Is it possible to add some working/progress indicitators to both the tree and the search request? There are many times when clicking on the tree that it's not immediately obvious that something is happening. I understand that things ARE happening but the immediate user feedback will make the UI "feel" better, specifically in the case of searching. Something as simple as a rotating icon, "Working...", indeterminate progress bar, etc. I've dealt with very similar issues with my users (at work) and often times feedback goes a long way.

See http://www.extjs.com/deploy/dev/examples/d...direct-tree.php (http://www.extjs.com/deploy/dev/examples/direct/direct-tree.php). In particular look at the animated dots/circle when expanding a node, not the animated node expansion itself.

Hopefully that makes sense, if not I can dig up more example videos / screenshots
Title: foo_upnp
Post by: bubbleguuum on 2009-12-19 11:05:21
Request: Not sure if this is possible, but an option to scrobble tracks to last.fm (via foo_audioscrobbler - similar to how foo_dop does it) when they are streamed to another device. Eg., if I use foo_upnp to play a track on my Xbox360, the track would also get scrobbled.


If foo_audioscrobbler offers an API (likely if foo_dop uses it), I'll look into it


This is probably the single best plugin (IMHO) for foobar. Keep up the great work!

Were you the same person who had done some of the work years(s) ago on Java integration? If so I'm very interested in helping / forking if you'd be willing to share source.


True, I did an experimental Java plugin loader some time ago. Its source is available here (http://bubbleguuum.free.fr/foo_java_plugin_loader/). I never devellopped it
further because mapping the SDK to Java classes is a huge and non trivial task.


Quote
Is it possible to add some working/progress indicitators to both the tree and the search request? There are many times when clicking on the tree that it's not immediately obvious that something is happening. I understand that things ARE happening but the immediate user feedback will make the UI "feel" better, specifically in the case of searching. Something as simple as a rotating icon, "Working...", indeterminate progress bar, etc. I've dealt with very similar issues with my users (at work) and often times feedback goes a long way.


I agree some visual feedback is really needed. I'll do something about it.
Title: foo_upnp
Post by: mccarver on 2009-12-19 11:43:59
Nice to see such a useful plugin is kept up to date. Bubbleguuum, you're work is really appreciated.

But I have a issue I couldn't find in the previous thread pages. Using foobar 1.0 and your last beta 0.99.17.

I work with FLACs with embedded cuesheets. Foo_upnp seems to work really nice when it streams un-transcoded music, which gets to the client in the form of 1411 kbps PCM. But since this format is quite inapplicable over the internet, I prefer to have mp3 streamed to the client. When I switch to 'always' transcoding to MP3 the client can't get a correct tracklists of FLAC albums: the tracklists it receives are made of the same (the last) track over and over. Albums that were already coded in MP3 are no issue.

It does seem something which can be easily handled, I think.

Thank you very much.
Title: foo_upnp
Post by: bubbleguuum on 2009-12-19 13:03:46
@mccarver: streaming url is missing the subsong index. This will be fixed in the next release
Title: foo_upnp
Post by: bubbleguuum on 2009-12-19 16:28:31
0.99.18 (first post to download)

- browser: new: added visual indication of browsing and searching actions
- server: new: send fodlerPath MS specific property for WMP to be able to browse by folder path. Return MS specific rating property if present (%rating% between 0 and 5)
- server: fix: transcoding to mp3 items with subsong would not work
- server: chg: removed childCount property of returned containers, was slowing down browsing too much in some cases (most noticeably, when browsing the Media Library node).
- controller: mute toggle button reflects renderer mute state
Title: foo_upnp
Post by: mccarver on 2009-12-19 16:51:00
Last rel works flawlessy, my bug is definitely fixed.
I just have a question: what kind of album arts are currently supported? My 'folder.jpg' are not streamed. Just a minor inconvenience I guess..

Thank you

EDIT: Going to next track after previous is finished is slooow and in the meantime produces unwanted sound stuttering..
Title: foo_upnp
Post by: Goombas on 2009-12-19 22:05:17
Hi, thanks bubbleguuum for this update.

Bug report starring foo_upnp server with wmp client:

- the MS properties won't always work for me, by default foo_playcount does not store the rating in file tag. Could you check the %rating% titleformatting field instead of the rating tag.

- the path is not right for some albums that would end up in the generic <current folder>. This is because the original path has an ampersand and it has been escaped. From a conversation we had earlier  I quoted a microsoft document:
Quote
In Windows Vista, WMP Sharing double-escapes the XML tags inside the descriptor () element.

..that is the xml tags only should be double escaped, not the path inside the escaped tag! It might  be my fault because I spoke about 'inner text'.
The test build worked fine though because the desc tag content was not double escaped at all and wmp 12 can handle this.

- I'd rather see the paths exposed be constrained to the foobar media library if that's possible.

- not new but still valid, the default wmp profile decode to wav but then for each files, wmp 12 shows a blue exclamation mark along with a warning This file is of an unrecognized type ... Selecting the lpcm format fix this.

By the way, why is there a wav format in the first place? This container is never mentioned as a valid format in the dlna specs I could read (draft only as i don't have 300€ to spend on the final document).

Title: foo_upnp
Post by: bubbleguuum on 2009-12-20 21:37:45
I just have a question: what kind of album arts are currently supported? My 'folder.jpg' are not streamed. Just a minor inconvenience I guess..


The server recognize album art configured as Front Cover in Preferences / Display / Album Art.
"Allow allbum art streaming" must  be enabled in Server / Advanced setting pref page (it is enabled by default)

For the UPnP Browser to load  album art in an Album Art Viewer UI Element (under DUI), "Fetch album art" must be enabled (on by default)
inthe Browser pref page.

Note that under CUI, album art cannot display yet. It needs to use the newer album art loader introduced in fb 1.0.0.


EDIT: Going to next track after previous is finished is slooow and in the meantime produces unwanted sound stuttering..


Can you be more precise about the exact settings this happens ? transcoding enabled ? over internet ? how much bandwidth ? which file type ? etc...
Title: foo_upnp
Post by: mccarver on 2009-12-21 16:16:42
Note that under CUI, album art cannot display yet. It needs to use the newer album art loader introduced in fb 1.0.0.


This is probably why I can't see album arts..

Can you be more precise about the exact settings this happens ? transcoding enabled ? over internet ? how much bandwidth ? which file type ? etc...


It seems to only happen with trascoding enabled. As a matter of fact streaming is almost gapless in PCM.
Transcoding options are set to VBR MP3. It seems I can't set ABR/CBR back.

Experiments are done in local network.

Thanks!
Title: foo_upnp
Post by: Speech on 2009-12-24 20:43:27
This is great software, thanks!
However, let me report 2 problems I encountered:

- The Wi-Fi connection must be established before the moment foobar2000 is started.  Otherwise, if foobar2000 is started before I establish the connection, my device would not see the foobar server.  It would only see the computer, which is a different server.  This is not the case with Windows Media Player 12, to I can connect even if it was running before I established the Wi-Fi connection.  Why is it necessary to establish the Wi-Fi connection prior to starting the foobar UPnP server?

- If I start a audio file in a playlist from the external device, it would play, but it also sets the option Stop after current (available in the Playback main menu).  I would rather prefer it to let the audio continue with the next files in the playlist instead.

I'm running v. 0.99.16.1 on the latest foobar2000 0.9.6.9 and I'm connecting with a Nokia N95.
Title: foo_upnp
Post by: bubbleguuum on 2009-12-25 20:04:07
It seems to only happen with trascoding enabled. As a matter of fact streaming is almost gapless in PCM.
Transcoding options are set to VBR MP3. It seems I can't set ABR/CBR back.

I can't seem to reproduce the problem. Both VBR and CBR works without glitch here. Note that there is a confusing visual bug on the
ABR and VBR/CBR radio button, where both buttons can be selected at the same time, but it does not affect operation.


- The Wi-Fi connection must be established before the moment foobar2000 is started.  Otherwise, if foobar2000 is started before I establish the connection, my device would not see the foobar server.  It would only see the computer, which is a different server.  This is not the case with Windows Media Player 12, to I can connect even if it was running before I established the Wi-Fi connection.  Why is it necessary to establish the Wi-Fi connection prior to starting the foobar UPnP server?


Because I'm not detecting new network interfaces after starting.
I've just implemented it in the upcoming version (not too far off) so it should work as you expected in this case.

- If I start a audio file in a playlist from the external device, it would play, but it also sets the option Stop after current (available in the Playback main menu).  I would rather prefer it to let the audio continue with the next files in the playlist instead.


I suppose you mean you are remote controlling a foobar2000 Media Renderer instance, and on that instance "Stop After Current" remains enabled.
During the time of being remotely controlled, the Renderer enables "Stop After Current" because it needs it for proper operation. It just does a poor job at restoring the initial
"Stop After Current"  state when not being controlled anymore.
Title: foo_upnp
Post by: Speech on 2009-12-27 14:16:18
I suppose you mean you are remote controlling a foobar2000 Media Renderer instance, and on that instance "Stop After Current" remains enabled.
During the time of being remotely controlled, the Renderer enables "Stop After Current" because it needs it for proper operation. It just does a poor job at restoring the initial
"Stop After Current"  state when not being controlled anymore.


I guess we can say it this way, too.
Do you mean it's a bug that could be fixed sometime?
This behaviour is a bit confusing, since you can easily forget about "Stop after current" when you use foobar as a basic audio player again.
Title: foo_upnp
Post by: bubbleguuum on 2009-12-27 15:20:43
New version, with finally the much requested ability to browse the ML by folders. For the new "Folders" node to show up,
you'll have to either remove  foo_upnp_ml_tree.xml or add
Code: [Select]
<SubTree label="Folders" type="filesystem"/>


The server now loads the content of the browse tree when starting, so browsing on the client should be much faster, especially with large libraries.

0.99.19 (first post to download)

- server: support for browsing the Media Library by folders (requires prior removal of foo_upnp_ml_tree.xml or adding the node manually)
- server: on start, preload the whole Media Library browse tree in background, to speed up client browsing
- browser/controller: detect new network interfaces at runtime and UPnP devices on those interfaces
- server: in returned items, when browsed from WMP, returned rating property was off by one star. Also, use %rating% instead of the RATING tag for both WMP and fb2k returned ratings.
- server: in returned items, when browsed from WMP, set folderPath property value to the item's Media Library relative path (allow browsing by folders on WMP).
- server: when streaming profile specify LPCM, take into account LPCM limitations (bitdepth = 16, max samplerate = 48Khz).
- server: WMP profile defaults to LPCM (if no foo_upnp.xml exists).
- server: do not force conversion to stereo anymore when streaming LPCM to a fb2k instance
- renderer: restore correctly user state of "Stop After Current" when a track stops.
- controller: when selecting a Linn Source in the combo box, the Source was not enabled on the Ds, only the first time.

--------------

@Speech: Stop After Current should be fixed in the new version.
Title: foo_upnp
Post by: Googer on 2009-12-28 14:56:49
With .99.19, foobar2000 crashes a few seconds after startup for me if I have 'Split tree nodes by first letter if more than x items' enabled.  I'd guess it's related to the changes you made in the startup code to load the media library in the background.  If you want I could supply you with a crash log but I'd guess replicating this on your end probably shouldn't be overly difficult to do, at least as your media library is bigger than a trivial / token size.
Title: foo_upnp
Post by: bubbleguuum on 2009-12-28 18:15:24
With .99.19, foobar2000 crashes a few seconds after startup for me if I have 'Split tree nodes by first letter if more than x items' enabled.  I'd guess it's related to the changes you made in the startup code to load the media library in the background.  If you want I could supply you with a crash log but I'd guess replicating this on your end probably shouldn't be overly difficult to do, at least as your media library is bigger than a trivial / token size.



Thanks for reporting, fixed in 0.99.19.1 (first post to download)
Title: foo_upnp
Post by: Googer on 2009-12-28 19:48:48
Thanks it works fine now, you're awesome!  Browsing the ML by folders appears to work very well to me in my quick testing as well.
Title: foo_upnp
Post by: gebla on 2009-12-31 17:01:06
One question. Is it possible to stop the automatic recode from FLAC to WAV?

I am using the foobar2000 server with a Linn DS player. The Linn supports 24 bit flac files (i.e. DVD audio). As well the Linn device accepts flac files over upnp.

If I now try to stream 24bit flac files only one song is played and then it stops. As well the decode automatically decodes it to 16bit wav file so i loose audio quality. Then it takes processor time from the server for recoding it to WAV.

More and more devices are supporting direct playback of FLAC. Can we add a switch to disable the recode?


Title: foo_upnp
Post by: gebla on 2009-12-31 18:14:20
OK when using foobar for playback it is working and flac is used. It is only recoding when using kinsky desktop as controller.

But when using the foobar the display on the Linn device does not show artist and track info. Is there any setting for that?

And one more question. Is there alreay columnsUI supporting the upnp artwork display??

Moderation: Removed useless full quote of the preceding post.
Title: foo_upnp
Post by: bubbleguuum on 2010-01-03 21:37:59
Quote
I posted this in the "Support" forum by mistake... my bad. I'll repost here with a description of the problem I am hoping to get help with...quoting from my previous post:

I was delighted to find that the beta version of Foobar2000, when combined with the UPnP component, allowed my to send song files to my Linn DS player. That delight was short lived when I found that every 3-4 minutes playback came to a sudden halt, with a "Buffering..." message displayed in the UPnP controller window. And the music does not restart until I exit Foobar and then start all over again.

BTW I am using a QNAP server with Twonky software, which I really do not like, and bypass whenever possible. I have about 4.5 Terrabytes of music in Flac file format stored on this server and I like the fact that I can play songs directly from the server, allowing Foobar to act as the media server, but the stopping bug is bothersome and potentially renders Foobar ineffective for UPnP playback. And I hope there is a remediable problem here, as I'm gaining a real appreciation for Foobar, the more I use it.

I look forward to your suggestions.

Doug Coleman


For the music stopping problem, in the UPnP Controller combo box, are you using your DS unit as a traditional UPnP AV Media Renderer (MediaRenderer appended to the name) or are you using the Playlist source (Playlist appended to the name) ? Do you have the same problem (getting stuck on Buffering....) if you use Twonky as the Media Server instead of the plugin ? Anyway ,what you can do is enable  the debug logs in Advanced Settings. Enable "Log to file" with INFO log level. Then restart foobar and operates the plugin until the problem occur. Close foobar and send me the file foo_upnp.log (either in your foobar install directory or c:\Document And Settings\<your login>\Application Data\foobar2000) to bubbleguuum@free.fr
Title: foo_upnp
Post by: bubbleguuum on 2010-01-03 21:52:54
OK when using foobar for playback it is working and flac is used. It is only recoding when using kinsky desktop as controller.

Kinsky Desktop is using the "Default" streaming profile which stream as WAV for non-standard codecs (ie other than mp3, aac, wma), as it is the most compatible.
If you copy the "Linn Ds" profile settings to the "Default" profile then it should work as you expect (streaming 24 bits FLAC instead of WAV).


Quote
But when using the foobar the display on the Linn device does not show artist and track info. Is there any setting for that?

I thought it worked but as my DS do not have any display (it is a Sekrit DS-I), I could not check. So from what I understand if you send
an item from foobar your DS do not display metadata while it does if you use KinskyDesktop (with foobar as the media server) ?

Quote
And one more question. Is there alreay columnsUI supporting the upnp artwork display??


Not yet. ColumnsUI needs to be recompiled with the (unreleased) foobar 1.0 SDK.
Title: foo_upnp
Post by: Dokter123 on 2010-01-05 02:33:52
Quote
I posted this in the "Support" forum by mistake... my bad. I'll repost here with a description of the problem I am hoping to get help with...quoting from my previous post:

I was delighted to find that the beta version of Foobar2000, when combined with the UPnP component, allowed my to send song files to my Linn DS player. That delight was short lived when I found that every 3-4 minutes playback came to a sudden halt, with a "Buffering..." message displayed in the UPnP controller window. And the music does not restart until I exit Foobar and then start all over again.

BTW I am using a QNAP server with Twonky software, which I really do not like, and bypass whenever possible. I have about 4.5 Terrabytes of music in Flac file format stored on this server and I like the fact that I can play songs directly from the server, allowing Foobar to act as the media server, but the stopping bug is bothersome and potentially renders Foobar ineffective for UPnP playback. And I hope there is a remediable problem here, as I'm gaining a real appreciation for Foobar, the more I use it.

I look forward to your suggestions.

Doug Coleman


For the music stopping problem, in the UPnP Controller combo box, are you using your DS unit as a traditional UPnP AV Media Renderer (MediaRenderer appended to the name) or are you using the Playlist source (Playlist appended to the name) ? Do you have the same problem (getting stuck on Buffering....) if you use Twonky as the Media Server instead of the plugin ? Anyway ,what you can do is enable  the debug logs in Advanced Settings. Enable "Log to file" with INFO log level. Then restart foobar and operates the plugin until the problem occur. Close foobar and send me the file foo_upnp.log (either in your foobar install directory or c:\Document And Settings\<your login>\Application Data\foobar2000) to bubbleguuum@free.fr


I am sending it to Living Room: Akurate DS (Playlist) and I do not have the same problem when using the Twonky software - which I seem to have an aversion to ++ but I'm not sure why. It just annoys me, and I prefer the Foobar interface. I will enable logging and send you the log file following the next buffering stall. And thank you for your promt reply.

And BTW, it seems to be happening less, the more I use it.

D.C.
Title: foo_upnp
Post by: gebla on 2010-01-07 18:33:52
OK when using foobar for playback it is working and flac is used. It is only recoding when using kinsky desktop as controller.

Kinsky Desktop is using the "Default" streaming profile which stream as WAV for non-standard codecs (ie other than mp3, aac, wma), as it is the most compatible.
If you copy the "Linn Ds" profile settings to the "Default" profile then it should work as you expect (streaming 24 bits FLAC instead of WAV).

This did the trick. Thanks for the feedback!

Quote
But when using the foobar the display on the Linn device does not show artist and track info. Is there any setting for that?

I thought it worked but as my DS do not have any display (it is a Sekrit DS-I), I could not check. So from what I understand if you send
an item from foobar your DS do not display metadata while it does if you use KinskyDesktop (with foobar as the media server) ?



Correct (using foobar as media server). If I use kinksydesktop then the Meta data is displayed on the Linn. When I use foobar to sent to the Linn then the metadata is not displayed.
Title: foo_upnp
Post by: bubbleguuum on 2010-01-07 18:54:49
Correct (using foobar as media server). If I use kinksydesktop then the Meta data is displayed on the Linn. When I use foobar to sent to the Linn then the metadata is not displayed.


Ok, I'll look into it.

The latest version of columnsUI (0.3.8.2) supports upnp album art.

Title: foo_upnp
Post by: Wacky on 2010-01-07 19:49:49
I really appreciate this plugin.  I do have a question about the interaction of foo_upnp with a new Sirius streaming program. 

Background - I am using this in conjunction with foobar 1.0b6 and SiriusXMStreamer 1.5 - the latest versions of all programs.  I have to create a playlist in foobar2000 for each Sirius channel, which I guess is a function of foobar2000.  If I have mulitiple entries in a playlist, I cannot play any channels.  So, I can work with that and create the individual playlists.

The SiriusXMStreamer keeps a log of network traffic.  When I open a playlist, there are service requests for three ports.  Each request has a "Invalid method specified: DESCRIBE" and then an "Invalid request: DESCRIBE rtsp:// . . . .  before the port request is completed, or it redirects to a mms stream. 

I have changed the playlist and tried http, mms, and rtsp stream descriptions, I still get the same invalid method messages.

When I play the Sirius channel, I get a similar set of service requests for three ports, but sometimes it is six or nine ports until the stream starts playing.  Again, each request has a "Invalid method specified: DESCRIBE" and then an "Invalid request: DESCRIBE rtsp:// . . . .   

Is this normal behavior?  I have also asked over on the SiriusXMStreamer site.

Here is a bit of the log file, I cannot figure out how to attach it.

2:42 PM: Servicing request from '127.0.0.1:2521'...
2:42 PM:  Invalid method specified: DESCRIBE
2:42 PM:  Invalid request: DESCRIBE rtsp://127.0.0.1:51710/sirius?channel=17 RTSP/1.0
User-Agent: WMPlayer/11.0.5721.5251 guid/3300AD50-2C39-46C0-AE0A-08A7CF3589E0
Accept: application/sdp
Accept-Charset: UTF-8, *;q=0.1
X-Accept-Authentication: Negotiate, NTLM, Digest, Basic
Accept-Language: en-US, *;q=0.1
CSeq: 1
Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.eosmsg, com.microsoft.wm.predstrm, com.microsoft.wm.startupprofile


2:42 PM: Completed request from '127.0.0.1:2521'.
2:42 PM: Servicing request from '127.0.0.1:2522'...
2:42 PM:  Invalid method specified: DESCRIBE
2:42 PM:  Invalid request: DESCRIBE rtsp://127.0.0.1:51710/sirius?channel=17 RTSP/1.0
User-Agent: WMPlayer/11.0.5721.5251 guid/3300AD50-2C39-46C0-AE0A-08A7CF3589E0
Accept: application/sdp
Accept-Charset: UTF-8, *;q=0.1
X-Accept-Authentication: Negotiate, NTLM, Digest, Basic
Accept-Language: en-US, *;q=0.1
CSeq: 1
Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.eosmsg, com.microsoft.wm.predstrm, com.microsoft.wm.startupprofile


2:42 PM: Completed request from '127.0.0.1:2522'.
2:42 PM: Servicing request from '127.0.0.1:2523'...
2:42 PM:  Processing GET request: GET /sirius?channel=17 HTTP/1.1
Accept: */*
User-Agent: NSPlayer/11.0.5721.5251
Host: 127.0.0.1
X-Accept-Authentication: Negotiate, NTLM, Digest, Basic
Pragma: version11-enabled=1
Pragma: no-cache,rate=1.000,stream-time=0,stream-offset=0:0,packet-num=4294967295,max-duration=0
Pragma: packet-pair-experiment=1
Pragma: pipeline-experiment=1
Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.startupprofile
Pragma: xClientGUID={3300AD50-2C39-46c0-AE0A-08A7CF3589E0}
Accept-Language: en-US, *;q=0.1


2:42 PM:  Retrieving stream URL for channel 'Sirius 17 - Jam_ON'...
2:42 PM:  Redirecting to mms stream...
Title: foo_upnp
Post by: gebla on 2010-01-09 11:10:28
One more thing I noticed using the foobar for playback to Linn Majik DS. The Upnp controller only displays Main Room:Majik DS:MediaRenderer (the drop down box dos not give other options). This is not the playlist version. That means if the PC is disconnected then the Linn stops playing. How can i seect the playlist version for playback?

Inside Linn config the playlist version is available and with kinskydesktop i can use the playlist version as well.
Title: foo_upnp
Post by: bubbleguuum on 2010-01-09 11:40:31
One more thing I noticed using the foobar for playback to Linn Majik DS. The Upnp controller only displays Main Room:Majik DS:MediaRenderer (the drop down box dos not give other options). This is not the playlist version. That means if the PC is disconnected then the Linn stops playing. How can i seect the playlist version for playback?


It should be automatically detected and listed. Are you using Cara 3 or greater on your Majik ? The plugin works only with Cara devices, for Playlist service support.
You can also send me by mail the log file (bubbleguuum@free.fr). See a few post higher up for instruction on how to enable logging.

Title: foo_upnp
Post by: gebla on 2010-01-09 12:08:35
One more thing I noticed using the foobar for playback to Linn Majik DS. The Upnp controller only displays Main Room:Majik DS:MediaRenderer (the drop down box dos not give other options). This is not the playlist version. That means if the PC is disconnected then the Linn stops playing. How can i seect the playlist version for playback?


It should be automatically detected and listed. Are you using Cara 3 or greater on your Majik ? The plugin works only with Cara devices, for Playlist service support.
You can also send me by mail the log file (bubbleguuum@free.fr). See a few post higher up for instruction on how to enable logging.


Thanks for your help. Log file is sent. I am using Cara 4 on the Linn. Maybe it is caused by changing the name of the Playlist service to "Majik" inside Linn Konfig?
Title: foo_upnp
Post by: batagy on 2010-01-10 02:06:48
This is wonderful work indeed bubbleguuum!! Huge thanks for your dedicated work for this plugin!

I just tried it with Foobar 1.0 and foo_upnp 0.99.19.1 version with the Roku Soundbridge M1001 hardware client.
My library is in FLAC but since Soundbridge doesn't play FLAC, so I was need to transcode it to WAV.

I'm happy to report that FLAC to WAV transcoding (decoding)  wonderfully works with the Soundbridge.

First I had spent 1.5 hours with various decoding options of the default profile and logging because with FLAC it didn't work, but finally I figured out that all was caused by I used the default profile. Once I created a new profile called Soundbridge (User-Agent: Roku SoundBridge/3.0), it suddenly works perfectly with the default options (always decode to WAV, allowed samplerates: 44100-44100, max bit-depth: 16, use dithering: yes, convert to stereo: yes, client decode HTTP streams directly: no)


Some log:
Quote
948.193: FbMediaServer::ProcessHttpRequest(250): INFO: received LAN request: http://169.254.229.215:56923/content/883a8...wav?convert=wav (http://169.254.229.215:56923/content/883a8bf6ecc8b390efb2eae97f0c50f6.wav?convert=wav) (User-Agent: Roku SoundBridge/3.0)
948.193: PLT_HttpHelper::ToLog(399): INFO:
GET /content/883a8bf6ecc8b390efb2eae97f0c50f6.wav?convert=wav HTTP/1.0
User-Agent: Roku SoundBridge/3.0
Host: 169.254.229.215:56923
Accept: */*
Pragma: no-cache

948.193: upnp_server_conf::get_profile(548): INFO: using profile 'Soundbridge' (User-Agent:Roku SoundBridge/3.0)
948.193: upnp_server_conf::get_profile(548): INFO: using profile 'Soundbridge' (User-Agent:Roku SoundBridge/3.0)
948.193: PLT_HttpServerSocketTask::Write(283): FINER: PLT_HttpServerTask Sending response:
948.193: PLT_HttpHelper::ToLog(485): FINER:
HTTP/1.1 200 OK
Server: Platinum/0.5.4.0
Accept-Ranges: bytes
Connection: close
Content-Length: 35456444
Content-Type: audio/wav


Interesting to note: When I used Fuppes UPNP server, I had to set the server to stream the WAV as "audio/x-wav"  mime type, to be accepted by Roku Soundbridge, but as can be seen in the logs, foo_upnp streams it with "audio/wav", but it plays perfectly!

So thanks a lot for your work indeed!
Title: foo_upnp
Post by: mccarver on 2010-01-10 22:03:57
I need to point out that my previous problem is still present.
Using foobar2000 1.0 final and foo_upnp 0.99.19.1 in both server and client.

I deleted my foo_upnp configuration, then I just changed foobar2000 streaming profile in the server preferences, switching 'Transcoding to MP3' to always; nothing more, nothing less.
Music plays fine as MP3 in client through local wireless lan, but at the end of every track there is a 10/15-second-long silence before next track starts playing. This does not happen if I choose not to transcode to MP3 (music plays gaplessy).

I'm available for questions or testing configurations.

Thank you very much, this is a great plugin.
Title: foo_upnp
Post by: bubbleguuum on 2010-01-10 22:06:31
@mccarver: I can reproduce this problem. No fix yet but it is pretty high on the todo list
Title: foo_upnp
Post by: Glaucous on 2010-01-10 22:26:11
I have a little issue. The Xbox 360 is case sensitive; is it possible when customizing the browser tree, to display all %album%, %artist% and so on, with lower case?
Otherwise the Xbox sees a difference between the artists Rage Against the Machine and Rage Against The Machine, which is quiet annoying.
Great plugin, sure works better and easier than TVersity and similar when just using it for the music.

Just noticed, perhaps the media browser can't be changed, since Xbox 360 is using its own?
Title: foo_upnp
Post by: ssteenbergen on 2010-01-14 23:04:21
Bubbleguuum,

this plugin seems to carry the promise that I'm looking for, however I'm receiving a strange error.
After a couple of seconds, foobar detects my Samsung LE40B650 TV as 'TV' in the UPnP controller view.
When I move the volume bar, my TV immediately responds, so the connection seems to be established.

But, when I play a random mp3, the UPnP controller windows displays this error:
"SetAVTransportURI Error: Resource not found (716)"

What should I do to solve this?
Any help is appreciated.


Title: foo_upnp
Post by: war59312 on 2010-01-15 18:27:50
Hi,

(http://img687.imageshack.us/img687/1906/foobar.th.png) (http://img687.imageshack.us/i/foobar.png/)

Working great, but how do you see the songs themselves?

As you can see in the screen-shot, foo_upnp is working just fine.

I'm steaming music from my Vista machine at my house to my father's machine running Windows XP.

That is, WMP 11 on Vista to Foobar on XP. That simple.

As you can see, the highlighted line, it sees the 14 songs and will play them just fine in order when I click the play button.

Problem is I can not see the song titles themselves. And it seems you can only load a single folder with songs? Meaning I can not load a folder with sub-folders and have all the music played in all the folders.

Thanks,

Will

Update: n/m i figured it out, some what. At least I can see the song titles now.

But I still cant load just the top directory and have it show all the songs in its sub directories.
Title: foo_upnp
Post by: bubbleguuum on 2010-01-15 18:55:32
@Glaucous: the Xbox360 server tree is not editable as the xbox has a fixed layout. I'm relunctant to make it editable because I don't
want to add extra complexity to an already complex plugin.
The best solution is that you make you tags case consistent

@ssteenbergen: for some reason, I guess that your TV cannot reach the URL on the LAN that
the plugin gives it. This could happen if you have a complex network configuration and somewhat the plugin gives a non routable IP to the TV.
. Another possibility is that you try to stream a file format that generates a URI that the TV will not parse correctly.
To rule out this possibility try to play an mp3 (this generate simple URL that should work everywhere but check that you use the unmodified Default streaming profile).
To debug the first possibility, send me a log file (see a few post above for info on how to do that) and the output of the command ipconfig (a command that you type in the shell started by Accessories/Command Shell)

@war59312: the UPnP Browser send individual tracks in a playlist. You need to add a playlist viewer to your layout.
EDIT: it is not possible to show all tracks from a top node to bottom, ie recursively (mainly for performance reason).
Title: foo_upnp
Post by: JC94348 on 2010-01-15 18:56:27
Hello, I installed foobar v1.0 and the upnp plugin on two notebooks. So from the first (win xp prof) I can play on my wd tv live. But from the second notebook (win xp home) I can not play to my wd tv live. On both pc the WDTVLIVE is shown in the pull down menu from the upnp controller, but after pushing the play button, sometimes first is shown "Buffering..." but nothing happens and the other times I push "play" and nothing happens. I have tried it also without firewall.... I have no idea how can I solve the problem. Maybe somebody here has a solution

Curiously i can play from both notebooks to or better on the other notebook (you can choose the other pc as renderer if the programm is also opened, but even not on the wd tv from one of them.
Title: foo_upnp
Post by: war59312 on 2010-01-15 20:18:30
@war59312: the UPnP Browser send individual tracks in a playlist. You need to add a playlist viewer to your layout.
EDIT: it is not possible to show all tracks from a top node to bottom, ie recursively (mainly for performance reason).
All right, thanks. Oh well..
Title: foo_upnp
Post by: sebassjee on 2010-01-17 21:34:34
Request: Not sure if this is possible, but an option to scrobble tracks to last.fm (via foo_audioscrobbler - similar to how foo_dop does it) when they are streamed to another device. Eg., if I use foo_upnp to play a track on my Xbox360, the track would also get scrobbled.


I Second this one!!! That would be reallyyyy cool!
Hope you can figure this one out.
It's a quite unique function for a dlna media server.
Title: foo_upnp
Post by: Tom_W on 2010-01-19 11:27:36
Hi, Thanks for all the work on a great component.

Should the server start automatically without me launching Foobar? This doesn't happen currently, and i can't see the Foobar UPnP server from my renderer (NaimUniti) until I do so.

Also, should I see an instance of the Foobar server in my UPnP browser panel? Currently I can only see other servers like WMP or Asset.

I am running Windows 7 X64, Foobar V1.0, and UPnP v0.99.19.1
Title: foo_upnp
Post by: bubbleguuum on 2010-01-19 19:09:13
Should the server start automatically without me launching Foobar? This doesn't happen currently, and i can't see the Foobar UPnP server from my renderer (NaimUniti) until I do so.


Of course you must launch foobar2000 to launch the server

Quote
Also, should I see an instance of the Foobar server in my UPnP browser panel? Currently I can only see other servers like WMP or Asset.


It is normal that the local UPnP server do not appear in the UPnP Browser (inside the same instance of foobar). You only see other external servers.
Title: foo_upnp
Post by: bubbleguuum on 2010-01-19 19:10:53
Request: Not sure if this is possible, but an option to scrobble tracks to last.fm (via foo_audioscrobbler - similar to how foo_dop does it) when they are streamed to another device. Eg., if I use foo_upnp to play a track on my Xbox360, the track would also get scrobbled.


I Second this one!!! That would be reallyyyy cool!
Hope you can figure this one out.
It's a quite unique function for a dlna media server.


This is not possible as foo_audioscrobbler do not offer an API for other plugins to use. Not sure how foo_dop do it.
Title: foo_upnp
Post by: Tom_W on 2010-01-19 22:21:17
Should the server start automatically without me launching Foobar? This doesn't happen currently, and i can't see the Foobar UPnP server from my renderer (NaimUniti) until I do so.


Of course you must launch foobar2000 to launch the server


OK, thanks. The reason i asked was because Asset UPnP server starts automatically.
Title: foo_upnp
Post by: bubbleguuum on 2010-01-19 22:40:13
OK, thanks. The reason i asked was because Asset UPnP server starts automatically.


Asset can run in the background as a Windows Service (like most standalone Media Servers). foo_upnp can only run as a standard app, hosted by foobar2000.
Title: foo_upnp
Post by: Yirkha on 2010-01-19 23:45:25
Not sure how foo_dop do it.
I presume foo_audioscrobbler has been modified to implement the portable_device_playbackdata_callback service, as available in the foo_dop SDK. Doesn't really seem like a proper interface to use in your case though.
Title: foo_upnp
Post by: asklucas on 2010-01-20 08:06:43
Dear B.,

thank you very much for your plugin! As far as I can see, it is the only customizable UPnP ControlPoint on this planet!

Unfortunately it doesn't control my DENON AVR-3310 (which I particularly bought for the ability of being remote controllable).
The DENON is not listed in the UPnP Controller drop-down list.

The DENON can play successfully from TwonkyMedia Server, TVersity and Windows Media Connect. It also can successfully be controlled by TwonkyMedia Manager. Unfortunately the latter has a brain-dead GUI.
Admittedly, the DENON firmware seems buggy - I wasn't yet able to update it. It registers on my DNS Server with its NIC MAC ID as hostname, rather than the »friendly name« DENON.

Install Cidero (http://cidero.com/downloads.html) and tell me if it sees your receiver. If it does not see it, it is likely to be a network issue.
If it sees it, then edit foo_upnp.xml (in your foobar2000 install directory) to enable logging with max info:
set    console_log enabled="yes" level="0".
Now start foobar2000, display the console (View->Console), check the "Write Log" button to save the log to file,  remove the Controller UI Panel and re-add it to your layout, wait a few seconds and send me the generated log file to bubbleguuum@free.fr.

May I send my log file to you?

Thank you!!!

L.
Title: foo_upnp
Post by: bubbleguuum on 2010-01-20 19:02:35
I presume foo_audioscrobbler has been modified to implement the portable_device_playbackdata_callback service, as available in the foo_dop SDK. Doesn't really seem like a proper interface to use in your case though.

OK, thanks for the explanation. Itwould make more sense if it was the other way around I think...

May I send my log file to you?

Yes !
Title: foo_upnp
Post by: asklucas on 2010-01-21 09:21:53
Yes !

Thank you!!! But fortunately I was finally able to update the firmware. With the latest release foo_upnp is working! Yahoo!!!
I will still send you the log file in case you want to investigate, why TwonkyMedia Manager was able to remote control the DENON before the update but foo_upnp not.

A question about seeking within a track when I use one instance of foo_upnp as MediaRenderer and another instance on another machine as ControlPoint:
Using TwonkyMedia Server, seeking within a track works. Using TVersity, I have to deactivate »Allow seeking over HTTP« and thus can't seek.
Why? Is TVersity not completely standards compliant or does the standard not require seeking?

On the other side, with the TVersity and the DENON I can't seek (slider inactive in foo_upnp Controller). I haven't tested the DENON yet using TwonkyMedia Server.

What property of the XML-files do I have to check to find out if the DENON supports seeking?
Title: foo_upnp
Post by: asklucas on 2010-01-21 10:10:13
Thank you!!! But fortunately I was finally able to update the firmware. With the latest release foo_upnp is working! Yahoo!!!

This might be a little off-topic, but because this information is hard to find and many people are suffering, I want to share my experience:

The DENON AV Receiver firmwares seem to be often buggy; the problem is that the firmware update procedure seems to be the most buggy.
If you experience errors like »Connection failed« when trying to update the firmware using the OSD, but the network connection itself is okay (e. g. Internet radio streaming works), deactivate the UPnP features of your internet router (doesn't apply to me - I haven't had it activated anyway).


Before you can update the firmware you have to reset the DENON to its factory settings [1], but not using the procedure described in the manual, but a procedure described on another board, which presumably comes from DENON support:

[1] I hope this procedure doesn't delete the calibration information of the Audyssey measurement microphone.
[2] Other people reported that the update works immediately. In my case I had to do the reset procedure two times and found out, that I had to directly navigate to the firmware update menu and not check or use any other menus (like check if the DHCP config is there).

Before and after the update note the firmware versions of the different modules:
Title: foo_upnp
Post by: bubbleguuum on 2010-01-21 20:19:26
Yes !

Thank you!!! But fortunately I was finally able to update the firmware. With the latest release foo_upnp is working! Yahoo!!!
I will still send you the log file in case you want to investigate, why TwonkyMedia Manager was able to remote control the DENON before the update but foo_upnp not.

A question about seeking within a track when I use one instance of foo_upnp as MediaRenderer and another instance on another machine as ControlPoint:
Using TwonkyMedia Server, seeking within a track works. Using TVersity, I have to deactivate »Allow seeking over HTTP« and thus can't seek.
Why? Is TVersity not completely standards compliant or does the standard not require seeking?

On the other side, with the TVersity and the DENON I can't seek (slider inactive in foo_upnp Controller). I haven't tested the DENON yet using TwonkyMedia Server.

What property of the XML-files do I have to check to find out if the DENON supports seeking?


Seeking and upnp is quite complicated, there's many factor for a file to be upnp seekable. Let's start with the simplest case: the Seek bar is grayed with the DENON+Tversity combo
because the DENON just told the UPnP Controller Seek was not available. Actions supported by the Renderer are notified by the Renderer through the CurrentTransportActions state variable. You can have a look at this variable in the logs and most likely the Seek action is not listed (other actions are Play, Stop, Pause among others). Then why your Denon do not report Seek supported ? Likely it's http client subsytem do not support Seek at all, or it could have determined this particular playing URL was not seekable or that the file format was not seekable. The second possibility (URL not seekable) can happen if the http server (Tversity is that case) tells the client (Denon Renderer) that seek is not supported.

To get back to the first issue, IIRC, if you disable "Allow seeking over HTTP", fb2k http client will not make any http range requests (not 100% sure on this). Those requests used for seeking can fail on some http servers not supporting them. What error in fb2k do you get if you let this setting enabled with TVersity ?
Most likely TVersity do not support http range requests made by fb2k and possibly the Denon.
Title: foo_upnp
Post by: Wadsbrau on 2010-01-22 21:33:11
Bubbleguuum.  Thank you for the plugin!  Thanks especially for adding folder view support.  That is working great so far.

One side note and it's probably not the plugin but the PS3.  I read all of the posts and found a few referring to an audio cutting out issue every 10 seconds or so when playing through the PS3.  However, I didn't see any conclusion to this.  I am using the PS3 with wifi playing either flac or mp3 does the same thing.  Maybe it's wifi just sucks.  I don't know whether anyone else has tried it.  If I play flac through upnp from a control point through wifi to my mini-itx PC. it works perfectly.  I am using teh default device profile for the PS3.

Thank you,

You saved me a lot of work as I was in the middle of writing a rendere plugin for Foobar2000 and gave it up as your's came out.

Darren
Title: foo_upnp
Post by: batagy on 2010-01-23 23:28:31
Hi!

I have noticed that [foo_upnp] is not scanning the library "recursively enough". I mean, it should go deeper in the directory path when scanning, even when the 1st subdirectories doesn't contain playable files.

Example: I have my music burnt on DVD discs, in the following directory hierarchy:
D:\41 - Vangelis - Spiral (1977)\Vangelis - Spiral (1977) [FLAC]
D:\42 - Vangelis - Albedo 0.39 (1975)\Vangelis - Albedo 0.39 (1975) [FLAC]
D:\43 - Weather Report - Live In Tokyo (1972)\Weather Report - Live in Tokyo (1972) [FLAC]

"D:\" is the optical drive.
Now if I select the D:\ to the Media Library, it won't be scanning the files, because the files are in the 2nd level in the subdirectory. My 1st level subdirecorties ("41 - Vangelis - Spiral (1977)" don't contain playable files, foobar should go one more level deeper, to go in "Vangelis - Spiral (1977) [FLAC]".

If I want to play the content of "Vangelis - Spiral (1977) [FLAC]" using the UPNP plugin with a network player, I need to select "D:\41 - Vangelis - Spiral (1977)" in the Media Library.
But that's not good, I want to select only "D:\" so I'll see my other albums as well, not only one album!

Is there a setting which controls how many levels the Media Library is going down when scanning the library?

(Using Foobar 1.0 with UPNP 0.99.19.1, Windows XP SP3.)
Thanks!

merged from this thread: http://www.hydrogenaudio.org/forums/index....showtopic=78144 (http://www.hydrogenaudio.org/forums/index.php?showtopic=78144)
Title: foo_upnp
Post by: bubbleguuum on 2010-01-24 13:21:37
@Wadsbrau: check that your PS3 is setup to use 48Khz, this is important. Also you may want to change your wifi channel id.

New version up!  (first post to download)

0.99.20

- server: fix (regression): when transcoding to mp3, there was up to 1min of silence between tracks (not related to the Philips NP2x000 2min issue between tracks, still unsolved)
- server: fix: streaming audio CD would get drop out of audio if ripping security (in Drive Settings) was not set to disabled. Now decode audio without using ripping settings.
- server: fix: seeking audio CD is now instantaneous
- controller: fix: when a track was paused and either using Next/Prev button or double clicking in Controller Playlist, current track was unpaused instead of doing the relevant action (play the new track).
- controller: new: Shuffle button (only implemented for Linn DS Playlist source for now).
- controller: new: controller accept dragged tracks, and dragged  files from Explorer. Standard drag plays items immediately, shift-drag adds items to the Playback Queue playlist.
- controller: fix: Linn DS Playlist Source would not get listed if the Playlist Source had been renamed in Konfig
- controller: fix: Linn DS Playlist Source: sometimes playing track time was not updated anymore
- controller: chg: selecting a renderer with playback capability brings the "UPnP Controller Playback Queue" Playlist to front
- controller: added controller commands in Playback main menu, in UPnP Controller submenu. Controller commands (play, pause, ...) can be assigned to keyboard shortcuts, including seek back/ahead and volume up/down.
- browser: fix: rare crash
Title: foo_upnp
Post by: SpaceAgeHero on 2010-01-24 13:47:50
Thanks for this. =)

Is it somehow possible to let a WMP user connect via internet without vpn?
Title: foo_upnp
Post by: bubbleguuum on 2010-01-24 13:54:40
Thanks for this. =)

Is it somehow possible to let a WMP user connect via internet without vpn?


Not possible . UPnP was designed for LAN use, and Internet access is a quick hack only accessible from fb2k or PlugPlayer...
Title: foo_upnp
Post by: bubbleguuum on 2010-01-24 23:42:10
Hi!

I have noticed that [foo_upnp] is not scanning the library "recursively enough". I mean, it should go deeper in the directory path when scanning, even when the 1st subdirectories doesn't contain playable files.


There's indeed the bug you describe when a directory of the ML is the root of a drive such as d:\. This will be fixed in the next version, thanks for reporting.
Title: foo_upnp
Post by: pdf on 2010-01-25 02:46:43
Hi,
first of all thanks for the great plugin, I like it a lot :)
However, would it be possible to make the IP address or hostname the UPnP server uses for its media content URLs configurable? I intend to run it on my home server which has multiple network interfaces, and not all of them are accessible to my LAN computers.

For example, the media content URL as generated by the UPnP server might be something like http://192.168.2.3:56923/content/... (http://192.168.2.3:56923/content/...), but since I use different network addressing for my LAN (e.g. 10.0.0.0/24), it is not accessible from my regular LAN computers.

Thanks,
pdf.
Title: foo_upnp
Post by: batagy on 2010-01-25 20:20:37
There's indeed the bug you describe when a directory of the ML is the root of a drive such as d:\. This will be fixed in the next version, thanks for reporting.

Thanks a lot for your work indeed! Nice work! :respect:
Title: foo_upnp
Post by: rosted on 2010-01-25 21:50:00
About the problem streaming to PS3:

I got the same problem, with the music cutting (buffering???) every 5-10 seconds. I have tried both 44.1Khz and 48Khz, and none of them seems to do the trick, although 48Khz makes to music play a little longer before cutting.
I'm 100% sure that's it's not a problem with my wificonnection, since i stream HD-movies with 5.1 surround without any problems, using PS3 Media Server. The strange thing is that streaming music alone, through PS3 Media Server, makes the same problem.

Is it possible that foo_upnp does not use the right profile when connected to the PS3, and therefore does not work optimal?

BTW i use the latest beta.
Title: foo_upnp
Post by: bubbleguuum on 2010-01-25 22:01:38
@rosted: When I mean set the PS3 to 48Khz, it is a setting on the PS3 itself not the plugin: see http://manuals.playstation.net/document/en...tfrequency.html (http://manuals.playstation.net/document/en/ps3/current/settings/outputfrequency.html)

When the PS3 is not set to 48Khz, it is known to possible cause drop out of audio every few seconds.


Title: foo_upnp
Post by: rosted on 2010-01-25 22:14:26
@rosted: When I mean set the PS3 to 48Khz, it is a setting on the PS3 itself not the plugin: see http://manuals.playstation.net/document/en...tfrequency.html (http://manuals.playstation.net/document/en/ps3/current/settings/outputfrequency.html)

When the PS3 is not set to 48Khz, it is known to possible cause drop out of audio every few seconds.


sorry i didn't make myself clear. I have set the PS3 to 48Khz, and the problem still occurs (though it's better than when set to 44.1)
Title: foo_upnp
Post by: Workaholic on 2010-01-26 06:12:29
Hi

since this is my first post here, let me start with a praise for the plug-in. It is a great work and I appreciate it a lot.
I use foobar with the Upnp plug-in to control my HTPC connected to a hi-fi. The controller is a Ipod touch with Plug Player
There are some glitches in the renderer (i assume). Plug Player stops playing the list after some songs. The status on Plug-player is "play" and the status on foobar is "stop" when that happens. The event is not random, it happens always after some songs in the play list.  The same does not happen when I use the Windows 7 WMP Renderer. I use in both cases foobar as a server. WMP is not really a good choice, since it has no option for a bit-perfect replay and I have a lot of 96kHz material.

Occasionally the option "stop after next track" gets checked in foobar somehow, it took me a while to figure that out. I can not find a pattern when is that happening.

Let me know if I can help locating the fault, providing some logs.
Title: foo_upnp
Post by: biriem on 2010-01-26 09:35:33
Hi

I am using only the UPNP-Browser (0.99.20) to play my musik from a qnap NAS where a Twonkymedia server ist running.
It is realy a great plugin, thank you very much for this.

For my usage I am missing only two more cosmetic issues or I can't find the place to configure this.

1.) I would like to change the colors of the background and the font of the UPNP-Browser.
Is this possible?

2.) If I close and restart foobar2000 the UPNP-Browser forgot his last treeview status. I mean the last tree item, the last song which was played before foobar2000 was closed.
If I restart foobar the UPNP-Browser is starting again with the root node and I have to go through my complete media tree.
This is a little bit annoying.
Is it possible to change or configure this behaviour?
Title: foo_upnp
Post by: Wadsbrau on 2010-01-26 17:17:57
@Wadsbrau: check that your PS3 is setup to use 48Khz, this is important. Also you may want to change your wifi channel id.


I did this and both of the things you mentioned, together, did work.  Thank you.  I do have one question if you don't mind.  Is it necessary to upsample the audio (my native Flac 44.1khz)?  Generally with my hifi system, I try to keep the data stream bit-perfect without upsampling.  Maybe the PS3 doesnt work that way.

Thanks again

Darren
Title: foo_upnp
Post by: bubbleguuum on 2010-01-26 22:15:20
Hi
I use foobar with the Upnp plug-in to control my HTPC connected to a hi-fi. The controller is a Ipod touch with Plug Player
There are some glitches in the renderer (i assume). Plug Player stops playing the list after some songs.

I'll try to reproduce it with my itouch. I assume you're using PP 2.5.0 ?


1.) I would like to change the colors of the background and the font of the UPNP-Browser.
Is this possible?
2.) If I close and restart foobar2000 the UPNP-Browser forgot his last treeview status. I mean the last tree item, the last song which was played before foobar2000 was closed.
If I restart foobar the UPNP-Browser is starting again with the root node and I have to go through my complete media tree.

1. The DUI version uses DUI color and fonts settings. The CUI Panel version do not use CUI settings (not implemented). Which version do you use ?
2. Your last UPnP browsed items should be saved in the playlist they were sent and should be playable. The state of the tree is not restored and this is not something I want to add. The Album List component doesn't restore it either...

I did this and both of the things you mentioned, together, did work.  Thank you.  I do have one question if you don't mind.  Is it necessary to upsample the audio (my native Flac 44.1khz)?  Generally with my hifi system, I try to keep the data stream bit-perfect without upsampling.  Maybe the PS3 doesnt work that way.

It's a bit...complicated.  The foo_upnp PS3 profile specify that streamed audio should be 44.1 or 48Khz (because of PS3 limitations), so any file not 44.1 or 48Khz will be resampled by the plugin to the nearest samplerate. Now, your PS3 is configured to output 48Khz so I believe it will resample 44.1 content to 48Khz (wild guess). You could modify the foo_upnp PS3 profile to only allow 48Khz: in that case the plugin will always do the resampling. The PS3 is not the best device to play bit-perfect: it is artificially limited to 44.1 and 48Khz for upnp served content while it has much higher audio specs...
Title: foo_upnp
Post by: Wadsbrau on 2010-01-26 22:32:22
I did this and both of the things you mentioned, together, did work.  Thank you.  I do have one question if you don't mind.  Is it necessary to upsample the audio (my native Flac 44.1khz)?  Generally with my hifi system, I try to keep the data stream bit-perfect without upsampling.  Maybe the PS3 doesnt work that way.

It's a bit...complicated.  The foo_upnp PS3 profile specify that streamed audio should be 44.1 or 48Khz (because of PS3 limitations), so any file not 44.1 or 48Khz will be resampled by the plugin to the nearest samplerate. Now, your PS3 is configured to output 48Khz so I believe it will resample 44.1 content to 48Khz (wild guess). You could modify the foo_upnp PS3 profile to only allow 48Khz: in that case the plugin will always do the resampling. The PS3 is not the best device to play bit-perfect: it is artificially limited to 44.1 and 48Khz for upnp served content while it has much higher audio specs...


What settings in the profile would I set if I don't want any upsampling?  So I can set the PS3 to 44.1 and have it work?  LPCM or WAV?

Thanks

Darren
Title: foo_upnp
Post by: Workaholic on 2010-01-27 06:00:34

Hi
I use foobar with the Upnp plug-in to control my HTPC connected to a hi-fi. The controller is a Ipod touch with Plug Player
There are some glitches in the renderer (i assume). Plug Player stops playing the list after some songs.

I'll try to reproduce it with my itouch. I assume you're using PP 2.5.0 ?



Yes, I use the 1.0 version of foobar and also PP 2.50. I have noticed that there is an announcement on the PP forum that "PP 3.0 is coming and Beta testers are needed" however I'm not one of them. I have recently bought the itouch so I have no experience with previous version(s) of the PP. foo_upnp 99.20 and 99.19.1 behave the same in regards to this error.
Title: foo_upnp
Post by: biriem on 2010-01-27 12:50:17
bubbleguuum, thanks for your quick response.

Quote
1. The DUI version uses DUI color and fonts settings. The CUI Panel version do not use CUI settings (not implemented). Which version do you use ?


I use Columns UI (I like the feature "Display artwork in groups"), perhaps it is implemented sometime.

Quote
The state of the tree is not restored and this is not something I want to add. The Album List component doesn't restore it either...


Personally I feel this feature is much more comfortable.
The Album List component doesn't restore it either. That is true, but the Album List does not have so many nodes like the UPNP Browser.
On the average I have to expand 5 nodes, before I can play a song.

Title: foo_upnp
Post by: rosted on 2010-01-27 13:08:35
Now i have tried both 44.1 and 48. And tried changing to a static channel on my router. It still do not work without lagging which is odd since i can stream 720p surroundsound movies without any problems..
Title: foo_upnp
Post by: xapz on 2010-01-27 15:09:29
@rosted

I seem to have a similar problem here. I can stream HD videos with PS3MediaServer to my PS3 via WLAN without any stuttering or drop outs. But with foo_upnp streaming LPCM there are like 10 seconds music, then 3 seconds pause, then it plays again etc. Changing the sample rate in foo_upnp config and/or PS3 output settings doesn't make any difference. Streaming to WMP on my laptop works fine though. So bandwidth clearly can't be the problem here - but then what is it? 
Title: foo_upnp
Post by: war59312 on 2010-01-28 09:24:52
Hi,

It seems .m3u files refuse to play on xbox 360.

In fact it causes foobar2000 to lock up as well.

.pls files play fine thankfully, but real pain to convert by hand.

Anyone got an app to do it for me?

Would be nice if .m3u support could be fixed? That is convert on the fly to .pls style.

Here is what I see in console, when I enable debug, does not really help:

Code: [Select]
foo_upnp: 21.882: NPT_Win32Thread::Start(482): FINER: creating thread
foo_upnp: 21.883: PLT_HttpListenTask<class PLT_HttpServerListener>::DoRun(155): FINE: current http task count = 2
foo_upnp: 21.883: NPT_Win32Thread::EntryPoint(449): FINER: thread in =======================
foo_upnp: 21.892: NPT_HttpRequest::Parse(592): FINEST: http request: POST /ContentDirectory/0b5673b7-2498-d1f1-e465-a13b7eb85fd9/control.xml HTTP/1.1
foo_upnp: 21.892: NPT_HttpHeaders::Parse(185): FINEST: header - User-Agent: Xbox/2.0.8955.0 UPnP/1.0 Xbox/2.0.8955.0
foo_upnp: 21.892: NPT_HttpHeaders::Parse(185): FINEST: header - Connection: Keep-alive
foo_upnp: 21.892: NPT_HttpHeaders::Parse(185): FINEST: header - Host: 192.168.1.105
foo_upnp: 21.892: NPT_HttpHeaders::Parse(185): FINEST: header - SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#Search"
foo_upnp: 21.892: NPT_HttpHeaders::Parse(185): FINEST: header - CONTENT-TYPE: text/xml; charset="utf-8"
foo_upnp: 21.892: NPT_HttpHeaders::Parse(215): FINEST: header Content-Length: 675
foo_upnp: 21.892: PLT_HttpServer::ProcessHttpRequest(142): FINE: Received POST Request from 192.168.1.122 for /ContentDirectory/0b5673b7-2498-d1f1-e465-a13b7eb85fd9/control.xml
foo_upnp: 21.893: PLT_HttpHelper::ToLog(402): FINER:
POST /ContentDirectory/0b5673b7-2498-d1f1-e465-a13b7eb85fd9/control.xml HTTP/1.1
User-Agent: Xbox/2.0.8955.0 UPnP/1.0 Xbox/2.0.8955.0
Connection: Keep-alive
Host: 192.168.1.105
SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#Search"
CONTENT-TYPE: text/xml; charset="utf-8"
Content-Length: 675
foo_upnp: 21.893: FbMediaServer::ProcessHttpRequest(250): INFO: received LAN request: http://192.168.1.105/ContentDirectory/0b5673b7-2498-d1f1-e465-a13b7eb85fd9/control.xml (User-Agent: Xbox/2.0.8955.0 UPnP/1.0 Xbox/2.0.8955.0)
foo_upnp: 21.893: PLT_DeviceHost::ProcessHttpRequest(376): FINER: PLT_DeviceHost Received Request:
foo_upnp: 21.893: PLT_HttpHelper::ToLog(402): FINER:
POST /ContentDirectory/0b5673b7-2498-d1f1-e465-a13b7eb85fd9/control.xml HTTP/1.1
User-Agent: Xbox/2.0.8955.0 UPnP/1.0 Xbox/2.0.8955.0
Connection: Keep-alive
Host: 192.168.1.105
SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#Search"
CONTENT-TYPE: text/xml; charset="utf-8"
Content-Length: 675
foo_upnp: 21.893: PLT_DeviceHost::ProcessHttpPostRequest(555): FINE: Received Search action from 192.168.1.122
foo_upnp: 21.893: FbMediaServer::OnAction(196): INFO: received action 'Search', args = { ContainerID=0/2/12, SearchCriteria=(upnp:class derivedfrom "object.item.audioItem"), Filter=dc:title,res,res@protection,res@duration,res@sampleFrequency,res@bitsPerSample,res@bitrate,res@nrAu
dioChannels,upnp:artist,upnp:artist@role,upnp:genre,upnp:album, StartingIndex=0, RequestedCount=1000, SortCriteria= }
foo_upnp: 21.893: PLT_MediaServer::OnSearch(462): INFO: Received Search from 192.168.1.122 for id = 0/2/12 with search = (upnp:class derivedfrom "object.item.audioItem"), start = 0, count = 1000
foo_upnp: 21.893: upnp_server_conf::get_profile(548): INFO: using profile 'Xbox 360' (User-Agent:Xbox/2.0.8955.0 UPnP/1.0 Xbox/2.0.8955.0)

If you save this as a .pls it will play fine:

Code: [Select]
[playlist]
numberofentries=20
File1=http://scfire-ntc-aa05.stream.aol.com:80/stream/1040
Title1=.977 The 80s Channel
Length1=-1
File2=http://scfire-mtc-aa04.stream.aol.com:80/stream/1074
Title2=.977 The Hitz Channel
Length2=-1
File3=http://novastreamradio.org:9100
Title3=NovaStream
Length3=-1
File4=http://sc11.1.fm:8658
Title4=1.FM - 70s
Length4=-1
File5=http://sc8.1.fm:6950
Title5=1.FM - Back To The 80s
Length5=-1
File6=http://sc12.1.fm:7036
Title6=1.FM - 90s
Length6=-1
File7=http://64.62.252.130:8070
Title7=1.FM - Channel X
Length7=-1
File8=http://sc17.1.fm:7802
Title8=1.FM - Country Hits
Length8=-1
File9=http://sc12.1.fm:7048
Title9=1.FM - Country
Length9=-1
File10=http://sc12.1.fm:7058
Title10=1.FM - High Voltage
Length10=-1
File11=http://sc8.1.fm:7016
Title11=1.FM - Top 40
Length11=-1
File12=http://sc12.1.fm:7024
Title12=1.FM - X
Length12=-1
File13=http://80.86.106.35:9000/
Title13=Magic FM
Length13=-1
File14=http://scfire-ntc-aa03.stream.aol.com:80/stream/1076
Title14=SKY.FM - 70s Hits
Length14=-1
File15=http://scfire-dtc-aa02.stream.aol.com:80/stream/1013
Title15=SKY.FM - Best of the 80s
Length15=-1
File16=http://scfire-mtc-aa03.stream.aol.com:80/stream/1014
Title16=SKY.FM - Top Hits Music
Length16=-1
File17=http://88.191.69.42:8002/
Title17=SKY.FM - Alternative Rock
Length17=-1
File18=http://94.232.114.240:6734
Title18=SKY.FM - Classic Rock
Length18=-1
File19=http://scfire-ntc-aa03.stream.aol.com:80/stream/1019
Title19=SKY.FM - Hit Country
Length19=-1
File20=http://72.26.204.18:6606
Title20=SKY.FM - Smooth Jazz
Length20=-1
Version=2

So if .m3u files could be converted to the .pls style above on the fly that would be sweet.

It's Extended PLS (PLSv2) by the way. See: http://forums.winamp.com/showthread.php?threadid=65772 (http://forums.winamp.com/showthread.php?threadid=65772)

Enjoy the .pls, took me a good 45 minutes to figure it all out.

The first one does not display correctly on xbox 360 dashboard, but good enough and plays fine.

Thanks,

Will
Title: foo_upnp
Post by: war59312 on 2010-01-28 10:37:06
Well, I found http://www.softpedia.com/get/Multimedia/Au...t-Creator.shtml (http://www.softpedia.com/get/Multimedia/Audio/Other-AUDIO-Tools/Winamp-Playlist-Creator.shtml), works great.

Now I can simply convert them, then I manually add the titles. Saves a lot of time.
Title: foo_upnp
Post by: bubbleguuum on 2010-01-28 22:28:27
@rosted, @xapz and everyone having PS3 problems:

today I tried streaming from my PS3 and had problems described: very frequent drop out of audio. After a PS3 reboot
I would only get plenty of "DLNA Protocol Error 2104", giving "No items found" when browsing. After this initial WTF, it turned
out that my Wireless Linksys router was slowing down wifi traffic to a crawl. Since only my PS3 use wifi, I didn't notice.
Everything went fine after a router reboot, no drop out of audio of any sort.
If you still experience problems, you may want to configure your wifi router to use "G Only" (and not B/G Mixed mode). Also lesson learned from this, is that DLNA error 2104
probably occurs when for some reason, bandwidth is ultra low. Ahhhh Sony and their f.... undocumented error codes!
Title: foo_upnp
Post by: bubbleguuum on 2010-01-28 22:41:17
Quote
1. The DUI version uses DUI color and fonts settings. The CUI Panel version do not use CUI settings (not implemented). Which version do you use ?

I use Columns UI (I like the feature "Display artwork in groups"), perhaps it is implemented sometime.


Added to the todo list.
Title: foo_upnp
Post by: bubbleguuum on 2010-01-28 22:48:26
Hi,

It seems .m3u files refuse to play on xbox 360.

In fact it causes foobar2000 to lock up as well.


Can you describe exactly how you use .m3u with the plugin and the sequence that cause lock up ?
Title: foo_upnp
Post by: war59312 on 2010-01-29 02:53:46
All right after spending an hour messing around with it, I came to the conclusion that it in fact does NOT lock up. I'll explain.

Foobar simply becomes unresponsive until the xbox finally displays that it found nothing. But during that time foobar does "lock up", but at least it's only temporary. Though some times it can be as much as five minutes. Seems more like a flaw in the xbox.

Doubt you can do anything about that?

So all I am doing is running this dll in foobar. I then load up any .m3u file in foobar and attempt to view foobar on the xbox under music.

And since it seems that .m3u is not supported on xbox it takes "forever" for the xbox to give up on finding it. But during this time it causes foobar to become completely unresponsive. You see the whole "application is not responding" dialog.

Hope that helps, but again doubt anything can be done about, seems like a flaw in the xbox itself to me.

Thanks anyhow..
Title: foo_upnp
Post by: zicmu2 on 2010-01-31 07:24:18
@rosted, @xapz and everyone having PS3 problems:

today I tried streaming from my PS3 and had problems described: very frequent drop out of audio. After a PS3 reboot
I would only get plenty of "DLNA Protocol Error 2104", giving "No items found" when browsing. After this initial WTF, it turned
out that my Wireless Linksys router was slowing down wifi traffic to a crawl. Since only my PS3 use wifi, I didn't notice.
Everything went fine after a router reboot, no drop out of audio of any sort.
If you still experience problems, you may want to configure your wifi router to use "G Only" (and not B/G Mixed mode). Also lesson learned from this, is that DLNA error 2104
probably occurs when for some reason, bandwidth is ultra low. Ahhhh Sony and their f.... undocumented error codes!



Hello everyone,

Please forgive my awfull english.

First a big thankyou to spend so much of your own time on this fantastic plugin.

But i must say that i have the same problem here.

My PS3 is set to 48khz output. I have downloaded Foobar 1.0 and the 0.99.20 plugin. I use 200 Megabits CPL boxes between my PS3 and my gigabit router and each 10 seconds i have a little interruption in the streamed music.

I have diconnect and reconnect my router but it's lead to same behaviour.

Please note that i can stream 720p video without problem, but also music with my upnp NAS. So it can't be related to some low connection speed.

Please bubbleguuum, could you look deeper in this kind of problem ? Can i give you some more accurate infos ?

Thank you.
Title: foo_upnp
Post by: war59312 on 2010-01-31 11:07:07
Hi,

Any chance of "Dynamic Track Titles" support?

Can you even do that with UPnP? That is, can you modify meta data mid stream?

I don't see anything about it mentioned in the read me.

Would be very sweet..

Thanks,

Will
Title: foo_upnp
Post by: bubbleguuum on 2010-01-31 14:20:05
Please bubbleguuum, could you look deeper in this kind of problem ? Can i give you some more accurate infos ?


The problem is that I can't reproduce it. I'm using a Linksys WRT54GS router and the PS3 is at 2 meters of the router. You should check that you use the unmodified PS3 profile which specify to always stream as LPCM. This is the most trouble-free setting, even if the PS3 can stream mp3 and aac direclty. The PS3 is really super picky with wifi and DLNA, and I've not seen any other upnp server software not having problems with it for some of its user base. Looks like foo_upnp is no exception...There is less potential problems when going wired with the PS3.

What you can do is send me the log file with INFO log level to bubbleguuum@free.fr (Instructions on how to generate it are at the end of the first post). Also when you get audio drop out, do the PS3 display some DLNA error code in the upper-right of the screen ?


Any chance of "Dynamic Track Titles" support?
Can you even do that with UPnP? That is, can you modify meta data mid stream?
I don't see anything about it mentioned in the read me.


It can't be done when foo_upnp is configured to relay a HTTP stream (webradio, etc) to a device as either WAV or LPCM (those formats do not have the concept of dynamic metadata). The only way it could possibly work is if the device plays directly the HTTP stream and interpret dynamic track info (you enable a device to play directly a http stream with  "Client decode HTTP stream direclty", in a streaming profile)
Title: foo_upnp
Post by: war59312 on 2010-02-02 07:27:15
Hi,

All right, understood. Thanks.

Sadly though foobar just crashed:

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 77476796h
Access violation, operation: write, address: FFD3DAEDh

Call path:
FbMediaServer::ProcessFileRequest=>FbMediaServer::ServeFile=>FbMediaInputStream::init()=>FbMediaWavInputStream

Code bytes (77476796h):
77476756h:  83 D1 01 81 E3 FF 7F 00 00 66 3B 5E 14 0F 84 B3
77476766h:  04 00 00 8B 45 E0 8B 55 E4 0F AC D0 10 66 89 47
77476776h:  08 2B 7D F4 33 C0 C1 EF 03 0F A4 F8 10 C1 E7 10
77476786h:  C1 EA 10 0B DF 0B C8 8B 06 C7 45 F8 01 00 00 00
77476796h:  89 30 8B 45 E0 8B 55 E4 8D 7E 08 F0 0F C7 0F 3B
774767A6h:  45 E0 0F 85 BD 03 FB FF 3B 55 E4 0F 85 B4 03 FB
774767B6h:  FF 66 83 7D E0 00 0F 84 33 B7 FD FF 83 7D F8 03
774767C6h:  0F 84 84 3F FD FF 5F 5E B0 01 5B C9 C3 90 90 90

Stack (0AEAE8C8h):
0AEAE8A8h:  00000000 00000000 00000000 00000000
0AEAE8B8h:  00000000 00000000 00000000 00000000
0AEAE8C8h:  00000000 021E0000 05C4D680 00000027
0AEAE8D8h:  00000000 FFD3DAED FFD3DAED 0C4D0098
0AEAE8E8h:  0AEAE8FC 774766EA FFD3DAED 00000001
0AEAE8F8h:  05C4D678 0AEAE910 774766EA 05C4D680
0AEAE908h:  077E1F10 03637EE0 0AEAE924 76589A26
0AEAE918h:  021E0000 00000000 05C4D678 0AEAE964
0AEAE928h:  03694DA9 021E0000 00000000 05C4D680
0AEAE938h:  3F72F3AF 077E1F10 00000258 03637EE0
0AEAE948h:  00000000 0AEAE938 0AEAE4F0 0AEAE9A4
0AEAE958h:  0369CDA0 36F78213 FFFFFFFE 0AEAF520
0AEAE968h:  03694A6A 05C4D680 03637F47 036A93F7
0AEAE978h:  0AEAF514 0AEAEC0C 0AEAE990 0AEAF514
0AEAE988h:  03637EE0 0AEAF520 0AEAE9BC 0369B266
0AEAE998h:  03637EE0 0AEAF514 00000100 0AEAEA14
0AEAE9A8h:  0369AF6D 3F72F36F 03700410 0AEAF514
0AEAE9B8h:  00000001 0AEAEA24 036A8AF3 0AEAF514
0AEAE9C8h:  03700410 03637EE0 00000000 00000100
0AEAE9D8h:  3F72F0EF 037003FC 0AEAF514 037003EC

Registers:
EAX: FFD3DAED, EBX: 1F715AEE, ECX: FFD3DAFE, EDX: 0000FFD3
ESI: 07F932C8, EDI: 1F710000, EBP: 0AEAE8FC, ESP: 0AEAE8C8

Crash location:
Module: ntdll
Offset: 66796h
Symbol: "RtlFreeHeap" (+126h)

Loaded modules:
foobar2000                      loaded at 000F0000h - 002A9000h
ntdll                            loaded at 77410000h - 77537000h
kernel32                        loaded at 76540000h - 7661C000h
COMCTL32                        loaded at 746A0000h - 7483E000h
msvcrt                          loaded at 75F80000h - 7602A000h
ADVAPI32                        loaded at 772F0000h - 773B6000h
RPCRT4                          loaded at 76460000h - 76523000h
GDI32                            loaded at 77580000h - 775CB000h
USER32                          loaded at 76250000h - 762ED000h
SHLWAPI                          loaded at 76780000h - 767D9000h
DSOUND                          loaded at 73BA0000h - 73C10000h
ole32                            loaded at 75AC0000h - 75C05000h
WINMM                            loaded at 74C10000h - 74C42000h
OLEAUT32                        loaded at 76030000h - 760BD000h
OLEACC                          loaded at 74BD0000h - 74C0D000h
POWRPROF                        loaded at 74DB0000h - 74DCA000h
UxTheme                          loaded at 749A0000h - 749DF000h
SHELL32                          loaded at 767E0000h - 772F0000h
shared                          loaded at 10000000h - 1002B000h
imagehlp                        loaded at 77540000h - 77569000h
dbghelp                          loaded at 74AC0000h - 74B9C000h
COMDLG32                        loaded at 762F0000h - 76363000h
ShimEng                          loaded at 6C2C0000h - 6C2DE000h
apphelp                          loaded at 75900000h - 7592C000h
AcLayers                        loaded at 6C1A0000h - 6C228000h
USERENV                          loaded at 75970000h - 7598E000h
Secur32                          loaded at 75950000h - 75964000h
WINSPOOL                        loaded at 74A70000h - 74AB2000h
MPR                              loaded at 75200000h - 75214000h
IMM32                            loaded at 77650000h - 7766E000h
MSCTF                            loaded at 766B0000h - 76778000h
LPK                              loaded at 77570000h - 77579000h
USP10                            loaded at 775D0000h - 7764D000h
guard32                          loaded at 00070000h - 0009A000h
VERSION                          loaded at 75940000h - 75948000h
fltlib                          loaded at 75930000h - 75937000h
RocketDock                      loaded at 00530000h - 00542000h
PSAPI                            loaded at 75AB0000h - 75AB7000h
AM31362                          loaded at 00400000h - 0040C000h
ws2_32                          loaded at 75D50000h - 75D7D000h
NSI                              loaded at 76530000h - 76536000h
CLBCatQ                          loaded at 76620000h - 766A4000h
MMDevApi                        loaded at 73D80000h - 73DA8000h
SETUPAPI                        loaded at 760C0000h - 7624A000h
WINTRUST                        loaded at 74BA0000h - 74BCD000h
CRYPT32                          loaded at 75660000h - 75752000h
MSASN1                          loaded at 75640000h - 75652000h
foo_verifier                    loaded at 010F0000h - 01133000h
foo_uie_console                  loaded at 01280000h - 0129A000h
foo_quicktag                    loaded at 01EB0000h - 01EE4000h
foo_cdda                        loaded at 02000000h - 0204D000h
foo_upnp                        loaded at 03600000h - 0377A000h
iphlpapi                        loaded at 75150000h - 75169000h
dhcpcsvc                        loaded at 75110000h - 75145000h
DNSAPI                          loaded at 75280000h - 752AC000h
WINNSI                          loaded at 75100000h - 75107000h
dhcpcsvc6                        loaded at 750D0000h - 750F2000h
foo_dsp_std                      loaded at 02200000h - 02249000h
foo_input_dts                    loaded at 6AFE0000h - 6B041000h
foo_rgscan                      loaded at 02420000h - 0246F000h
foo_playcount                    loaded at 02470000h - 024A0000h
foo_benchmark                    loaded at 024B0000h - 024DD000h
foo_out_wasapi                  loaded at 02540000h - 02566000h
foo_masstag                      loaded at 02580000h - 025D4000h
foo_texttools                    loaded at 6AFA0000h - 6AFD4000h
foo_ui_columns                  loaded at 03C00000h - 03D73000h
gdiplus                          loaded at 74300000h - 744AB000h
foo_out_asio                    loaded at 02620000h - 02656000h
foo_converter                    loaded at 02710000h - 02780000h
foo_albumlist                    loaded at 03780000h - 037DC000h
foo_input_std                    loaded at 04290000h - 043DD000h
foo_discogs                      loaded at 03900000h - 03965000h
WININET                          loaded at 76370000h - 76456000h
Normaliz                        loaded at 75F70000h - 75F73000h
urlmon                          loaded at 75C10000h - 75D42000h
iertutil                        loaded at 75D80000h - 75F68000h
foo_amipwrapper                  loaded at 027C0000h - 027F0000h
foo_dsp_dolbyhp                  loaded at 70D70000h - 70D94000h
foo_uie_albumlist                loaded at 03970000h - 039B3000h
foo_uie_typefind                loaded at 03B00000h - 03B30000h
foo_dop                          loaded at 045E0000h - 0477C000h
QUARTZ                          loaded at 662F0000h - 66463000h
DXVA2                            loaded at 6E930000h - 6E943000h
foo_podcatcher                  loaded at 03EF0000h - 03F5E000h
foo_burninate                    loaded at 03B60000h - 03BA0000h
foo_freedb2                      loaded at 03DA0000h - 03DE0000h
foo_ac3                          loaded at 03F60000h - 03F90000h
foo_input_monkey                loaded at 03FC0000h - 04008000h
foo_uie_library_tree            loaded at 043E0000h - 04422000h
foo_out_ks                      loaded at 04430000h - 0445A000h
foo_input_alac                  loaded at 04020000h - 04040000h
foo_ui_std                      loaded at 04BA0000h - 04CAE000h
MSIMG32                          loaded at 74D90000h - 74D95000h
foo_lock                        loaded at 04460000h - 04479000h
foo_audioscrobbler              loaded at 044B0000h - 044E1000h
AutoSizer                        loaded at 04520000h - 04536000h
WindowsCodecs                    loaded at 737B0000h - 738A4000h
EhStorShell                      loaded at 715A0000h - 715BF000h
PROPSYS                          loaded at 73FF0000h - 740AB000h
cscui                            loaded at 71460000h - 714F5000h
CSCDLL                          loaded at 71590000h - 71599000h
CSCAPI                          loaded at 71580000h - 7158B000h
mswsock                          loaded at 74FD0000h - 7500B000h
wshtcpip                        loaded at 74DA0000h - 74DA5000h
wtsapi32                        loaded at 74840000h - 7484A000h
WINSTA                          loaded at 74E30000h - 74E55000h
amip                            loaded at 0A700000h - 0A86E000h
sud                              loaded at 664C0000h - 665EE000h
ADVPACK                          loaded at 66C80000h - 66CAE000h
DUser                            loaded at 74970000h - 749A0000h
IEFRAME                          loaded at 0B3C0000h - 0BE53000h
wship6                          loaded at 74FC0000h - 74FC5000h
NLAapi                          loaded at 73D30000h - 73D3F000h
napinsp                          loaded at 6FCF0000h - 6FCFF000h
pnrpnsp                          loaded at 6FCD0000h - 6FCE2000h
winrnr                          loaded at 6FCC0000h - 6FCC8000h
WLDAP32                          loaded at 773C0000h - 77409000h
rasadhlp                        loaded at 72EF0000h - 72EF6000h

Stack dump analysis:
Address: 774766EAh (ntdll+666EAh), symbol: "RtlFreeHeap" (+7Ah)
Address: 774766EAh (ntdll+666EAh), symbol: "RtlFreeHeap" (+7Ah)
Address: 03637EE0h (foo_upnp+37EE0h)
Address: 76589A26h (kernel32+49A26h), symbol: "HeapFree" (+14h)
Address: 03694DA9h (foo_upnp+94DA9h), symbol: "foobar2000_get_interface" (+5BFD9h)
Address: 03637EE0h (foo_upnp+37EE0h)
Address: 0369CDA0h (foo_upnp+9CDA0h), symbol: "foobar2000_get_interface" (+63FD0h)
Address: 03694A6Ah (foo_upnp+94A6Ah), symbol: "foobar2000_get_interface" (+5BC9Ah)
Address: 03637F47h (foo_upnp+37F47h)
Address: 036A93F7h (foo_upnp+A93F7h), symbol: "foobar2000_get_interface" (+70627h)
Address: 03637EE0h (foo_upnp+37EE0h)
Address: 0369B266h (foo_upnp+9B266h), symbol: "foobar2000_get_interface" (+62496h)
Address: 03637EE0h (foo_upnp+37EE0h)
Address: 0369AF6Dh (foo_upnp+9AF6Dh), symbol: "foobar2000_get_interface" (+6219Dh)
Address: 03700410h (foo_upnp+100410h), symbol: "foobar2000_get_interface" (+C7640h)
Address: 036A8AF3h (foo_upnp+A8AF3h), symbol: "foobar2000_get_interface" (+6FD23h)
Address: 03700410h (foo_upnp+100410h), symbol: "foobar2000_get_interface" (+C7640h)
Address: 03637EE0h (foo_upnp+37EE0h)
Address: 037003FCh (foo_upnp+1003FCh), symbol: "foobar2000_get_interface" (+C762Ch)
Address: 037003ECh (foo_upnp+1003ECh), symbol: "foobar2000_get_interface" (+C761Ch)
Address: 036A88E7h (foo_upnp+A88E7h), symbol: "foobar2000_get_interface" (+6FB17h)
Address: 03637EE0h (foo_upnp+37EE0h)
Address: 0369CDA0h (foo_upnp+9CDA0h), symbol: "foobar2000_get_interface" (+63FD0h)
Address: 036A8E77h (foo_upnp+A8E77h), symbol: "foobar2000_get_interface" (+700A7h)
Address: 03700410h (foo_upnp+100410h), symbol: "foobar2000_get_interface" (+C7640h)
Address: 03700410h (foo_upnp+100410h), symbol: "foobar2000_get_interface" (+C7640h)
Address: 036A91DBh (foo_upnp+A91DBh), symbol: "foobar2000_get_interface" (+7040Bh)
Address: 03700410h (foo_upnp+100410h), symbol: "foobar2000_get_interface" (+C7640h)
Address: 0024BF44h (foobar2000+15BF44h)
Address: 0024BF44h (foobar2000+15BF44h)
Address: 037003ECh (foo_upnp+1003ECh), symbol: "foobar2000_get_interface" (+C761Ch)
Address: 036A93C0h (foo_upnp+A93C0h), symbol: "foobar2000_get_interface" (+705F0h)
Address: 03700410h (foo_upnp+100410h), symbol: "foobar2000_get_interface" (+C7640h)
Address: 0369AF5Dh (foo_upnp+9AF5Dh), symbol: "foobar2000_get_interface" (+6218Dh)
Address: 03700410h (foo_upnp+100410h), symbol: "foobar2000_get_interface" (+C7640h)
Address: 774199FAh (ntdll+99FAh), symbol: "WinSqmStartSession" (+27Bh)
Address: 03700410h (foo_upnp+100410h), symbol: "foobar2000_get_interface" (+C7640h)
Address: 77475F79h (ntdll+65F79h), symbol: "RtlRaiseStatus" (+B4h)
Address: 77475F8Dh (ntdll+65F8Dh), symbol: "RtlRaiseStatus" (+C8h)
Address: 77475F4Bh (ntdll+65F4Bh), symbol: "RtlRaiseStatus" (+86h)
Address: 036BBD75h (foo_upnp+BBD75h), symbol: "foobar2000_get_interface" (+82FA5h)
Address: 77449812h (ntdll+39812h), symbol: "RtlMultiAppendUnicodeStringBuffer" (+3DBh)
Address: 036BBD75h (foo_upnp+BBD75h), symbol: "foobar2000_get_interface" (+82FA5h)
Address: 0025B654h (foobar2000+16B654h)
Address: 77475DD7h (ntdll+65DD7h), symbol: "KiUserExceptionDispatcher" (+Fh)
Address: 7657FBAEh (kernel32+3FBAEh), symbol: "RaiseException" (+58h)
Address: 0024C470h (foobar2000+15C470h)
Address: 0025B654h (foobar2000+16B654h)
Address: 7657FBAEh (kernel32+3FBAEh), symbol: "RaiseException" (+58h)
Address: 7657FBAEh (kernel32+3FBAEh), symbol: "RaiseException" (+58h)
Address: 0024C470h (foobar2000+15C470h)
Address: 75D5417Ch (ws2_32+417Ch), symbol: "connect" (+A3h)
Address: 0007223Dh (guard32+223Dh)
Address: 77476570h (ntdll+66570h), symbol: "RtlAllocateHeap" (+0h)
Address: 0020C297h (foobar2000+11C297h)
Address: 0024C470h (foobar2000+15C470h)
Address: 001C68B4h (foobar2000+D68B4h)
Address: 0024C470h (foobar2000+15C470h)
Address: 001C4FCDh (foobar2000+D4FCDh)
Address: 0020A0C0h (foobar2000+11A0C0h)
Address: 00206FB7h (foobar2000+116FB7h)
Address: 00237AF0h (foobar2000+147AF0h)
Address: 002236D8h (foobar2000+1336D8h)
Address: 77476570h (ntdll+66570h), symbol: "RtlAllocateHeap" (+0h)
Address: 000F833Fh (foobar2000+833Fh)
Address: 000F7B8Ah (foobar2000+7B8Ah)
Address: 00206FB7h (foobar2000+116FB7h)
Address: 000F7846h (foobar2000+7846h)
Address: 001C9E54h (foobar2000+D9E54h)
Address: 00246668h (foobar2000+156668h)
Address: 00237AF8h (foobar2000+147AF8h)
Address: 0024A240h (foobar2000+15A240h)
Address: 0024A240h (foobar2000+15A240h)
Address: 0024A240h (foobar2000+15A240h)
Address: 0024A240h (foobar2000+15A240h)
Address: 0024A240h (foobar2000+15A240h)
Address: 774199FAh (ntdll+99FAh), symbol: "WinSqmStartSession" (+27Bh)
Address: 7744DE90h (ntdll+3DE90h), symbol: "RtlReAllocateHeap" (+1C4h)
Address: 7744DD4Ah (ntdll+3DD4Ah), symbol: "RtlReAllocateHeap" (+7Eh)
Address: 774199FAh (ntdll+99FAh), symbol: "WinSqmStartSession" (+27Bh)
Address: 7744DE90h (ntdll+3DE90h), symbol: "RtlReAllocateHeap" (+1C4h)
Address: 7744DD4Ah (ntdll+3DD4Ah), symbol: "RtlReAllocateHeap" (+7Eh)
Address: 774768FDh (ntdll+668FDh), symbol: "RtlFreeHeap" (+28Dh)
Address: 7747661Fh (ntdll+6661Fh), symbol: "RtlAllocateHeap" (+AFh)
Address: 774768FDh (ntdll+668FDh), symbol: "RtlFreeHeap" (+28Dh)
Address: 7747661Fh (ntdll+6661Fh), symbol: "RtlAllocateHeap" (+AFh)
Address: 00206F80h (foobar2000+116F80h)
Address: 00206F80h (foobar2000+116F80h)
Address: 774766EAh (ntdll+666EAh), symbol: "RtlFreeHeap" (+7Ah)
Address: 76589A26h (kernel32+49A26h), symbol: "HeapFree" (+14h)
Address: 00206910h (foobar2000+116910h)
Address: 10006ACFh (shared+6ACFh), symbol: "stricmp_utf8_ex" (+1Eh)
Address: 001CAE30h (foobar2000+DAE30h)
Address: 0024692Ch (foobar2000+15692Ch)
Address: 001CAF3Ah (foobar2000+DAF3Ah)
Address: 0022212Ch (foobar2000+13212Ch)
Address: 001CE080h (foobar2000+DE080h)
Address: 00268C4Ch (foobar2000+178C4Ch)
Address: 00237AF8h (foobar2000+147AF8h)
Address: 00206BB5h (foobar2000+116BB5h)
Address: 00237AF8h (foobar2000+147AF8h)
Address: 001C4FCDh (foobar2000+D4FCDh)
Address: 00246D24h (foobar2000+156D24h)
Address: 00223688h (foobar2000+133688h)
Address: 001CD9A4h (foobar2000+DD9A4h)
Address: 001CD6CCh (foobar2000+DD6CCh)
Address: 001CD530h (foobar2000+DD530h)
Address: 001CD59Fh (foobar2000+DD59Fh)
Address: 0021F750h (foobar2000+12F750h)
Address: 001CEA6Ch (foobar2000+DEA6Ch)
Address: 0026ED84h (foobar2000+17ED84h)
Address: 0026AE4Ch (foobar2000+17AE4Ch)
Address: 001CE951h (foobar2000+DE951h)
Address: 00242A90h (foobar2000+152A90h)
Address: 0024A240h (foobar2000+15A240h)
Address: 00220CCBh (foobar2000+130CCBh)
Address: 0363DD22h (foo_upnp+3DD22h), symbol: "foobar2000_get_interface" (+4F52h)
Address: 036951F7h (foo_upnp+951F7h), symbol: "foobar2000_get_interface" (+5C427h)
Address: 0026AE4Ch (foobar2000+17AE4Ch)
Address: 036BA7BBh (foo_upnp+BA7BBh), symbol: "foobar2000_get_interface" (+819EBh)
Address: 0363DC31h (foo_upnp+3DC31h), symbol: "foobar2000_get_interface" (+4E61h)
Address: 036BA7D6h (foo_upnp+BA7D6h), symbol: "foobar2000_get_interface" (+81A06h)
Address: 0363A7C9h (foo_upnp+3A7C9h), symbol: "foobar2000_get_interface" (+19F9h)
Address: 036BA81Eh (foo_upnp+BA81Eh), symbol: "foobar2000_get_interface" (+81A4Eh)
Address: 0363A91Ch (foo_upnp+3A91Ch), symbol: "foobar2000_get_interface" (+1B4Ch)
Address: 036BAD2Ah (foo_upnp+BAD2Ah), symbol: "foobar2000_get_interface" (+81F5Ah)
Address: 03637E60h (foo_upnp+37E60h)
Address: 036D4D88h (foo_upnp+D4D88h), symbol: "foobar2000_get_interface" (+9BFB8h)
Address: 036C9910h (foo_upnp+C9910h), symbol: "foobar2000_get_interface" (+90B40h)
Address: 036E08E8h (foo_upnp+E08E8h), symbol: "foobar2000_get_interface" (+A7B18h)
Address: 036BBD75h (foo_upnp+BBD75h), symbol: "foobar2000_get_interface" (+82FA5h)
Address: 03637FB1h (foo_upnp+37FB1h)
Address: 036DFFE0h (foo_upnp+DFFE0h), symbol: "foobar2000_get_interface" (+A7210h)
Address: 036D4D88h (foo_upnp+D4D88h), symbol: "foobar2000_get_interface" (+9BFB8h)
Address: 774771AAh (ntdll+671AAh), symbol: "RtlEnumerateGenericTableWithoutSplaying" (+3E8h)
Address: 774771E6h (ntdll+671E6h), symbol: "RtlEnumerateGenericTableWithoutSplaying" (+424h)
Address: 774768FDh (ntdll+668FDh), symbol: "RtlFreeHeap" (+28Dh)
Address: 774768FDh (ntdll+668FDh), symbol: "RtlFreeHeap" (+28Dh)
Address: 774199FAh (ntdll+99FAh), symbol: "WinSqmStartSession" (+27Bh)
Address: 774768FDh (ntdll+668FDh), symbol: "RtlFreeHeap" (+28Dh)
Address: 7747661Fh (ntdll+6661Fh), symbol: "RtlAllocateHeap" (+AFh)
Address: 77476570h (ntdll+66570h), symbol: "RtlAllocateHeap" (+0h)
Address: 774199FAh (ntdll+99FAh), symbol: "WinSqmStartSession" (+27Bh)
Address: 774768FDh (ntdll+668FDh), symbol: "RtlFreeHeap" (+28Dh)
Address: 7747661Fh (ntdll+6661Fh), symbol: "RtlAllocateHeap" (+AFh)
Address: 77476570h (ntdll+66570h), symbol: "RtlAllocateHeap" (+0h)
Address: 774199FAh (ntdll+99FAh), symbol: "WinSqmStartSession" (+27Bh)
Address: 774768FDh (ntdll+668FDh), symbol: "RtlFreeHeap" (+28Dh)
Address: 7747661Fh (ntdll+6661Fh), symbol: "RtlAllocateHeap" (+AFh)
Address: 0007223Dh (guard32+223Dh)
Address: 036951F7h (foo_upnp+951F7h), symbol: "foobar2000_get_interface" (+5C427h)
Address: 03694BC5h (foo_upnp+94BC5h), symbol: "foobar2000_get_interface" (+5BDF5h)
Address: 036951F7h (foo_upnp+951F7h), symbol: "foobar2000_get_interface" (+5C427h)
Address: 0365B487h (foo_upnp+5B487h), symbol: "foobar2000_get_interface" (+226B7h)
Address: 03606630h (foo_upnp+6630h)
Address: 00200074h (foobar2000+110074h)
Address: 774766EAh (ntdll+666EAh), symbol: "RtlFreeHeap" (+7Ah)
Address: 774766EAh (ntdll+666EAh), symbol: "RtlFreeHeap" (+7Ah)
Address: 036DFFE0h (foo_upnp+DFFE0h), symbol: "foobar2000_get_interface" (+A7210h)
Address: 036D4D88h (foo_upnp+D4D88h), symbol: "foobar2000_get_interface" (+9BFB8h)
Address: 76589A26h (kernel32+49A26h), symbol: "HeapFree" (+14h)
Address: 03694DA9h (foo_upnp+94DA9h), symbol: "foobar2000_get_interface" (+5BFD9h)
Address: 03694DC8h (foo_upnp+94DC8h), symbol: "foobar2000_get_interface" (+5BFF8h)
Address: 036DFFE0h (foo_upnp+DFFE0h), symbol: "foobar2000_get_interface" (+A7210h)
Address: 10002778h (shared+2778h), symbol: "uPrintCrashInfo_OnEvent" (+B0h)
Address: 036DFFF4h (foo_upnp+DFFF4h), symbol: "foobar2000_get_interface" (+A7224h)
Address: 036DFFE0h (foo_upnp+DFFE0h), symbol: "foobar2000_get_interface" (+A7210h)
Address: 036BD0F0h (foo_upnp+BD0F0h), symbol: "foobar2000_get_interface" (+84320h)
Address: 036147C3h (foo_upnp+147C3h)
Address: 774199FAh (ntdll+99FAh), symbol: "WinSqmStartSession" (+27Bh)
Address: 036E08F4h (foo_upnp+E08F4h), symbol: "foobar2000_get_interface" (+A7B24h)
Address: 0007223Dh (guard32+223Dh)
Address: 036E08F4h (foo_upnp+E08F4h), symbol: "foobar2000_get_interface" (+A7B24h)
Address: 03660A01h (foo_upnp+60A01h), symbol: "foobar2000_get_interface" (+27C31h)
Address: 036BC6BDh (foo_upnp+BC6BDh), symbol: "foobar2000_get_interface" (+838EDh)
Address: 03613C08h (foo_upnp+13C08h)
Address: 0361379Dh (foo_upnp+1379Dh)

Environment:
App: foobar2000 v1.0
OS: Windows 6.0.6002 Service Pack 2 x86
CPU: AMD Athlon™ 64 X2 Dual Core Processor 5200+, features: 3DNow!ex MMX SSE SSE2 SSE3
Audio: Speakers (Creative SB X-Fi); SPDIF Out (Creative SB X-Fi); Speakers (PlayOn Virtual Audio Device)
UI: Columns UI 0.3.8.3

Components:
Core (2010-01-09 06:47:00)
    foobar2000 core 1.0
foo_ac3.dll (2010-01-11 11:18:40)
    AC3 decoder 0.9.4
foo_albumlist.dll (2010-01-09 06:44:46)
    Album List 4.4
foo_amipwrapper.dll (2010-01-29 16:32:26)
    AMIP Wrapper 1.01
foo_audioscrobbler.dll (2009-10-25 20:30:02)
    Audioscrobbler 1.4.3
foo_benchmark.dll (2008-12-31 19:23:04)
    Decoding Speed Test 1.1
foo_burninate.dll (2010-01-18 22:10:44)
    Audio CD Writer 3.0.2
foo_cdda.dll (2010-01-09 06:44:42)
    CD Audio Decoder 3.0
foo_converter.dll (2010-01-09 06:44:32)
    Converter 1.4
foo_discogs.dll (2010-01-30 23:31:25)
    Discogs Tagger 1.22
foo_dop.dll (2009-12-27 10:06:53)
    iPod manager 0.6.6.4
foo_dsp_dolbyhp.dll (2010-01-22 13:40:28)
    Dolby Headphone Wrapper 1.4.1
foo_dsp_std.dll (2010-01-09 06:44:48)
    Standard DSP Array 1.0
foo_freedb2.dll (2007-01-22 12:07:44)
    freedb Tagger 0.5.2a
foo_input_alac.dll (2009-03-22 15:15:46)
    ALAC Decoder 1.0.3
foo_input_dts.dll (2010-01-11 11:28:30)
    DTS decoder 0.2.8
foo_input_monkey.dll (2009-05-01 14:40:52)
    Monkey's Audio Decoder 2.1.4
foo_input_std.dll (2010-01-09 06:44:24)
    Standard Input Array 1.0
foo_lock.dll (2010-01-11 12:18:36)
    Pause on Lock 0.5
foo_masstag.dll (2009-09-18 10:01:36)
    Masstagger 1.8.4
foo_out_asio.dll (2009-03-22 15:15:46)
    ASIO support 1.2.7
foo_out_ks.dll (2006-08-04 21:54:58)
    Kernel Streaming Output 1.2.2
foo_out_wasapi.dll (2009-05-19 22:45:18)
    WASAPI output support 2.1
foo_playcount.dll (2009-04-29 20:09:32)
    Playback Statistics 2.1.9
foo_podcatcher.dll (2010-01-12 12:09:04)
    Podcatcher 0.1.5f (beta)
foo_quicktag.dll (2009-12-23 21:36:24)
    Quick Tagger 1.0.2
foo_rgscan.dll (2010-01-09 06:44:24)
    ReplayGain Scanner 2.0.9
foo_texttools.dll (2009-12-23 21:00:22)
    Text Tools 1.0.4
foo_ui_columns.dll (2010-01-09 09:40:28)
    Columns UI 0.3.8.3
foo_ui_std.dll (2010-01-09 06:44:52)
    Default User Interface 0.9.5
foo_uie_albumlist.dll (2009-06-13 17:49:19)
    Album list panel 0.3.5
foo_uie_console.dll (2009-08-29 11:06:24)
    Console panel 0.4
foo_uie_library_tree.dll (2010-01-31 00:17:14)
    Library Tree 0.3.4.3
foo_uie_typefind.dll (2007-10-22 16:30:44)
    Typefind 0.2 beta 2
foo_upnp.dll (2010-01-28 02:26:08)
    An UPnP/DLNA Media Renderer, Media Server and Control Point 0.99.20
foo_verifier.dll (2009-10-05 11:39:20)
    File Integrity Verifier 1.1

Recent events:
Watching: D:\666\BACKUP\3\Music\SXSW 2008 ShowCasing Artists
Watching: D:\666\BACKUP\3\Music\Top 40 Rock Bill Board (2006)
Watching: D:\666\BACKUP\3\Music\The Rolling Stone Magazines 500 Greatest Songs Of All Time
Album list panel: initialised in 0.159 s
foo_upnp: succesfully loaded file C:\Program Files\foobar2000\foo_upnp.xml
Startup time : 0:01.484379
foo_upnp: 50.625: PLT_HttpServerSocketTask::Write(311): WARNING: NPT_CHECK failed, result=-20401 (NPT_ERROR_CONNECTION_ABORTED) [(NPT_StreamToStreamCopy( *body_stream.AsPointer(), *output_stream.AsPointer(), 0, entity->GetContentLength()))]
foo_upnp: 160.504: PLT_HttpServerSocketTask::Write(311): WARNING: NPT_CHECK failed, result=-20401 (NPT_ERROR_CONNECTION_ABORTED) [(NPT_StreamToStreamCopy( *body_stream.AsPointer(), *output_stream.AsPointer(), 0, entity->GetContentLength()))]
foo_upnp: 183.395: PLT_HttpServerSocketTask::Write(311): WARNING: NPT_CHECK failed, result=-20401 (NPT_ERROR_CONNECTION_ABORTED) [(NPT_StreamToStreamCopy( *body_stream.AsPointer(), *output_stream.AsPointer(), 0, entity->GetContentLength()))]
foo_upnp: 183.433: FbMediaWavInputStream::open(49): SEVERE: could not open location [url=http://hi.1980s.fm:80/]http://hi.1980s.fm:80/[/url] for decoding to PCM: Could not connect to host
Notice how the last opertion in foobar2000 was your plug-in failing to conect to the server.

I can reproduce this crash every time. The problem was that my "firewall" application, "PeerBlock" had blocked the connection.

And since this happened and I tried to play the file on my xbox 360 it causes your plug-in to have an error and crash foobar2000.

So to duplicate it yourself install PeerBlock with default settings and subscribe to P2P, Spyware, and Advertising default lists.

Now create a .pls file with:

Code: [Select]
[playlist]
numberofentries=1
File1=http://hi.1980s.fm:80/
Title1=1980s FM
Length1=-1
Version=2
Now load that playlist in foobar2000. Then load up your xbox 360 and go to music and then saved playlists and pick the play list you just created.

Foobar2000 will crash and the xbox 360 will say it's unable to play the file, as expected.

Of course foobar2000 should not crash just because it can not open the file.

The error should be logged in foobar2000 just like it was and the foobar2000 error console should open showing the error.

Take Care,

Will
Title: foo_upnp
Post by: bubbleguuum on 2010-02-02 19:31:21
@war59312:  I can't reproduce it, using fb2k as the client since I do not have a Xbox 360 anymore (I get a proper 404 error in the client). Can you make it crash and submit the crash when fb2k ask you to do so ?
Title: foo_upnp
Post by: sebassjee on 2010-02-03 17:14:32
Request: Not sure if this is possible, but an option to scrobble tracks to last.fm (via foo_audioscrobbler - similar to how foo_dop does it) when they are streamed to another device. Eg., if I use foo_upnp to play a track on my Xbox360, the track would also get scrobbled.


I Second this one!!! That would be reallyyyy cool!
Hope you can figure this one out.
It's a quite unique function for a dlna media server.


This is not possible as foo_audioscrobbler do not offer an API for other plugins to use. Not sure how foo_dop do it.


What about this API, You can send 'scrobbles' directly to the Last.fm (windows)client with it.. I don't know if you can use it ..
http://www.audioscrobbler.net/development/...html/index.html (http://www.audioscrobbler.net/development/scrobsub/docs/html/index.html)
Title: foo_upnp
Post by: war59312 on 2010-02-04 03:47:23
@war59312:  I can't reproduce it, using fb2k as the client since I do not have a Xbox 360 anymore (I get a proper 404 error in the client).

Can you make it crash and submit the crash when fb2k ask you to do so ?

Indeed, I already sent it.

But here is one such log:

http://www.easy-share.com/1909191374/crash.zip (http://www.easy-share.com/1909191374/crash.zip)

Title: foo_upnp
Post by: thefish on 2010-02-04 10:38:05
Hi

Sorry first post here.. been following the instructions about internet access to my media library.."...To test that the server is accessible from outside, connect to it with your browser using http://<public ip>:<server port> and you should see a blank page."


Now i'm getting the blank page but how do i see my library?  sorry for the newbie question

Thanks..great bit of software btw

Title: foo_upnp
Post by: bubbleguuum on 2010-02-04 18:54:05
Indeed, I already sent it.

But here is one such log:

http://www.easy-share.com/1909191374/crash.zip (http://www.easy-share.com/1909191374/crash.zip)


Unfortunately I can't make sense of the dump included in the zip. Maybe if you resubmit another one (just use the "send report" button in the "foobar2000 has crashed" dailog), it could help to find this bug.


Hi
Sorry first post here.. been following the instructions about internet access to my media library.."...To test that the server is accessible from outside, connect to it with your browser using http://<public ip>:<server port> and you should see a blank page."
Now i'm getting the blank page but how do i see my library?  sorry for the newbie question


On the PC you want to browse your remote collection, add the UPnP browser to your layout, then use View->Add remote UPnP foobar2000 server. If you can connect to the server then it will appear in the UPnP Browser.

Title: foo_upnp
Post by: bubbleguuum on 2010-02-07 11:23:28
0.99.21 released (first post to download)

- server: fix: bug in Folders subtree if a ML root folder was just a drive letter
- server: chg: hack to allow streaming WAV of infinite length for Linn Ds (and possibly other hardware)
- server: chg: tweaked Playback Stream Capture buffer size to avoid drop outs of audio
- renderer: fix (regression): after some time (> 15mins) track change notifications were not sent to the Control Point which would not advance in playlist (PlugPlayer would stop advancing to next track).
- controller: new: added "Play foobar20000 Playback Stream Capture" in Playback->UPnP Controller menu.
- controller: fix: In some cases, the WMP12 Renderer (and possibly others) weren't listed in the UPnP Controller context menu and had the "PL" button disabled
- controller: fix: deadlock (app freeze) when multiple renderers listed and changing renderer fast in the combo box (either with the keyboard or mouse wheel)
- controller: fix: Linn DS is now able to resume play on fb2k Playback Stream Capture on fb2k launch
Title: foo_upnp
Post by: zicmu2 on 2010-02-09 13:17:09
Hi,

I have tested this new version containing one interresting fix concerning drops out of audio, but sadly it has not given better results with it.

I will try to connect my laptop directly to my PS3 via a RJ45 cord and see what it will give.

Zicmu2
Title: foo_upnp
Post by: batagy on 2010-02-13 00:13:22
0.99.21 released (first post to download)

- server: fix: bug in Folders subtree if a ML root folder was just a drive letter

Huge thanks bubbleguuum, I tested this feature, works nicely now!
Many thanks for your dedicated work!
Title: foo_upnp
Post by: gebla on 2010-02-13 14:38:59
Hi Bubbleguuum,

I have a question on the upnp browser. What I wanted to do is to add the ability to see the different tracks of an album. To do so I added <spec>%track% %title%</spec> within the customize media library tree xml file:

<SubTree label="Artists">
  <spec type="object.container.person.musicArtist">%artist%</spec>
  <spec type="object.container.album.musicAlbum">%album%</spec>
  <spec>%track% %title%</spec>
  </SubTree>

THis way you get below:
(http://img21.imageshack.us/img21/6330/upnpbrowser.jpg)


I can now select Artist then album and then I see all songs of that album. However if I want to play the complete album I must drag each separate song of that labum the the upnp playlist (imagine 20 songs). You can not drag the album name to the playlist. My question is if it is possible to show the different songs of an album but still have the possibility to drag the album name to the playlist?

In above example I would like to drag the album title Headlines and deadlines to the playlist. But now I must drag song 1 to 16 to the playlist instead.
Title: foo_upnp
Post by: bubbleguuum on 2010-02-14 10:50:40
@gebla: You cannot fix this problem editing the XML tree.

I need to modify the UPnP Browser to operate like the Album List  UI Element, so it is able to display individual tracks in the tree and allow multiple selection (CTRL+click). Initially when I designed the Browser, the Controller did not exist, and it made sense to always send (or add) tracks of a container to a playlist for local play.
Fixing this issue to improve usability is high priority, although not trivial.

In the meantime, if you use foo_upnp as the Media Server, you can use the Album List Component to play/enqueue items in the Controller Playlist (you can even drag or shift-drag items to it). Or if you use the UPnP Browser, you need to select individual tracks in the UPnP Browser Selection Playlist (if the Browser is configured to send items to this playlist).
Title: foo_upnp
Post by: OpaJo0 on 2010-02-14 14:23:01
updating from v0.99.21 to  v0.99.20.1 results in "Invalid Music File" when using "playback stream capture" with an external media player (realtek rtd1283). Changing back to v99.20.1 everything works fine. Also choosing "playlist" instead of streaming capture, the same file plays ok with v0.99.21. foo_upnp settings: default, fresh foobar v1.0 installation, on windows xp. Any further infos needed?
Title: foo_upnp
Post by: bubbleguuum on 2010-02-14 15:14:32
updating from v0.99.21 to  v0.99.20.1 results in "Invalid Music File" when using "playback stream capture" with an external media player (realtek rtd1283). Changing back to v99.20.1 everything works fine. Also choosing "playlist" instead of streaming capture, the same file plays ok with v0.99.21. foo_upnp settings: default, fresh foobar v1.0 installation, on windows xp. Any further infos needed?


This is due to the hack I made to generate an infinite WAV stream in 0.99.21. Some players may not like it, since a WAV is by definition a file and of finite length. If your player support LPCM (it should if it is a DLNA device), change wav to lpcm in the Default streaming profile (or the specific profile if you made one).
If it does not work, I'll revert back to a generating a WAV of max duration (approx 6h45) for Playback Stream Capture.
Title: foo_upnp
Post by: OpaJo0 on 2010-02-14 19:32:59
Same behaviour with LPCM :-( Perhaps you can implement an selection option between "max" and "infinitive" wav, if other users have no probs with infinitive wav?

BTW the new version is much more stabil! No crashes when changing options during foobar plays anymore :-)
Title: foo_upnp
Post by: thorbeck on 2010-02-19 18:41:27
FYI:
After installing foobar2000 and this wonderful plugin on a computer with Windows XP 32 bit (Media Center) the audio skipping problem is gone.
On Windows 7 64 bit, my work computer, the audio streamed to my Xbox behaved as if my connection could not handle the bitrate.
I don't have a firewall on my windows xp computer.
I'm using WiFi for everything, and the Xbox is equipped with the "old" WiFi card.
Title: foo_upnp
Post by: Tom_W on 2010-02-24 11:48:23
Hi,
I can't seem to make the UPnP Controller send tracks to play on my renderer (NaimUniti). When i press play, i get a 'setAVTransportURI Error: Action failed (501)' error, and nothing happens.
The Uniti shows up in the combo box list, and I can choose it though.

Incidentally, i can't get the Windows 7 media player 'play-to' feature to work either.

Any suggestions?

Thanks
Title: foo_upnp
Post by: bubbleguuum on 2010-02-24 19:04:35
Hi,
I can't seem to make the UPnP Controller send tracks to play on my renderer (NaimUniti). When i press play, i get a 'setAVTransportURI Error: Action failed (501)' error, and nothing happens.
The Uniti shows up in the combo box list, and I can choose it though.

Incidentally, i can't get the Windows 7 media player 'play-to' feature to work either.

Any suggestions?

Thanks



Your unit refuse the URL we tell it to play. Why, it is dificult to know. Maybe it chokes on more complex URLs. Try playing a mp3, this should generate a simple URL if you have not modified the streaming profile to stream as PCM or enabled an option that will convert to  PCM. You can also try to click "Stop" before "Play". WMP12 probably fails on the same error, not a good sign...
You can also try to reboot your renderer.
Title: foo_upnp
Post by: --pv-- on 2010-02-24 20:20:27
Hello,
Sorry that I haven't posted for a while. There is  one quite major issue bothering me but the problem is I haven't pointed it out sooner.
Would it be possible to add ability for the browser DUI element to be able to expand nodes by using keyboard?
If I am browsing remote library I need to use the mouse to expand a node I would like to make it work in the standard treeview like fashion so + and - and left and right arrow expand / collapse the nodes.
Is this doable please?
Title: foo_upnp
Post by: Tom_W on 2010-02-24 21:34:57
Quote
Try playing a mp3, this should generate a simple URL if you have not modified the streaming profile to stream as PCM or enabled an option that will convert to  PCM. You can also try to click "Stop" before "Play".
You can also try to reboot your renderer.


I am using the default streaming profile already, so mp3 is not being decoded to pcm. Pressing stop, or mute also gives the Action failed (501) error. Rebooting has no effect either.
Do you think this is an incompatibility in the Uniti that needs to be sorted out by Naim, or is it related to foo_UPnP?

Also, if i change the streaming profile from default, and click ok to exit preferences, when i go back in, it has returned to the default profile. Is this the expected behaviour?
Thanks
Title: foo_upnp
Post by: bubbleguuum on 2010-02-24 22:07:34
@pv: I'll look into making this keys work for navigation

Also, if i change the streaming profile from default, and click ok to exit preferences, when i go back in, it has returned to the default profile. Is this the expected behaviour?
Thanks


It is expected: the profile is not selected on the profile displayed when you enter the streaming profile page, but on actual detection when the renderer make request or when I match a renderer to its profile when adding items in teh controller playlist. The default profile is used in the case another more specific profile could not be found (which is the case for the Unity since I diodn't make a specific profile).
The problem is mostly something weird on the Naim side, especially if WMP Play To do not work either. After some research error code 501 means that the state of the unit did not allow the action (setting the play URL) to be successful. Only Naim knows why.
You can eventually record a debug log and send it to me (see first post for details).
Title: foo_upnp
Post by: Tom_W on 2010-02-24 23:00:07
Ok, thanks. When i get a chance i'll contact Naim, and also send you a debug log.
Title: foo_upnp
Post by: Black_Over_Bills_Mothers on 2010-02-25 11:26:46
I'm using a Yamaha R-XV3900 receiver as a upnp client. It sees the foobar server fine, I get playlists, media library shown. I can select songs and even get album art. But dispite playing with many server settings I get a crackling sound on high levels that I presume is clipping. I do not get this sound when playing the same tracks via optical output. I have tried Apply Replay\Gain setting on server but no change.

I'm impressed that it almost works! Solving the clipping sound would make it listenable.

Any ideas?
Title: foo_upnp
Post by: vassie on 2010-02-25 12:00:22
Can foo_audioscrobbler & foo_upnp work together to scrobble any music I play via uPnP?

Does foo_upnp know what tracks it is streaming? Could this info either be passed to foo_audioscrobbler or could we have a Last.fm option in foo_upnp?

Thanks
Title: foo_upnp
Post by: bubbleguuum on 2010-02-25 12:44:48
I'm using a Yamaha R-XV3900 receiver as a upnp client. It sees the foobar server fine, I get playlists, media library shown. I can select songs and even get album art. But dispite playing with many server settings I get a crackling sound on high levels that I presume is clipping. I do not get this sound when playing the same tracks via optical output. I have tried Apply Replay\Gain setting on server but no change.

I'm impressed that it almost works! Solving the clipping sound would make it listenable.

Any ideas?


That's very strange. There's no reason you should get crackling sound from the plugin side. What happens if you use another media server ?
I assume you do not have this crakling sound if you play the files direclty in foobar ? Or using a second instance of foobar using the UPnP browser to play file from the fb server instance ?
Title: foo_upnp
Post by: Black_Over_Bills_Mothers on 2010-02-25 13:12:00
Hi bubbleguuum
You are correct, the files play back fine directly from foobar - as I said optical out into same amp.

I'm planning on setting Media Player as a server tonight and trying that with the amp. The user manual states that this works. This will prove if it is the amp. or not. I'll then try foobar client on another PC.

Irrespective of this 'little' problem, I'm still impressed that it almost works with a piece of equipment that you have never tested. Well done on your interpretation of the various standards.
Title: foo_upnp
Post by: Khol on 2010-02-25 13:32:38
Firstly, thanks for the great plugin, really useful to have.

Just one question: I know that the 360 uses an odd interface, but is it possible to get the xbox 360 player to group albums in the same way as the default wmp one does, so you get Artists/Albums/Album Tracks, rather than the current system which just gives all the tracks in a list.

Thanks
Title: foo_upnp
Post by: Black_Over_Bills_Mothers on 2010-02-25 17:23:11
Further investigations on 'crackling' sound.

foobar (server) >> Yamaha amp = crackling
WMP (server) >> Yamaha amp = No crackle
foobar (server) >> WMP (client) (same PC) = No crackle

Any conclusions?
Title: foo_upnp
Post by: bubbleguuum on 2010-02-25 18:34:52
@Khol: unfortunately the XBOX has a hardcoded media tree. There's not much to configure here



@Black_Over_Bills_Mothers:

Conclusion: WTF !

When you mean crackling, you do not mean drop out of audio, but garbled or saturated sound, right ?
Send me a debug log and I'll have a look (see first post for info).
Title: foo_upnp
Post by: vassie on 2010-03-01 08:57:52
Can foo_audioscrobbler & foo_upnp work together to scrobble any music I play via uPnP?

Does foo_upnp know what tracks it is streaming? Could this info either be passed to foo_audioscrobbler or could we have a Last.fm option in foo_upnp?

Thanks


As there hasn't been a reply from Florian, could Last.fm support be added to foo_upnp?

Thanks
Title: foo_upnp
Post by: mediumspiny on 2010-03-01 18:15:03
Hi,

Thanks for the excellent plugin. I am having one problem with the controller though.

I am using foobar to stream music to a Western Digital HD TV live. I want to be able to have a continuous stream of music randomly from my library. To that end, I added the whole folder containing all my music (over 10,000 tracks) to the UPnP controller playback queue. At the end of each track playback just stops. At one point I had it so that tracks played continuously in a random order. I loaded the ColumnsUI first and restarted foobar. Then I set playback -> order -> shuffle (tracks), and started the player. Finally I pressed play in the UPnP controller. I noticed that, unlike with the default view, the name of the track appeared in the UPnP controller poput window.

For some reason (probably stupidity or boredom  ), I started playing with settings half an hour later. I switched back from the columnsUI to the default view (amongst other things) and found that that stopped the continuous play, so I had to press play again after every song.

Does anyone have any idea how I can get back to the continuous play?

I do notice that in the console there is always the same error message when a track ends and the next does not start. The message is:

foo_upnp: 1128.172: PLT_CtrlPoint::ProcessHttpNotify(689): WARNING: NPT_CHECK failed, result=-1 (FAILURE) [((-1))]
foo_upnp: 1128.172: PLT_CtrlPoint::ProcessHttpNotify(749): SEVERE: CtrlPoint received bad request

Any help appreciated. I am very impressed with how well the streaming worked. This was just the functionality I was looking for. I am sure it is possible to get it working again, but I do not know how.
Title: foo_upnp
Post by: Sebert on 2010-03-01 18:57:08
Quick question:
I am using foo_upnp to play my foobar2000 playlists on my XBMC via LAN.
Is there a way to reload a playlist?
Because when I change a playlist in foobar2000 and select this playlist the changes do not show in XBMC.

I guess it is rather a XBMC problem, but I do not know too much about that kind of stuff !
Title: foo_upnp
Post by: Tom_W on 2010-03-02 21:43:34
Quote
I can't seem to make the UPnP Controller send tracks to play on my renderer (NaimUniti). When i press play, i get a 'setAVTransportURI Error: Action failed (501)' error, and nothing happens.


I have now got this to work: I replaced my Thomson TG585v7 router with a D-link 2640B, and everything is fine. I guess something was blocking the instruction.
Title: foo_upnp
Post by: bubbleguuum on 2010-03-05 12:53:22
@mediumspiny:

For the track not advancing problem you can send me a log file. See first post for instructions.

Shuffle tracks is not yet supported when using the UPnP controller playback queue:  you cannot just use playback -> order -> shuffle (tracks) as this
command shuffle a regular foobar2000 playlist and the controller playlist is not really a regular one (I mean it is totally managed by the plugin, regardless
of some foobar2000 playlist settings such as track order). You'll notice the grayed shuffle button in the Controller. At some point shuffle will be implemented. For
now it is implemented only for Linn DS devices.
Fortunately there is and easy way to achieve what you want, both adressing the track advance problem and shuffle. Use the command PlayBack->UPnP Controller->Play foobar2000 playback stream capture. Now whatever you play in foobar2000 (using regular playback control buttons, not the controller ones) in whatever playlist will be streamed to your currently selected renderer in 44.1/16/2 LPCM (you'll probably have to select LPCM in the Default streaming profile, as WAV is the default). Shuffle should work as expected since standard playlists are used.

@Sebert:

The Server do not notify of playlist (or Media Library) changes to the client (XMBC) yet, so it is a known shortcoming. This is something I want
to implement but it will take some time. Only way to have the change reflected for now is to stop/start the server in the Status conf page.
Title: foo_upnp
Post by: isawdrones on 2010-03-05 14:50:24
I'm having an issue with the remote upnp server not showing up even if the reconnect box is checked. My guess is that when I'm at home the upnp plugin is detecting it as a local server and then through some confusion does not show back up remotely.

Can this be fixed so I don't always have to re-add the remote server when away from home?

Thanks, this plugin is awesome.
-adam
Title: foo_upnp
Post by: Sebert on 2010-03-05 15:18:46
@bubbleguuum

Thank you for your answer.
Title: foo_upnp
Post by: war59312 on 2010-03-06 23:41:46
Indeed, I already sent it.

But here is one such log:

http://www.easy-share.com/1909191374/crash.zip (http://www.easy-share.com/1909191374/crash.zip)


Unfortunately I can't make sense of the dump included in the zip. Maybe if you resubmit another one (just use the "send report" button in the "foobar2000 has crashed" dailog), it could help to find this bug.

Just crashed on me again 60 seconds ago, report sent.

Again, here it is just in case:
Code: [Select]
http://www.easy-share.com/1909474646/crash reports.rar


The connection failed because the radio station is dead.  But I still had it listed in my playlist so when I tried to play it, foo_upnp caused foobar to crash, as seen on the last line in the above txt file:

Quote
foo_upnp: 95957.314: FbMediaWavInputStream::open(49): SEVERE: could not open location http://novastreamradio.org:9100/ (http://novastreamradio.org:9100/) for decoding to PCM: Could not connect to host
Title: foo_upnp
Post by: Wadsbrau on 2010-03-10 16:54:14
Is it possible to use Plugplayer through the cell network to connect to my Foobar2000 server at home.  I currently have it setup to work through the internet on a pc?  If so, what is the manual address I would enter?

Thank you

Darren
Title: foo_upnp
Post by: bubbleguuum on 2010-03-10 19:49:26
Is it possible to use Plugplayer through the cell network to connect to my Foobar2000 server at home.  I currently have it setup to work through the internet on a pc?  If so, what is the manual address I would enter?


you must enter an URL of the form:

Code: [Select]
http://<server ip or hostname>:<port>/<login><password>


where "server ip or hostname", "port", "login", "password" aer set to the server configured values.

for example (with login=foo password=bar):

http://1.2.3.4:56923/foobar (http://1.2.3.4:56923/foobar)
Title: foo_upnp
Post by: Wadsbrau on 2010-03-10 19:53:35
Is it possible to use Plugplayer through the cell network to connect to my Foobar2000 server at home.  I currently have it setup to work through the internet on a pc?  If so, what is the manual address I would enter?


you must enter an URL of the form:

Code: [Select]
http://<server ip or hostname>:<port>/<login><password>


where "server ip or hostname", "port", "login", "password" aer set to the server configured values.

for example (with login=foo password=bar):

http://1.2.3.4:56923/foobar (http://1.2.3.4:56923/foobar)


PlugPlayer is asking for a device description xml file.

Darren
Title: foo_upnp
Post by: bubbleguuum on 2010-03-10 19:57:35
PlugPlayer is asking for a device description xml file.


I know that...above URL will return said description file to PlugPlayer.

Also more info in this article:

http://nerdlets.org/2009/05/07/set-up-a-up...ith-foobar2000/ (http://nerdlets.org/2009/05/07/set-up-a-upnp-media-server-with-foobar2000/)
Title: foo_upnp
Post by: war59312 on 2010-03-15 02:33:15
Any chance you can make the name of the UPnP customizable?

Also, any chance or make it so it does not show up under video and pictures on the xbox 360?
Title: foo_upnp
Post by: vassie on 2010-03-15 16:00:52
Any chance you can make the name of the UPnP customizable?

Also, any chance or make it so it does not show up under video and pictures on the xbox 360?


It already is

(http://img715.imageshack.us/img715/4781/74855388.png)

Ben
Title: foo_upnp
Post by: Wadsbrau on 2010-03-15 17:42:00
PlugPlayer is asking for a device description xml file.


I know that...above URL will return said description file to PlugPlayer.

Also more info in this article:

http://nerdlets.org/2009/05/07/set-up-a-up...ith-foobar2000/ (http://nerdlets.org/2009/05/07/set-up-a-upnp-media-server-with-foobar2000/)


Thank you it worked.  The only reason wh I asked that was because it didnt work for me before.  Seems was a user error :-|

Thanks again

Darren
Title: foo_upnp
Post by: war59312 on 2010-03-17 04:18:41
Any chance you can make the name of the UPnP customizable?

Also, any chance or make it so it does not show up under video and pictures on the xbox 360?


It already is

Ben

Whoops yeah not sure how I missed that.

Though I find it annoying that it adds "foobar2000:" to the front.
Title: foo_upnp
Post by: Wadsbrau on 2010-03-17 19:55:07
PlugPlayer is asking for a device description xml file.


I know that...above URL will return said description file to PlugPlayer.

Also more info in this article:

http://nerdlets.org/2009/05/07/set-up-a-up...ith-foobar2000/ (http://nerdlets.org/2009/05/07/set-up-a-upnp-media-server-with-foobar2000/)


Thank you it worked.  The only reason wh I asked that was because it didnt work for me before.  Seems was a user error :-|

Thanks again

Darren


There is one thing i noticed regarding internet streaming.  If I use plugplayer on the internet, manually set it up as above.  Then go home and connect to wifi, the manual settings gets replaced with the Foobar2000 server running on my network.  I have to enter the manual settings again.

Darren
Title: foo_upnp
Post by: gaktoid on 2010-03-19 16:35:30
bubbleguuum - Thanks for all of your contributions to the foobar community.

I haven't done any research on this, so feel free to drop a URL and tell me to RTFM...but here goes anyway.

I tried to forward internet radio streams through foobar to my PS3. I create a m3u with 4 stations in it and attempted to play them.

One of them worked fine.

The other three (all run by the same station) played really really fast, then buffered, then played really really fast, etc...

Any ideas?

-Gak Toid
Title: foo_upnp
Post by: bubbleguuum on 2010-03-20 20:43:05
Though I find it annoying that it adds "foobar2000:" to the front.


IIRC, the xbox want server name in the form XXXX: YYYY. That's why I force the foobar2000 prefix.



There is one thing i noticed regarding internet streaming.  If I use plugplayer on the internet, manually set it up as above.  Then go home and connect to wifi, the manual settings gets replaced with the Foobar2000 server running on my network.  I have to enter the manual settings again.

Yeah that's a problem I'm aware of. I'll see if I can do a quick fix so both servers are seen as separate

The other three (all run by the same station) played really really fast, then buffered, then played really really fast, etc...


Can you post the URL of those streams  so I can try to reproduce the problem ?

Title: foo_upnp
Post by: gaktoid on 2010-03-20 23:29:50
The other three (all run by the same station) played really really fast, then buffered, then played really really fast, etc...


Can you post the URL of those streams  so I can try to reproduce the problem ?


http://streaming.wxxi.org/ (http://streaming.wxxi.org/)

The "hi" version of all three. I haven't tested the "lo" version.

Since I've got your attention, is there a way to shuffle over all songs at once? I tried creating a play list in foobar with all of my music in it and then telling the PS3 to shuffle. It would only play songs from artists with the first letter A-D and would stop playing after a few songs. I assume I hit some type of play list size limitation.

-Gak Toid
Title: foo_upnp
Post by: bubbleguuum on 2010-03-21 00:39:10
The "hi" version of all three. I haven't tested the "lo" version.

Since I've got your attention, is there a way to shuffle over all songs at once? I tried creating a play list in foobar with all of my music in it and then telling the PS3 to shuffle. It would only play songs from artists with the first letter A-D and would stop playing after a few songs. I assume I hit some type of play list size limitation.

-Gak Toid


Streaming problems with those stations will be fixed in 0.99.22.

The PS3 is very slow (and I mean slooow) at loading large playlists or containers. Probably your playlist wasn't fully loaded when you hit shuffle.
Your best bet is to generate a playlist of moderate size and shuffle it in foobar2000, restart the server and play it in the PS3.
Title: foo_upnp
Post by: gaktoid on 2010-03-21 14:23:16
Streaming problems with those stations will be fixed in 0.99.22.

The PS3 is very slow (and I mean slooow) at loading large playlists or containers. Probably your playlist wasn't fully loaded when you hit shuffle.
Your best bet is to generate a playlist of moderate size and shuffle it in foobar2000, restart the server and play it in the PS3.


Thanks!

-Gak Toid
Title: foo_upnp
Post by: bubbleguuum on 2010-03-23 00:17:08
New version (first post to download)

0.99.22

- server: fix: some items (mostly http streams) streamed as PCM could be wrongly downsampled to 11025Hz in rare cases
- server: fix: reverted infinite WAV hack for Linn DS: it was not compatible with other renderers that expects a WAV to be of a non-zero size. Now generate a WAV of max length, as before.
- server: fix: fixed possible buffering problems with Playback Stream Capture
- browser: new: added %codec%, %samplerate%, %__bitspersample%, %__encoding%, %bitrate% at browse time when available
- controller: fix:  Linn DS: item metadata sometimes would be rejected if too big (for example metadata from WMP12).
- controller: new: Linn DS: support for the new Radio service in Cara 6.

It is possible to make the Radio service play a http:// or mms:// stream,  by right-clicking the stream and sending to the Radio service using the UPnP Controller context menu.
If the Radio Source is selected, the UPnP Controller window accept a dropped http:// or mms:// stream URL from a www browser and will play it immediately.
(known issue with the 2 methods above: the UPnP Controller do not display stream metadata correctly, just "Buffering...").
Title: foo_upnp
Post by: Anomalous on 2010-03-23 03:15:47
- server: removed option to enable/disable Playlists and Media Library nodes


Would it be possible to get this feature back? I would prefer to show something useful instead of whatever playlists happen to be open in foobar. Maybe playlists could also be specified in an xml file, something like
Code: [Select]
    <PlayList label="All music" query="ALL"  sort="%album%|%discnumber%|%tracknumber%" />
    <PlayList label="Some music" path="C:\someplaylist.m3u" />


An option to enable/disable Playback Steam Capture would be nice for completeness.

Also, could some image processing options be added (max dimensions/file size)? There seems to be a 100kB limitation for album art on the PS3, and it doesn't make sense to send megabyte sized images anyway.
Title: foo_upnp
Post by: Wadsbrau on 2010-03-24 20:58:02
Where do i put the playlist files so that they are seen when browsing the Playlists in UPnP?  Can I use .m3u playlists?  Or maybe this isnt how you accomplish this?  I have some existing playlists and would ike to use them this way.

Thank you

Darren

Title: foo_upnp
Post by: hxkclan on 2010-03-27 11:00:53
Don't know if this problem is on my end of somewhere in the component itself. But i have a weird problem (it worked before).

I have foo upnp version 0.99.21 running with foobar 1.0.1 (both server and client are foobar 1.0.1). The browsing all works, but when i want to playback a track it quits almost directly with playback (it plays about 1,5sec). I haven't really changed much, only updated my foobar and upnp versions. Any idea what might be causing this?
Title: foo_upnp
Post by: Wadsbrau on 2010-03-27 20:53:58
Every flac file i send from Foobar2000 server to a foobar 2000 player both running UPnP gets transcoded to mp3.  I have set all of the profiles to never transcode but its still does it.  I don't want the flac transcoded.  Please help.

Darren
Title: foo_upnp
Post by: Wadsbrau on 2010-03-27 22:15:20
Above message, this only seems to be happening when i use Plugplayer as a control point.

After playinhg around with it a bit, I discovered that The Plugplayer profile is being used when sending the stream to another player.  In this case Foobar 2000 on my HTPC.  Instead of being used only when playing something back using Plugplayer as the renderer.  If I change the Plugplayer profile to transcode never, flac plays to the HTPC without it being transcoded. 

Darren
Title: foo_upnp
Post by: bubbleguuum on 2010-03-27 22:41:32
Above message, this only seems to be happening when i use Plugplayer as a control point.

Darren



PlugPlayer uses the PlugPlayer profile which by default will convert flac to mp3 which is OK when you play the files on your iPod but might not be what you want if you use PP
as a pure control point, for example to control another foobar2000 instance. If you want to do both (ie play locally in PP and control fb2k) you have to find a common
streaming conf that will work for both. Hopefully, since a few versions, PP is able to play flac so you can just remove "flac" in the list of extension exception of the mp3 transcode configuration of the PP profile.

This problem illustrates that the streaming profile concept in foo_upnp is problematic when you have a client (like PP or even foo_upnp) that is both a pure control point and a renderer, and when you want to use both functionality. The only solution is to configure a streaming profile (in your case the PP profile) that is compatible with the renderer of the Control Point and all the ex