summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2011-03-16 08:45:14 +0100
committerAnton Khirnov <anton@khirnov.net>2011-07-08 22:13:52 +0200
commit1c6d2b7df061de2a9205ed711f4344926237bb5f (patch)
tree3291fad26ceb1eb1f915dabe732c01bfacf81fdd
parente98bc78ca168bbb615752ed8e3b97bcacafdf0b7 (diff)
downloadffmpeg-streaming-1c6d2b7df061de2a9205ed711f4344926237bb5f.zip
ffmpeg-streaming-1c6d2b7df061de2a9205ed711f4344926237bb5f.tar.gz
lavf: update AVStream.nb_frames when muxing.
-rw-r--r--libavformat/matroskaenc.c2
-rw-r--r--libavformat/utils.c7
2 files changed, 8 insertions, 1 deletions
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index d132b65..169e8e4 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -932,7 +932,7 @@ static int mkv_write_ass_blocks(AVFormatContext *s, AVIOContext *pb, AVPacket *p
size -= start - data;
sscanf(data, "Dialogue: %d,", &layer);
i = snprintf(buffer, sizeof(buffer), "%"PRId64",%d,",
- s->streams[pkt->stream_index]->nb_frames++, layer);
+ s->streams[pkt->stream_index]->nb_frames, layer);
size = FFMIN(i+size, sizeof(buffer));
memcpy(buffer+i, start, size-i);
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 060e58e..e38d9ef 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -3023,6 +3023,9 @@ int av_write_frame(AVFormatContext *s, AVPacket *pkt)
return ret;
ret= s->oformat->write_packet(s, pkt);
+
+ if (ret >= 0)
+ s->streams[pkt->stream_index]->nb_frames++;
return ret;
}
@@ -3143,6 +3146,8 @@ int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt){
return ret;
ret= s->oformat->write_packet(s, &opkt);
+ if (ret >= 0)
+ s->streams[opkt.stream_index]->nb_frames++;
av_free_packet(&opkt);
pkt= NULL;
@@ -3165,6 +3170,8 @@ int av_write_trailer(AVFormatContext *s)
break;
ret= s->oformat->write_packet(s, &pkt);
+ if (ret >= 0)
+ s->streams[pkt.stream_index]->nb_frames++;
av_free_packet(&pkt);
OpenPOWER on IntegriCloud