Author: gkovacs
Date: Fri Jul 24 02:47:35 2009
New Revision: 4800

Log:
ensure that ic->cur_st is set before dereferencing it to avoid occasional 
segfaults on ffplay

Modified:
   concat/libavformat/concatgen.c

Modified: concat/libavformat/concatgen.c
==============================================================================
--- concat/libavformat/concatgen.c      Fri Jul 24 02:31:09 2009        (r4799)
+++ concat/libavformat/concatgen.c      Fri Jul 24 02:47:35 2009        (r4800)
@@ -34,7 +34,6 @@
 int ff_concatgen_read_packet(AVFormatContext *s,
                              AVPacket *pkt)
 {
-    int i;
     int ret;
     int stream_index;
     PlaylistContext *ctx;
@@ -61,11 +60,11 @@ int ff_concatgen_read_packet(AVFormatCon
             }
             break;
         } else {
-            if (!have_switched_streams && ctx->pe_curidx < ctx->pelist_size - 
1) {
+            if (!have_switched_streams && ctx->pe_curidx < ctx->pelist_size - 
1 && ic->cur_st) {
             // TODO switch from AVERROR_EOF to AVERROR_EOS
             // -32 AVERROR_EOF for avi, -51 for ogg
                 av_log(ic, AV_LOG_DEBUG, "Switching stream %d to %d\n", 
stream_index, ctx->pe_curidx+1);
-                ctx->time_offset += av_rescale_q(ic->streams[i]->duration, 
ic->streams[i]->time_base, AV_TIME_BASE_Q);
+                ctx->time_offset += av_rescale_q(ic->cur_st->duration, 
ic->cur_st->time_base, AV_TIME_BASE_Q);
                 ++ctx->pe_curidx;
                 ff_playlist_populate_context(s);
                 have_switched_streams = 1;
_______________________________________________
FFmpeg-soc mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc

Reply via email to