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.