From 0c2f3482ce0c386c1049d1e3db6d618dab3be2ad Mon Sep 17 00:00:00 2001 From: bcoudurier Date: Thu, 21 May 2009 22:33:17 +0000 Subject: [PATCH] correctly check for audio streams in mpeg ps muxer, fix multiple audio tracks git-svn-id: file:///var/local/repositories/ffmpeg/trunk@18891 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b --- libavformat/mpegenc.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libavformat/mpegenc.c b/libavformat/mpegenc.c index 866503042..cd7be899f 100644 --- a/libavformat/mpegenc.c +++ b/libavformat/mpegenc.c @@ -157,7 +157,7 @@ static int put_system_header(AVFormatContext *ctx, uint8_t *buf,int only_for_str put_bits(&pb, 1, 1); /* marker */ - if (s->is_vcd && only_for_stream_id==AUDIO_ID) { + if (s->is_vcd && (only_for_stream_id & 0xe0) == AUDIO_ID) { /* This header applies only to the audio stream (see VCD standard p. IV-7)*/ put_bits(&pb, 5, 0); } else @@ -401,7 +401,7 @@ static int mpeg_mux_init(AVFormatContext *ctx) bitrate += codec_rate; - if (stream->id==AUDIO_ID) + if ((stream->id & 0xe0) == AUDIO_ID) audio_bitrate += codec_rate; else if (stream->id==VIDEO_ID) video_bitrate += codec_rate; @@ -594,7 +594,7 @@ static int get_packet_payload_size(AVFormatContext *ctx, int stream_index, } } - if (s->is_vcd && stream->id == AUDIO_ID) + if (s->is_vcd && (stream->id & 0xe0) == AUDIO_ID) /* The VCD standard demands that 20 zero bytes follow each audio packet (see standard p. IV-8).*/ buf_index+=20; @@ -729,7 +729,7 @@ static int flush_packet(AVFormatContext *ctx, int stream_index, packet_size = s->packet_size - size; - if (s->is_vcd && id == AUDIO_ID) + if (s->is_vcd && (id & 0xe0) == AUDIO_ID) /* The VCD standard demands that 20 zero bytes follow each audio pack (see standard p. IV-8).*/ zero_trail_bytes += 20; @@ -868,7 +868,7 @@ static int flush_packet(AVFormatContext *ctx, int stream_index, put_byte(ctx->pb, 0x10); /* flags */ /* P-STD buffer info */ - if (id == AUDIO_ID) + if ((id & 0xe0) == AUDIO_ID) put_be16(ctx->pb, 0x4000 | stream->max_buffer_size/ 128); else put_be16(ctx->pb, 0x6000 | stream->max_buffer_size/1024); -- 2.39.2