OSDN Git Service

android-x86/frameworks-av.git
10 years agoMerge "IAudioFlinger::openRecord track_flags_t flags is in/out"
Glenn Kasten [Mon, 5 Aug 2013 22:59:42 +0000 (22:59 +0000)]
Merge "IAudioFlinger::openRecord track_flags_t flags is in/out"

10 years agoMerge "AudioRecord::set and constructor now take flags"
Glenn Kasten [Mon, 5 Aug 2013 21:56:17 +0000 (21:56 +0000)]
Merge "AudioRecord::set and constructor now take flags"

10 years agoMerge "Make AudioRecord and AudioTrack comments more similar"
Glenn Kasten [Mon, 5 Aug 2013 21:50:15 +0000 (21:50 +0000)]
Merge "Make AudioRecord and AudioTrack comments more similar"

10 years agoMerge "Camera3: Provide consumer usage flags to HAL for each stream"
Eino-Ville Talvala [Mon, 5 Aug 2013 21:46:04 +0000 (21:46 +0000)]
Merge "Camera3: Provide consumer usage flags to HAL for each stream"

10 years agoCamera3: Provide consumer usage flags to HAL for each stream
Eino-Ville Talvala [Tue, 30 Jul 2013 21:36:03 +0000 (14:36 -0700)]
Camera3: Provide consumer usage flags to HAL for each stream

At stream configure time, pass on the stream's consumer usage flags
to the HAL, to speed up final hardware configuration.

Bug: 9592202
Change-Id: Ie467be053be36a09e482f5f05cad65df42d66476

10 years agoMerge "AudioRecord callback thread waits for priority boost"
Glenn Kasten [Mon, 5 Aug 2013 19:47:51 +0000 (19:47 +0000)]
Merge "AudioRecord callback thread waits for priority boost"

10 years agoMerge "Remove default parameters for AudioTrack"
Glenn Kasten [Mon, 5 Aug 2013 14:56:23 +0000 (14:56 +0000)]
Merge "Remove default parameters for AudioTrack"

10 years agoMerge "AudioRecord has no default sample rate"
Glenn Kasten [Mon, 5 Aug 2013 14:41:30 +0000 (14:41 +0000)]
Merge "AudioRecord has no default sample rate"

10 years agoMerge "Recording of non-linear formats is not supported"
Glenn Kasten [Mon, 5 Aug 2013 14:22:12 +0000 (14:22 +0000)]
Merge "Recording of non-linear formats is not supported"

11 years agoIAudioFlinger::openRecord track_flags_t flags is in/out
Glenn Kasten [Wed, 31 Jul 2013 23:12:48 +0000 (16:12 -0700)]
IAudioFlinger::openRecord track_flags_t flags is in/out

This will allow AudioFlinger to tell client it is denying a request.

Change-Id: Iff2be3ad6636371bbda9c9899a283c94620c1f06

11 years agoAudioRecord::set and constructor now take flags
Glenn Kasten [Wed, 31 Jul 2013 23:10:22 +0000 (16:10 -0700)]
AudioRecord::set and constructor now take flags

The new optional parameter 'flags' of type audio_input_flags_t will be
used for requesting a fast track.

Change-Id: Ia7e070cb57c833e608352da354fb30dc26df6918

11 years agoAudioRecord callback thread waits for priority boost
Glenn Kasten [Wed, 31 Jul 2013 19:27:26 +0000 (12:27 -0700)]
AudioRecord callback thread waits for priority boost

Change-Id: Iae38fa4ac20a45751566169213a08a15deb0a2f6

11 years agoRecording of non-linear formats is not supported
Glenn Kasten [Fri, 2 Aug 2013 16:02:07 +0000 (09:02 -0700)]
Recording of non-linear formats is not supported

Such formats are already rejected in AudioRecord::set()

Change-Id: I5ba1fd9e4cd659e5226c75aa4f63e52f655e0521

11 years agoAudioRecord has no default sample rate
Glenn Kasten [Wed, 31 Jul 2013 19:24:36 +0000 (12:24 -0700)]
AudioRecord has no default sample rate

Change-Id: I72feefdd6f3a623fd3669b80d4b264518fdc0929

11 years agoRemove default parameters for AudioTrack
Glenn Kasten [Fri, 2 Aug 2013 22:51:35 +0000 (15:51 -0700)]
Remove default parameters for AudioTrack

The defaults aren't needed; all users must know these values.

Change-Id: I0c1c97cb80bfea8e69a7cfa53ec85a91a8d48bb5

11 years agoMake AudioRecord and AudioTrack comments more similar
Glenn Kasten [Wed, 31 Jul 2013 19:25:00 +0000 (12:25 -0700)]
Make AudioRecord and AudioTrack comments more similar

Change-Id: I122a7cf7bfc162090cb27f37c325db7a23985bc7

11 years agoMerge "Use screen dimensions as default video size"
Andy McFadden [Fri, 2 Aug 2013 21:16:14 +0000 (21:16 +0000)]
Merge "Use screen dimensions as default video size"

11 years agoUse screen dimensions as default video size
Andy McFadden [Fri, 2 Aug 2013 20:58:54 +0000 (13:58 -0700)]
Use screen dimensions as default video size

Instead of 720p, use the screen dimensions as the default video
size.  For example, a phone with a 768x1280 display would be
recorded as a 768x1280 video when in portrait, or a 1280x768
video when in landscape.

If the device is not able to record at that resolution, we
fall back to 720p.

Also, fixed a problem introduced by a buffer timestamp change.

Change-Id: I7230ddb323c669ab07327f26df8d103c192c21d3

11 years agoMerge "fix fallout from binderizing BufferQueues consumer side"
Mathias Agopian [Fri, 2 Aug 2013 20:35:40 +0000 (20:35 +0000)]
Merge "fix fallout from binderizing BufferQueues consumer side"

11 years agoMerge "Report underruns for fast tracks also"
Glenn Kasten [Fri, 2 Aug 2013 16:14:01 +0000 (16:14 +0000)]
Merge "Report underruns for fast tracks also"

11 years agofix fallout from binderizing BufferQueues consumer side
Mathias Agopian [Thu, 1 Aug 2013 03:36:27 +0000 (20:36 -0700)]
fix fallout from binderizing BufferQueues consumer side

Change-Id: I626bac6df4fc3d8478046193f06ecc7ea60dd3a8

11 years agoam 6d4d8790: am b687ff9f: Merge "Fix mismatched delete/new couple"
Glenn Kasten [Thu, 1 Aug 2013 19:47:14 +0000 (12:47 -0700)]
am 6d4d8790: am b687ff9f: Merge "Fix mismatched delete/new couple"

* commit '6d4d879037a495f9a4276a6996d1845594ce9090':
  Fix mismatched delete/new couple

11 years agoam b687ff9f: Merge "Fix mismatched delete/new couple"
Glenn Kasten [Thu, 1 Aug 2013 19:43:55 +0000 (12:43 -0700)]
am b687ff9f: Merge "Fix mismatched delete/new couple"

* commit 'b687ff9f2e02790e8a8e3964cb73e87546cd72dd':
  Fix mismatched delete/new couple

11 years agoMerge "Fix mismatched delete/new couple"
Glenn Kasten [Thu, 1 Aug 2013 19:37:52 +0000 (19:37 +0000)]
Merge "Fix mismatched delete/new couple"

11 years agoMerge "Camera: fix the metadate parcel write issue"
Zhijun He [Wed, 31 Jul 2013 21:17:58 +0000 (21:17 +0000)]
Merge "Camera: fix the metadate parcel write issue"

11 years agoUnregister any handlers still registered on now "dead" ALoopers
Andreas Huber [Wed, 31 Jul 2013 20:04:50 +0000 (13:04 -0700)]
Unregister any handlers still registered on now "dead" ALoopers

upon the death of an ALooper.

Change-Id: I64c0835b8db04486204f3d0fa7173ee53708a116
related-to-bug: 10106648

11 years agoCamera: fix the metadate parcel write issue
Zhijun He [Wed, 31 Jul 2013 16:50:58 +0000 (09:50 -0700)]
Camera: fix the metadate parcel write issue

Also rename the frameId to requestId to make it less confusing.

Change-Id: I14a20b6fcabb86294afb31fc0c56397e185c1373

11 years agoReport underruns for fast tracks also
Glenn Kasten [Wed, 17 Jul 2013 23:05:07 +0000 (16:05 -0700)]
Report underruns for fast tracks also

This fixes a regression that was introduced earlier
by commit 9f80dd223d83d9bb9077fb6baee056cee4eaf7e5
called "New control block for AudioTrack and AudioRecord".
That commit broke underrun reporting for fast tracks.

Also remove Track::mUnderrunCount, which counted the number of underrun
events, and was only used by dumpsys media.audio_flinger.

Now dumpsys media.audio_flinger reports the number of underrun frames,

Isolated underrun-related control block accesses via the proxy, so that
the server is not directly poking around in the control block.

The new proxy APIs are AudioTrackServerProxy::getUnderrunFrames() and
AudioTrackServerProxy::tallyUnderrunFrames().  getUnderrunFrames() returns
a rolling counter for streaming tracks, or zero for static buffer tracks
which never underrun, but do a kind of 'pause' at end of buffer.
tallyUnderrunFrames() increments the counter by a specified number of frames.

Change-Id: Ib31fd73eb17cbb23888ce3af8ff29f471f5bd5a2

11 years agoam b57fb786: am d0ef1ccd: Merge "rtsp handle response line ended with \'\n\'"
Andreas Huber [Wed, 31 Jul 2013 16:01:12 +0000 (09:01 -0700)]
am b57fb786: am d0ef1ccd: Merge "rtsp handle response line ended with \'\n\'"

* commit 'b57fb786a32d4ea78cd8bbf24a65593353d87a88':
  rtsp handle response line ended with '\n'

11 years agoam d0ef1ccd: Merge "rtsp handle response line ended with \'\n\'"
Andreas Huber [Wed, 31 Jul 2013 15:52:41 +0000 (08:52 -0700)]
am d0ef1ccd: Merge "rtsp handle response line ended with \'\n\'"

* commit 'd0ef1ccd987e650e025b840e72f91770d03a5110':
  rtsp handle response line ended with '\n'

11 years agoMerge "rtsp handle response line ended with '\n'"
Andreas Huber [Wed, 31 Jul 2013 15:43:56 +0000 (15:43 +0000)]
Merge "rtsp handle response line ended with '\n'"

11 years agortsp handle response line ended with '\n'
Yajun Zeng [Tue, 14 May 2013 02:00:10 +0000 (10:00 +0800)]
rtsp handle response line ended with '\n'

Change-Id: I5bfafd3fa2c95083e833da2846556282eada2b02
Signed-off-by: Yajun Zeng <beanz@marvell.com>
11 years agoMerge "Add resampler comments and fix a typo"
Glenn Kasten [Tue, 30 Jul 2013 22:40:15 +0000 (22:40 +0000)]
Merge "Add resampler comments and fix a typo"

11 years agoAdd resampler comments and fix a typo
Glenn Kasten [Tue, 30 Jul 2013 18:52:39 +0000 (11:52 -0700)]
Add resampler comments and fix a typo

Change-Id: Ie071673875f663de4212eed4a4dff89d51a5a915

11 years agoRemove default channel mask in AudioRecord constructor and set()
Glenn Kasten [Mon, 19 Nov 2012 19:24:51 +0000 (11:24 -0800)]
Remove default channel mask in AudioRecord constructor and set()

Change-Id: I22ad4ba8777842bf6705e79c6ad796fdb9a4104c

11 years agoCamera: Rename new API to camera2, rearrange camera service
Eino-Ville Talvala [Fri, 26 Jul 2013 00:12:35 +0000 (17:12 -0700)]
Camera: Rename new API to camera2, rearrange camera service

 - Support API rename from photography to camera2
 - Reorganize camera service files
   - API support files to api1/, api2/, api_pro/
   - HAL device support files into device{1,2,3}/
   - Common files into common/
   - Camera service remains at top-level

Change-Id: Ie474c12536f543832fba0a2dc936ac4fd39fe6a9

11 years agoMove control block mName to createTrack() output
Glenn Kasten [Fri, 12 Jul 2013 19:59:20 +0000 (12:59 -0700)]
Move control block mName to createTrack() output

This is part of a series of CLs to clean up the shared memory
control block, by removing any fields that don't have to be there.

Change-Id: I6e51003a1293b6800258c31b22cff2eba42162e7

11 years agoRename control block flags to mFlags
Glenn Kasten [Fri, 12 Jul 2013 17:21:18 +0000 (10:21 -0700)]
Rename control block flags to mFlags

Change-Id: I7b6d31e24531954ab1ecdf3ed56c19433700bd89

11 years agoMerge "AudioRecord and HAL input stream must be 16-bit PCM only"
Glenn Kasten [Tue, 30 Jul 2013 16:35:09 +0000 (16:35 +0000)]
Merge "AudioRecord and HAL input stream must be 16-bit PCM only"

11 years agoRename control block server to mServer and add comments
Glenn Kasten [Fri, 12 Jul 2013 16:45:18 +0000 (09:45 -0700)]
Rename control block server to mServer and add comments

Change-Id: Ieabd91acee92d0e84e66fbd358df5282b856306e

11 years agoUse correct type for OutputDescriptor::format
Glenn Kasten [Wed, 17 Jul 2013 00:17:28 +0000 (17:17 -0700)]
Use correct type for OutputDescriptor::format

Change-Id: Ide608ef452d57da29b708180d90470361c123d1d

11 years agoMerge "Fix theoretical race using TrackBase::sampleRate()"
Glenn Kasten [Tue, 30 Jul 2013 14:36:19 +0000 (14:36 +0000)]
Merge "Fix theoretical race using TrackBase::sampleRate()"

11 years agoFix mismatched delete/new couple
Andrei V. FOMITCHEV [Tue, 9 Oct 2012 09:33:25 +0000 (11:33 +0200)]
Fix mismatched delete/new couple

In RecordThread::readInputParameters(), mRsmpInBuffer is allocated
with new[] and should be freed with delete[] instead of delete.

This error has been found by valgrind.

Change-Id: I2f947abb658a21a7d1e61eebb99270cb37d2d147
Signed-off-by: Andrei V. FOMITCHEV <andreix.fomitchev@intel.com>
Signed-off-by: David Wagner <david.wagner@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
11 years agoRemove CC_LIKELY and CC_UNLIKELY where not needed
Glenn Kasten [Tue, 30 Jul 2013 00:17:38 +0000 (17:17 -0700)]
Remove CC_LIKELY and CC_UNLIKELY where not needed

Only keep them in performance-sensitive code

Change-Id: Ib257ddd7bc39ce9896997ffae008c524ac743d01

11 years agoRename RecordThread::mInputBytes to the more generic mBufferSize
Glenn Kasten [Thu, 29 Nov 2012 16:48:51 +0000 (08:48 -0800)]
Rename RecordThread::mInputBytes to the more generic mBufferSize

This prepares for using it in PlaybackThreads later

Change-Id: Id90a92aa6372e4b69914b0008cef07296ca5d6a3

11 years agoMove members from ThreadBase to PlaybackThread
Glenn Kasten [Tue, 16 Jul 2013 18:37:48 +0000 (11:37 -0700)]
Move members from ThreadBase to PlaybackThread

Move mNormalFrameCount and frameCountHAL(), since they're not used by
record threads.  Also comment which fields are updated by readParameters().

Change-Id: I5fc0a8a89cc637976f22d49271a5a3e136dab4e1

11 years agoMerge "Fix typo in AwesomePlayer"
Andreas Huber [Mon, 29 Jul 2013 23:10:53 +0000 (23:10 +0000)]
Merge "Fix typo in AwesomePlayer"

11 years agoMerge "Use standard name and type for channel mask"
Glenn Kasten [Mon, 29 Jul 2013 21:13:08 +0000 (21:13 +0000)]
Merge "Use standard name and type for channel mask"

11 years agoMerge "camera2 api: Override default RGBx formats to IMPLEMENTATION_DEFINED"
Igor Murashkin [Mon, 29 Jul 2013 20:54:20 +0000 (20:54 +0000)]
Merge "camera2 api: Override default RGBx formats to IMPLEMENTATION_DEFINED"

11 years agoMerge "Simplify getParameters()"
Glenn Kasten [Mon, 29 Jul 2013 20:24:15 +0000 (20:24 +0000)]
Merge "Simplify getParameters()"

11 years agoMerge "Treat mChannelCount as uint32_t consistently"
Glenn Kasten [Mon, 29 Jul 2013 20:19:23 +0000 (20:19 +0000)]
Merge "Treat mChannelCount as uint32_t consistently"

11 years agoMerge "Fail more gracefully on version mismatch"
Marco Nelissen [Mon, 29 Jul 2013 20:19:01 +0000 (20:19 +0000)]
Merge "Fail more gracefully on version mismatch"

11 years agoTreat mChannelCount as uint32_t consistently
Glenn Kasten [Tue, 16 Jul 2013 18:16:27 +0000 (11:16 -0700)]
Treat mChannelCount as uint32_t consistently

mChannelCount was 8-, 16-, or 32-bits

Change-Id: I2cc2fedf3e33144e5c8bbd9894763282d9217f63

11 years agocamera2 api: Override default RGBx formats to IMPLEMENTATION_DEFINED
Igor Murashkin [Mon, 29 Jul 2013 19:25:59 +0000 (12:25 -0700)]
camera2 api: Override default RGBx formats to IMPLEMENTATION_DEFINED

Bug: 9487482
Change-Id: I09d3b4e41454d350c4bc7b1f8e893c3dad655e73

11 years agoFail more gracefully on version mismatch
Marco Nelissen [Mon, 29 Jul 2013 18:22:27 +0000 (11:22 -0700)]
Fail more gracefully on version mismatch

b/9900647

Change-Id: I9ea508a2685ff8adc780edd5ecec30dd1a9b0997

11 years agoMerge "Move local variable declarations to point of first use"
Glenn Kasten [Mon, 29 Jul 2013 18:18:05 +0000 (18:18 +0000)]
Merge "Move local variable declarations to point of first use"

11 years agoMerge "Declare methods in binder opcode order"
Glenn Kasten [Mon, 29 Jul 2013 17:59:04 +0000 (17:59 +0000)]
Merge "Declare methods in binder opcode order"

11 years agoDeclare methods in binder opcode order
Glenn Kasten [Wed, 17 Jul 2013 17:10:23 +0000 (10:10 -0700)]
Declare methods in binder opcode order

Change-Id: I5f624b7a51ffe1a17a67c056cf984f74e4c56eac

11 years agoMerge "Remove obsolete mBufferEnd"
Glenn Kasten [Mon, 29 Jul 2013 17:37:58 +0000 (17:37 +0000)]
Merge "Remove obsolete mBufferEnd"

11 years agoMerge "Move delete AudioMixer closer to point of re-allocation"
Glenn Kasten [Mon, 29 Jul 2013 17:06:17 +0000 (17:06 +0000)]
Merge "Move delete AudioMixer closer to point of re-allocation"

11 years agoRemove obsolete mBufferEnd
Glenn Kasten [Thu, 25 Jul 2013 21:21:35 +0000 (14:21 -0700)]
Remove obsolete mBufferEnd

Change-Id: I507c6109d66000bb30933ca23b912a1316f55e5e

11 years agoRemove obsolete TrackBase::step(), mStepCount, mStepServerFailed
Glenn Kasten [Thu, 25 Jul 2013 21:21:14 +0000 (14:21 -0700)]
Remove obsolete TrackBase::step(), mStepCount, mStepServerFailed

Change-Id: I6347096f066b8b19451c6472db7b0671f0cf7702

11 years agoMerge "Simplify RecordTrack::stop()"
Glenn Kasten [Mon, 29 Jul 2013 14:27:55 +0000 (14:27 +0000)]
Merge "Simplify RecordTrack::stop()"

11 years agoMerge "CBLK_OVERRUN, not CBLK_UNDERRUN, is for record threads"
Glenn Kasten [Sat, 27 Jul 2013 00:00:33 +0000 (00:00 +0000)]
Merge "CBLK_OVERRUN, not CBLK_UNDERRUN, is for record threads"

11 years agoMerge "Remove obsolete TrackBase::reset()"
Glenn Kasten [Fri, 26 Jul 2013 23:24:50 +0000 (23:24 +0000)]
Merge "Remove obsolete TrackBase::reset()"

11 years agoMerge "HAL stream format for mixer output threads must be stereo 16-bit PCM"
Glenn Kasten [Fri, 26 Jul 2013 21:33:40 +0000 (21:33 +0000)]
Merge "HAL stream format for mixer output threads must be stereo 16-bit PCM"

11 years agostagefright: offload playback support
Richard Fitzgerald [Tue, 14 May 2013 14:52:03 +0000 (15:52 +0100)]
stagefright: offload playback support

Offloading of compressed audio decoding to audio DSP
is implemented for audio only, non streamed content.
when the datasource is

AudioPlayer:
- Create an offloaded sink when playing a compressed
source
- Send metadata to audio HAL
- Return sink start error to AwesomePlayer so that a
new player for PCM audio can be created in case of problem.
- Forward stream end and tear down callback events to AwesomePlayer
- Stop the sink and wait for stream end callback when EOS is reached.
- Pause and restart the sink if needed before flushing when seeking
(otherwise flush is a no op).
- For current media time, directly query the render position from the
sink and offset by the start position (seek to time)

AwesomePlayer:

- When initializing the audio decoder, check with audio policy manager
if offloading is supported. If yes, create the software decoder in
case a reconfiguration is needed but connect the audio track directly
to the AudioPlayer.
- In case of error when starting the AudioPlayer, reconnect the software
decoder (OMXSource) and recreate a PCM AudioPlayer.
- Handle AudioPlayer tear down event by detroying and recreating the
AudioPlayer to allow transitions between situations were offloading
is supported or not.
- Force tear down of offloaded AudioPlayer when paused for a certain time:
This will close the sink and allow the DSP to power down.

Utils:
- Added helper methods:
    - send meta data to audio ia sink setParameters
    - query audio policy manager if offloading is supported for a
given audio content

Change-Id: I115842ce424f947b966d45e253a74d3fd5df9aae
Signed-off-by: Eric Laurent <elaurent@google.com>
11 years agolibmediaplayerservice: offload playback support
Richard Fitzgerald [Tue, 14 May 2013 12:18:21 +0000 (13:18 +0100)]
libmediaplayerservice: offload playback support

Main change is to how recycled tracks are used for gapless
playback. If we are playing offloaded tracks that can't be
recycled we don't open a new offloaded output until we have
closed the previous one. This is because offloaded tracks
are a limited resource so we don't want to spuriously create
unnecessary instances. If the tracks cannot be recycled
this means that the formats are incompatible and so the
hardware most likely will also be unable to use the existing
output channel for the new track. If we already have the
maximum number of hardware offload channels open (which could
be only one) then creation of the next output would fail if
we attempted it while the previous output was still open.

Change-Id: I4f5958074e7ffd2e17108157fee86329506730ea
Signed-off-by: Eric Laurent <elaurent@google.com>
11 years agoSimplify RecordTrack::stop()
Glenn Kasten [Thu, 25 Jul 2013 21:37:52 +0000 (14:37 -0700)]
Simplify RecordTrack::stop()

Change-Id: Ib959c1e9dc9544d12277ce11bea445118b2e0521

11 years agoCBLK_OVERRUN, not CBLK_UNDERRUN, is for record threads
Glenn Kasten [Thu, 25 Jul 2013 21:41:19 +0000 (14:41 -0700)]
CBLK_OVERRUN, not CBLK_UNDERRUN, is for record threads

Change-Id: I8948f76ef4717a423c37cd6ea7db4381636af612

11 years agoRemove obsolete TrackBase::reset()
Glenn Kasten [Thu, 25 Jul 2013 21:34:57 +0000 (14:34 -0700)]
Remove obsolete TrackBase::reset()

Change-Id: I38100b7e28a12d7af8cb40ae3f4d9cb4a0ebe701

11 years agolibmedia: offloaded playback support
Richard Fitzgerald [Tue, 14 May 2013 11:12:21 +0000 (12:12 +0100)]
libmedia: offloaded playback support

- start() returns a status so that upper layers can
recreate a non offloaded track in case of error.

- Added states to handle offloaded tracks specific:
  - waiting for stream end (drain) notification by
audio flinger
  - allow pause while waiting for stream end notification

- getPosition() queries the render position directly from
audio HAL.

- disable APIs not applicable to offloaded tracks

- Modified track restoring behavior for invalidated
offloaded tracks: just send the callback and wait for
upper layers to create a new track.

- Added wait for stream end management in audio track client
proxy. Similar to obtainBuffer and should be factored in.

Change-Id: I0fc48117946364cb255afd653195498891f622bd
Signed-off-by: Eric Laurent <elaurent@google.com>
11 years agoAudioFlinger: offload playback, non-blocking write
Eric Laurent [Mon, 7 Jan 2013 17:53:42 +0000 (09:53 -0800)]
AudioFlinger: offload playback, non-blocking write

- Added specialized playback thread class for offload playback,
derived from directoutput thread.
This thread type handles specific state transitions for offloaded
tracks and offloading commands (pause/resume/drain/flush..) to audio HAL.
As opposed to other threads, does not go to standby if the track is paused.

- Added support for asynchronous write and drain operations at audio HAL.
Use a thread to handle async callback events from HAL: this avoids locking
playback thread mutex when executing the callback and cause deadlocks when
calling audio HAL functions with the playback thread mutex locked.

- Better accouting for track activity: call start/stop and release Output
methods in audio policy manager when tracks are actually added and removed
from the active tracks list.
Added a command thread in audio policy service to handle stop/release commands
asynchronously and avoid deadlocks with playback thread.

- Track terminated status is not a state anymore. This condition is othogonal
to state to permitted state transitions while terminated.

Change-Id: Id157f4b3277620568d8eace7535d9186602564de

11 years agoMove delete AudioMixer closer to point of re-allocation
Glenn Kasten [Thu, 25 Jul 2013 17:09:11 +0000 (10:09 -0700)]
Move delete AudioMixer closer to point of re-allocation

No need to delete AudioMixer before readOutputParameters

Change-Id: Icafa785c9021bbe8d985e4f9527f8fc8c5e62622

11 years agoHAL stream format for mixer output threads must be stereo 16-bit PCM
Glenn Kasten [Wed, 17 Jul 2013 00:18:58 +0000 (17:18 -0700)]
HAL stream format for mixer output threads must be stereo 16-bit PCM

Direct and tunnel output threads can support various HAL stream formats,
included encoded.  But currently there are stereo 16-bit PCM assumptions
in several places for mixer and duplicating output threads:
 - mMixBuffer and mixBuffer()
 - AudioMixer including resampler
 - FastMixer's mixBuffer
 - effects
 - NBAIO_Format
 - anywhere FCC_2 is used
 - possibly other places

Until those assumptions are removed, this CL enforces stereo 16-bit
PCM in mixer and duplicating threads at the place where the HAL format
is read.  It was already being checked in checkForNewParameters_l(),
but not in readOutputParameters().

Change-Id: Ibe344cc922743da234299097aa1bb1f54795cc9b

11 years agoSimplify getParameters()
Glenn Kasten [Tue, 16 Jul 2013 21:17:15 +0000 (14:17 -0700)]
Simplify getParameters()

Change-Id: Iedfeca3cd477d023c350d6d4e6eed874ee467a32

11 years agoMove local variable declarations to point of first use
Glenn Kasten [Wed, 26 Jun 2013 18:29:02 +0000 (11:29 -0700)]
Move local variable declarations to point of first use

Change-Id: Ideb83dea2c3002651c34fa646753cba598e29e93

11 years agoMerge "Update error message"
Andy McFadden [Thu, 25 Jul 2013 14:27:30 +0000 (14:27 +0000)]
Merge "Update error message"

11 years agoUse standard name and type for channel mask
Glenn Kasten [Wed, 17 Jul 2013 00:19:58 +0000 (17:19 -0700)]
Use standard name and type for channel mask

Former name 'channels' was ambiguous with respect to channel count.

Change-Id: I716f792d95a7e0c787d27514ad6e93dbcef8a415

11 years agoUpdate error message
Andy McFadden [Wed, 24 Jul 2013 23:35:12 +0000 (16:35 -0700)]
Update error message

The color format used for surfaces has two different names.  The
one in the error message is the "native" name, which doesn't mean
anything to external developers.

Change-Id: Ic0561f4ad12970b0e0a60bd17b4e3997af1a9f0e

11 years agoAudioRecord and HAL input stream must be 16-bit PCM only
Glenn Kasten [Wed, 17 Jul 2013 00:23:39 +0000 (17:23 -0700)]
AudioRecord and HAL input stream must be 16-bit PCM only

Currently there are 16-bit PCM assumptions in several places for capture:
 - resampler API
 - mRsmpInBuffer and mRsmpOutBuffer
 - RecordThread::threadLoop upmix, downmix, and resampling
 - possibly other places

Until those assumptions are removed, this CL enforces 16-bit PCM in both
client and server at all places where a format is checked.

Change-Id: I08b0570bff626ad0d341804825a72c14e61b4233

11 years agoMerge "camera2: Implement ICameraDeviceUser::waitUntilIdle"
Zhijun He [Wed, 24 Jul 2013 20:56:24 +0000 (20:56 +0000)]
Merge "camera2: Implement ICameraDeviceUser::waitUntilIdle"

11 years agoMerge "Remove obsolete drm manager code"
Jeff Tinker [Wed, 24 Jul 2013 19:38:27 +0000 (19:38 +0000)]
Merge "Remove obsolete drm manager code"

11 years agoMerge "Don't abort on unusual state transition"
Andy McFadden [Wed, 24 Jul 2013 00:26:25 +0000 (00:26 +0000)]
Merge "Don't abort on unusual state transition"

11 years agoMerge "Prototype screen recording command"
Andy McFadden [Tue, 23 Jul 2013 22:49:10 +0000 (22:49 +0000)]
Merge "Prototype screen recording command"

11 years agoPrototype screen recording command
Andy McFadden [Mon, 22 Jul 2013 19:23:07 +0000 (12:23 -0700)]
Prototype screen recording command

This records the screen contents as a movie.  It works by feeding
the output of a virtual display to the video/avc encoder.  Recording
continues until Ctrl-C is hit.

Video only, no sound.  Does not track screen rotations.

Change-Id: I91d5c4e781792c740699b7a83590e846295b3617

11 years agoDon't abort on unusual state transition
Andy McFadden [Tue, 23 Jul 2013 20:05:29 +0000 (13:05 -0700)]
Don't abort on unusual state transition

The state transition check was too strict, and we were crashing
mediaserver inappropriately.

Bug 9819944

Change-Id: I1482ed1cfee37088d4893ee81cf1b2b950d2e930

11 years agoRemove obsolete drm manager code
Jeff Tinker [Mon, 22 Jul 2013 22:54:42 +0000 (15:54 -0700)]
Remove obsolete drm manager code

bug: 9545965
Change-Id: Ia6e09efa826b1349d027045e782980daeb7d7596

11 years agoMerge "Fix typo in socket name"
Geremy Condra [Tue, 23 Jul 2013 18:11:55 +0000 (18:11 +0000)]
Merge "Fix typo in socket name"

11 years agoFix typo in socket name
Chad Brubaker [Tue, 23 Jul 2013 18:09:19 +0000 (11:09 -0700)]
Fix typo in socket name

Change-Id: I29171368f1b69333ef7eae53ada2fab94e3e28b9

11 years agocamera2: Implement ICameraDeviceUser::waitUntilIdle
Zhijun He [Tue, 23 Jul 2013 15:02:53 +0000 (08:02 -0700)]
camera2: Implement ICameraDeviceUser::waitUntilIdle

Also fixed some logging typo

Change-Id: Ib254bdb137dca10b12595c23aeb1c53097423425

11 years agoMerge "Add routing sockets for the requesting user"
Geremy Condra [Tue, 23 Jul 2013 17:56:36 +0000 (17:56 +0000)]
Merge "Add routing sockets for the requesting user"

11 years agoCamera: ProCamera connect need support HAL3 device
Zhijun He [Tue, 23 Jul 2013 00:34:34 +0000 (17:34 -0700)]
Camera: ProCamera connect need support HAL3 device

Change-Id: Iae7e5f9e6387f61f1c4bbb91f75803fc1fdf2668

11 years agoMerge "Use AudioSystem::setLowRamDevice() to configure memory"
Glenn Kasten [Mon, 22 Jul 2013 15:02:08 +0000 (15:02 +0000)]
Merge "Use AudioSystem::setLowRamDevice() to configure memory"

11 years agoMerge "Revert "Fix Audioflinger crash when TeeSink is enabled""
Glenn Kasten [Mon, 22 Jul 2013 14:43:59 +0000 (14:43 +0000)]
Merge "Revert "Fix Audioflinger crash when TeeSink is enabled""

11 years agoMerge "Fix compile warning"
Glenn Kasten [Mon, 22 Jul 2013 14:43:19 +0000 (14:43 +0000)]
Merge "Fix compile warning"

11 years agoMerge "camera2: Fix request ID bug"
Zhijun He [Sat, 20 Jul 2013 01:09:39 +0000 (01:09 +0000)]
Merge "camera2: Fix request ID bug"

11 years agoMerge "update to new Consumer APIs"
Mathias Agopian [Sat, 20 Jul 2013 01:02:37 +0000 (01:02 +0000)]
Merge "update to new Consumer APIs"

11 years agoam f2d744d9: (-s ours) Reconcile with jb-mr2-zeroday-release - do not merge
The Android Open Source Project [Fri, 19 Jul 2013 23:02:29 +0000 (16:02 -0700)]
am f2d744d9: (-s ours) Reconcile with jb-mr2-zeroday-release - do not merge

* commit 'f2d744d9535ca59be6cd878830176f81a0a8fbc6':
  Camera2/3: Fix deadlock when starting recording before preview.

11 years agoam b0177ff2: am 46910bdc: Camera2/3: Fix deadlock when starting recording before...
Eino-Ville Talvala [Fri, 19 Jul 2013 23:02:11 +0000 (16:02 -0700)]
am b0177ff2: am 46910bdc: Camera2/3: Fix deadlock when starting recording before preview.

* commit 'b0177ff25e3e620be6ebe1e2c3f645b2f05dd57e':
  Camera2/3: Fix deadlock when starting recording before preview.