author | zhenggang.luo <zhenggang.luo@amlogic.com> | 2014-08-01 09:19:30 (GMT) |
---|---|---|
committer | tao.dong <tao.dong@amlogic.com> | 2014-08-07 06:47:28 (GMT) |
commit | 9884a76287c8a653d5941c5bca58a652ae5705ac (patch) | |
tree | b6b142a0f9d1b0428dda667f008c58e8835b7389 | |
parent | 4bd0110c36824cdc60c0646609d63fd5aa430f77 (diff) | |
download | audio-9884a76287c8a653d5941c5bca58a652ae5705ac.zip audio-9884a76287c8a653d5941c5bca58a652ae5705ac.tar.gz audio-9884a76287c8a653d5941c5bca58a652ae5705ac.tar.bz2 |
PD #94489-1: DTSHD_96/88K PCM output using Directoutput
Change-Id: I4c2f71afbd5288d91386e2c7d2ccec7d5c58fe27
-rwxr-xr-x | hdmi_audio_hw.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/hdmi_audio_hw.c b/hdmi_audio_hw.c index 89ac1a4..58518e9 100755 --- a/hdmi_audio_hw.c +++ b/hdmi_audio_hw.c @@ -463,9 +463,11 @@ static int start_output_stream(struct aml_stream_out *out) return -1; }else{ struct aml_stream_out *pLastStreamOut=(struct aml_stream_out *)HdmiStreamState.pLastStreamOut; - if(pLastStreamOut!=NULL && pLastStreamOut!=out && (codec_type||out->config.channels==8))//corruent output mode:digital_raw + if(pLastStreamOut!=NULL && pLastStreamOut!=out && + (codec_type || out->config.channels==8 || (out->config.channels==2 && out->config.rate>48000 && codec_type==0)) + )//corruent output mode:digital_raw { - ALOGI("[%s %d]Force standy LastStream/%p\n",pLastStreamOut); + ALOGI("[%s %d]Force standy LastStream/%p\n",__FUNCTION__,__LINE__,pLastStreamOut); //------------------------------------------------------------ //do_output_standby(HdmiStreamState.pLastStreamOut); struct aml_audio_device *adev_local =pLastStreamOut->dev; @@ -493,6 +495,12 @@ static int start_output_stream(struct aml_stream_out *out) { HdmiStreamState.N8ch_out_flag=1; } + if(out->config.channels==2 && out->config.rate>48000 && codec_type==0) + { + ALOGI("[%s %d]HD-PCM(Fs/%d>48000) use DirectOuput\n",__FUNCTION__,__LINE__,out->config.rate); + HdmiStreamState.LastStreamDirectFlag=1; + } + if(out->config.rate!=DEFAULT_OUT_SAMPLING_RATE){ |