[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