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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user