mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-12-02 16:46:48 +00:00
Add QT CC track mux support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
ebfc212b02
commit
a5f6720f13
@ -1375,6 +1375,7 @@ static int mov_write_gmhd_tag(AVIOContext *pb, MOVTrack *track)
|
||||
* don't appear to be documented, so the
|
||||
* bytes are copied verbatim.
|
||||
*/
|
||||
if (track->tag != MKTAG('c','6','0','8')) {
|
||||
avio_wb32(pb, 0x2C); /* size */
|
||||
ffio_wfourcc(pb, "text");
|
||||
avio_wb16(pb, 0x01);
|
||||
@ -1387,6 +1388,7 @@ static int mov_write_gmhd_tag(AVIOContext *pb, MOVTrack *track)
|
||||
avio_wb32(pb, 0x00);
|
||||
avio_wb32(pb, 0x00004000);
|
||||
avio_wb16(pb, 0x0000);
|
||||
}
|
||||
|
||||
if (track->enc->codec_tag == MKTAG('t','m','c','d')) {
|
||||
int64_t tmcd_pos = avio_tell(pb);
|
||||
@ -1435,9 +1437,14 @@ static int mov_write_hdlr_tag(AVIOContext *pb, MOVTrack *track)
|
||||
hdlr_type = "soun";
|
||||
descr = "SoundHandler";
|
||||
} else if (track->enc->codec_type == AVMEDIA_TYPE_SUBTITLE) {
|
||||
if (track->tag == MKTAG('c','6','0','8')) {
|
||||
hdlr_type = "clcp";
|
||||
descr = "ClosedCaptionHandler";
|
||||
} else {
|
||||
if (track->tag == MKTAG('t','x','3','g')) hdlr_type = "sbtl";
|
||||
else hdlr_type = "text";
|
||||
descr = "SubtitleHandler";
|
||||
}
|
||||
} else if (track->enc->codec_tag == MKTAG('t','m','c','d')) {
|
||||
hdlr_type = "tmcd";
|
||||
descr = "TimeCodeHandler";
|
||||
@ -1492,8 +1499,11 @@ static int mov_write_minf_tag(AVIOContext *pb, MOVTrack *track)
|
||||
else if (track->enc->codec_type == AVMEDIA_TYPE_AUDIO)
|
||||
mov_write_smhd_tag(pb);
|
||||
else if (track->enc->codec_type == AVMEDIA_TYPE_SUBTITLE) {
|
||||
if (track->tag == MKTAG('t','e','x','t')) mov_write_gmhd_tag(pb, track);
|
||||
else mov_write_nmhd_tag(pb);
|
||||
if (track->tag == MKTAG('t','e','x','t') || track->tag == MKTAG('c','6','0','8')) {
|
||||
mov_write_gmhd_tag(pb, track);
|
||||
} else {
|
||||
mov_write_nmhd_tag(pb);
|
||||
}
|
||||
} else if (track->tag == MKTAG('t','m','c','d')) {
|
||||
mov_write_gmhd_tag(pb, track);
|
||||
} else if (track->tag == MKTAG('r','t','p',' ')) {
|
||||
|
Loading…
Reference in New Issue
Block a user