X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=ffplay.c;h=88ba2bee725b02fcbcef90d61dd516435653f14b;hb=9e5f79ed8a978450744caceaeec06ef37669d59d;hp=598ce749d5d5a84c59f346b03505f0dd14e4f630;hpb=9e1508f1e7a21aab9c25614c03d726e400c5691c;p=ffmpeg diff --git a/ffplay.c b/ffplay.c index 598ce749d5d..88ba2bee725 100644 --- a/ffplay.c +++ b/ffplay.c @@ -141,6 +141,7 @@ typedef struct VideoState { int force_refresh; int paused; int last_paused; + int que_attachments_req; int seek_req; int seek_flags; int64_t seek_pos; @@ -2098,7 +2099,7 @@ static int audio_open(void *opaque, int64_t wanted_channel_layout, int wanted_nb env = SDL_getenv("SDL_AUDIO_CHANNELS"); if (env) { - wanted_nb_channels = SDL_atoi(env); + wanted_nb_channels = atoi(env); wanted_channel_layout = av_get_default_channel_layout(wanted_nb_channels); } if (!wanted_channel_layout || wanted_nb_channels != av_get_channel_layout_nb_channels(wanted_channel_layout)) { @@ -2503,6 +2504,10 @@ static int read_thread(void *arg) is->seek_req = 0; eof = 0; } + if (is->que_attachments_req) { + avformat_queue_attached_pictures(ic); + is->que_attachments_req = 0; + } /* if the queue are full, no need to read more */ if (!infinite_buffer && @@ -2680,6 +2685,8 @@ static void stream_cycle_channel(VideoState *is, int codec_type) the_end: stream_component_close(is, old_index); stream_component_open(is, stream_index); + if (codec_type == AVMEDIA_TYPE_VIDEO) + is->que_attachments_req = 1; } @@ -3029,6 +3036,8 @@ static int opt_help(const char *opt, const char *arg) show_help_children(avformat_get_class(), AV_OPT_FLAG_DECODING_PARAM); #if !CONFIG_AVFILTER show_help_children(sws_get_class(), AV_OPT_FLAG_ENCODING_PARAM); +#else + show_help_children(avfilter_get_class(), AV_OPT_FLAG_FILTERING_PARAM); #endif printf("\nWhile playing:\n" "q, ESC quit\n"