Index: mplayer.c =================================================================== --- mplayer.c (revision 23684) +++ mplayer.c (working copy) @@ -217,6 +217,8 @@ static int total_frame_cnt=0; static int drop_frame_cnt=0; // total number of dropped frames int benchmark=0; +int frames_skipped; +int frames_to_skip; // options: int auto_quality=0; @@ -1620,6 +1622,10 @@ max_framesize = in_size; current_module = "decode video"; decoded_frame = decode_video(sh_video, start, in_size, 0, pts); + if (frames_skipped < frames_to_skip) { + decoded_frame = 0; + frames_skipped++; + } if (decoded_frame) { update_subtitles(sh_video, mpctx->d_sub, 0); update_osd_msg(); @@ -2677,6 +2683,7 @@ { int i; for (i = 0; i < SUB_SOURCES; i++) mpctx->global_sub_indices[i] = -1; } if (filename) load_per_file_config (mconfig, filename); + frames_skipped = 0; // We must enable getch2 here to be able to interrupt network connection // or cache filling Index: cfg-mplayer.h =================================================================== --- cfg-mplayer.h (revision 23684) +++ cfg-mplayer.h (working copy) @@ -165,6 +165,7 @@ {"noalsa", "-noalsa has been removed. Remove it from your config file.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL}, {"edlout", &edl_output_filename, CONF_TYPE_STRING, 0, 0, 0, NULL}, + {"skipframes", &frames_to_skip, CONF_TYPE_INT, 0, 0, 0, NULL}, #ifdef HAVE_X11 {"display", &mDisplayName, CONF_TYPE_STRING, 0, 0, 0, NULL},