Mercurial > mplayer.hg
view libmpdemux/muxer.c @ 15205:19243f85e164
nico partially fixed the bug i reported; here's the rest of the fix.
basically demux_audio was mixing data in its header buffer in a bogus
manner, whereby it could sometimes "make up" valid mpeg headers where
no such header actually occurred in the file. it should be correct now.
btw these changes also fix the bug where mplayer reports huge initial
cpu usage for sound when playing mp3 files.
author | rfelker |
---|---|
date | Sun, 17 Apr 2005 17:17:52 +0000 |
parents | 7a2adc5e8928 |
children | 7b0599d9614a |
line wrap: on
line source
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <inttypes.h> #include <unistd.h> #include "config.h" #include "../version.h" #include "aviheader.h" #include "ms_hdr.h" #include "muxer.h" #include "stream.h" #include "demuxer.h" #include "mp_msg.h" #include "help_mp.h" #include "stheader.h" muxer_t *muxer_new_muxer(int type,FILE *f){ muxer_t* muxer=malloc(sizeof(muxer_t)); memset(muxer,0,sizeof(muxer_t)); muxer->file = f; switch (type) { case MUXER_TYPE_MPEG: if(! muxer_init_muxer_mpeg(muxer)) return NULL; break; case MUXER_TYPE_RAWVIDEO: if(! muxer_init_muxer_rawvideo(muxer)) return NULL; break; #ifdef USE_LIBAVFORMAT case MUXER_TYPE_LAVF: if(! muxer_init_muxer_lavf(muxer)) return NULL; break; #endif case MUXER_TYPE_AVI: default: if(! muxer_init_muxer_avi(muxer)) return NULL; } return muxer; }