Print why av_find_stream_info() failed, this is a rather common question
[ffmpeg.git] / libavformat / utils.c
index dc188853e3c699682beb78037e563c205ad0251a..99ac30cdd54e2129e68ca06369cbda99ca854751 100644 (file)
@@ -2042,6 +2042,7 @@ int av_find_stream_info(AVFormatContext *ic)
     for(;;) {
         if(url_interrupt_cb()){
             ret= AVERROR(EINTR);
+            av_log(ic, AV_LOG_DEBUG, "interrupted\n");
             break;
         }
 
@@ -2066,12 +2067,14 @@ int av_find_stream_info(AVFormatContext *ic)
             if (!(ic->ctx_flags & AVFMTCTX_NOHEADER)) {
                 /* if we found the info for all the codecs, we can stop */
                 ret = count;
+                av_log(ic, AV_LOG_DEBUG, "All info found\n");
                 break;
             }
         }
         /* we did not get all the codec info, but we read too much data */
         if (read_size >= MAX_READ_SIZE) {
             ret = count;
+            av_log(ic, AV_LOG_DEBUG, "MAX_READ_SIZE reached\n");
             break;
         }
 
@@ -2106,8 +2109,10 @@ int av_find_stream_info(AVFormatContext *ic)
 
         st = ic->streams[pkt->stream_index];
         if(codec_info_nb_frames[st->index]>1) {
-            if (st->time_base.den > 0 && av_rescale_q(codec_info_duration[st->index], st->time_base, AV_TIME_BASE_Q) >= ic->max_analyze_duration)
+            if (st->time_base.den > 0 && av_rescale_q(codec_info_duration[st->index], st->time_base, AV_TIME_BASE_Q) >= ic->max_analyze_duration){
+                av_log(ic, AV_LOG_DEBUG, "max_analyze_duration reached\n");
                 break;
+            }
             codec_info_duration[st->index] += pkt->duration;
         }
         if (pkt->duration != 0)