Skip to main content

Notice

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

foo_upnp

Reply #425
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.

foo_upnp

Reply #426
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.

foo_upnp

Reply #427
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!

foo_upnp

Reply #428
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 ?

 

foo_upnp

Reply #429
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.

foo_upnp

Reply #430
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) 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

foo_upnp

Reply #431
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) 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.

foo_upnp

Reply #432
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.

foo_upnp

Reply #433
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! )

foo_upnp

Reply #434
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.

foo_upnp

Reply #435
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.

foo_upnp

Reply #436
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

foo_upnp

Reply #437
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.

foo_upnp

Reply #438
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

What am I doing wrong? 

foo_upnp

Reply #439
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.

foo_upnp

Reply #440
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

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 for the query syntax reference.


foo_upnp

Reply #442
Thanks bubbleguuum, this is great!

foo_upnp

Reply #443
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?!

foo_upnp

Reply #444
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.

foo_upnp

Reply #445
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.

foo_upnp

Reply #446
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.