summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cfg-common.h2
-rw-r--r--mencoder.c3
-rw-r--r--mplayer.c9
3 files changed, 12 insertions, 2 deletions
diff --git a/cfg-common.h b/cfg-common.h
index 72b11feb38..c0cf673f0b 100644
--- a/cfg-common.h
+++ b/cfg-common.h
@@ -49,7 +49,7 @@
// ------------------------- demuxer options --------------------
// number of frames to play/convert
- {"frames", &play_n_frames, CONF_TYPE_INT, CONF_MIN, 0, 0, NULL},
+ {"frames", &play_n_frames_mf, CONF_TYPE_INT, CONF_MIN, 0, 0, NULL},
// seek to byte/seconds position
{"sb", &seek_to_byte, CONF_TYPE_INT, CONF_MIN, 0, 0, NULL},
diff --git a/mencoder.c b/mencoder.c
index d5357417b8..bf8093e601 100644
--- a/mencoder.c
+++ b/mencoder.c
@@ -153,6 +153,7 @@ char* passtmpfile="divx2pass.log";
int pass_working=0;
static int play_n_frames=-1;
+static int play_n_frames_mf=-1;
#include "libvo/font_load.h"
#include "libvo/sub.h"
@@ -800,6 +801,8 @@ if(tv_param_on == 1)
default_max_pts_correction = 0;
}
+play_n_frames=play_n_frames_mf;
+
while(!at_eof){
float frame_time=0;
diff --git a/mplayer.c b/mplayer.c
index 8d765ea165..17e0c0920d 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -233,6 +233,7 @@ static float force_fps=0;
static int force_srate=0;
static int frame_dropping=0; // option 0=no drop 1= drop vo 2= drop decode
static int play_n_frames=-1;
+static int play_n_frames_mf=-1;
// screen info:
char* video_driver=NULL; //"mga"; // default
@@ -1489,12 +1490,18 @@ if (dvd_nav && stream->type==STREAMTYPE_DVDNAV) {
total_time_usage_start=GetTimer();
audio_time_usage=0; video_time_usage=0; vout_time_usage=0;
total_frame_cnt=0; drop_frame_cnt=0; // fix for multifile fps benchmark
+play_n_frames=play_n_frames_mf;
+
+if(play_n_frames==0){
+ eof=PT_NEXT_ENTRY; goto goto_next_file;
+}
+
while(!eof){
float aq_sleep_time=0;
if(play_n_frames>=0){
--play_n_frames;
- if(play_n_frames<0) eof = PT_NEXT_ENTRY;
+ if(play_n_frames<=0) eof = PT_NEXT_ENTRY;
}
/*========================== PLAY AUDIO ============================*/