[soc]: r4846 - in concat/libavformat: concatgen.c playlist.c
Author: gkovacs Date: Fri Jul 31 01:32:56 2009 New Revision: 4846 Log: setting duration and cur_st in AVFormatContext; chained concat demuxers should now work Modified: concat/libavformat/concatgen.c concat/libavformat/playlist.c Modified: concat/libavformat/concatgen.c ============================================================================== --- concat/libavformat/concatgen.c Fri Jul 31 01:27:40 2009 (r4845) +++ concat/libavformat/concatgen.c Fri Jul 31 01:32:56 2009 (r4846) @@ -34,8 +34,7 @@ int ff_concatgen_read_packet(AVFormatContext *s, AVPacket *pkt) { - int ret; - int stream_index; + int ret, i, stream_index; PlaylistContext *ctx; AVFormatContext *ic; char have_switched_streams = 0; @@ -68,6 +67,9 @@ int ff_concatgen_read_packet(AVFormatCon ff_playlist_populate_context(ctx, ctx->pe_curidx); ff_playlist_set_streams(s); have_switched_streams = 1; + s->duration = 0; + for (i = 0; i < ctx->pe_curidx; ++i) + s->duration += ctx->durations[i]; continue; } else { av_log(ic, AV_LOG_ERROR, "Packet read error %d\n", ret); Modified: concat/libavformat/playlist.c ============================================================================== --- concat/libavformat/playlist.c Fri Jul 31 01:27:40 2009 (r4845) +++ concat/libavformat/playlist.c Fri Jul 31 01:32:56 2009 (r4846) @@ -63,6 +63,7 @@ void ff_playlist_set_streams(AVFormatCon s->nb_streams = ic->nb_streams; for (i = 0; i < ic->nb_streams; ++i) s->streams[i] = ic->streams[i]; + s->cur_st = ic->cur_st; s->packet_buffer = ic->packet_buffer; s->packet_buffer_end = ic->packet_buffer_end; }
participants (1)
-
gkovacs