Browse Source

avienc: create xsub in avi files that are closer to whats in the wild

Fixes ticket1332

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 875851294f)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n0.11.1
Michael Niedermayer 13 years ago
parent
commit
88a145738b
1 changed files with 5 additions and 2 deletions
  1. +5
    -2
      libavformat/avienc.c

+ 5
- 2
libavformat/avienc.c View File

@@ -255,9 +255,12 @@ static int avi_write_header(AVFormatContext *s)

ff_parse_specific_params(stream, &au_byterate, &au_ssize, &au_scale);

avpriv_set_pts_info(s->streams[i], 64, au_scale, au_byterate);
if(stream->codec_id == CODEC_ID_XSUB)
au_scale = au_byterate = 0;

avio_wl32(pb, au_scale); /* scale */
avio_wl32(pb, au_byterate); /* rate */
avpriv_set_pts_info(s->streams[i], 64, au_scale, au_byterate);

avio_wl32(pb, 0); /* start */
avist->frames_hdr_strm = avio_tell(pb); /* remember this offset to fill later */
@@ -521,7 +524,7 @@ static int avi_write_packet(AVFormatContext *s, AVPacket *pkt)
int size= pkt->size;

// av_log(s, AV_LOG_DEBUG, "%"PRId64" %d %d\n", pkt->dts, avist->packet_count, stream_index);
while(enc->block_align==0 && pkt->dts != AV_NOPTS_VALUE && pkt->dts > avist->packet_count){
while(enc->block_align==0 && pkt->dts != AV_NOPTS_VALUE && pkt->dts > avist->packet_count && enc->codec_id != CODEC_ID_XSUB){
AVPacket empty_packet;

if(pkt->dts - avist->packet_count > 60000){


Loading…
Cancel
Save