--- mplayer.c.orig 2005-04-15 14:14:24.000000000 +0200 +++ mplayer.c 2005-12-13 09:21:17.171875000 +0100 @@ -222,7 +222,8 @@ int enqueue=0; #endif -#define MAX_OSD_LEVEL 3 +//DAVIDE +#define MAX_OSD_LEVEL 4 int osd_level=1; int osd_level_saved=-1; @@ -387,6 +388,9 @@ #define INITED_VCODEC 2048 #define INITED_ALL 0xFFFF +//DAVIDE +char debug_osd_buf[100]; + static void uninit_player(unsigned int mask){ mask=inited_flags&mask; @@ -888,6 +892,8 @@ (int)sh_video->num_frames, (int)sh_video->num_frames_decoded); + char *debugpos = line + strlen(line); //DAVIDE + // CPU usage if (sh_video) { if (sh_video->timer > 0.5) @@ -923,6 +929,11 @@ memset(&line[pos], ' ', width - pos); line[width] = 0; mp_msg(MSGT_AVSYNC, MSGL_STATUS, "%s\r", line); + + //DAVIDE + if (osd_level == 4) + strncpy(debug_osd_buf, debugpos, sizeof(debug_osd_buf)); + free(line); } @@ -3882,6 +3893,7 @@ #endif + //================= Update OSD ==================== #ifdef USE_OSD if(osd_level>=1 && sh_video){ @@ -3997,6 +4009,8 @@ (frame_dropping == 1 ? "on" : (frame_dropping == 2 ? "hard" : "off"))); osd_show_framedropping--; + } else if (osd_level == 4) { //DAVIDE + strcpy(osd_text_tmp, debug_osd_buf); } else if(osd_level>=2) { int len = demuxer_get_time_length(demuxer); int percentage = -1;