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