[Mplayer-cvslog] CVS: main/libmpdemux demux_mov.c,1.16,1.17
Alex Beregszaszi
alex at mplayer.dev.hu
Mon Oct 29 17:56:57 CET 2001
Update of /cvsroot/mplayer/main/libmpdemux
In directory mplayer:/var/tmp.root/cvs-serv18441
Modified Files:
demux_mov.c
Log Message:
added stss (not completed)
Index: demux_mov.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_mov.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- demux_mov.c 29 Oct 2001 16:15:04 -0000 1.16
+++ demux_mov.c 29 Oct 2001 16:56:36 -0000 1.17
@@ -317,8 +317,11 @@
case MOV_FOURCC('s','t','s','c'): {
int temp=stream_read_dword(demuxer->stream);
int len=stream_read_dword(demuxer->stream);
+ int ver = (temp << 24);
+ int flags = (temp << 16)|(temp<<8)|temp;
int i;
- mp_msg(MSGT_DEMUX,MSGL_V,"MOV: %*sSample->Chunk mapping table! (%d blocks)\n",level,"",len);
+ mp_msg(MSGT_DEMUX,MSGL_V,"MOV: %*sSample->Chunk mapping table! (%d blocks) (ver:%d,flags:%ld)\n",
+ level,"",len,ver,flags);
// read data:
trak->chunkmap_size=len;
trak->chunkmap=malloc(sizeof(mov_chunkmap_t)*len);
@@ -332,15 +335,18 @@
case MOV_FOURCC('s','t','s','z'): {
int temp=stream_read_dword(demuxer->stream);
int ss=stream_read_dword(demuxer->stream);
- int len=stream_read_dword(demuxer->stream);
- mp_msg(MSGT_DEMUX,MSGL_V,"MOV: %*sSample size table! len=%d ss=%d\n",level,"",len,ss);
+ int ver = (temp << 24);
+ int flags = (temp << 16)|(temp<<8)|temp;
+ int entries=stream_read_dword(demuxer->stream);
+ mp_msg(MSGT_DEMUX,MSGL_V,"MOV: %*sSample size table! (entries=%d ss=%d) (ver:%d,flags:%ld)\n",
+ level,"",entries,ss,ver,flags);
trak->samplesize=ss;
if(!ss){
// variable samplesize
int i;
- trak->samples=realloc(trak->samples,sizeof(mov_sample_t)*len);
- trak->samples_size=len;
- for(i=0;i<len;i++)
+ trak->samples=realloc(trak->samples,sizeof(mov_sample_t)*entries);
+ trak->samples_size=entries;
+ for(i=0;i<entries;i++)
trak->samples[i].size=stream_read_dword(demuxer->stream);
}
break;
@@ -357,6 +363,23 @@
}
// read elements:
for(i=0;i<len;i++) trak->chunks[i].pos=stream_read_dword(demuxer->stream);
+ break;
+ }
+ case MOV_FOURCC('s','t','s','s'): {
+ int temp=stream_read_dword(demuxer->stream);
+ int entries=stream_read_dword(demuxer->stream);
+ int ver = (temp << 24);
+ int flags = (temp << 16)|(temp<<8)|temp;
+ int i;
+
+ mp_msg(MSGT_DEMUX, MSGL_V,"MOV: %*sSample syncing table! (%d entries) (ver:%d,flags:%ld)\n",
+ level, "",entries, ver, flags);
+#if 0
+ for (i=0;i<entries;i++)
+ {
+ printf("entry#%d: %ld\n", i, stream_read_dword(demuxer->stream));
+ }
+#endif
break;
}
case MOV_FOURCC('m','d','i','a'): {
More information about the MPlayer-cvslog
mailing list