diff options
author | Stefano Sabatini <stefasab@gmail.com> | 2012-12-13 21:19:25 +0100 |
---|---|---|
committer | Stefano Sabatini <stefasab@gmail.com> | 2012-12-14 18:19:47 +0100 |
commit | ecebf6fc825a2fb6fb7f3edafc536ab03e5a7816 (patch) | |
tree | d5258bb8a8b881c4104f4629a30cf506a92d95e1 /libavformat/segment.c | |
parent | df5f9496e6f8bea00bf019e809d4c01531fa14b4 (diff) | |
download | ffmpeg-ecebf6fc825a2fb6fb7f3edafc536ab03e5a7816.tar.gz |
lavf/segment: provide more debug feedback when a new segment starts
Diffstat (limited to 'libavformat/segment.c')
-rw-r--r-- | libavformat/segment.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/libavformat/segment.c b/libavformat/segment.c index 7e1d696473..dc9b9c86a1 100644 --- a/libavformat/segment.c +++ b/libavformat/segment.c @@ -77,6 +77,7 @@ typedef struct { int has_video; double start_time, end_time; int64_t start_pts, start_dts; + int is_first_pkt; ///< tells if it is the first packet in the segment } SegmentContext; static void print_csv_escaped_str(AVIOContext *ctx, const char *str) @@ -176,6 +177,7 @@ static int segment_start(AVFormatContext *s, int write_header) return err; } + seg->is_first_pkt = 1; return 0; } @@ -439,6 +441,7 @@ static int seg_write_header(AVFormatContext *s) avio_close(oc->pb); goto fail; } + seg->is_first_pkt = 1; if (oc->avoid_negative_ts > 0 && s->avoid_negative_ts < 0) s->avoid_negative_ts = 1; @@ -481,10 +484,6 @@ static int seg_write_packet(AVFormatContext *s, AVPacket *pkt) av_compare_ts(pkt->pts, st->time_base, end_pts-seg->time_delta, AV_TIME_BASE_Q) >= 0 && pkt->flags & AV_PKT_FLAG_KEY) { - - av_log(s, AV_LOG_DEBUG, "Next segment starts with packet stream:%d pts:%"PRId64" pts_time:%f\n", - pkt->stream_index, pkt->pts, pkt->pts * av_q2d(st->time_base)); - ret = segment_end(s, seg->individual_header_trailer); if (!ret) @@ -504,6 +503,13 @@ static int seg_write_packet(AVFormatContext *s, AVPacket *pkt) (double)(pkt->pts + pkt->duration) * av_q2d(st->time_base)); } + if (seg->is_first_pkt) { + av_log(s, AV_LOG_DEBUG, "segment:'%s' starts with packet stream:%d pts:%s pts_time:%s\n", + seg->avf->filename, pkt->stream_index, + av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, &st->time_base)); + seg->is_first_pkt = 0; + } + if (seg->reset_timestamps) { av_log(s, AV_LOG_DEBUG, "start_pts:%s pts:%s start_dts:%s dts:%s", av_ts2timestr(seg->start_pts, &AV_TIME_BASE_Q), av_ts2timestr(pkt->pts, &st->time_base), |