ffplay: remove unnecessary if (cur_stream) checks

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Marton Balint 2011-08-21 15:06:10 +02:00 committed by Michael Niedermayer
parent 84506ebd48
commit ba571f6b4d

110
ffplay.c
View File

@ -2694,28 +2694,22 @@ static void event_loop(VideoState *cur_stream)
break; break;
case SDLK_p: case SDLK_p:
case SDLK_SPACE: case SDLK_SPACE:
if (cur_stream) toggle_pause(cur_stream);
toggle_pause(cur_stream);
break; break;
case SDLK_s: //S: Step to next frame case SDLK_s: //S: Step to next frame
if (cur_stream) step_to_next_frame(cur_stream);
step_to_next_frame(cur_stream);
break; break;
case SDLK_a: case SDLK_a:
if (cur_stream) stream_cycle_channel(cur_stream, AVMEDIA_TYPE_AUDIO);
stream_cycle_channel(cur_stream, AVMEDIA_TYPE_AUDIO);
break; break;
case SDLK_v: case SDLK_v:
if (cur_stream) stream_cycle_channel(cur_stream, AVMEDIA_TYPE_VIDEO);
stream_cycle_channel(cur_stream, AVMEDIA_TYPE_VIDEO);
break; break;
case SDLK_t: case SDLK_t:
if (cur_stream) stream_cycle_channel(cur_stream, AVMEDIA_TYPE_SUBTITLE);
stream_cycle_channel(cur_stream, AVMEDIA_TYPE_SUBTITLE);
break; break;
case SDLK_w: case SDLK_w:
if (cur_stream) toggle_audio_display(cur_stream);
toggle_audio_display(cur_stream);
break; break;
case SDLK_LEFT: case SDLK_LEFT:
incr = -10.0; incr = -10.0;
@ -2729,25 +2723,23 @@ static void event_loop(VideoState *cur_stream)
case SDLK_DOWN: case SDLK_DOWN:
incr = -60.0; incr = -60.0;
do_seek: do_seek:
if (cur_stream) { if (seek_by_bytes) {
if (seek_by_bytes) { if (cur_stream->video_stream >= 0 && cur_stream->video_current_pos>=0){
if (cur_stream->video_stream >= 0 && cur_stream->video_current_pos>=0){ pos= cur_stream->video_current_pos;
pos= cur_stream->video_current_pos; }else if(cur_stream->audio_stream >= 0 && cur_stream->audio_pkt.pos>=0){
}else if(cur_stream->audio_stream >= 0 && cur_stream->audio_pkt.pos>=0){ pos= cur_stream->audio_pkt.pos;
pos= cur_stream->audio_pkt.pos; }else
}else pos = avio_tell(cur_stream->ic->pb);
pos = avio_tell(cur_stream->ic->pb); if (cur_stream->ic->bit_rate)
if (cur_stream->ic->bit_rate) incr *= cur_stream->ic->bit_rate / 8.0;
incr *= cur_stream->ic->bit_rate / 8.0; else
else incr *= 180000.0;
incr *= 180000.0; pos += incr;
pos += incr; stream_seek(cur_stream, pos, incr, 1);
stream_seek(cur_stream, pos, incr, 1); } else {
} else { pos = get_master_clock(cur_stream);
pos = get_master_clock(cur_stream); pos += incr;
pos += incr; stream_seek(cur_stream, (int64_t)(pos * AV_TIME_BASE), (int64_t)(incr * AV_TIME_BASE), 0);
stream_seek(cur_stream, (int64_t)(pos * AV_TIME_BASE), (int64_t)(incr * AV_TIME_BASE), 0);
}
} }
break; break;
default: default:
@ -2767,39 +2759,35 @@ static void event_loop(VideoState *cur_stream)
break; break;
x= event.motion.x; x= event.motion.x;
} }
if (cur_stream) { if(seek_by_bytes || cur_stream->ic->duration<=0){
if(seek_by_bytes || cur_stream->ic->duration<=0){ uint64_t size= avio_size(cur_stream->ic->pb);
uint64_t size= avio_size(cur_stream->ic->pb); stream_seek(cur_stream, size*x/cur_stream->width, 0, 1);
stream_seek(cur_stream, size*x/cur_stream->width, 0, 1); }else{
}else{ int64_t ts;
int64_t ts; int ns, hh, mm, ss;
int ns, hh, mm, ss; int tns, thh, tmm, tss;
int tns, thh, tmm, tss; tns = cur_stream->ic->duration/1000000LL;
tns = cur_stream->ic->duration/1000000LL; thh = tns/3600;
thh = tns/3600; tmm = (tns%3600)/60;
tmm = (tns%3600)/60; tss = (tns%60);
tss = (tns%60); frac = x/cur_stream->width;
frac = x/cur_stream->width; ns = frac*tns;
ns = frac*tns; hh = ns/3600;
hh = ns/3600; mm = (ns%3600)/60;
mm = (ns%3600)/60; ss = (ns%60);
ss = (ns%60); fprintf(stderr, "Seek to %2.0f%% (%2d:%02d:%02d) of total duration (%2d:%02d:%02d) \n", frac*100,
fprintf(stderr, "Seek to %2.0f%% (%2d:%02d:%02d) of total duration (%2d:%02d:%02d) \n", frac*100, hh, mm, ss, thh, tmm, tss);
hh, mm, ss, thh, tmm, tss); ts = frac*cur_stream->ic->duration;
ts = frac*cur_stream->ic->duration; if (cur_stream->ic->start_time != AV_NOPTS_VALUE)
if (cur_stream->ic->start_time != AV_NOPTS_VALUE) ts += cur_stream->ic->start_time;
ts += cur_stream->ic->start_time; stream_seek(cur_stream, ts, 0, 0);
stream_seek(cur_stream, ts, 0, 0);
}
} }
break; break;
case SDL_VIDEORESIZE: case SDL_VIDEORESIZE:
if (cur_stream) { screen = SDL_SetVideoMode(event.resize.w, event.resize.h, 0,
screen = SDL_SetVideoMode(event.resize.w, event.resize.h, 0, SDL_HWSURFACE|SDL_RESIZABLE|SDL_ASYNCBLIT|SDL_HWACCEL);
SDL_HWSURFACE|SDL_RESIZABLE|SDL_ASYNCBLIT|SDL_HWACCEL); screen_width = cur_stream->width = event.resize.w;
screen_width = cur_stream->width = event.resize.w; screen_height= cur_stream->height= event.resize.h;
screen_height= cur_stream->height= event.resize.h;
}
break; break;
case SDL_QUIT: case SDL_QUIT:
case FF_QUIT_EVENT: case FF_QUIT_EVENT: