frame stepping patch by (Wolfgang Hesseler <qv at multimediaware dot com>)

Originally committed as revision 2632 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Wolfgang Hesseler 21 years ago committed by Michael Niedermayer
parent 2c293402b0
commit bba04f1e9d
  1. 18
      ffplay.c

@ -166,6 +166,7 @@ static int show_status;
static int av_sync_type = AV_SYNC_AUDIO_MASTER;
static int64_t start_time = AV_NOPTS_VALUE;
static int debug = 0;
static int step = 0;
/* current context */
static int is_full_screen;
@ -919,6 +920,9 @@ static int video_thread(void *arg)
}
}
av_free_packet(pkt);
if (step)
if (cur_stream)
stream_pause(cur_stream);
}
the_end:
av_free(frame);
@ -1584,6 +1588,17 @@ void toggle_pause(void)
{
if (cur_stream)
stream_pause(cur_stream);
step = 0;
}
void step_to_next_frame(void)
{
if (cur_stream) {
if (cur_stream->paused)
cur_stream->paused=0;
cur_stream->video_current_pts = get_video_clock(cur_stream);
}
step = 1;
}
void do_exit(void)
@ -1627,6 +1642,9 @@ void event_loop(void)
case SDLK_SPACE:
toggle_pause();
break;
case SDLK_s: //S: Step to next frame
step_to_next_frame();
break;
case SDLK_a:
if (cur_stream)
stream_cycle_channel(cur_stream, CODEC_TYPE_AUDIO);

Loading…
Cancel
Save