PDA

View Full Version : lt-faad process continues to run when going to next track



livelock
2007-08-03, 17:18
Hi,
I am running slimserver on my freelinked Linkstation Pro. I use mplayer for playing my itunes on SB3. I configrued it according to:
http://wiki.slimdevices.com/index.cgi?AppleLosslessUnix

It works, but if I go to the next track the old lt-faad process seems to continue decrompessing the previous track and eats CPU. What can I do?

Robin Bowes
2007-08-09, 02:46
livelock wrote:
> Hi,
> I am running slimserver on my freelinked Linkstation Pro. I use mplayer
> for playing my itunes on SB3. I configrued it according to:
> http://wiki.slimdevices.com/index.cgi?AppleLosslessUnix
>
> It works, but if I go to the next track the old lt-faad process seems
> to continue decrompessing the previous track and eats CPU. What can I
> do?

Create a bug report:

http://bugs.slimdevices.com/

R.

bpa
2007-08-09, 03:11
What version of mplayer are your using ?
You should be using at least 1.0rc1 as there were bugs in AAC/ALAC especially if stream was terminated.

jezreel410
2007-08-20, 11:30
I had this problem too; in my case, the issue was that the program doesn't notice when the output stream is broken, eg when you skip to another track. I made a small change to the source code for lt-faad, which seems to have fixed it for me. I am using version 2.1-beta (I can't build 2.5 or find a newer working set of source code), but the fix will probably work on other versions if they look pretty similar.

I'm new here so I don't know the "done thing" for passing on this information, however the change was as follows:

frontend/main.c
- search for "write_audio_file" - there are two occurrences.In both cases, wrap the function write_audio_file(params) with the following:

if ( [write_audio_file(params)] != aufile->bits_per_sample/8)
{
fprintf(stderr, "Error writing output data - terminating\n");
break;
}

The "[write_audio_file(params)]" bit refers to the function in the code, with whatever parameters it has. This fix checks the write works, spots the output failing, and terminates immediately.

I hope this helps somebody! Do tell me if I should put this information anywhere else...

Tim