Imported Debian version 2.5.0~trusty1.1
[deb_ffmpeg.git] / ffmpeg / libavformat / concatdec.c
index 9e9857958d268c326a7ebcde7974da2a32e59965..a2584d70e2af0f6b2484516ca118cc7968fa6264 100644 (file)
@@ -23,6 +23,7 @@
 #include "libavutil/intreadwrite.h"
 #include "libavutil/opt.h"
 #include "libavutil/parseutils.h"
+#include "libavutil/timestamp.h"
 #include "avformat.h"
 #include "internal.h"
 #include "url.h"
@@ -288,6 +289,10 @@ static int open_file(AVFormatContext *avf, unsigned fileno)
         return AVERROR(ENOMEM);
 
     cat->avf->interrupt_callback = avf->interrupt_callback;
+
+    if ((ret = ff_copy_whitelists(cat->avf, avf)) < 0)
+        return ret;
+
     if ((ret = avformat_open_input(&cat->avf, file->url, NULL, NULL)) < 0 ||
         (ret = avformat_find_stream_info(cat->avf, NULL)) < 0) {
         av_log(avf, AV_LOG_ERROR, "Impossible to open '%s'\n", file->url);
@@ -475,6 +480,7 @@ static int concat_read_packet(AVFormatContext *avf, AVPacket *pkt)
     int ret;
     int64_t delta;
     ConcatStream *cs;
+    AVStream *st;
 
     while (1) {
         ret = av_read_frame(cat->avf, pkt);
@@ -500,6 +506,12 @@ static int concat_read_packet(AVFormatContext *avf, AVPacket *pkt)
     if ((ret = filter_packet(avf, cs, pkt)))
         return ret;
 
+    st = cat->avf->streams[pkt->stream_index];
+    av_log(avf, AV_LOG_DEBUG, "file:%d stream:%d pts:%s pts_time:%s dts:%s dts_time:%s",
+           (unsigned)(cat->cur_file - cat->files), pkt->stream_index,
+           av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, &st->time_base),
+           av_ts2str(pkt->dts), av_ts2timestr(pkt->dts, &st->time_base));
+
     delta = av_rescale_q(cat->cur_file->start_time - cat->avf->start_time,
                          AV_TIME_BASE_Q,
                          cat->avf->streams[pkt->stream_index]->time_base);
@@ -507,6 +519,9 @@ static int concat_read_packet(AVFormatContext *avf, AVPacket *pkt)
         pkt->pts += delta;
     if (pkt->dts != AV_NOPTS_VALUE)
         pkt->dts += delta;
+    av_log(avf, AV_LOG_DEBUG, " -> pts:%s pts_time:%s dts:%s dts_time:%s\n",
+           av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, &st->time_base),
+           av_ts2str(pkt->dts), av_ts2timestr(pkt->dts, &st->time_base));
     return ret;
 }