[FFmpeg-cvslog] r17965 - trunk/libavformat/utils.c

reimar subversion
Sat Mar 14 22:46:00 CET 2009


Author: reimar
Date: Sat Mar 14 22:46:00 2009
New Revision: 17965

Log:
Add AVFMT_GENERIC_INDEX support also for formats that do not use a parser.

Modified:
   trunk/libavformat/utils.c

Modified: trunk/libavformat/utils.c
==============================================================================
--- trunk/libavformat/utils.c	Sat Mar 14 21:50:54 2009	(r17964)
+++ trunk/libavformat/utils.c	Sat Mar 14 22:46:00 2009	(r17965)
@@ -954,6 +954,11 @@ static int av_read_frame_internal(AVForm
                 *pkt = st->cur_pkt; st->cur_pkt.data= NULL;
                 compute_pkt_fields(s, st, NULL, pkt);
                 s->cur_st = NULL;
+                if ((s->iformat->flags & AVFMT_GENERIC_INDEX) &&
+                    (pkt->flags & PKT_FLAG_KEY) && pkt->dts != AV_NOPTS_VALUE) {
+                    ff_reduce_index(s, st->index);
+                    av_add_index_entry(st, pkt->pos, pkt->dts, 0, 0, AVINDEX_KEYFRAME);
+                }
                 break;
             } else if (st->cur_len > 0 && st->discard < AVDISCARD_ALL) {
                 len = av_parser_parse2(st->parser, st->codec, &pkt->data, &pkt->size,




More information about the ffmpeg-cvslog mailing list