| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem is that when the A2DP headset is disconnected, there is a transition
period during which the A2DP sink pumps data at a very high pace.
This makes that:
1 the audio flinger mixer thread spins and starves binder threads thus delaying
the completion of the A2DP output stream shutdown
2 we read the audio http audio stream faster than normal and we reach the end of stream
for audio while video is still playing if the streamed file is small enough.
The fix consists in detecting abnormal short write intervals and sleep to restore
a normal write pace.
Change-Id: Iab127882494ab0e26266371dc0ce5c2ff6fa476e
|
|
|
|
|
|
|
|
|
|
| |
The audio routing policy when speakerphone is on and a dock with built-in
speakers is connected should be to output audio to teh dock speakers
Also removed route to SCO car kit if forced usage is not SCO as the SCO
socket might not be established.
Change-Id: I1aa2954092e28de935304b90f7a7a64d661934c7
|
|
|
|
|
|
|
|
|
|
| |
HDMI device should have a higher priority than analog dock audio but a lower priority
than wired headsets.
Also modified AudioService so that HDMI is mapped to DEVICE_OUT_AUX_DIGITAL device and not
DEVICE_OUT_DGTL_DOCK_HEADSET as before to enable discrimination between SPDIF going to
digital dock and SPIDF going to HDMI.
Change-Id: I887d0c73479784dd2edaf41ce1a7d8d0bdcbb4bd
|
|
|
|
|
|
|
| |
Since the new audio mode IN_COMMUNICATION was added, the audio mode log
was broken.
Change-Id: I4fdafc3b98a1b0ceb55058a9e47fed99b3dbe6ad
|
|
|
|
|
|
|
|
| |
any outstanding video frames and ignore
releaseRecordingFrame() call after it receives disableMsgType(CAMERA_MSG_VIDEO_FRAME).
Change-Id: I2ecb9b3b11dab6bf868ccf8effda1b8df5bcde3c
|
|
|
|
|
|
|
| |
the same functionality is now supported through
the h/w composer HAL, and YUV support in the GPU.
Change-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf
|
|
|
|
|
|
| |
bug - 3259009
Change-Id: Ib7634f10a7fe7b7ce7014b79b07957d194bae1a7
|
|\
| |
| |
| | |
Change-Id: Iec5f810c366d3e1c14a6f6294b0aea4ffb30ae3e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There is a bug in the way audio policy manager handles A2DP interface suspend/restore
when SCO is used. This bug is not new but has been triggered by a change in the timing
of the events received by audio policy manager when a call is setup and torn down
introduced by commit 164a8f86c7e48992691368c4895709c3bdb835a4.
The fix consists in grouping the control of A2DP suspended state in a single function
that is called systematically when conditions affecting this state are changed:
- call state change
- device connection/disconnection
- change in forced usage.
Change-Id: I46ee2399ee5547b60511fc6cfd32e2720091b0f8
|
| |
| |
| |
| |
| |
| | |
Now overlay does flip before rotation.
bug:3114236
Change-Id: I1780e56154566435a0ceeb2f101de7ed0a0613cb
|
| |
| |
| |
| |
| |
| |
| |
| | |
Now overlay does ROT_90 before FLIP_V or FLIP_H. It should be FLIP_V
or FLIP_H first. The formula should be changed after overlay is fixed.
bug:3059865
Change-Id: Ie4366bf7f1fcac7383e8dfc74b1b865997bbbcc6
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 065299b58d1c00cd24e442fa192561decf7b1fec.
The work around for issue 3187563 is not needed any more since the new kernel
DMA driver implementation (commit 7953250be7c9a1c3417e21b20032b571d495d218)
fixes the root cause.
Change-Id: Ibaac2826b63c8e5825ae2e5cab2fb2f0e51ab7b4
|
| |
| |
| |
| |
| |
| | |
Take a wake lock whenever A2DP output stream is active.
Change-Id: Ie50e6d4cb34c8a1ba97b301ef25e10aeb153d8f3
|
| |
| |
| |
| |
| |
| |
| | |
Use a Mutex wherever atomic operations were used in AudioTrack,
AudioRecord, AudioFlinger and AudioEffect classes.
Change-Id: I6f55b2cabdcd93d64ef19446735b8f33720f8dbc
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The audio mode MODE_IN_CALL signals the system the device a phone
call is currently underway. There was no way for audio video
chat or VoIP applications to signal a call is underway, but not
using the telephony resources. This change introduces a new mode
to address this. Changes in other parts of the system (java
and native) are required to take this new mode into account.
The generic AudioPolicyManager is updated to not use its phone
state variable directly, but to use two new convenience methods,
isInCall() and isStateInCall(int) instead.
Change-Id: Id744cd26520ea1d1a4795eabe6a1f0c58789af76
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Update the platform-independent audio policy manager to pass the
nature of the audio recording source to the audio policy client
interface through the AudioPolicyClientInterface::setParameters()
method.
Change-Id: I6b4fd0f8a3acea0d7d30bbad98edd1977dc012bf
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The audio HAL does not always handle properly simultaneous input and output stream
state changes. This happens in particular when starting video record because output
stream starts and stops while input is active.
Temporary disable the video record jingle the time the audio HAL issues are solved.
Change-Id: I3b923d81af543a335deae9e22d7f396bb5791d91
|
| |
| |
| |
| |
| |
| |
| | |
Add a recording source used to designate a recording stream for
voice communications such as VoIP.
Change-Id: I4091d67069b1a0170c1a5ca5e6acd51eb0aa08f9
|
| |
| |
| |
| |
| | |
Change-Id: I06b2e65e3bfa10735e6c7fd3349afa9ae7d45292
Signed-off-by: Praveen Bharathi <pbharathi@motorola.com>
|
| |
| |
| |
| |
| | |
bug:3095272
Change-Id: Ib1c1d1edc06a33e9d4d2dcb42bc1dd2c25b1310c
|
| |
| |
| |
| |
| |
| | |
bug - 3042125
Change-Id: I46eb7a10b5394086b353fd73e4503beceeed76f1
|
| |
| |
| |
| |
| | |
bug:3036262
Change-Id: I6fc3dc381fcfaceba09fd5bd14afb85045b3d676
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
tracks" into gingerbread
Merge commit 'ce2e2184bbc5530f4fac3220fdf3d1b3fc08a4c3'
* commit 'ce2e2184bbc5530f4fac3220fdf3d1b3fc08a4c3':
Fixed AudioFlinger not always pausing tracks
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the pause request is received before the AudioTrack buffer was
completelly filled and the track ready for mixing, the pause is
not executed: the track just underruns and stays in pausing state.
The fix consists in considering the track ready for mixing immediately
if pausing.
Change-Id: Ia6cb4703fee2126e41011a6400ea8eeb3a3e5456
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
time" into gingerbread
Merge commit 'de12c3cf56e3f27b2efc60eeae8b5e422747f2b9'
* commit 'de12c3cf56e3f27b2efc60eeae8b5e422747f2b9':
Issue 3032913: improve AudioTrack recovery time
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This issue showed that when an AudioTrack underruns during a too long period
of time and is therefore disabled by audioflinger mixer, it takes an additional
delay of up to 3 seconds to recover.
This fix adds a simple mechanism to recover immediately when the client application
is ready to write data again in the AudioTrack buffer
Also throttle warnings on record overflows
Change-Id: I8b2c71578dd134b9e60a15ee4d91b70f3799cb3d
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
gingerbread
Merge commit 'b047e3cdf24b32e26f366fcd4cd0eee8ae6c592c'
* commit 'b047e3cdf24b32e26f366fcd4cd0eee8ae6c592c':
Fix several audio effects problems.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixed the following issues in LVM effect bundle wrapper:
- memory leaks in EffectCreate() in case effect creation fails at various stages
- Added saturation when accumulating to output buffer
- Fixed problems with enabled effects count when an effect is released while enabled
- Do not allocate temporary buffer for accumulation each time process() is called
Fixed the following issues in effects framework (AudioFlinger)
- Release effect synchronously in the library when deleted from effect chain
- Do not call the effect process function if no tracks are present in the same
audio session
Change-Id: Ifbd80a163415cfb3c0a337c12082853ea45d9c91
|
|\ \
| |/
| |
| | |
Change-Id: I6f4940e337a992bf84e50bc1d22432593937499c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously the orientation was wrong after suspend and resume.
When the camera app is resumed behide the lock screen, it
orinteation is portrait. When users slide to unlock the screen,
surfaceChanged is called and the orientation is landscape.
The camera app stops the preview, sets the display orientation,
and starts the preview. Overlay should be destroyed if the
orientation has changed.
bug:3031640
Change-Id: I38b527f9ea78c91b538463292152c023383b4695
|
|\ \
| |/
| |
| |
| |
| |
| | |
Merge commit '692dfafe02d04cdbab5367546e166580c92e4d2e'
* commit '692dfafe02d04cdbab5367546e166580c92e4d2e':
Fix issue 3007862
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Removed a cross deadlock condition between audioflinger and audio policy
service mutexes.
Audioflinger::createEffect() locks audioflinger mutex and then calls
AudioSystem::getOutputForEffect() which ends up in
AudioPolicyService::getOutputForEffect() which locks audio policy service
mutex. If at the same time, the command thread in audio policy service is
processing a command(set volume, set route...), the mutex is locked and the
command will call one audioflinger method which in turn will attempt to
lock audioflinger mutex.
The fix consists in releasing audioflinger mutex before calling
getOutputForEffect().
Change-Id: Id44e7feb36e0a295731f6aa97cf32d022edd34d0
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
effects." into gingerbread
Merge commit '11746caaa852984ff186bf5b8807e2c14cd7c1bc'
* commit '11746caaa852984ff186bf5b8807e2c14cd7c1bc':
Request permission for global audio effects.
|
| |
| |
| |
| |
| |
| |
| | |
Applications creating an audio effect on the output mix must
have the MODIFY_AUDIO_SETTINGS permission.
Change-Id: I57d88533f91ad0d33680107d79abcec28f7263b5
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added CAMERA_CMD_PLAY_RECORDING_SOUND command type to play recording
sound through sendCommand. This is currently needed by time lapse
recording using still mode capture, which disables the shutter sound
but needs to play the recording sound.
Change-Id: I376aa40f45b6064fd862abc065456b06fc338020
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Added enum CAMERA_CMD_ENABLE_SHUTTER_SOUND which corresponds to
command type for enabling/disabling shutter sound.
- The implementation checks if it is legal to disable shutter sound.
If it is, then any process can disable the sound. If not, then only
the mediaserver process is allowed to do this. Currently time lapse
capture needs this functionality to disable shutter sound when still
mode is used to capture time lapse video.
Change-Id: Id147a3bcc6a345c2c6a6d52bf98fd8292386bb19
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
into gingerbread
Merge commit '4d9878502f7661ed34540a485a5942d859e209c7'
* commit '4d9878502f7661ed34540a485a5942d859e209c7':
Fix volume problems with insert revert
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Use a constant input level to the reverb engine and implement volume control in the
insert reverb. This avoids the volume spikes when an effect that was inserted after
the reverb is disabled or removed.
- Fix clicks (one silent buffer) at the end of the reverb disable period.
- Modified volume management in audioflinger so that the volume ramp is also done by
the insert effect if present when the track is paused (avoids clicks).
- Increased room level for all presets.
Also fixed problems with output stage session (-1):
- effect bundle wrapper was not designed to support session -1
- the permission check in audioflinger for using session -1 failed due to a wrong usage of
getCallingPid()
Change-Id: Id1ff51327263364bf71d3f2668fa5cde4311d84f
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now camera driver uses ANativeWindow for display.
CameraService should not request preview callback from
camera hardware if applications have not requested it.
bug:2951018
Change-Id: I85f74ea4a61104feca018867bc9d6dfe3a9479f5
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
status." into gingerbread
Merge commit '937056c1a7ce71e6881305a31f76e62a76685f24'
* commit '937056c1a7ce71e6881305a31f76e62a76685f24':
Fix problem in AudioEffect::command() status.
|
| |
| |
| |
| |
| |
| |
| | |
The *pReplyData argument of the command() function was left unitialized by EffectHandle::command()
when command was EFFECT_CMD_ENABLE, EFFECT_CMD_DISABLE and EFFECT_CMD_SET_PARAM_COMMIT.
Change-Id: I91a19817ead2a8cfbdd8e2d77ca270c7ce9d5bd4
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
mSurface is released in destructor and setPreviewWindow(0) is
called in Client::disconnect(). setPreviewDisplay is not needed
in destructor.
bug:2964479
Change-Id: I329901659a2af407816c34e02f37143b28183a89
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
control." into gingerbread
Merge commit '55e7937462d107b469a58651d3d51e15086f8e9e'
* commit '55e7937462d107b469a58651d3d51e15086f8e9e':
Audio Effects: fix problems in volume control.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Fixed click when re-enabling effect during the turn off phase:
make sure the effect states where effect is processed are the same
where volume control is delegated to effect.
- Fixed click when effect is deleted while still active: do not apply
volume ramp if an effect having volume control was just removed from the
effect chain.
Also fixed a crash when PCM dump is enabled in effect bundle wrapper.
Change-Id: Ib562f5cf75c69af75df0e862536262e2514493e4
|
|\ \ \
| |/ /
| | /
| |/
|/|
| |
| | |
Merge commit '4421784895a58bb7bcf90236a9e443b372b5b80e'
* commit '4421784895a58bb7bcf90236a9e443b372b5b80e':
Fix issue 2952766.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The problem is that the audio policy manager does not handle the input devices
when forced use for telephony is changed.
The problem does not appear in a call over PSTN becasue only teh output devices drives the
routing of in call audio to/from the base band.
The fix consists in modifying AudioPolicyManagerBase::setForceUse() to check for active inputs
and update the input device if needed.
Change-Id: I0d36d1f5eef1cce527929180c29b025439902f10
|
| |
| |
| |
| | |
Change-Id: Ic669f9d5f5ae8f1fe5bd055f55aa4a18fa6d84cd
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change makes the camera HAL interface take an ANativeWindow interface from
which all the camera preview buffers will be allocated. The framework code
running in application processes now passes a Surface object rather than an
ISurface to the camera server via Binder when setting the preview surface. The
camera server then forwards that Surface object (which implements the
ANativeWindow interface) to the camera HAL, which uses it to communicate with
SurfaceFlinger to allocate the camera preview buffers.
Change-Id: Ie438f721559cd7de5e4f848a26d96360dda07b5f
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
into gingerbread
Merge commit 'caaf7fe3a407c764f643585d050c16f5fb56503c'
* commit 'caaf7fe3a407c764f643585d050c16f5fb56503c':
Handle the camera open failure better.
|