summaryrefslogtreecommitdiff
path: root/libavformat/mpeg.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2004-05-29 02:06:32 +0000
committerMichael Niedermayer <michaelni@gmx.at>2004-05-29 02:06:32 +0000
commite928649b0bf6c8c7b87eb09d5e393a70387b10e9 (patch)
tree3f065adcb0e5c14127d01162d7cc8a0d934c073f /libavformat/mpeg.c
parenta7b2871cd1401ce7be59b153eed3f25565b0bb23 (diff)
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 Originally committed as revision 3168 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/mpeg.c')
-rw-r--r--libavformat/mpeg.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c
index e0060584c6..ffe19ea6ec 100644
--- a/libavformat/mpeg.c
+++ b/libavformat/mpeg.c
@@ -912,17 +912,22 @@ static int64_t update_scr(AVFormatContext *ctx,int stream_index,int64_t pts)
}
-static int mpeg_mux_write_packet(AVFormatContext *ctx, int stream_index,
- const uint8_t *buf, int size,
- int64_t timestamp)
+static int mpeg_mux_write_packet(AVFormatContext *ctx, AVPacket *pkt)
{
MpegMuxContext *s = ctx->priv_data;
+ int stream_index= pkt->stream_index;
+ int size= pkt->size;
+ uint8_t *buf= pkt->data;
AVStream *st = ctx->streams[stream_index];
StreamInfo *stream = st->priv_data;
int64_t pts, dts, new_start_pts, new_start_dts;
int len, avail_size;
- compute_pts_dts(st, &pts, &dts, timestamp);
+ //XXX/FIXME this is and always was broken
+// compute_pts_dts(st, &pts, &dts, pkt->pts);
+
+ pts= pkt->pts;
+ dts= pkt->dts;
if(s->is_svcd) {
/* offset pts and dts slightly into the future to be able