Mercurial > libavformat.hg
diff mpegtsenc.c @ 468:60f897e8dd2d libavformat
pass AVPacket into av_write_frame()
fixes the random dts/pts during encoding
asf preroll fix
no more initial zero frames for b frame encoding
mpeg-es dts during demuxing fixed
.ffm timestamp scale fixed, ffm is still broken though
author | michael |
---|---|
date | Sat, 29 May 2004 02:06:32 +0000 |
parents | 622892a75ddb |
children | d7109f709265 |
line wrap: on
line diff
--- a/mpegtsenc.c Tue May 25 23:06:00 2004 +0000 +++ b/mpegtsenc.c Sat May 29 02:06:32 2004 +0000 @@ -549,10 +549,11 @@ put_flush_packet(&s->pb); } -static int mpegts_write_packet(AVFormatContext *s, int stream_index, - const uint8_t *buf, int size, int64_t pts1) +static int mpegts_write_packet(AVFormatContext *s, AVPacket *pkt) { - AVStream *st = s->streams[stream_index]; + AVStream *st = s->streams[pkt->stream_index]; + int size= pkt->size; + uint8_t *buf= pkt->data; MpegTSWriteStream *ts_st = st->priv_data; int len; @@ -565,7 +566,7 @@ size -= len; ts_st->payload_index += len; if (ts_st->payload_pts == AV_NOPTS_VALUE) - ts_st->payload_pts = pts1; + ts_st->payload_pts = pkt->pts; if (ts_st->payload_index >= DEFAULT_PES_PAYLOAD_SIZE) { mpegts_write_pes(s, st, ts_st->payload, ts_st->payload_index, ts_st->payload_pts);