write correct atoms based on tag and not format, fixes subs stream copy

Originally committed as revision 17936 to svn://svn.ffmpeg.org/ffmpeg/trunk
release/0.6
Baptiste Coudurier 16 years ago
parent d1df4da00b
commit 9f52055463
  1. 4
      libavformat/movenc.c

@ -922,7 +922,7 @@ static int mov_write_hdlr_tag(ByteIOContext *pb, MOVTrack *track)
hdlr_type = "soun"; hdlr_type = "soun";
descr = "SoundHandler"; descr = "SoundHandler";
} else if (track->enc->codec_type == CODEC_TYPE_SUBTITLE) { } else if (track->enc->codec_type == CODEC_TYPE_SUBTITLE) {
if (track->mode == MODE_IPOD) hdlr_type = "sbtl"; if (track->tag == MKTAG('t','x','3','g')) hdlr_type = "sbtl";
else hdlr_type = "text"; else hdlr_type = "text";
descr = "SubtitleHandler"; descr = "SubtitleHandler";
} }
@ -951,7 +951,7 @@ static int mov_write_minf_tag(ByteIOContext *pb, MOVTrack *track)
else if (track->enc->codec_type == CODEC_TYPE_AUDIO) else if (track->enc->codec_type == CODEC_TYPE_AUDIO)
mov_write_smhd_tag(pb); mov_write_smhd_tag(pb);
else if (track->enc->codec_type == CODEC_TYPE_SUBTITLE) { else if (track->enc->codec_type == CODEC_TYPE_SUBTITLE) {
if (track->mode == MODE_MOV) mov_write_gmhd_tag(pb); if (track->tag == MKTAG('t','e','x','t')) mov_write_gmhd_tag(pb);
else mov_write_nmhd_tag(pb); else mov_write_nmhd_tag(pb);
} }
if (track->mode == MODE_MOV) /* FIXME: Why do it for MODE_MOV only ? */ if (track->mode == MODE_MOV) /* FIXME: Why do it for MODE_MOV only ? */

Loading…
Cancel
Save