From af229ffaea5c8134b0351841418fdbeb79954f70 Mon Sep 17 00:00:00 2001 From: arpi Date: Fri, 7 Feb 2003 21:04:35 +0000 Subject: libfaad2 v1.0, v1.1, v1.2 detection, and API change workaround in ad_faad.c based on patch by Andre Schulz git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9322 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/ad_faad.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'libmpcodecs/ad_faad.c') diff --git a/libmpcodecs/ad_faad.c b/libmpcodecs/ad_faad.c index 9fd5720381..02f9bccd51 100644 --- a/libmpcodecs/ad_faad.c +++ b/libmpcodecs/ad_faad.c @@ -85,8 +85,13 @@ static int init(sh_audio_t *sh) sh->a_in_buffer_len = demux_read_data(sh->ds, sh->a_in_buffer, sh->a_in_buffer_size); /* init the codec */ +#if (FAADVERSION <= 11) faac_init = faacDecInit(faac_hdec, sh->a_in_buffer, &faac_samplerate, &faac_channels); +#else + faac_init = faacDecInit(faac_hdec, sh->a_in_buffer, + sh->a_in_buffer_len, &faac_samplerate, &faac_channels); +#endif sh->a_in_buffer_len -= (faac_init > 0)?faac_init:0; // how many bytes init consumed // XXX FIXME: shouldn't we memcpy() here in a_in_buffer ?? --A'rpi @@ -164,7 +169,12 @@ static int decode_audio(sh_audio_t *sh,unsigned char *buf,int minlen,int maxlen) if(!sh->codecdata_len){ // raw aac stream: do { +#if (FAADVERSION <= 11) faac_sample_buffer = faacDecDecode(faac_hdec, &faac_finfo, sh->a_in_buffer+j); +#else + faac_sample_buffer = faacDecDecode(faac_hdec, &faac_finfo, sh->a_in_buffer+j, sh->a_in_buffer_len); +#endif + /* update buffer index after faacDecDecode */ if(faac_finfo.bytesconsumed >= sh->a_in_buffer_len) { sh->a_in_buffer_len=0; @@ -184,7 +194,11 @@ static int decode_audio(sh_audio_t *sh,unsigned char *buf,int minlen,int maxlen) unsigned char* bufptr=NULL; int buflen=ds_get_packet(sh->ds, &bufptr); if(buflen<=0) break; +#if (FAADVERSION <= 11) faac_sample_buffer = faacDecDecode(faac_hdec, &faac_finfo, bufptr); +#else + faac_sample_buffer = faacDecDecode(faac_hdec, &faac_finfo, bufptr, buflen); +#endif // printf("FAAC decoded %d of %d (err: %d) \n",faac_finfo.bytesconsumed,buflen,faac_finfo.error); } -- cgit v1.2.3