diff libmpdemux/demux_real.c @ 29263:0f1b5b68af32

whitespace cosmetics: Remove all trailing whitespace.
author diego
date Wed, 13 May 2009 02:58:57 +0000
parents fe871e69b1b3
children 4a1c217a844b
line wrap: on
line diff
--- a/libmpdemux/demux_real.c	Tue May 12 19:25:35 2009 +0000
+++ b/libmpdemux/demux_real.c	Wed May 13 02:58:57 2009 +0000
@@ -73,28 +73,28 @@
     /* for seeking */
     int		index_chunk_offset;
     real_index_table_t *index_table[MAX_STREAMS];
-	
+
 //    int		*index_table[MAX_STREAMS];
     int		index_table_size[MAX_STREAMS];
     int		index_malloc_size[MAX_STREAMS];
     int		data_chunk_offset;
     int		num_of_packets;
     int		current_packet;
-	
+
 // need for seek
     int		audio_need_keyframe;
     int		video_after_seek;
 
     int		current_apacket;
     int		current_vpacket;
-    
+
     // timestamp correction:
     int64_t		kf_base;// timestamp of the prev. video keyframe
     unsigned int	kf_pts;	// timestamp of next video keyframe
     unsigned int	a_pts;	// previous audio timestamp
     double	v_pts;  // previous video timestamp
     unsigned long	duration;
-    
+
     /* stream id table */
 //    int		last_a_stream;
 //    int 	a_streams[MAX_STREAMS];
@@ -135,7 +135,7 @@
 static void get_str(int isbyte, demuxer_t *demuxer, char *buf, int buf_size)
 {
     int len;
-    
+
     if (isbyte)
 	len = stream_read_char(demuxer->stream);
     else
@@ -156,13 +156,13 @@
 
     if (!mp_msg_test(MSGT_DEMUX,MSGL_V))
 	return;
-    
+
     if ((unsigned)stream_id >= MAX_STREAMS)
 	return;
 
     index = priv->index_table[stream_id];
     entries = priv->index_table_size[stream_id];
-    
+
     mp_msg(MSGT_DEMUX, MSGL_V, "Index table for stream %d\n", stream_id);
     for (i = 0; i < entries; i++)
     {
@@ -211,10 +211,10 @@
 
     entries = stream_read_dword(demuxer->stream);
     mp_msg(MSGT_DEMUX, MSGL_V,"entries: %d\n", entries);
-    
+
     stream_id = stream_read_word(demuxer->stream);
     mp_msg(MSGT_DEMUX, MSGL_V,"stream_id: %d\n", stream_id);
-    
+
     next_header_pos = stream_read_dword(demuxer->stream);
     mp_msg(MSGT_DEMUX, MSGL_V,"next_header_pos: %d\n", next_header_pos);
     if (entries <= 0 || entries > MAX_INDEX_ENTRIES)
@@ -227,7 +227,7 @@
 
     priv->index_table_size[stream_id] = entries;
     priv->index_table[stream_id] = calloc(priv->index_table_size[stream_id], sizeof(real_index_table_t));
-    
+
     for (i = 0; i < entries; i++)
     {
 	stream_skip(demuxer->stream, 2); /* version */
@@ -238,7 +238,7 @@
 //	printf("Index table: Stream#%d: entry: %d: pos: %d\n",
 //	    stream_id, i, priv->index_table[stream_id][i].offset);
     }
-    
+
     dump_index(demuxer, stream_id);
 
     if (next_header_pos > 0)
@@ -300,7 +300,7 @@
   while (1)
   {
     demuxer->filepos = stream_tell(demuxer->stream);
-    
+
     tag = stream_read_dword(demuxer->stream);
     if (tag == MKTAG('A', 'T', 'A', 'D'))
     {
@@ -310,16 +310,16 @@
     len = tag & 0xffff;
     if (tag == -256 || len < 12)
       break;
-    
+
     stream_id = stream_read_word(demuxer->stream);
     timestamp = stream_read_dword(demuxer->stream);
-    
+
     stream_skip(demuxer->stream, 1); /* reserved */
     flags = stream_read_char(demuxer->stream);
-    
+
     if (flags == -256)
       break;
-    
+
     if (flags & 2)
     {
       add_index_item(demuxer, stream_id, timestamp, demuxer->filepos);
@@ -342,7 +342,7 @@
   int data_pos = priv->data_chunk_offset-10;
   int i;
   int tag;
-  
+
   stream_seek(demuxer->stream, data_pos);
   tag = stream_read_dword(demuxer->stream);
   if (tag != MKTAG('A', 'T', 'A', 'D'))
@@ -391,7 +391,7 @@
     }
     stream_skip(demuxer->stream, 4); /* chunk size */
     stream_skip(demuxer->stream, 2); /* version */
-    
+
     num_of_packets = stream_read_dword(demuxer->stream);
     mp_msg(MSGT_DEMUX, MSGL_V,"Generating index table from raw data (pos: 0x%x) for %d packets\n",
 	data_pos, num_of_packets);
@@ -407,10 +407,10 @@
     }
 
     tab_pos = 0;
-    
+
 //    memset(priv->index_table_size, 0, sizeof(int)*MAX_STREAMS);
 //    memset(priv->index_table, 0, sizeof(real_index_table_t)*MAX_STREAMS);
-    
+
     while (tab_pos < num_of_packets)
     {
     i = stream_read_char(demuxer->stream);
@@ -422,7 +422,7 @@
     len = stream_read_word(demuxer->stream);
     stream_id = stream_read_word(demuxer->stream);
     timestamp = stream_read_dword(demuxer->stream);
-    
+
     stream_skip(demuxer->stream, 1); /* reserved */
     flags = stream_read_char(demuxer->stream);
 
@@ -434,7 +434,7 @@
 //    else
 //	priv->index_table[stream_id] = realloc(priv->index_table[stream_id],
 //	    priv->index_table_size[stream_id] * sizeof(real_index_table_t));
-    
+
     priv->index_table[stream_id][i].timestamp = timestamp;
     priv->index_table[stream_id][i].offset = stream_tell(demuxer->stream)-12;
     priv->index_table[stream_id][i].len = len;
@@ -468,7 +468,7 @@
     int c;
 
     mp_msg(MSGT_DEMUX,MSGL_V,"Checking for REAL\n");
-    
+
     c = stream_read_dword_le(demuxer->stream);
     if (c == -256)
 	return 0; /* EOF */
@@ -620,17 +620,17 @@
 	mp_msg(MSGT_DEMUX,MSGL_INFO,"demux_real: New data chunk is coming!!!\n");
     if (priv->is_multirate)
         return 0; // EOF
-	stream_skip(demuxer->stream,14); 
+	stream_skip(demuxer->stream,14);
 	demuxer->filepos = stream_tell(demuxer->stream);
         version = stream_read_word(demuxer->stream); /* version */
-	len = stream_read_word(demuxer->stream);	
+	len = stream_read_word(demuxer->stream);
     } else if ((version == 0x494e) && (len == 0x4458)) {
         mp_msg(MSGT_DEMUX,MSGL_V,"demux_real: Found INDX chunk. EOF.\n");
         demuxer->stream->eof=1;
         return 0;
     }
 
-    
+
     if (len == -256){ /* EOF */
 //	printf("len==-256!\n");
 	return 0;
@@ -676,7 +676,7 @@
 	priv->current_packet, (int)demuxer->filepos, len, stream_id, timestamp, flags, reserved);
 
     priv->current_packet++;
-    len -= 12;    
+    len -= 12;
 
 //    printf("s_id=%d  aid=%d  vid=%d  \n",stream_id,demuxer->audio->id,demuxer->video->id);
 
@@ -858,19 +858,19 @@
 		if (priv->stream_switch)
 			priv->audio_curpos = stream_tell(demuxer->stream);
 	}
-	
+
     // If we're reordering audio packets and we need more data get it
     if (audioreorder_getnextpk)
         continue;
 
 	return 1;
     }
-    
+
     if(demuxer->video->id==stream_id){
 got_video:
 	ds=demuxer->video;
 	mp_dbg(MSGT_DEMUX,MSGL_DBG2, "packet is video (id: %d)\n", stream_id);
-	
+
 	// parse video chunk:
 	{
 	    // we need a more complicated, 2nd level demuxing, as the video
@@ -903,7 +903,7 @@
  	    	    vpkg_offset=0;
  		    vpkg_length=len;
 		} else {
-		
+
 		    if (0==(vpkg_header&0x40)) {
 			// sub-seqnum (bits 0-6: number of fragment. bit 7: ???)
 		        vpkg_subseq=stream_read_char(demuxer->stream);
@@ -1029,7 +1029,7 @@
 		if (vpkg_length > len) {
 		    mp_msg(MSGT_DEMUX, MSGL_WARN,"\n******** WARNING: vpkg_length=%i > len=%i ********\n", vpkg_length, len);
 		    /*
-		     * To keep the video stream rolling, we need to break 
+		     * To keep the video stream rolling, we need to break
 		     * here. We shouldn't touch len to make sure rest of the
 		     * broken packet is skipped.
 		     */
@@ -1040,14 +1040,14 @@
 		queue_video_packet(priv, ds, dp);
 
 	    } // while(len>0)
-	    
+
 	    if(len){
 		mp_msg(MSGT_DEMUX, MSGL_WARN,"\n******** !!!!!!!! BUG!! len=%d !!!!!!!!!!! ********\n",len);
 		if(len>0) stream_skip(demuxer->stream, len);
 	    }
 	}
 	if ((unsigned)demuxer->video->id < MAX_STREAMS) {
-		while (priv->current_vpacket + 1 < priv->index_table_size[demuxer->video->id] && 
+		while (priv->current_vpacket + 1 < priv->index_table_size[demuxer->video->id] &&
 		       timestamp > priv->index_table[demuxer->video->id][priv->current_vpacket + 1].timestamp) {
 			priv->current_vpacket += 1;
 			priv->stream_switch = 1;
@@ -1117,7 +1117,7 @@
 //    for (i = 1; ; i++)
     {
 	int chunk_id, chunk_pos, chunk_size;
-	
+
 	chunk_pos = stream_tell(demuxer->stream);
 	chunk_id = stream_read_dword_le(demuxer->stream);
 	chunk_size = stream_read_dword(demuxer->stream);
@@ -1126,12 +1126,12 @@
 
 	mp_msg(MSGT_DEMUX,MSGL_V, "Chunk: %.4s (%x) (size: 0x%x, offset: 0x%x)\n",
 	    (char *)&chunk_id, chunk_id, chunk_size, chunk_pos);
-	
+
 	if (chunk_id != MKTAG('D', 'A', 'T', 'A') && chunk_size < 10){
 	    mp_msg(MSGT_DEMUX,MSGL_ERR,"demux_real: invalid chunksize! (%d)\n",chunk_size);
 	    break; //return;
 	}
-	
+
 	switch(chunk_id)
 	{
 	    case MKTAG('P', 'R', 'O', 'P'):
@@ -1154,7 +1154,7 @@
 #else
 		{
 		    int flags = stream_read_word(demuxer->stream);
-		    
+
 		    if (flags)
 		    {
 		    mp_msg(MSGT_DEMUX,MSGL_V,"Flags (%x): ", flags);
@@ -1229,7 +1229,7 @@
 
 		stream_id = stream_read_word(demuxer->stream);
 		mp_msg(MSGT_DEMUX,MSGL_V,"Found new stream (id: %d)\n", stream_id);
-		
+
 		stream_skip(demuxer->stream, 4); /* max bitrate */
 		bitrate = stream_read_dword(demuxer->stream); /* avg bitrate */
 		stream_skip(demuxer->stream, 4); /* max packet size */
@@ -1237,7 +1237,7 @@
 		stream_skip(demuxer->stream, 4); /* start time */
 		stream_skip(demuxer->stream, 4); /* preroll */
 		stream_skip(demuxer->stream, 4); /* duration */
-		
+
 		if ((len = stream_read_char(demuxer->stream)) > 0) {
 		    descr = malloc(len+1);
 	    	stream_read(demuxer->stream, descr, len);
@@ -1251,7 +1251,7 @@
 		    mimet[len] = 0;
 		    mp_msg(MSGT_DEMUX, MSGL_INFO,"Stream mimetype: %s\n", mimet);
 		}
-		
+
 		/* Type specific header */
 		codec_data_size = stream_read_dword(demuxer->stream);
 		codec_pos = stream_tell(demuxer->stream);
@@ -1349,7 +1349,7 @@
 		    sub_packet_size = stream_read_word(demuxer->stream);
 		    mp_msg(MSGT_DEMUX,MSGL_V,"sub_packet_size: %d\n", sub_packet_size);
 		    stream_skip(demuxer->stream, 2); // 0
-		    
+
 		    if (version == 5)
 			stream_skip(demuxer->stream, 6); //0,srate,0
 
@@ -1368,7 +1368,7 @@
 			buf[4] = 0;
 		    }
 		    else
-		    {		
+		    {
 			/* Interleaver id */
 			get_str(1, demuxer, buf, sizeof(buf));
 			priv->intl_id[stream_id] = MKTAG(buf[0], buf[1], buf[2], buf[3]);
@@ -1406,9 +1406,9 @@
 			case MKTAG('a', 't', 'r', 'c'):
 			case MKTAG('c', 'o', 'o', 'k'):
 			    // realaudio codec plugins - common:
-			    stream_skip(demuxer->stream,3);  // Skip 3 unknown bytes 
+			    stream_skip(demuxer->stream,3);  // Skip 3 unknown bytes
 			    if (version==5)
-			      stream_skip(demuxer->stream,1);  // Skip 1 additional unknown byte 
+			      stream_skip(demuxer->stream,1);  // Skip 1 additional unknown byte
 			    codecdata_length=stream_read_dword(demuxer->stream);
 			    // Check extradata len, we can't store bigger values in cbSize anyway
 			    if ((unsigned)codecdata_length > 0xffff) {
@@ -1430,9 +1430,9 @@
 			    /* This is just AAC. The two or five bytes of */
 			    /* config data needed for libfaad are stored */
 			    /* after the audio headers. */
-			    stream_skip(demuxer->stream,3);  // Skip 3 unknown bytes 
+			    stream_skip(demuxer->stream,3);  // Skip 3 unknown bytes
 			    if (version==5)
-				stream_skip(demuxer->stream,1);  // Skip 1 additional unknown byte 
+				stream_skip(demuxer->stream,1);  // Skip 1 additional unknown byte
 			    codecdata_length=stream_read_dword(demuxer->stream);
 			    if (codecdata_length>=1) {
 				sh->codecdata_len = codecdata_length - 1;
@@ -1453,7 +1453,7 @@
 		    priv->audiopk_size[stream_id] = frame_size;
 
 		    sh->wf->wFormatTag = sh->format;
-		    
+
 		    mp_msg(MSGT_DEMUX,MSGL_V,"audio fourcc: %.4s (%x)\n", (char *)&sh->format, sh->format);
 		    if ( mp_msg_test(MSGT_DEMUX,MSGL_V) )
 		    print_wave_header(sh->wf, MSGL_V);
@@ -1472,7 +1472,7 @@
         	priv->audio_buf = calloc(priv->sub_packet_h[demuxer->audio->id], priv->audiopk_size[demuxer->audio->id]);
         	priv->audio_timestamp = calloc(priv->sub_packet_h[demuxer->audio->id], sizeof(double));
 		    }
-		    
+
 		    ++a_streams;
 
 #ifdef stream_skip
@@ -1493,12 +1493,12 @@
 		    sh->wf->nBlockAlign = 0;//frame_size;
 		    sh->wf->cbSize = 0;
 		    sh->wf->wFormatTag = sh->format = mmioFOURCC('a','d','u',0x55);
-		    
+
 		    if(demuxer->audio->id==stream_id){
 			    sh->ds=demuxer->audio;
 			    demuxer->audio->sh=sh;
 		    }
-		    
+
 		    ++a_streams;
 	  } else if (strstr(mimet,"x-ralf-mpeg4")) {
 		 mp_msg(MSGT_DEMUX,MSGL_ERR,"Real lossless audio not supported yet\n");
@@ -1536,7 +1536,7 @@
 		    sh->fps = (float) stream_read_word(demuxer->stream);
 		    if (sh->fps<=0) sh->fps=24; // we probably won't even care about fps
 		    sh->frametime = 1.0f/sh->fps;
-		    
+
 #if 1
 		    stream_skip(demuxer->stream, 4);
 #else
@@ -1556,7 +1556,7 @@
 			mp_msg(MSGT_DEMUX, MSGL_WARN,"realvid: ignoring FPS = %d\n",fps);
 		    }
 		    stream_skip(demuxer->stream, 2);
-		    
+
 		    {
 			    // read and store codec extradata
 			    unsigned int cnt = codec_data_size - (stream_tell(demuxer->stream) - codec_pos);
@@ -1567,10 +1567,10 @@
 			        sh->bih->biSize += cnt;
 				stream_read(demuxer->stream, ((unsigned char*)(sh->bih+1)), cnt);
 			    }
-		    } 
+		    }
 		    if(sh->format == 0x30315652 && ((unsigned char*)(sh->bih+1))[6] == 0x30)
 			    sh->bih->biCompression = sh->format = mmioFOURCC('R', 'V', '1', '3');
-		    
+
 		    /* Select video stream with highest bitrate if multirate file*/
 		    if (priv->is_multirate && ((demuxer->video->id == -1) ||
 		                               ((demuxer->video->id >= 0) && priv->v_bitrate && (bitrate > priv->v_bitrate)))) {
@@ -1583,7 +1583,7 @@
 			sh->ds=demuxer->video;
 			demuxer->video->sh=sh;
 		    }
-		    
+
 		    ++v_streams;
 
 		}
@@ -1596,7 +1596,7 @@
 		 } else if (strstr(mimet,"-audio") || strstr(mimet,"-video")) {
 		    int i, stream_cnt;
 		    int stream_list[MAX_STREAMS];
-		    
+
 		    priv->is_multirate = 1;
 		    stream_skip(demuxer->stream, 4); // Length of codec data (repeated)
 		    stream_cnt = stream_read_dword(demuxer->stream); // Get number of audio or video streams
@@ -1615,7 +1615,7 @@
 		            mp_msg(MSGT_DEMUX,MSGL_V,"Stream %d with DATA offset 0x%08x\n", stream_list[i], priv->str_data_offset[stream_list[i]]);
 		        }
 		    // Skip the rest of this chunk
-		 } else 
+		 } else
 		     mp_msg(MSGT_DEMUX,MSGL_V,"Unknown logical stream\n");
 		}
 		else {
@@ -1770,7 +1770,7 @@
 {
     int i;
     real_priv_t* priv = demuxer->priv;
- 
+
     if (priv){
     	for(i=0; i<MAX_STREAMS; i++)
 	    if(priv->index_table[i])
@@ -1836,7 +1836,7 @@
 				else
 	    				break;
 	    		}
-	    	} 
+	    	}
 	    else if (rel_seek_secs < 0) {
 	    	while ((cur_timestamp - priv->index_table[vid][priv->current_vpacket].timestamp) < - rel_seek_secs * 1000){
 	    		priv->current_vpacket -= 1;
@@ -1887,22 +1887,22 @@
 {
     real_priv_t *priv = demuxer->priv;
     unsigned int lastpts = priv->v_pts ? priv->v_pts : priv->a_pts;
-    
+
     switch (cmd) {
         case DEMUXER_CTRL_GET_TIME_LENGTH:
 	    if (priv->duration == 0)
 	        return DEMUXER_CTRL_DONTKNOW;
-	    
+
 	    *((double *)arg) = (double)priv->duration;
 	    return DEMUXER_CTRL_OK;
 
 	case DEMUXER_CTRL_GET_PERCENT_POS:
 	    if (priv->duration == 0)
 	        return DEMUXER_CTRL_DONTKNOW;
-	    
+
 	    *((int *)arg) = (int)(100 * lastpts / priv->duration);
 	    return DEMUXER_CTRL_OK;
-	
+
 	default:
 	    return DEMUXER_CTRL_NOTIMPL;
     }