# HG changeset patch # User albeu # Date 1143232943 0 # Node ID 810b407ba6c471e77b69d63bdb1e08f1f62ad8c0 # Parent ec6781a09b3a76ddff472a0564469ef60b9c48ee Get rid of 2 osd related hacks. diff -r ec6781a09b3a -r 810b407ba6c4 mplayer.c --- a/mplayer.c Fri Mar 24 19:59:30 2006 +0000 +++ b/mplayer.c Fri Mar 24 20:42:23 2006 +0000 @@ -346,7 +346,6 @@ #define SUB_SOURCE_DEMUX 2 #define SUB_SOURCES 3 int global_sub_indices[SUB_SOURCES]; -int global_sub_quiet_osd_hack = 0; extern int mp_msg_levels[MSGT_MAX]; extern int mp_msg_level_all; @@ -1139,6 +1138,21 @@ } /** + * \brief Remove all messages from the OSD stack + * + */ + +static void clear_osd_msgs(void) { + mp_osd_msg_t* msg = osd_msg_stack, *prev = NULL; + while(msg) { + prev = msg->prev; + free(msg); + msg = prev; + } + osd_msg_stack = NULL; +} + +/** * \brief Get the current message fron the OSD stack * * This function decrement the message timer and destroy the old ones. @@ -2546,7 +2560,6 @@ // init global sub numbers global_sub_size = 0; { int i; for (i = 0; i < SUB_SOURCES; i++) global_sub_indices[i] = -1; } - global_sub_quiet_osd_hack = 1; if (filename) load_per_file_config (mconfig, filename); @@ -3292,7 +3305,6 @@ float time_frame=0; // Timer //float num_frames=0; // number of frames played int grab_frames=0; -char osd_text_buffer[64]; int drop_frame=0; // current dropping status int dropped_frames=0; // how many frames dropped since last non-dropped frame int too_slow_frame_cnt=0; @@ -3308,11 +3320,10 @@ int blit_frame=0; int was_paused=0; -osd_text_buffer[0]=0; // make sure OSD old does not stay around, // e.g. with -fixed-vo and same-resolution files -vo_osd_text = osd_text_buffer; -vo_osd_changed(OSDTYPE_OSD); +clear_osd_msgs(); +update_osd_msg(); //================ SETUP AUDIO ==========================