Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: mp3-plugin 0.9.6 - problems



On 14 Sep 2004 Burkhardt Petermann <bpetermann@xyware.de> wrote:

> there are some problems with the pkugin (I'm using only the mp3-part):
> (i)no bitrate in the OSD anymore
> (ii) backwards-skipping isn't really possible with the down-button (the 
> numerical buttons are working)

Aargh, I should realy stop with these nearly untested last minute
changes ...

This should fix it:

--- player-mp3.c	2004-09-13 14:05:56.000000000 +0200
+++ player-mp3.c	2004-09-14 23:49:38.000000000 +0200
@@ -922,13 +922,12 @@
   int idx=num-1;
   if(idx<0) { idx=currIndex; s=curr; }
   else      { s=list.Get(idx); }
+  memset(pi,0,sizeof(*pi));
   pi->Num=idx+1;
   pi->MaxNum=maxIndex+1;
   pi->Loop=loopMode;
   pi->Shuffle=shuffleMode;
-  pi->Title[0]=0;
-  pi->Artist[0]=0;
-  pi->Album[0]=0;
+  bool res=false;
   if(s) {
     strn0cpy(pi->Title,s->Name(),sizeof(pi->Title));
     cSongInfo *si=s->Info(false);
@@ -943,11 +942,11 @@
       pi->SampleFreq=si->SampleFreq;
       pi->Bitrate=si->Bitrate;
       pi->MaxBitrate=si->MaxBitrate;
-      return true;
+      res=true;
       }
     }
-  pi->Hash=MakeHashBuff((char *)pi,(char *)&pi->Loop-(char *)&pi->Title[0]);
-  return false;
+  pi->Hash=MakeHashBuff((char *)pi,(char *)&pi->Loop-(char *)pi);
+  return res;
 }
 
 void cPlayManager::Add(cPlayList *pl)
@@ -1731,6 +1730,7 @@
   Lock();
   if(playindex>=2000) {
     state=msRestart; res=true;
+    Empty();
     d(printf("mp3: skip to start of song\n"))
     }
   Unlock();

> (iii) problems with audio-cds, if full background-scan activ (no output 
> in the logs, but the vdr freezes).

Well, that's not so easy.
I have some stuttering auido when playing from cd as well, but
only until the first pass is completed (i.e. ID3 scan). During
level scan playback is normal. The problems arise from the fact
that cdaudio has a much higher bandwidth comparing to mp3, that
cd drives tend so seek slowly and that libsndfile isn't able to
do non-blocking io.

What do you mean exactly by "vdr freezes"?
Does a watchdog restart happens? Does any thread eats all cpu?
What are the last messages on the console (not syslog, mp3 debug
output is on console)?

Regards.

-- 
Stefan Huelswitt
s.huelswitt@gmx.de  | http://www.muempf.de/




Home | Main Index | Thread Index