summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-10-29 16:15:04 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-10-29 16:15:04 +0000
commit3b83b7457b4e5a240e95476abf95047952b96a8d (patch)
tree9b0432445be394225f40dadac6f11d5658889562 /libmpdemux
parente76a77ce14bcdc7e4598267af7cba30e35696a1d (diff)
downloadmpv-3b83b7457b4e5a240e95476abf95047952b96a8d.tar.bz2
mpv-3b83b7457b4e5a240e95476abf95047952b96a8d.tar.xz
changed if's to switch in lschunks
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2533 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/demux_mov.c39
1 files changed, 29 insertions, 10 deletions
diff --git a/libmpdemux/demux_mov.c b/libmpdemux/demux_mov.c
index 0390bce5b0..c7a4d18f06 100644
--- a/libmpdemux/demux_mov.c
+++ b/libmpdemux/demux_mov.c
@@ -136,6 +136,7 @@ void mov_build_index(mov_track_t* trak){
#define MOV_TRAK_UNKNOWN 0
#define MOV_TRAK_VIDEO 1
#define MOV_TRAK_AUDIO 2
+#define MOV_TRAK_FLASH 3
typedef struct {
off_t moov_start;
@@ -373,9 +374,14 @@ static void lschunks(demuxer_t* demuxer,int level,off_t endpos,mov_track_t* trak
lschunks(demuxer,level+1,pos+len,trak);
break;
}
+ default:
+ id = bswap_32(id);
+ mp_msg(MSGT_DEMUX,MSGL_V,"MOV: unknown chunk: %.4s %d\n",&id,(int)len);
+ break;
}//switch(id)
- } else
- if(id==MOV_FOURCC('t','r','a','k')){
+ } else { /* not in track */
+ switch(id) {
+ case MOV_FOURCC('t','r','a','k'): {
// if(trak) printf("MOV: Warning! trak in trak?\n");
if(priv->track_db>=MOV_MAX_TRACKS){
mp_msg(MSGT_DEMUX,MSGL_WARN,MSGTR_MOVtooManyTrk);
@@ -438,27 +444,33 @@ static void lschunks(demuxer_t* demuxer,int level,off_t endpos,mov_track_t* trak
}
break;
}
+ default:
+ mp_msg(MSGT_DEMUX, MSGL_INFO, "Unknown track type found (type: %d)\n", trak->type);
+ break;
}
mp_msg(MSGT_DEMUX, MSGL_INFO, "--------------\n");
priv->track_db++;
trak=NULL;
- } else
+ break;
+ }
#ifndef HAVE_ZLIB
- if(id==MOV_FOURCC('c','m','o','v')){
+ case MOV_FOURCC('c','m','o','v'): {
mp_msg(MSGT_DEMUX,MSGL_ERR,MSGTR_MOVcomprhdr);
return;
}
#else
- if(id==MOV_FOURCC('c','m','o','v')){
+ case MOV_FOURCC('c','m','o','v'): {
// mp_msg(MSGT_DEMUX,MSGL_ERR,MSGTR_MOVcomprhdr);
lschunks(demuxer,level+1,pos+len,NULL);
- } else
- if(id==MOV_FOURCC('d','c','o','m')){
+ break;
+ }
+ case MOV_FOURCC('d','c','o','m'): {
// int temp=stream_read_dword(demuxer->stream);
unsigned int len=bswap_32(stream_read_dword(demuxer->stream));
mp_msg(MSGT_DEMUX, MSGL_INFO, "Compressed header uses %.4s algo!\n",&len);
- } else
- if(id==MOV_FOURCC('c','m','v','d')){
+ break;
+ }
+ case MOV_FOURCC('c','m','v','d'): {
// int temp=stream_read_dword(demuxer->stream);
unsigned int moov_sz=stream_read_dword(demuxer->stream);
unsigned int cmov_sz=len-4;
@@ -510,9 +522,10 @@ static void lschunks(demuxer_t* demuxer,int level,off_t endpos,mov_track_t* trak
demuxer->stream=backup;
free(cmov_buf);
free(moov_buf);
+ break;
}
#endif
- else if (id==MOV_FOURCC('u','d','t','a'))
+ case MOV_FOURCC('u','d','t','a'):
{
unsigned int udta_id;
off_t udta_len;
@@ -584,7 +597,13 @@ static void lschunks(demuxer_t* demuxer,int level,off_t endpos,mov_track_t* trak
}
}
}
+ break;
} /* eof udta */
+ default:
+ id = bswap_32(id);
+ mp_msg(MSGT_DEMUX,MSGL_V,"MOV: unknown chunk: %.4s %d\n",&id,(int)len);
+ } /* endof switch */
+ } /* endof else */
pos+=len+8;
if(pos>=endpos) break;