Browse Source

lavf: update AVStream.nb_frames when muxing.

tags/n0.9
Anton Khirnov 14 years ago
parent
commit
1c6d2b7df0
2 changed files with 8 additions and 1 deletions
  1. +1
    -1
      libavformat/matroskaenc.c
  2. +7
    -0
      libavformat/utils.c

+ 1
- 1
libavformat/matroskaenc.c View File

@@ -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);



+ 7
- 0
libavformat/utils.c View File

@@ -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);



Loading…
Cancel
Save