Hardware->modify headphone audio
This commit is contained in:
@ -890,10 +890,13 @@ static int out_standby(struct audio_stream *stream)
|
||||
{
|
||||
struct stream_out *out = (struct stream_out *)stream;
|
||||
struct audio_device *adev = out->dev;
|
||||
char value[PROPERTY_VALUE_MAX];
|
||||
|
||||
lock_all_outputs(adev);
|
||||
|
||||
property_get("media.audio.close", value, NULL);
|
||||
if (atoi(value) != 3) {
|
||||
do_out_standby(out);
|
||||
}
|
||||
|
||||
unlock_all_outputs(adev, NULL);
|
||||
|
||||
@ -936,9 +939,8 @@ static int out_set_parameters(struct audio_stream *stream, const char *kvpairs)
|
||||
char value[32];
|
||||
int ret;
|
||||
unsigned int val;
|
||||
|
||||
char value1[PROPERTY_VALUE_MAX];
|
||||
parms = str_parms_create_str(kvpairs);
|
||||
|
||||
ret = str_parms_get_str(parms, AUDIO_PARAMETER_STREAM_ROUTING,
|
||||
value, sizeof(value));
|
||||
lock_all_outputs(adev);
|
||||
@ -956,8 +958,11 @@ static int out_set_parameters(struct audio_stream *stream, const char *kvpairs)
|
||||
/* force output standby to start or stop SCO pcm stream if needed */
|
||||
if ((val & AUDIO_DEVICE_OUT_ALL_SCO) ^
|
||||
(out->device & AUDIO_DEVICE_OUT_ALL_SCO)) {
|
||||
property_get("media.audio.close", value1, NULL);
|
||||
if (atoi(value1) != 3) {
|
||||
do_out_standby(out);
|
||||
}
|
||||
}
|
||||
|
||||
if (!out->standby && (out == adev->outputs[OUTPUT_HDMI_MULTI] ||
|
||||
!adev->outputs[OUTPUT_HDMI_MULTI] ||
|
||||
@ -1103,7 +1108,7 @@ static int out_set_volume(struct audio_stream_out *stream, float left,
|
||||
static void reset_bitstream_buf(struct stream_out *out)
|
||||
{
|
||||
if (direct_mode.output_mode == HW_PARAMS_FLAG_NLPCM) {
|
||||
ALOGD("reset_bitstream_buf");
|
||||
// ALOGD("reset_bitstream_buf");
|
||||
do_out_standby(out);
|
||||
if (direct_mode.hbr_Buf) {
|
||||
free (direct_mode.hbr_Buf);
|
||||
@ -1172,13 +1177,13 @@ static ssize_t out_write(struct audio_stream_out *stream, const void* buffer,
|
||||
do_out_standby(out);
|
||||
//reset_bitstream_buf(out);
|
||||
}
|
||||
|
||||
if (atoi(value) == 3) {
|
||||
usleep(bytes * 1000000 / audio_stream_out_frame_size(stream) /
|
||||
out_get_sample_rate(&stream->common));
|
||||
return bytes;
|
||||
}
|
||||
|
||||
|
||||
pthread_mutex_lock(&out->lock);
|
||||
if (out->standby) {
|
||||
pthread_mutex_unlock(&out->lock);
|
||||
|
||||
Reference in New Issue
Block a user