Mercurial > mplayer.hg
view libmpcodecs/ad.c @ 7732:328bbac6224c
Fixes:
- missing check in init
- missing brackets causing failure
- nas_aformat_to_auformat not working properly
- fix hang that was finally reproducible with high disk activity
- don't cut of audio on uninit(), wait for buffer to empty
It also simplifies the event_handler, making it more readable and
implements Sidik Isani's suggestion to make the buffer size dependent on
bytes per second. I've been using it for two days and found no further
problems.
patch by Tobias Diedrich <td@sim.uni-hannover.de>
author | arpi |
---|---|
date | Sun, 13 Oct 2002 22:00:15 +0000 |
parents | 7672615cc811 |
children | 35d663ad0d95 |
line wrap: on
line source
/* ad.c - audio decoder interface */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include "config.h" #include "stream.h" #include "demuxer.h" #include "stheader.h" #include "ad.h" /* Missed vorbis, mad, dshow */ //extern ad_functions_t mpcodecs_ad_null; extern ad_functions_t mpcodecs_ad_mp3lib; extern ad_functions_t mpcodecs_ad_ffmpeg; extern ad_functions_t mpcodecs_ad_liba52; extern ad_functions_t mpcodecs_ad_hwac3; extern ad_functions_t mpcodecs_ad_pcm; extern ad_functions_t mpcodecs_ad_dvdpcm; extern ad_functions_t mpcodecs_ad_alaw; extern ad_functions_t mpcodecs_ad_imaadpcm; extern ad_functions_t mpcodecs_ad_msadpcm; extern ad_functions_t mpcodecs_ad_dk3adpcm; extern ad_functions_t mpcodecs_ad_dk4adpcm; extern ad_functions_t mpcodecs_ad_roqaudio; extern ad_functions_t mpcodecs_ad_dshow; extern ad_functions_t mpcodecs_ad_acm; extern ad_functions_t mpcodecs_ad_msgsm; extern ad_functions_t mpcodecs_ad_faad; extern ad_functions_t mpcodecs_ad_libvorbis; extern ad_functions_t mpcodecs_ad_libmad; extern ad_functions_t mpcodecs_ad_realaud; extern ad_functions_t mpcodecs_ad_libdv; ad_functions_t* mpcodecs_ad_drivers[] = { // &mpcodecs_ad_null, &mpcodecs_ad_mp3lib, &mpcodecs_ad_liba52, &mpcodecs_ad_hwac3, #ifdef USE_LIBAVCODEC &mpcodecs_ad_ffmpeg, #endif &mpcodecs_ad_pcm, &mpcodecs_ad_dvdpcm, &mpcodecs_ad_alaw, &mpcodecs_ad_imaadpcm, &mpcodecs_ad_msadpcm, &mpcodecs_ad_dk3adpcm, &mpcodecs_ad_roqaudio, &mpcodecs_ad_msgsm, #ifdef USE_WIN32DLL #ifdef USE_DIRECTSHOW &mpcodecs_ad_dshow, #endif &mpcodecs_ad_acm, #endif #ifdef HAVE_FAAD &mpcodecs_ad_faad, #endif #ifdef HAVE_OGGVORBIS &mpcodecs_ad_libvorbis, #endif #ifdef USE_LIBMAD &mpcodecs_ad_libmad, #endif #ifdef USE_REALCODECS &mpcodecs_ad_realaud, #endif #ifdef HAVE_LIBDV095 &mpcodecs_ad_libdv, #endif NULL };