]> git.sesse.net Git - ffmpeg/blobdiff - ffplay.c
avrndec: add DR1 capability flag
[ffmpeg] / ffplay.c
index 598ce749d5d5a84c59f346b03505f0dd14e4f630..88ba2bee725b02fcbcef90d61dd516435653f14b 100644 (file)
--- 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"