summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-09-21 20:34:47 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-09-21 20:34:47 +0000
commit393924ff39b792c16d7a04b8fba1f73aaec97c42 (patch)
treedadcaf1c13098296999f9b6dc653cf3b6c5da82a /libmpcodecs
parentdb4e77d0a5e33da13927d805f69c870082d26ee4 (diff)
downloadmpv-393924ff39b792c16d7a04b8fba1f73aaec97c42.tar.bz2
mpv-393924ff39b792c16d7a04b8fba1f73aaec97c42.tar.xz
setting samplesize to 2 in decoders where neccessary.
Needed because initialization of sh_audio was moved from dec_audio to demuxer.c, and some demuxers set samplesize incorrect or to 0. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13428 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/ad_acm.c1
-rw-r--r--libmpcodecs/ad_alaw.c1
-rw-r--r--libmpcodecs/ad_dk3adpcm.c1
-rw-r--r--libmpcodecs/ad_dmo.c1
-rw-r--r--libmpcodecs/ad_dshow.c1
-rw-r--r--libmpcodecs/ad_faad.c3
-rw-r--r--libmpcodecs/ad_ffmpeg.c1
-rw-r--r--libmpcodecs/ad_imaadpcm.c1
-rw-r--r--libmpcodecs/ad_liba52.c1
-rw-r--r--libmpcodecs/ad_libmad.c1
-rw-r--r--libmpcodecs/ad_mp3lib.c1
-rw-r--r--libmpcodecs/ad_msadpcm.c1
-rw-r--r--libmpcodecs/ad_msgsm.c1
13 files changed, 14 insertions, 1 deletions
diff --git a/libmpcodecs/ad_acm.c b/libmpcodecs/ad_acm.c
index 2be77056b6..50d3a45bf5 100644
--- a/libmpcodecs/ad_acm.c
+++ b/libmpcodecs/ad_acm.c
@@ -127,6 +127,7 @@ static int preinit(sh_audio_t *sh_audio)
sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec;
sh_audio->channels=priv->o_wf->nChannels;
sh_audio->samplerate=priv->o_wf->nSamplesPerSec;
+ sh_audio->samplesize=2;
mp_msg(MSGT_DECVIDEO,MSGL_V,"INFO: Win32/ACM audio codec init OK!\n");
return 1;
diff --git a/libmpcodecs/ad_alaw.c b/libmpcodecs/ad_alaw.c
index 5385d18e27..2f3ec43985 100644
--- a/libmpcodecs/ad_alaw.c
+++ b/libmpcodecs/ad_alaw.c
@@ -25,6 +25,7 @@ static int init(sh_audio_t *sh_audio)
sh_audio->channels=sh_audio->wf->nChannels;
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
sh_audio->i_bps=sh_audio->channels*sh_audio->samplerate;
+ sh_audio->samplesize=2;
return 1;
}
diff --git a/libmpcodecs/ad_dk3adpcm.c b/libmpcodecs/ad_dk3adpcm.c
index 83f3781dcf..4671f23ebe 100644
--- a/libmpcodecs/ad_dk3adpcm.c
+++ b/libmpcodecs/ad_dk3adpcm.c
@@ -84,6 +84,7 @@ static int init(sh_audio_t *sh_audio)
sh_audio->samplerate = sh_audio->wf->nSamplesPerSec;
sh_audio->i_bps =
(sh_audio->ds->ss_mul * sh_audio->samplerate) / sh_audio->ds->ss_div;
+ sh_audio->samplesize=2;
return 1;
}
diff --git a/libmpcodecs/ad_dmo.c b/libmpcodecs/ad_dmo.c
index 5de739ee56..39eaedf46d 100644
--- a/libmpcodecs/ad_dmo.c
+++ b/libmpcodecs/ad_dmo.c
@@ -43,6 +43,7 @@ static int preinit(sh_audio_t *sh_audio)
sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec;
sh_audio->channels=chans;
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
+ sh_audio->samplesize=2;
sh_audio->audio_in_minsize=4*sh_audio->wf->nBlockAlign;
if(sh_audio->audio_in_minsize<8192) sh_audio->audio_in_minsize=8192;
sh_audio->audio_out_minsize=4*16384;
diff --git a/libmpcodecs/ad_dshow.c b/libmpcodecs/ad_dshow.c
index 662a5204db..5e98928b57 100644
--- a/libmpcodecs/ad_dshow.c
+++ b/libmpcodecs/ad_dshow.c
@@ -39,6 +39,7 @@ static int preinit(sh_audio_t *sh_audio)
sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec;
sh_audio->channels=sh_audio->wf->nChannels;
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
+ sh_audio->samplesize=2;
sh_audio->audio_in_minsize=2*sh_audio->wf->nBlockAlign;
if(sh_audio->audio_in_minsize<8192) sh_audio->audio_in_minsize=8192;
sh_audio->audio_out_minsize=16384;
diff --git a/libmpcodecs/ad_faad.c b/libmpcodecs/ad_faad.c
index bcdd397d7d..bb82c87921 100644
--- a/libmpcodecs/ad_faad.c
+++ b/libmpcodecs/ad_faad.c
@@ -71,11 +71,11 @@ static int init(sh_audio_t *sh)
/* XXX: FAAD support FLOAT output, how do we handle
* that (FAAD_FMT_FLOAT)? ::atmos
*/
- if(sh->samplesize)
switch(sh->samplesize){
case 1: // 8Bit
mp_msg(MSGT_DECAUDIO,MSGL_WARN,"FAAD: 8Bit samplesize not supported by FAAD, assuming 16Bit!\n");
default:
+ sh->samplesize=2;
case 2: // 16Bit
faac_conf->outputFormat = FAAD_FMT_16BIT;
break;
@@ -123,6 +123,7 @@ static int init(sh_audio_t *sh)
mp_msg(MSGT_DECAUDIO,MSGL_V,"FAAD: Negotiated samplerate: %dHz channels: %d\n", faac_samplerate, faac_channels);
sh->channels = faac_channels;
sh->samplerate = faac_samplerate;
+ sh->samplesize=2;
//sh->o_bps = sh->samplesize*faac_channels*faac_samplerate;
if(!sh->i_bps) {
mp_msg(MSGT_DECAUDIO,MSGL_WARN,"FAAD: compressed input bitrate missing, assuming 128kbit/s!\n");
diff --git a/libmpcodecs/ad_ffmpeg.c b/libmpcodecs/ad_ffmpeg.c
index 425607e078..06f74f9a10 100644
--- a/libmpcodecs/ad_ffmpeg.c
+++ b/libmpcodecs/ad_ffmpeg.c
@@ -110,6 +110,7 @@ static int init(sh_audio_t *sh_audio)
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec;
#endif
+ sh_audio->samplesize=2;
return 1;
}
diff --git a/libmpcodecs/ad_imaadpcm.c b/libmpcodecs/ad_imaadpcm.c
index 1484f399b1..ba6fca6da7 100644
--- a/libmpcodecs/ad_imaadpcm.c
+++ b/libmpcodecs/ad_imaadpcm.c
@@ -111,6 +111,7 @@ static int init(sh_audio_t *sh_audio)
/* decodes 34 byte -> 64 short*/
sh_audio->i_bps =
(sh_audio->ds->ss_mul * sh_audio->samplerate) / sh_audio->ds->ss_div;
+ sh_audio->samplesize=2;
return 1;
}
diff --git a/libmpcodecs/ad_liba52.c b/libmpcodecs/ad_liba52.c
index 03262ad87c..d168ca1b95 100644
--- a/libmpcodecs/ad_liba52.c
+++ b/libmpcodecs/ad_liba52.c
@@ -67,6 +67,7 @@ while(1){
mp_msg(MSGT_DECAUDIO,MSGL_DBG2,"a52: len=%d flags=0x%X %d Hz %d bit/s\n",length,flags,sample_rate,bit_rate);
sh_audio->samplerate=sample_rate;
sh_audio->i_bps=bit_rate/8;
+ sh_audio->samplesize=2;
demux_read_data(sh_audio->ds,sh_audio->a_in_buffer+8,length-8);
if(sh_audio->format!=0x2000)
swab(sh_audio->a_in_buffer+8,sh_audio->a_in_buffer+8,length-8);
diff --git a/libmpcodecs/ad_libmad.c b/libmpcodecs/ad_libmad.c
index 5ecfd5c4f5..4cf013aec3 100644
--- a/libmpcodecs/ad_libmad.c
+++ b/libmpcodecs/ad_libmad.c
@@ -88,6 +88,7 @@ static int init(sh_audio_t *sh){
sh->channels=(this->frame.header.mode == MAD_MODE_SINGLE_CHANNEL) ? 1 : 2;
sh->samplerate=this->frame.header.samplerate;
sh->i_bps=this->frame.header.bitrate/8;
+ sh_audio->samplesize=2;
return 1;
}
diff --git a/libmpcodecs/ad_mp3lib.c b/libmpcodecs/ad_mp3lib.c
index 2b4f8c96a2..c5716ef317 100644
--- a/libmpcodecs/ad_mp3lib.c
+++ b/libmpcodecs/ad_mp3lib.c
@@ -50,6 +50,7 @@ static int init(sh_audio_t *sh)
sh->a_buffer_len=MP3_DecodeFrame(sh->a_buffer,-1);
if(!sh->a_buffer_len) return 0; // unsupported layer/format
sh->channels=2; // hack
+ sh->samplesize=2;
sh->samplerate=MP3_samplerate;
sh->i_bps=MP3_bitrate*(1000/8);
MP3_PrintHeader();
diff --git a/libmpcodecs/ad_msadpcm.c b/libmpcodecs/ad_msadpcm.c
index 4edbb87349..6dc250235f 100644
--- a/libmpcodecs/ad_msadpcm.c
+++ b/libmpcodecs/ad_msadpcm.c
@@ -78,6 +78,7 @@ static int init(sh_audio_t *sh_audio)
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
sh_audio->i_bps = sh_audio->wf->nBlockAlign *
(sh_audio->channels*sh_audio->samplerate) / sh_audio->ds->ss_div;
+ sh_audio->samplesize=2;
return 1;
}
diff --git a/libmpcodecs/ad_msgsm.c b/libmpcodecs/ad_msgsm.c
index 141f153494..ace6f47e5a 100644
--- a/libmpcodecs/ad_msgsm.c
+++ b/libmpcodecs/ad_msgsm.c
@@ -25,6 +25,7 @@ static int init(sh_audio_t *sh_audio)
GSM_Init();
sh_audio->channels=sh_audio->wf->nChannels;
sh_audio->samplerate=sh_audio->wf->nSamplesPerSec;
+ sh_audio->samplesize=2;
// decodes 65 byte -> 320 short
// 1 sec: sh_audio->channels*sh_audio->samplerate samples
// 1 frame: 320 samples