[vdr] mp3 plugin : image corruption]

Reinhard Nissl rnissl at gmx.de
Wed Nov 2 16:11:56 CET 2005


Hi,

Simon Baxter wrote:

>>As there is only a single location where the mp3 plugin calls 
>>DeviceStillPicture(), you really should get this StillImage message. 
>>Maybe you should add a few debug messages to player-mp3.c.
> 
> I've added a couple of markers :
> next:
>     if(!pframe && playing && !imageValid && imageCheck<time_ms()) {
>       unsigned char *mem;
>       int len;
>         printf("mp3:SBB Marker 1 ");
>       imageCheck=time_ms()+250;
>       imageValid=playing->Image(mem,len);
>       if(mem) {
>         if(playindex) usleep(80*1000); // stillpicture ioctl freezes
> without this
>          printf("mp3:SBB Marker 2 ");
>         DeviceStillPicture(mem,len);
>         free(mem);
>         }
>       }
> 
> and can see them coming up in the logs :
> mp3: play
> mp3: player active true done
> mp3-dvb: using DVB output
> mp3: heartbeat buffer=0 now=1932
> mp3: starting play
> mgr: bgr-scan -> throttle (33087)
> mgr: playing 02 - To Love Somebody.mp3
> mp3: isStream=0 levelgood=1 haslevel=0
> mp3:SBB Marker 1 image: checking image for yesterday once more/02 - To
> Love Somebody.mp3
> image: check /video/vdr-1.3.33/plugins/mp3s/yesterday once more/02 - To
> Love Somebody.jpg
> image: check /video/vdr-1.3.33/plugins/mp3s/yesterday once more/02 - To
> Love Somebody.png
> image: check /video/vdr-1.3.33/plugins/mp3s/yesterday once more/02 - To
> Love Somebody.gif
> image: check /video/vdr-1.3.33/plugins/mp3s/yesterday once
> more/cover.jpg
> image: found
> image: loading image /video/vdr-1.3.33/plugins/mp3s/yesterday once
> more/cover.jpg
> image: cached
> mgr: background scan throttled
> mp3:SBB Marker 2 mad: lost sync 03334449 00000000 ID3^C
> mad: skipping over ID3 tag
> mp3: new input sample rate 44100
> mp3: heartbeat buffer=0 now=1933
> mp3-ctrl: mode change detected
> mp3: heartbeat buffer=572 now=1934
> mp3: heartbeat buffer=0 now=1935
> mp3: heartbeat buffer=2048 now=1936
> mp3: heartbeat buffer=2048 now=1937
> mp3: heartbeat buffer=572 now=1938
> mp3: heartbeat buffer=0 now=1939
> mp3: heartbeat buffer=2048 now=1940
> mp3: heartbeat buffer=572 now=1941
> 
> All this shows me is that the DeviceStillPicture is probably executing,
> just not logging.

Please locate the follwing function in xineDevice.c and add an 
additional marker like above.

   void cXineDevice::StillPicture(const uchar *Data, int Length)
   {
     xfprintf(stderr, "StillPicture: %p, %d\n", Data, Length);

Bye.
-- 
Dipl.-Inform. (FH) Reinhard Nissl
mailto:rnissl at gmx.de



More information about the vdr mailing list