diff options
Diffstat (limited to 'demux_mov.c')
-rw-r--r-- | demux_mov.c | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/demux_mov.c b/demux_mov.c index 227838e0d0..c3491e6f4f 100644 --- a/demux_mov.c +++ b/demux_mov.c @@ -5,7 +5,8 @@ #include <stdlib.h> #include <unistd.h> -extern int verbose; // defined in mplayer.c +#include "config.h" +#include "mp_msg.h" #include "stream.h" #include "demuxer.h" @@ -48,7 +49,7 @@ int mov_check_file(demuxer_t* demuxer){ int flags=0; mov_priv_t* priv=malloc(sizeof(mov_priv_t)); - printf("Checking for MOV\n"); + mp_msg(MSGT_DEMUX,MSGL_V,"Checking for MOV\n"); memset(priv,0,sizeof(mov_priv_t)); demuxer->priv=priv; @@ -60,19 +61,19 @@ int mov_check_file(demuxer_t* demuxer){ if(len<8) break; // invalid chunk switch(id){ case MOV_FOURCC('m','o','o','v'): - if(verbose)printf("MOV: Movie header found!\n"); + mp_msg(MSGT_DEMUX,MSGL_V,"MOV: Movie header found!\n"); priv->moov_start=stream_tell(demuxer->stream); priv->moov_end=priv->moov_start+len-8; flags|=1; break; case MOV_FOURCC('m','d','a','t'): - if(verbose)printf("MOV: Movie DATA found!\n"); + mp_msg(MSGT_DEMUX,MSGL_V,"MOV: Movie DATA found!\n"); priv->mdat_start=stream_tell(demuxer->stream); priv->mdat_end=priv->mdat_start+len-8; flags|=2; break; default: - if(verbose) printf("MOV: unknown chunk: %.4s %d\n",&id,(int)len); + mp_msg(MSGT_DEMUX,MSGL_V,"MOV: unknown chunk: %.4s %d\n",&id,(int)len); } if(!stream_skip(demuxer->stream,len-8)) break; } @@ -94,28 +95,28 @@ static void lschunks(demuxer_t* demuxer,int level,off_t endpos,mov_track_t* trak len-=8; id=stream_read_dword(demuxer->stream); // - if(verbose>1)printf("lschunks %.4s %d\n",&id,(int)len); + mp_msg(MSGT_DEMUX,MSGL_DBG2,"lschunks %.4s %d\n",&id,(int)len); // if(trak){ switch(id){ case MOV_FOURCC('t','k','h','d'): { - if(verbose)printf("MOV: %*sTrack header!\n",level,""); + mp_msg(MSGT_DEMUX,MSGL_V,"MOV: %*sTrack header!\n",level,""); // read width x height break; } case MOV_FOURCC('m','d','h','d'): { - if(verbose)printf("MOV: %*sMedia header!\n",level,""); + mp_msg(MSGT_DEMUX,MSGL_V,"MOV: %*sMedia header!\n",level,""); // read timescale break; } case MOV_FOURCC('v','m','h','d'): { - if(verbose)printf("MOV: %*sVideo header!\n",level,""); + mp_msg(MSGT_DEMUX,MSGL_V,"MOV: %*sVideo header!\n",level,""); trak->type=MOV_TRAK_VIDEO; // read video data break; } case MOV_FOURCC('s','m','h','d'): { - if(verbose)printf("MOV: %*sSound header!\n",level,""); + mp_msg(MSGT_DEMUX,MSGL_V,"MOV: %*sSound header!\n",level,""); trak->type=MOV_TRAK_AUDIO; // read audio data break; @@ -123,13 +124,13 @@ static void lschunks(demuxer_t* demuxer,int level,off_t endpos,mov_track_t* trak case MOV_FOURCC('s','t','s','d'): { int i=stream_read_dword(demuxer->stream); // temp! int count=stream_read_dword(demuxer->stream); - if(verbose)printf("MOV: %*sDescription list! (cnt:%d)\n",level,"",count); + mp_msg(MSGT_DEMUX,MSGL_V,"MOV: %*sDescription list! (cnt:%d)\n",level,"",count); for(i=0;i<count;i++){ off_t pos=stream_tell(demuxer->stream); off_t len=stream_read_dword(demuxer->stream); unsigned int fourcc=stream_read_dword_le(demuxer->stream); if(len<8) break; // error - if(verbose)printf("MOV: %*s desc #%d: %.4s",level,"",i,&fourcc); + mp_msg(MSGT_DEMUX,MSGL_V,"MOV: %*s desc #%d: %.4s",level,"",i,&fourcc); if(!i){ trak->fourcc=fourcc; // read codec data @@ -137,28 +138,28 @@ static void lschunks(demuxer_t* demuxer,int level,off_t endpos,mov_track_t* trak trak->data=malloc(trak->data_len); stream_read(demuxer->stream,trak->data,trak->data_len); if(trak->type==MOV_TRAK_VIDEO && trak->data_len>43){ - printf(" '%.*s'",trak->data_len-43,trak->data+43); + mp_msg(MSGT_DEMUX,MSGL_V," '%.*s'",trak->data_len-43,trak->data+43); } } - if(verbose) printf("\n"); + mp_msg(MSGT_DEMUX,MSGL_V,"\n"); if(fourcc!=trak->fourcc && i) - printf("MOV: Warning! variable FOURCC detected!?\n"); + mp_msg(MSGT_DEMUX,MSGL_WARN,"MOV: Warning! variable FOURCC detected!?\n"); if(!stream_seek(demuxer->stream,pos+len)) break; } break; } case MOV_FOURCC('m','d','i','a'): { - if(verbose)printf("MOV: %*sMedia stream!\n",level,""); + mp_msg(MSGT_DEMUX,MSGL_V,"MOV: %*sMedia stream!\n",level,""); lschunks(demuxer,level+1,pos+len,trak); break; } case MOV_FOURCC('m','i','n','f'): { - if(verbose)printf("MOV: %*sMedia info!\n",level,""); + mp_msg(MSGT_DEMUX,MSGL_V,"MOV: %*sMedia info!\n",level,""); lschunks(demuxer,level+1,pos+len,trak); break; } case MOV_FOURCC('s','t','b','l'): { - if(verbose)printf("MOV: %*sSample info!\n",level,""); + mp_msg(MSGT_DEMUX,MSGL_V,"MOV: %*sSample info!\n",level,""); lschunks(demuxer,level+1,pos+len,trak); break; } @@ -167,19 +168,19 @@ static void lschunks(demuxer_t* demuxer,int level,off_t endpos,mov_track_t* trak if(id==MOV_FOURCC('t','r','a','k')){ // if(trak) printf("MOV: Warning! trak in trak?\n"); if(priv->track_db>=MOV_MAX_TRACKS){ - printf("MOV: Warning! too many tracks!"); + mp_msg(MSGT_DEMUX,MSGL_WARN,"MOV: Warning! too many tracks!"); return; } trak=malloc(sizeof(mov_track_t)); memset(trak,0,sizeof(mov_track_t)); - if(verbose)printf("MOV: Track #%d:\n",priv->track_db); + mp_msg(MSGT_DEMUX,MSGL_V,"MOV: Track #%d:\n",priv->track_db); trak->id=priv->track_db; priv->tracks[priv->track_db++]=trak; lschunks(demuxer,level+1,pos+len,trak); trak=NULL; } else if(id==MOV_FOURCC('c','m','o','v')){ - printf("MOV: Compressed headers not (yet) supported!\n"); + mp_msg(MSGT_DEMUX,MSGL_ERR,"MOV: Compressed headers not (yet) supported!\n"); return; } @@ -201,7 +202,7 @@ int mov_read_header(demuxer_t* demuxer){ // Build tables: // ... - printf("\n****** Quicktime MOV format not yet supported!!!!!!! *******\n"); + mp_msg(MSGT_DEMUX,MSGL_ERR,"\n****** Quicktime MOV format not yet supported!!!!!!! *******\n"); return 1; } |