add support for information in CDXA format
patch by Allan Sandfeld Jensen % kde A carewolf P com % Original thread: Date: Aug 18, 2006 6:33 PM Subject: [Ffmpeg-devel] CDXA in libavformat [patch] Originally committed as revision 6124 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		
							parent
							
								
									9dc5607b3c
								
							
						
					
					
						commit
						c5e331155c
					
				@ -1260,6 +1260,20 @@ static int mpeg_mux_end(AVFormatContext *ctx)
 | 
			
		||||
 | 
			
		||||
#define MAX_SYNC_SIZE 100000
 | 
			
		||||
 | 
			
		||||
static int cdxa_probe(AVProbeData *p)
 | 
			
		||||
{
 | 
			
		||||
    /* check file header */
 | 
			
		||||
    if (p->buf_size <= 32)
 | 
			
		||||
        return 0;
 | 
			
		||||
    if (p->buf[0] == 'R' && p->buf[1] == 'I' &&
 | 
			
		||||
        p->buf[2] == 'F' && p->buf[3] == 'F' &&
 | 
			
		||||
        p->buf[8] == 'C' && p->buf[9] == 'D' &&
 | 
			
		||||
        p->buf[10] == 'X' && p->buf[11] == 'A')
 | 
			
		||||
        return AVPROBE_SCORE_MAX;
 | 
			
		||||
    else
 | 
			
		||||
        return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int mpegps_probe(AVProbeData *p)
 | 
			
		||||
{
 | 
			
		||||
    uint32_t code= -1;
 | 
			
		||||
@ -1267,6 +1281,10 @@ static int mpegps_probe(AVProbeData *p)
 | 
			
		||||
    int i;
 | 
			
		||||
    int score=0;
 | 
			
		||||
 | 
			
		||||
    score = cdxa_probe(p);
 | 
			
		||||
    if (score > 0) return score;
 | 
			
		||||
 | 
			
		||||
    /* Search for MPEG stream */
 | 
			
		||||
    for(i=0; i<p->buf_size; i++){
 | 
			
		||||
        code = (code<<8) + p->buf[i];
 | 
			
		||||
        if ((code & 0xffffff00) == 0x100) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user