Mercurial > mplayer.hg
comparison mplayer.c @ 8800:2485bc98772d
fixed some possible overflow places
author | alex |
---|---|
date | Sun, 05 Jan 2003 15:39:16 +0000 |
parents | 6e190ea2abba |
children | 477d42e66e8b |
comparison
equal
deleted
inserted
replaced
8799:f08d507eb683 | 8800:2485bc98772d |
---|---|
594 */ | 594 */ |
595 #if defined(SYS_DARWIN) && defined(HAVE_SDL) | 595 #if defined(SYS_DARWIN) && defined(HAVE_SDL) |
596 #include <SDL.h> | 596 #include <SDL.h> |
597 #endif | 597 #endif |
598 | 598 |
599 | |
599 int main(int argc,char* argv[]){ | 600 int main(int argc,char* argv[]){ |
600 | 601 |
601 | 602 |
602 | 603 |
603 static demux_stream_t *d_audio=NULL; | 604 static demux_stream_t *d_audio=NULL; |
663 #ifdef HAVE_SSE2 | 664 #ifdef HAVE_SSE2 |
664 mp_msg(MSGT_CPLAYER,MSGL_INFO," SSE2"); | 665 mp_msg(MSGT_CPLAYER,MSGL_INFO," SSE2"); |
665 #endif | 666 #endif |
666 mp_msg(MSGT_CPLAYER,MSGL_INFO,"\n\n"); | 667 mp_msg(MSGT_CPLAYER,MSGL_INFO,"\n\n"); |
667 #endif | 668 #endif |
668 | |
669 #endif | 669 #endif |
670 | 670 |
671 #ifdef USE_TV | 671 #ifdef USE_TV |
672 tv_param_immediate = 1; | 672 tv_param_immediate = 1; |
673 #endif | 673 #endif |
2992 | 2992 |
2993 //================= Update OSD ==================== | 2993 //================= Update OSD ==================== |
2994 #ifdef USE_OSD | 2994 #ifdef USE_OSD |
2995 if(osd_level>=1){ | 2995 if(osd_level>=1){ |
2996 int pts=d_video->pts; | 2996 int pts=d_video->pts; |
2997 char osd_text_tmp[50]; | 2997 char osd_text_tmp[64]; |
2998 if(pts==osd_last_pts-1) ++pts; else osd_last_pts=pts; | 2998 if(pts==osd_last_pts-1) ++pts; else osd_last_pts=pts; |
2999 vo_osd_text=osd_text_buffer; | 2999 vo_osd_text=osd_text_buffer; |
3000 #ifdef USE_DVDNAV | 3000 #ifdef USE_DVDNAV |
3001 if (osd_show_dvd_nav_delay) { | 3001 if (osd_show_dvd_nav_delay) { |
3002 sprintf(osd_text_tmp, "DVDNAV: %s", dvd_nav_text); | 3002 snprintf(osd_text_tmp, 63, "DVDNAV: %s", dvd_nav_text); |
3003 osd_show_dvd_nav_delay--; | 3003 osd_show_dvd_nav_delay--; |
3004 } else | 3004 } else |
3005 #endif | 3005 #endif |
3006 #ifdef USE_TV | 3006 #ifdef USE_TV |
3007 if (osd_show_tv_channel && tv_channel_list) { | 3007 if (osd_show_tv_channel && tv_channel_list) { |
3008 sprintf(osd_text_tmp, "Channel: %s", tv_channel_current->name); | 3008 snprintf(osd_text_tmp, 63, "Channel: %s", tv_channel_current->name); |
3009 osd_show_tv_channel--; | 3009 osd_show_tv_channel--; |
3010 } else | 3010 } else |
3011 #endif | 3011 #endif |
3012 if (osd_show_sub_visibility) { | 3012 if (osd_show_sub_visibility) { |
3013 sprintf(osd_text_tmp, "Subtitles: %sabled", sub_visibility?"en":"dis"); | 3013 snprintf(osd_text_tmp, 63, "Subtitles: %sabled", sub_visibility?"en":"dis"); |
3014 osd_show_sub_visibility--; | 3014 osd_show_sub_visibility--; |
3015 } else | 3015 } else |
3016 if (osd_show_vobsub_changed) { | 3016 if (osd_show_vobsub_changed) { |
3017 const char *language = "none"; | 3017 const char *language = "none"; |
3018 if (vo_vobsub && vobsub_id >= 0) | 3018 if (vo_vobsub && vobsub_id >= 0) |
3019 language = vobsub_get_id(vo_vobsub, (unsigned int) vobsub_id); | 3019 language = vobsub_get_id(vo_vobsub, (unsigned int) vobsub_id); |
3020 sprintf(osd_text_tmp, "Subtitles: (%d) %s", vobsub_id, language ? language : "unknown"); | 3020 snprintf(osd_text_tmp, 63, "Subtitles: (%d) %s", vobsub_id, language ? language : "unknown"); |
3021 osd_show_vobsub_changed--; | 3021 osd_show_vobsub_changed--; |
3022 } else | 3022 } else |
3023 if (osd_show_sub_delay) { | 3023 if (osd_show_sub_delay) { |
3024 sprintf(osd_text_tmp, "Sub delay: %d ms", ROUND(sub_delay*1000)); | 3024 snprintf(osd_text_tmp, 63, "Sub delay: %d ms", ROUND(sub_delay*1000)); |
3025 osd_show_sub_delay--; | 3025 osd_show_sub_delay--; |
3026 } else | 3026 } else |
3027 if (osd_show_sub_pos) { | 3027 if (osd_show_sub_pos) { |
3028 sprintf(osd_text_tmp, "Sub position: %d/100", sub_pos); | 3028 snprintf(osd_text_tmp, 63, "Sub position: %d/100", sub_pos); |
3029 osd_show_sub_pos--; | 3029 osd_show_sub_pos--; |
3030 } else | 3030 } else |
3031 if (osd_show_sub_alignment) { | 3031 if (osd_show_sub_alignment) { |
3032 sprintf(osd_text_tmp, "Sub alignment: %s", | 3032 snprintf(osd_text_tmp, 63, "Sub alignment: %s", |
3033 (sub_alignment == 2 ? "bottom" : | 3033 (sub_alignment == 2 ? "bottom" : |
3034 (sub_alignment == 1 ? "center" : "top"))); | 3034 (sub_alignment == 1 ? "center" : "top"))); |
3035 osd_show_sub_alignment--; | 3035 osd_show_sub_alignment--; |
3036 } else | 3036 } else |
3037 if (osd_show_av_delay) { | 3037 if (osd_show_av_delay) { |
3038 sprintf(osd_text_tmp, "A-V delay: %d ms", ROUND(audio_delay*1000)); | 3038 snprintf(osd_text_tmp, 63, "A-V delay: %d ms", ROUND(audio_delay*1000)); |
3039 osd_show_av_delay--; | 3039 osd_show_av_delay--; |
3040 } else if(osd_level>=2) { | 3040 } else if(osd_level>=2) { |
3041 int len = demuxer_get_time_length(demuxer); | 3041 int len = demuxer_get_time_length(demuxer); |
3042 int percentage = -1; | 3042 int percentage = -1; |
3043 char percentage_text[50]; | 3043 char percentage_text[10]; |
3044 if (osd_show_percentage) { | 3044 if (osd_show_percentage) { |
3045 percentage = demuxer_get_percent_pos(demuxer); | 3045 percentage = demuxer_get_percent_pos(demuxer); |
3046 osd_show_percentage--; | 3046 osd_show_percentage--; |
3047 } | 3047 } |
3048 if (percentage >= 0) | 3048 if (percentage >= 0) |
3049 sprintf(percentage_text, " (%d%%)", percentage); | 3049 snprintf(percentage_text, 9, " (%d%%)", percentage); |
3050 else | 3050 else |
3051 percentage_text[0] = 0; | 3051 percentage_text[0] = 0; |
3052 if (osd_level == 3) | 3052 if (osd_level == 3) |
3053 sprintf(osd_text_tmp,"%c %02d:%02d:%02d / %02d:%02d:%02d%s",osd_function,pts/3600,(pts/60)%60,pts%60,len/3600,(len/60)%60,len%60,percentage_text); | 3053 snprintf(osd_text_tmp, 63, "%c %02d:%02d:%02d / %02d:%02d:%02d%s",osd_function,pts/3600,(pts/60)%60,pts%60,len/3600,(len/60)%60,len%60,percentage_text); |
3054 else | 3054 else |
3055 sprintf(osd_text_tmp,"%c %02d:%02d:%02d%s",osd_function,pts/3600,(pts/60)%60,pts%60,percentage_text); | 3055 snprintf(osd_text_tmp, 63, "%c %02d:%02d:%02d%s",osd_function,pts/3600,(pts/60)%60,pts%60,percentage_text); |
3056 } else osd_text_tmp[0]=0; | 3056 } else osd_text_tmp[0]=0; |
3057 | 3057 |
3058 if(strcmp(vo_osd_text, osd_text_tmp)) { | 3058 if(strcmp(vo_osd_text, osd_text_tmp)) { |
3059 strcpy(vo_osd_text, osd_text_tmp); | 3059 strncpy(vo_osd_text, osd_text_tmp, 63); |
3060 vo_osd_changed(OSDTYPE_OSD); | 3060 vo_osd_changed(OSDTYPE_OSD); |
3061 } | 3061 } |
3062 } else { | 3062 } else { |
3063 if(vo_osd_text) { | 3063 if(vo_osd_text) { |
3064 vo_osd_text=NULL; | 3064 vo_osd_text=NULL; |