Browse Source

Move the initial refresh scheduling for audio display away from where it

can interfere with video.

Originally committed as revision 21616 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.6
Michael Niedermayer 15 years ago
parent
commit
48ff3f7cc8
1 changed files with 4 additions and 4 deletions
  1. +4
    -4
      ffplay.c

+ 4
- 4
ffplay.c View File

@@ -1068,7 +1068,7 @@ static void video_refresh_timer(void *opaque)


if (is->video_st) { if (is->video_st) {
if (is->pictq_size == 0) { if (is->pictq_size == 0) {
// fprintf(stderr, "Internal error detected in the SDL timer\n");
fprintf(stderr, "Internal error detected in the SDL timer\n");
} else { } else {
/* dequeue the picture */ /* dequeue the picture */
vp = &is->pictq[is->pictq_rindex]; vp = &is->pictq[is->pictq_rindex];
@@ -2022,6 +2022,9 @@ static int decode_thread(void *arg)
if (video_index >= 0) { if (video_index >= 0) {
stream_component_open(is, video_index); stream_component_open(is, video_index);
} else { } else {
/* add the refresh timer to draw the picture */
schedule_refresh(is, 40);

if (!display_disable) if (!display_disable)
is->show_audio = 1; is->show_audio = 1;
} }
@@ -2173,9 +2176,6 @@ static VideoState *stream_open(const char *filename, AVInputFormat *iformat)
is->subpq_mutex = SDL_CreateMutex(); is->subpq_mutex = SDL_CreateMutex();
is->subpq_cond = SDL_CreateCond(); is->subpq_cond = SDL_CreateCond();


/* add the refresh timer to draw the picture */
schedule_refresh(is, 40);

is->av_sync_type = av_sync_type; is->av_sync_type = av_sync_type;
is->parse_tid = SDL_CreateThread(decode_thread, is); is->parse_tid = SDL_CreateThread(decode_thread, is);
if (!is->parse_tid) { if (!is->parse_tid) {


Loading…
Cancel
Save