mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-26 09:12:33 +00:00
ffplay: remove unnecessary if (cur_stream) checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
84506ebd48
commit
ba571f6b4d
110
ffplay.c
110
ffplay.c
@ -2694,28 +2694,22 @@ static void event_loop(VideoState *cur_stream)
|
||||
break;
|
||||
case SDLK_p:
|
||||
case SDLK_SPACE:
|
||||
if (cur_stream)
|
||||
toggle_pause(cur_stream);
|
||||
toggle_pause(cur_stream);
|
||||
break;
|
||||
case SDLK_s: //S: Step to next frame
|
||||
if (cur_stream)
|
||||
step_to_next_frame(cur_stream);
|
||||
step_to_next_frame(cur_stream);
|
||||
break;
|
||||
case SDLK_a:
|
||||
if (cur_stream)
|
||||
stream_cycle_channel(cur_stream, AVMEDIA_TYPE_AUDIO);
|
||||
stream_cycle_channel(cur_stream, AVMEDIA_TYPE_AUDIO);
|
||||
break;
|
||||
case SDLK_v:
|
||||
if (cur_stream)
|
||||
stream_cycle_channel(cur_stream, AVMEDIA_TYPE_VIDEO);
|
||||
stream_cycle_channel(cur_stream, AVMEDIA_TYPE_VIDEO);
|
||||
break;
|
||||
case SDLK_t:
|
||||
if (cur_stream)
|
||||
stream_cycle_channel(cur_stream, AVMEDIA_TYPE_SUBTITLE);
|
||||
stream_cycle_channel(cur_stream, AVMEDIA_TYPE_SUBTITLE);
|
||||
break;
|
||||
case SDLK_w:
|
||||
if (cur_stream)
|
||||
toggle_audio_display(cur_stream);
|
||||
toggle_audio_display(cur_stream);
|
||||
break;
|
||||
case SDLK_LEFT:
|
||||
incr = -10.0;
|
||||
@ -2729,25 +2723,23 @@ static void event_loop(VideoState *cur_stream)
|
||||
case SDLK_DOWN:
|
||||
incr = -60.0;
|
||||
do_seek:
|
||||
if (cur_stream) {
|
||||
if (seek_by_bytes) {
|
||||
if (cur_stream->video_stream >= 0 && cur_stream->video_current_pos>=0){
|
||||
pos= cur_stream->video_current_pos;
|
||||
}else if(cur_stream->audio_stream >= 0 && cur_stream->audio_pkt.pos>=0){
|
||||
pos= cur_stream->audio_pkt.pos;
|
||||
}else
|
||||
pos = avio_tell(cur_stream->ic->pb);
|
||||
if (cur_stream->ic->bit_rate)
|
||||
incr *= cur_stream->ic->bit_rate / 8.0;
|
||||
else
|
||||
incr *= 180000.0;
|
||||
pos += incr;
|
||||
stream_seek(cur_stream, pos, incr, 1);
|
||||
} else {
|
||||
pos = get_master_clock(cur_stream);
|
||||
pos += incr;
|
||||
stream_seek(cur_stream, (int64_t)(pos * AV_TIME_BASE), (int64_t)(incr * AV_TIME_BASE), 0);
|
||||
}
|
||||
if (seek_by_bytes) {
|
||||
if (cur_stream->video_stream >= 0 && cur_stream->video_current_pos>=0){
|
||||
pos= cur_stream->video_current_pos;
|
||||
}else if(cur_stream->audio_stream >= 0 && cur_stream->audio_pkt.pos>=0){
|
||||
pos= cur_stream->audio_pkt.pos;
|
||||
}else
|
||||
pos = avio_tell(cur_stream->ic->pb);
|
||||
if (cur_stream->ic->bit_rate)
|
||||
incr *= cur_stream->ic->bit_rate / 8.0;
|
||||
else
|
||||
incr *= 180000.0;
|
||||
pos += incr;
|
||||
stream_seek(cur_stream, pos, incr, 1);
|
||||
} else {
|
||||
pos = get_master_clock(cur_stream);
|
||||
pos += incr;
|
||||
stream_seek(cur_stream, (int64_t)(pos * AV_TIME_BASE), (int64_t)(incr * AV_TIME_BASE), 0);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@ -2767,39 +2759,35 @@ static void event_loop(VideoState *cur_stream)
|
||||
break;
|
||||
x= event.motion.x;
|
||||
}
|
||||
if (cur_stream) {
|
||||
if(seek_by_bytes || cur_stream->ic->duration<=0){
|
||||
uint64_t size= avio_size(cur_stream->ic->pb);
|
||||
stream_seek(cur_stream, size*x/cur_stream->width, 0, 1);
|
||||
}else{
|
||||
int64_t ts;
|
||||
int ns, hh, mm, ss;
|
||||
int tns, thh, tmm, tss;
|
||||
tns = cur_stream->ic->duration/1000000LL;
|
||||
thh = tns/3600;
|
||||
tmm = (tns%3600)/60;
|
||||
tss = (tns%60);
|
||||
frac = x/cur_stream->width;
|
||||
ns = frac*tns;
|
||||
hh = ns/3600;
|
||||
mm = (ns%3600)/60;
|
||||
ss = (ns%60);
|
||||
fprintf(stderr, "Seek to %2.0f%% (%2d:%02d:%02d) of total duration (%2d:%02d:%02d) \n", frac*100,
|
||||
hh, mm, ss, thh, tmm, tss);
|
||||
ts = frac*cur_stream->ic->duration;
|
||||
if (cur_stream->ic->start_time != AV_NOPTS_VALUE)
|
||||
ts += cur_stream->ic->start_time;
|
||||
stream_seek(cur_stream, ts, 0, 0);
|
||||
}
|
||||
if(seek_by_bytes || cur_stream->ic->duration<=0){
|
||||
uint64_t size= avio_size(cur_stream->ic->pb);
|
||||
stream_seek(cur_stream, size*x/cur_stream->width, 0, 1);
|
||||
}else{
|
||||
int64_t ts;
|
||||
int ns, hh, mm, ss;
|
||||
int tns, thh, tmm, tss;
|
||||
tns = cur_stream->ic->duration/1000000LL;
|
||||
thh = tns/3600;
|
||||
tmm = (tns%3600)/60;
|
||||
tss = (tns%60);
|
||||
frac = x/cur_stream->width;
|
||||
ns = frac*tns;
|
||||
hh = ns/3600;
|
||||
mm = (ns%3600)/60;
|
||||
ss = (ns%60);
|
||||
fprintf(stderr, "Seek to %2.0f%% (%2d:%02d:%02d) of total duration (%2d:%02d:%02d) \n", frac*100,
|
||||
hh, mm, ss, thh, tmm, tss);
|
||||
ts = frac*cur_stream->ic->duration;
|
||||
if (cur_stream->ic->start_time != AV_NOPTS_VALUE)
|
||||
ts += cur_stream->ic->start_time;
|
||||
stream_seek(cur_stream, ts, 0, 0);
|
||||
}
|
||||
break;
|
||||
case SDL_VIDEORESIZE:
|
||||
if (cur_stream) {
|
||||
screen = SDL_SetVideoMode(event.resize.w, event.resize.h, 0,
|
||||
SDL_HWSURFACE|SDL_RESIZABLE|SDL_ASYNCBLIT|SDL_HWACCEL);
|
||||
screen_width = cur_stream->width = event.resize.w;
|
||||
screen_height= cur_stream->height= event.resize.h;
|
||||
}
|
||||
screen = SDL_SetVideoMode(event.resize.w, event.resize.h, 0,
|
||||
SDL_HWSURFACE|SDL_RESIZABLE|SDL_ASYNCBLIT|SDL_HWACCEL);
|
||||
screen_width = cur_stream->width = event.resize.w;
|
||||
screen_height= cur_stream->height= event.resize.h;
|
||||
break;
|
||||
case SDL_QUIT:
|
||||
case FF_QUIT_EVENT:
|
||||
|
Loading…
Reference in New Issue
Block a user