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

foo_upnp

Reply #1075
According to your previous log (post #1064), I assume streaming do not work at all, whether  mp3 or L16 ?
The Samsung TV make a specific DLNA request that the plugin do not handle so I wouldn't be surprised.
Those DLNA TVs are super picky with the DLNA spec and the plugin do not implement it all, far from it.
This particular feature is not very easy to implement without the hardware to test.

As for the problem fixed above, it is a different issue : browse not working.



ok, thx for clearing that. thought that samsung may use same media center software for their tvs... well, we'll see. whats most confusing is the fact, that i succeeded once.  via wmp12 it works at least, so network-failure due firewall e.g. shouldnt be the cause.

foo_upnp

Reply #1076
I am wondering, what you are meaning by "expose it at the root of the tree".
Mind explaining me a bit more about that - I am no expert in this, so thanks for bearing with me   


It's very easy: to start Playback Stream Capture (PSC) remotely as if you manually clicked the -C button:

In your favorite UPnP Control Point on iPhone: 

- select the renderer you want to start PSC on (ie your LinnDS) , and select foobar2000 as the Media Server
- browse the Library: at the root enter the folder titled "Playback Stream Capture" and play the only item found in this folder.

Thanks! Found it, got it working... Only problem now is, that I cannot add anything that I can play/stream to my LinnDS. No matter, which control point I use, (of course?) the item/radiostation to play overwrites/stops the Playback Stream Capture.
Any idea, what I might be doing wrong or whether this is "mission impossible"?
Thanks

foo_upnp

Reply #1077
Thanks! Found it, got it working... Only problem now is, that I cannot add anything that I can play/stream to my LinnDS. No matter, which control point I use, (of course?) the item/radiostation to play overwrites/stops the Playback Stream Capture.
Any idea, what I might be doing wrong or whether this is "mission impossible"?
Thanks


That's normal as the Playback Stream Capture (PBS)  item is put as a single item in the DS managed playlist.
As far as the DS is concerned, it sees it as a regular track.
I'm not sure what you are trying to achieve using PBS. Why don't you send item for playing to your DS using foobar2000 as the Media Server (like
you would do with any other Media Server), using your favorite UPnP Control Point ?

PBS is useful in a few cases:

- to control playback from foobar2000 to UPnP devices that cannot be controlled using the UPnP Controller (a PS3 for example, which can browse and play from its own UI, but cannot be remotely controlled)
- to play gaplessly to Renderers not able to handle gapless (not the DS obviously)
- as an alternate way to stream to a Renderer, using foobar2000 regular  UI to control playback instead of the UPnP Controller element.
- to stream to a WWW browser
- ...

foo_upnp

Reply #1078
Is there anyway of getting rid of, or at least reducing the lag on the second machine so both play together?

Or should I be looking at a different component or application to do that?

foo_upnp

Reply #1079
Hi,
thanks for this lifesaving component.

I've got a question/suggestion/not sure what this is.

I've been using foo_upnp with foobar as a server on one end and browser/controller on the other. Everything worked flawlessly.
Recently I started using it from PlugPlayer on my iPhone and found out that there is one thing that breaks everything - PlugPlayer's different approach to searching on a server.

I tracked the differences in a log (thanks bubbleguuum again for having thought of the log ;)

So, let's say I want to find something that has 'XYZ' somewhere in metadata.

Searching from foobar2000 instance I get this log

Code: [Select]
foo_upnp: 2123.089: FbMediaServer::ProcessHttpRequest(306)/49: INFO: received LAN request: http://localhost:56923/ContentDirectory/4a7ed320-8443-e282-c5ad-a770ff95e93d/control.xml (User-Agent: Platinum/0.5.4.0, DLNADOC/1.50 / foobar2000)
foo_upnp: 2123.089: FbMediaServer::OnAction(243)/49: INFO: received action 'Search', args = { ContainerID=0, SearchCriteria=XYZ, Filter=*, StartingIndex=0, RequestedCount=200, SortCriteria= }
foo_upnp: 2123.090: PLT_MediaServer::OnSearch(462)/49: INFO: Received Search from 127.0.0.1 for id = 0 with search = XYZ, start = 0, count = 200
foo_upnp: 2123.271: upnp_server_conf::get_profile(714)/49: INFO: using profile 'foobar2000', matching header (User-Agent:Platinum/0.5.4.0, DLNADOC/1.50 / foobar2000)
foo_upnp: 2123.278: FbMediaServer::OnAction(260)/49: INFO: action 'Search' response: args = { ContainerID=0, SearchCriteria=XYZ, Filter=*, StartingIndex=0, RequestedCount=200, SortCriteria=, NumberReturned=2, TotalMatches=2, UpdateID=0 }
foo_upnp: 2123.328: FbMediaServer::ProcessHttpRequest(306)/64: INFO: received LAN request: http://127.0.0.1:56923/albumart/e20c55ad7b172a0bb66c0b1fb9d2a5c1 (User-Agent: Platinum/0.5.4.0, DLNADOC/1.50 / foobar2000)
foo_upnp: 2123.328: PLT_HttpHelper::ToLog(410)/64: INFO:


and from iPhone/PlugPlayer I've got this

Code: [Select]
foo_upnp: 2185.691: FbMediaServer::ProcessHttpRequest(306)/59: INFO: received LAN request: http://127.0.0.1:56923/ContentDirectory/4a7ed320-8443-e282-c5ad-a770ff95e93d/control.xml (User-Agent: PlugPlayer iPhone/10.4.0, UPnP/1.0, Portable SDK for UPnP devices/1.6.6)
foo_upnp: 2185.692: FbMediaServer::OnAction(243)/59: INFO: received action 'Search', args = { ContainerID=0, SearchCriteria=(upnp:class = "object.container.album.musicAlbum" and dc:title contains "XYZ"), Filter=*, StartingIndex=0, RequestedCount=10, SortCriteria= }
foo_upnp: 2185.692: PLT_MediaServer::OnSearch(462)/59: INFO: Received Search from 192.168.123.116 for id = 0 with search = (upnp:class = "object.container.album.musicAlbum" and dc:title contains "XYZ"), start = 0, count = 10
foo_upnp: 2185.706: FbMediaServer::OnAction(260)/59: INFO: action 'Search' response: args = { ContainerID=0, SearchCriteria=(upnp:class = "object.container.album.musicAlbum" and dc:title contains "XYZ"), Filter=*, StartingIndex=0, RequestedCount=10, SortCriteria=, NumberReturned=0, TotalMatches=0, UpdateID=0 }
foo_upnp: 2185.736: FbMediaServer::ProcessHttpRequest(306)/58: INFO: received LAN request: http://127.0.0.1:56923/ContentDirectory/4a7ed320-8443-e282-c5ad-a770ff95e93d/control.xml (User-Agent: PlugPlayer iPhone/10.4.0, UPnP/1.0, Portable SDK for UPnP devices/1.6.6)
foo_upnp: 2185.737: FbMediaServer::OnAction(243)/58: INFO: received action 'Search', args = { ContainerID=0, SearchCriteria=(upnp:class = "object.container.person.musicArtist" and dc:title contains "XYZ"), Filter=*, StartingIndex=0, RequestedCount=10, SortCriteria= }
foo_upnp: 2185.738: PLT_MediaServer::OnSearch(462)/58: INFO: Received Search from 192.168.123.116 for id = 0 with search = (upnp:class = "object.container.person.musicArtist" and dc:title contains "XYZ"), start = 0, count = 10
foo_upnp: 2185.739: FbMediaServer::OnAction(260)/58: INFO: action 'Search' response: args = { ContainerID=0, SearchCriteria=(upnp:class = "object.container.person.musicArtist" and dc:title contains "XYZ"), Filter=*, StartingIndex=0, RequestedCount=10, SortCriteria=, NumberReturned=0, TotalMatches=0, UpdateID=0 }
foo_upnp: 2185.770: FbMediaServer::ProcessHttpRequest(306)/46: INFO: received LAN request: http://127.0.0.1:56923/ContentDirectory/4a7ed320-8443-e282-c5ad-a770ff95e93d/control.xml (User-Agent: PlugPlayer iPhone/10.4.0, UPnP/1.0, Portable SDK for UPnP devices/1.6.6)
foo_upnp: 2185.771: FbMediaServer::OnAction(243)/46: INFO: received action 'Search', args = { ContainerID=0, SearchCriteria=(dc:title contains "XYZ"), Filter=*, StartingIndex=0, RequestedCount=10, SortCriteria= }
foo_upnp: 2185.771: PLT_MediaServer::OnSearch(462)/46: INFO: Received Search from 192.168.123.116 for id = 0 with search = (dc:title contains "XYZ"), start = 0, count = 10
foo_upnp: 2185.772: FbMediaServer::OnAction(260)/46: INFO: action 'Search' response: args = { ContainerID=0, SearchCriteria=(dc:title contains "XYZ"), Filter=*, StartingIndex=0, RequestedCount=10, SortCriteria=, NumberReturned=0, TotalMatches=0, UpdateID=0 }


so the difference in search request is, as I can guess, in the following:

Code: [Select]
args = { ContainerID=0, SearchCriteria=XYZ, Filter=*, StartingIndex=0, RequestedCount=200, SortCriteria= }

args = { ContainerID=0, SearchCriteria=(dc:title contains "XYZ"), Filter=*, StartingIndex=0, RequestedCount=10, SortCriteria= }


PlugPlayer adds dc:title to its search requests. And search results are empty for PlugPlayer and there are two results for foobar2000/foo_upnp native search.

So the question is - is that (dc:title) by some standard?
What would you recommend to do to resolve this issue and make media library perfectly searchable from PlugPlayer?

I could suggest a feature for foo_upnp to alter search requests (SearchCriteria) by regexps.
Yes, it's a hack, but who know what will come next from some other media browser.
So in this case we could have two input fields somewhere in foo_upnp settings - "SearchCriteria to match" and "replacement string"
so that "(dc:title contains "XYZ")" turned to be just "XYZ".

And thanks again for developing such a great component.

foo_upnp

Reply #1080
Could anyone please tell me why with ps3 on the server transcode to mp3 is greyed out? Its the only device that has this.

foo_upnp

Reply #1081
so the difference in search request is, as I can guess, in the following:

Code: [Select]
args = { ContainerID=0, SearchCriteria=XYZ, Filter=*, StartingIndex=0, RequestedCount=200, SortCriteria= }

args = { ContainerID=0, SearchCriteria=(dc:title contains "XYZ"), Filter=*, StartingIndex=0, RequestedCount=10, SortCriteria= }


PlugPlayer adds dc:title to its search requests. And search results are empty for PlugPlayer and there are two results for foobar2000/foo_upnp native search.

So the question is - is that (dc:title) by some standard?
What would you recommend to do to resolve this issue and make media library perfectly searchable from PlugPlayer?

I could suggest a feature for foo_upnp to alter search requests (SearchCriteria) by regexps.
Yes, it's a hack, but who know what will come next from some other media browser.
So in this case we could have two input fields somewhere in foo_upnp settings - "SearchCriteria to match" and "replacement string"
so that "(dc:title contains "XYZ")" turned to be just "XYZ".


Good find. PlugPlayer emit an upnp search request that the plugin do not handle.
The plugin only handle a few hard coded UPnP search requests for some specific clients (including PlugPlayer),  as mapping the full UPnP search syntax
to the foobar2000 search syntax would be a lot of work. This request from PlugPlayer must have been added in a recent version: I'll
add support for it. Note that the first request (SearchCriteria=XYZ) is a hack only used when foobar2000 is the client: it will send a request
in the foobar2000 search syntax instead of the UPnP syntax.  This allows search with full syntax when using foobar2000 as client and server.


Could anyone please tell me why with ps3 on the server transcode to mp3 is greyed out? Its the only device that has this.


Yes: the PS3 emit weird HTTP range requests for MP3, and the plugin doesn't support them when transcoding.
Anyway there's no need to stream MP3 to the PS3: just use LPCM for everything, this is the least troublesome format.

foo_upnp

Reply #1082
Thanks most of my music is flac so I dont want it transcoded to mp3. I was concerned though because of the transcode loseless option. I prefer my flac to stream in full quality.

One other question just so i am clear.

With all my devices under mp3 i have under transcode to mp3 never selected. Then I have under except, loseless and internet connection unchecked. Will this keep my flac files with no quality loss?

foo_upnp

Reply #1083
Quote
This request from PlugPlayer must have been added in a recent version: I'll add support for it.


Thanks a lot, can't wait to put hands on that :)

foo_upnp

Reply #1084
Thanks! Found it, got it working... Only problem now is, that I cannot add anything that I can play/stream to my LinnDS. No matter, which control point I use, (of course?) the item/radiostation to play overwrites/stops the Playback Stream Capture.
Any idea, what I might be doing wrong or whether this is "mission impossible"?
Thanks


That's normal as the Playback Stream Capture (PBS)  item is put as a single item in the DS managed playlist.
As far as the DS is concerned, it sees it as a regular track.
I'm not sure what you are trying to achieve using PBS. Why don't you send item for playing to your DS using foobar2000 as the Media Server (like you would do with any other Media Server), using your favorite UPnP Control Point ?

Actually, the only thing I am trying to achieve is playback of last.FM. The DS does not support this natively, and there is no way to stream last.FM to my living room (and hence the DS) than either always switching on my laptop, starting Foobar and PBS-ing last.FM to the DS. Since the WHS-server needs to be running to listen to music anyway, I tried to achieve to start Foobar as a service, and then remotely control Foobar via my iPhone Apps or a web-interface on the iPhone. That would be the only manageable solution at the moment, that comes to my mind.

Thanks for all your support and your knowledeable answers so far!

foo_upnp

Reply #1085
One other question I am curious about.

Is it possible to get foobar with upnp plugin on a nas?

I like the idea of a nas for my house, but I need foobar upnp to transcode my flac files to certain devices. Can I put foobar on a nas?

I would rather not have foobar running on a seperate pc since its not always on.

foo_upnp

Reply #1086
One other question I am curious about.

Is it possible to get foobar with upnp plugin on a nas?


Can you get Windows programs to run on your NAS?  (Foobar is a Windows program.)
EAC -> MP3Gain -> Mp3tag -> fb2k

foo_upnp

Reply #1087
Can anyone relay experiences (successful or not) using fb2k with foo_upnp as the browser/player, but something else as the server, for over-the-Internet streaming?  (I see references to Whitebear in this topic, and I'll investigate that, but in a quick skim I didn't see any others mentioned.)  Can this even be done?

I'm currently using fb2k/foo_upnp as both server and browser fairly successfully to be able to access my home music library from work.  But since I'm using something else for video and images (currently Serviio seems to fit the bill nicely), I'm wondering if I can bring all my serving operations under one roof, so to speak.  Local streaming of audio isn't really needed in my case (fb2k can just read the files over the LAN directly), it's over-the-Internet streaming that I'm interested in - and fb2k is too nice a player to give up.

Thanks!
EAC -> MP3Gain -> Mp3tag -> fb2k

foo_upnp

Reply #1088
Hi,
bubbleguuum, one more question concerning gapless playback. Earlier you said that

Quote
At some point I may implement Linn DS extensions into the renderer which would allow gapless and playlist stored renderer side (instead of Controller side). But it still a bit far off.


but as far as I see gapless is already supported but only for mp3s that are already have ENC_PADDING and ENC_DELAY tags made by Lame but there are no such tags for files encoded from FLAC files. I do connect from another foobar2000 instance running foo_upnp over the internet and get perfect gapless for properly encoded mp3s. Is there way to add these tags to live encoded mp3s? It would be awesome :)

Thanks

foo_upnp

Reply #1089
but as far as I see gapless is already supported but only for mp3s that are already have ENC_PADDING and ENC_DELAY tags made by Lame but there are no such tags for files encoded from FLAC files. I do connect from another foobar2000 instance running foo_upnp over the internet and get perfect gapless for properly encoded mp3s. Is there way to add these tags to live encoded mp3s? It would be awesome


I was talking about gapless in a different context: when using an external control point (foobar2000, a phone, ...) to control playback of a remote foobar2000 instance.

foo_upnp

Reply #1090
maybe i'm too tired
but i cant seem to get my foobar2000 to show up on my PS3
is there something obvious that i'm missing?

foobar2000 v1.1.1
installed the foo_upnp no problem
i can see other media servers (from my roommates) on my foobar
but on my ps3 i can only see my roommates computers

can someone help please?
i've searched all i can

foo_upnp

Reply #1091
I was talking about gapless in a different context: when using an external control point (foobar2000, a phone, ...) to control playback of a remote foobar2000 instance.


I'm also talking about streaming to remote foobar2000 instance.
I just tested it on Beatles' Abbey Road which I originally have in FLAC. So there are three test cases:

1. Original FLAC files transcoded to mp3 on the fly by foo_upnp.
2. Manually transcoded by foobar2000 to mp3 by LAME 3.97.
3. Manually transcoded by foobar2000 to mp3 by LAME 3.97 (each track was encoded separately).

I thought there might be difference between 2 and 3 but seems that there is not and LAME doesn't care about track order in terms of gaplessness. And the results are.

1. Gaps are there :(
2. Perfectly gapless
3. Perfectly gapless

So, I guess, there is something wrong with parameters that foo_upnp uses for encoding as there are no ENC_PADDING ENC_DELAY tags in the resulting files. Tried to find out which options are needed for LAME to get those tags embedded and found that
Quote
The only thing that you need to do is to make sure that you are using LAME 3.90.1 or higher. There are no special settings or switches that you need to use.


Thanks.

foo_upnp

Reply #1092
Hi. I'm having a problem concerning the playback frequency when using the Foobar2000 instance as a upnp server.

Right now I use two different configurations, and the problem affects both.

1) Streaming to PS3 on the local network as PCM (no transcoding to MP3).

2) Streaming over the Internet to another Foobar2000 instance. Everything is transcoded to MP3 for bandwidth reasons.

My music is in a number of different formats with a wide range of frequencies. Most is 44.1kHz, but some is 48kHz, 32kHz, or 96kHz. If I do not turn on replay gain or any DSPs on the server end, all of these files seem to play fine on the client end. As far as I can tell, everything is converted to 44.1kHz or 48kHz for my PS3 and to 44.1kHz for the Foobar2000 client over the Internet.

However, when I use replay gain on the server end, everything that isn't 44.1kHz goes wacky. It's as if everything is being interpreted as being 44.1kHz even if it is not. For example, a 96kHz file will play very slowly, while a 32kHz file will play too fast. I can workaround this bug by using a DSP which converts everything to 44.1kHz, but I don't understand why this is not required when not using replay gain or other DSPs.

Additionally, when I turn on replay gain or other DSPs, I get other undesirable side effects, such as being unable to see the total track time when playing on the PS3 (i.e. 1:03/--:--).

On an unrelated note, is it possible to have the seek bar usable on the Foobar2000 client? Playing via PS3 seems to allow a certain amount of seeking, but I cannot seek at all on the Foobar2000 client.

foo_upnp

Reply #1093
So, I guess, there is something wrong with parameters that foo_upnp uses for encoding as there are no ENC_PADDING ENC_DELAY tags in the resulting files. Tried to find out which options are needed for LAME to get those tags embedded and found that
Quote
The only thing that you need to do is to make sure that you are using LAME 3.90.1 or higher. There are no special settings or switches that you need to use.



Lame 3.98.2 is used. Maybe some flag is indeed missing, it needs more investigation. As i understand it ENC_PADDING and ENC_DELAY are not reguilar metadata tags but values found in frames ?


However, when I use replay gain on the server end, everything that isn't 44.1kHz goes wacky. It's as if everything is being interpreted as being 44.1kHz even if it is not. For example, a 96kHz file will play very slowly, while a 32kHz file will play too fast. I can workaround this bug by using a DSP which converts everything to 44.1kHz, but I don't understand why this is not required when not using replay gain or other DSPs.


I cannot reproduce it (using a LAN foobar2000 client), playing a 32Khz file with RG enabled. Can you post one of the offending file (just a sample should do it) ? Do these files have anything other particular (24 bits, multichannel ?)

Quote
Additionally, when I turn on replay gain or other DSPs, I get other undesirable side effects, such as being unable to see the total track time when playing on the PS3 (i.e. 1:03/--:--).


Blame the PS3 for never displaying duration when streaming LPCM (it considers LPCM to always be an infinite stream). You can work around this using WAV instead but it has other annoyances.

Quote
On an unrelated note, is it possible to have the seek bar usable on the Foobar2000 client? Playing via PS3 seems to allow a certain amount of seeking, but I cannot seek at all on the Foobar2000 client.


Seek is not supported when transcoding to mp3 (which happens when you stream via Internet).

 

foo_upnp

Reply #1094
Lame 3.98.2 is used. Maybe some flag is indeed missing, it needs more investigation. As i understand it ENC_PADDING and ENC_DELAY are not reguilar metadata tags but values found in frames ?


As I could find there is something called "Lame mp3 info tag"
http://gabriel.mp3-tech.org/mp3infotag.html
found an utility that shows all the information stored there
http://phwip.wordpress.com/home/audio/

Strange thing is that this tag is stripped off because when I encode files in terminal with simplest command like

Code: [Select]
lame file.wav

with LAME 3.98.4 I get those tags shown by foobar2000 in the resulting mp3


A random guess - may be the encode process is done on the fly by lame and those tags are only written when flushing byte array to disk?

foo_upnp

Reply #1095
Today I installed foo_upnp to serve music to a Roku Soundbridge, and it works well.
However there are still a few things I haven't been able to do:

1- Start foobar+foo_upnp as a service. I can make foobar run as a Windows service, and the server is "seen" by the Soundbridge. But it cannot connect to it, since apparently it isn't loading my user-created profile, but a default "system" profile. I've seen people mentioning in this thread how they were running foobar+foo_upnp as a service, but no one described how they did it.

2- Playlist/folder monitoring. Is it possible to make foobar/upnp monitor a folder for new playlists, or playlist changes?


Can anyone shed some light on these two points?

cheers,
gaius

foo_upnp

Reply #1096
@bubbleguuum

Disregard what I said in my last post about the frequency problem. The PS3 scenario works as it should, given the console's limitations. However, I have done some more testing, and I believe there is still a problem in the Foobar2000 client scenario.

The problem concerns the use of the LAME MP3 encoder. If the music is never converted to PCM, transcoding works fine. It seems that LAME (or something else) automatically converts the frequency to 44.1kHz during the encoding process in this instance - and it does it correctly. Regardless of the source file frequency on the server end, the client receives a 44.1kHz MP3.

However, if the server converts the music to PCM before encoding it to MP3, whether by force or by using replay gain or a DSP, then problems occur. Although the client still receives a 44.1kHz MP3, it seems that LAME interprets every input as being 44.1kHz, even if it isn't, and no frequency conversion is performed. The result is that source files at 44.1kHz sound correct, but the pitch and speed of other files with different frequencies are wrong. For example, an 88.2kHz file is interpreted as a 44.1kHz file on the server end, so the resulting MP3 which reaches the client plays twice as slowly.

Short version: If the music is converted to PCM (caused by using replay gain in my case), then LAME will not convert the frequency of the file correctly.

Workaround: Use a DSP which resamples the frequency of everything to 44.1kHz.

If you want to run a short test, here is a free 88.2kHz file: http://www.mastersfromtheirday.com/downloa...r-88-080210.aif

foo_upnp

Reply #1097
A random guess - may be the encode process is done on the fly by lame and those tags are only written when flushing byte array to disk?


It is possible that the library version of LAME for encoding on the fly needs some more parameters. I'll have to investigate.

1- Start foobar+foo_upnp as a service. I can make foobar run as a Windows service, and the server is "seen" by the Soundbridge. But it cannot connect to it, since apparently it isn't loading my user-created profile, but a default "system" profile. I've seen people mentioning in this thread how they were running foobar+foo_upnp as a service, but no one described how they did it.
2- Playlist/folder monitoring. Is it possible to make foobar/upnp monitor a folder for new playlists, or playlist changes?


1. Alternatively you can autolaunch foobar2000 minimized after Windows login.

2. No, the content of playlists is static once it has been browsed by a client. The ML content is loaded at foobar2000 launch and never
updated afterwards. To update you need to restart the server.


However, if the server converts the music to PCM before encoding it to MP3, whether by force or by using replay gain or a DSP, then problems occur. Although the client still receives a 44.1kHz MP3, it seems that LAME interprets every input as being 44.1kHz, even if it isn't, and no frequency conversion is performed. The result is that source files at 44.1kHz sound correct, but the pitch and speed of other files with different frequencies are wrong. For example, an 88.2kHz file is interpreted as a 44.1kHz file on the server end, so the resulting MP3 which reaches the client plays twice as slowly.


I still can't reproduce it (testing on the LAN): everything not 44.1Khz plays at the right speed when transcoded to mp3. Can you post a screenshot of the streaming profile you are using (I assume this is the foobar2000 profile).
I can't explain how LAME could be fed anything else than 44.1Khz, as when transcoding a file to mp3 for streaming all input (PCM) is force resampled to 44.1Khz before being encoded to mp3.

foo_upnp

Reply #1098
Thanks for your reply bubbleguuum.

1- Start foobar+foo_upnp as a service. I can make foobar run as a Windows service, and the server is "seen" by the Soundbridge. But it cannot connect to it, since apparently it isn't loading my user-created profile, but a default "system" profile. I've seen people mentioning in this thread how they were running foobar+foo_upnp as a service, but no one described how they did it.


1. Alternatively you can autolaunch foobar2000 minimized after Windows login.



In this case I mean to run it on a headless PC which turns itself on/off during the day, without anyone ever logging in (I only log in remotely to install software, or do "maintenance"). So the only way for it to always work would be to run it as a service, no?
Is it possible to edit the profile used by foo_upnp when running as a service, or alternatively force it to always use the same settings/profile?


Another question, how can one change the server name that the Roku sees? I changed the "Network name" on the Media Server and Renderer sections of the "Basic Settings", but the Roku still shows the original server name.

cheers,
gaius

foo_upnp

Reply #1099
Quote
Quote from:  link=msg=740094 date=0
However, if the server converts the music to PCM before encoding it to MP3, whether by force or by using replay gain or a DSP, then problems occur. Although the client still receives a 44.1kHz MP3, it seems that LAME interprets every input as being 44.1kHz, even if it isn't, and no frequency conversion is performed. The result is that source files at 44.1kHz sound correct, but the pitch and speed of other files with different frequencies are wrong. For example, an 88.2kHz file is interpreted as a 44.1kHz file on the server end, so the resulting MP3 which reaches the client plays twice as slowly.


I still can't reproduce it (testing on the LAN): everything not 44.1Khz plays at the right speed when transcoded to mp3. Can you post a screenshot of the streaming profile you are using (I assume this is the foobar2000 profile).
I can't explain how LAME could be fed anything else than 44.1Khz, as when transcoding a file to mp3 for streaming all input (PCM) is force resampled to 44.1Khz before being encoded to mp3.


After more testing, I'm not even sure if it's even related to LAME anymore. I have not been able to reliably reproduce the problem. I have managed to encounter the problem both when using replay gain and when not using it. It seems kind of random.

Anyway, I currently have it working correctly with replay gain. The profile is posted below. I will keep tinkering, and when I encounter the problem again, I will post the config again.