diff options
author | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-07-07 02:26:13 +0300 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-07-07 02:34:35 +0300 |
commit | 0eb321bf2c1cc0e048faff26a01f86cdd3ec254f (patch) | |
tree | 71cb9bd9ed121156d3382066c0722c73189afe04 /libmpdemux/demux_real.c | |
parent | 6d908205fbadbdf7ccdc6c5e0eb918f0b43f16e0 (diff) | |
download | mpv-0eb321bf2c1cc0e048faff26a01f86cdd3ec254f.tar.bz2 mpv-0eb321bf2c1cc0e048faff26a01f86cdd3ec254f.tar.xz |
Remove trailing whitespace from most files
Diffstat (limited to 'libmpdemux/demux_real.c')
-rw-r--r-- | libmpdemux/demux_real.c | 128 |
1 files changed, 64 insertions, 64 deletions
diff --git a/libmpdemux/demux_real.c b/libmpdemux/demux_real.c index eb4af6280b..60e44ed22d 100644 --- a/libmpdemux/demux_real.c +++ b/libmpdemux/demux_real.c @@ -73,28 +73,28 @@ typedef struct { /* 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 @@ typedef struct { 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 @@ static void dump_index(demuxer_t *demuxer, int stream_id) 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 @@ read_index: 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 @@ read_index: 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 @@ read_index: // 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 @@ static void add_index_segment(demuxer_t *demuxer, int seek_stream_id, int64_t se 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 @@ static void add_index_segment(demuxer_t *demuxer, int seek_stream_id, int64_t se 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 @@ static int generate_index(demuxer_t *demuxer) 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 @@ read_index: } 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 @@ read_index: } 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 @@ read_index: 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 @@ read_index: // 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 @@ static int real_check_file(demuxer_t* demuxer) 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 @@ static int demux_real_fill_buffer(demuxer_t *demuxer, demux_stream_t *dsds) 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 @@ static int demux_real_fill_buffer(demuxer_t *demuxer, demux_stream_t *dsds) 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 @@ got_audio: 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 @@ got_video: 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 @@ got_video: 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 @@ got_video: 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) // 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) #else { int flags = stream_read_word(demuxer->stream); - + if (flags) { mp_msg(MSGT_DEMUX,MSGL_V,"Flags (%x): ", flags); @@ -1229,7 +1229,7 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) /* 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) sh->ds=demuxer->video; demuxer->video->sh=sh; } - + ++v_streams; } @@ -1596,7 +1596,7 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) } 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 @@ static demuxer_t* demux_open_real(demuxer_t* demuxer) 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 @@ static void demux_close_real(demuxer_t *demuxer) { 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 @@ static void demux_seek_real(demuxer_t *demuxer, float rel_seek_secs, float audio 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 @@ static int demux_real_control(demuxer_t *demuxer, int cmd, void *arg) { 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; } |