OSDN Git Service

android-x86/frameworks-av.git
10 years agoMerge "AnotherPacketSource support to get latest buffered MetaData." into klp-dev
Lajos Molnar [Fri, 7 Mar 2014 02:33:32 +0000 (02:33 +0000)]
Merge "AnotherPacketSource support to get latest buffered MetaData." into klp-dev

10 years agoMerge "Added support to query ACodec whether adaptive playback is enabled." into...
Lajos Molnar [Fri, 7 Mar 2014 02:33:08 +0000 (02:33 +0000)]
Merge "Added support to query ACodec whether adaptive playback is enabled." into klp-dev

10 years agoMerge "stagefright: use CODECS field in EXT-X_STREAM-INF as fallback" into klp-dev
Lajos Molnar [Fri, 7 Mar 2014 02:32:34 +0000 (02:32 +0000)]
Merge "stagefright: use CODECS field in EXT-X_STREAM-INF as fallback" into klp-dev

10 years agoMerge "Fixed misplaced bracket for switch-case block." into klp-dev
Lajos Molnar [Fri, 7 Mar 2014 02:32:25 +0000 (02:32 +0000)]
Merge "Fixed misplaced bracket for switch-case block." into klp-dev

10 years agoMerge "stagefright: Fix issue with tracking media format in packet source" into klp-dev
Lajos Molnar [Fri, 7 Mar 2014 02:32:09 +0000 (02:32 +0000)]
Merge "stagefright: Fix issue with tracking media format in packet source" into klp-dev

10 years agoMerge "stagefright: Fix bugs in playlist fetcher logic" into klp-dev
Lajos Molnar [Fri, 7 Mar 2014 02:31:50 +0000 (02:31 +0000)]
Merge "stagefright: Fix bugs in playlist fetcher logic" into klp-dev

10 years agoMerge changes Id28b35fd,Ie4e64977,I2950f31e into klp-dev
Eino-Ville Talvala [Fri, 7 Mar 2014 01:40:59 +0000 (01:40 +0000)]
Merge changes Id28b35fd,Ie4e64977,I2950f31e into klp-dev

* changes:
  DO NOT MERGE: Camera: fix focusArea wrong indexing issue
  DO NOT MERGE: camera2: Fix race with stream deletion during disconnect.
  DO NOT MERGE: camera2/3: Add protection for still capture path

10 years agoMerge "stagefright: do not offload LD-AAC decoding" into klp-dev
Eric Laurent [Fri, 7 Mar 2014 01:09:33 +0000 (01:09 +0000)]
Merge "stagefright: do not offload LD-AAC decoding" into klp-dev

10 years agoAnotherPacketSource support to get latest buffered MetaData.
Robert Shih [Thu, 23 Jan 2014 22:25:32 +0000 (14:25 -0800)]
AnotherPacketSource support to get latest buffered MetaData.

Bug: 11854054
Change-Id: Ib3b6e0984036082bf3c4eb7901a2b29be52fdd29

10 years agoAdded support to query ACodec whether adaptive playback is enabled.
Robert Shih [Thu, 23 Jan 2014 23:26:43 +0000 (15:26 -0800)]
Added support to query ACodec whether adaptive playback is enabled.

Bug: 11854054
Change-Id: I6b0308aa8550c643706959277e46dad586c37297

10 years agostagefright: use CODECS field in EXT-X_STREAM-INF as fallback
Robert Shih [Thu, 23 Jan 2014 23:00:53 +0000 (15:00 -0800)]
stagefright: use CODECS field in EXT-X_STREAM-INF as fallback

Use the CODECS field in EXT-X-STREAM-INF as a viable fallback for identifying
available streams in a variant playlist.

Bug: 11854054
Change-Id: I5011809dc7c56220b023eb1a16f2d6a392ddd6f1

10 years agoFixed misplaced bracket for switch-case block.
Robert Shih [Thu, 23 Jan 2014 22:16:32 +0000 (14:16 -0800)]
Fixed misplaced bracket for switch-case block.

Bug: 11854054
Change-Id: I66b410e1e19601ad65d8357bda4c0c58e2dc15dc

10 years agostagefright: Fix issue with tracking media format in packet source
Lajos Molnar [Tue, 17 Dec 2013 22:10:46 +0000 (14:10 -0800)]
stagefright: Fix issue with tracking media format in packet source

Media format in AnotherPacketSource is now tracked across discontinuities.
This fixes a bug where format was set on queueAccessUnit and cleared on
dequeueAccessUnit, thereby allowing it to remain cleared.

Change-Id: I20975a630443f4a223a2b4344e8244f34b9560b9
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 12060952

10 years agostagefright: Fix bugs in playlist fetcher logic
Lajos Molnar [Mon, 16 Dec 2013 18:16:32 +0000 (10:16 -0800)]
stagefright: Fix bugs in playlist fetcher logic

1. Improve start time: start playback as soon as the target duration
or 10s was buffered.
2. Select playlist monitor time based on target duration to avoid
continuously missing the boat.
3. If "we miss the boat" we still must request a safe sequence
number (last - 3)

Change-Id: Ie99c360ac67b152ad9af19e9c6e520016f67e4e3
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 12060952

10 years agoMerge "stagefright: fix offloading HE-AAC sampling rate." into klp-dev
Eric Laurent [Thu, 6 Mar 2014 19:21:49 +0000 (19:21 +0000)]
Merge "stagefright: fix offloading HE-AAC sampling rate." into klp-dev

10 years agostagefright: do not offload LD-AAC decoding
Eric Laurent [Fri, 6 Dec 2013 19:51:42 +0000 (11:51 -0800)]
stagefright: do not offload LD-AAC decoding

For now, do not offload LD and ELD AAC decoding because there
is no way to know if it is supported by the audio DSP implementation.
The longer term fix will be to have mapMimeToAudioFormat() use the
audio object type in track metadata to refine the AAC format and the
audio HAL list supported AAC profiles.

Bug: 11697128.

Change-Id: Iaa88ecf3f4ae42ad48c1b42a9b007dd80eb88147

10 years agoset AAC MPEG version to MPEG-2
Chong Zhang [Fri, 7 Feb 2014 20:05:34 +0000 (12:05 -0800)]
set AAC MPEG version to MPEG-2

wifi display play spec only allows MPEG-2 AAC.

Bug: 12747927
Change-Id: Ic96d27ce57f5c8e7da55e43b38f629b5c7333817

10 years agostagefright: fix offloading HE-AAC sampling rate.
Eric Laurent [Fri, 6 Dec 2013 19:16:54 +0000 (11:16 -0800)]
stagefright: fix offloading HE-AAC sampling rate.

Fix HE AAC SBR sampling rate reading for explicit
signaling.

Bug: 11697128.
Change-Id: Ifec0ab9d48d9293f6774ec1efd9da9445994cb7c

10 years agoDO NOT MERGE: Camera: fix focusArea wrong indexing issue
Zhijun He [Wed, 29 Jan 2014 16:52:01 +0000 (08:52 -0800)]
DO NOT MERGE: Camera: fix focusArea wrong indexing issue

Bug: 12304559
Change-Id: Id28b35fdd9697c1ec3365f617996801965de8bd0

10 years agoDO NOT MERGE: camera2: Fix race with stream deletion during disconnect.
Ruben Brunk [Thu, 5 Dec 2013 19:00:37 +0000 (11:00 -0800)]
DO NOT MERGE: camera2: Fix race with stream deletion during disconnect.

Bug: 11856804

- Shutdown order in Camera2Client allows a stream to be
  deleted before the corresponding processing thread has
  quit.  This can result in updates being called on the
  processor thread without a valid stream.

Change-Id: Ie4e649771f4321498659211f2a37ed89a6d956c4

10 years agoDO NOT MERGE: camera2/3: Add protection for still capture path
Zhijun He [Tue, 26 Nov 2013 23:11:05 +0000 (15:11 -0800)]
DO NOT MERGE: camera2/3: Add protection for still capture path

Jpeg stream in JpegProcessor could be deleted while process new capture is
ongoing, which unsafe to access a dead consumer endpoint.
Bug: 9316454
Change-Id: I2950f31ea28d0ba01f08502e2e3ba452bf8bb818

10 years agoIncrease kFastTrackMultiplier from 1 to 2
Glenn Kasten [Tue, 3 Dec 2013 17:06:43 +0000 (09:06 -0800)]
Increase kFastTrackMultiplier from 1 to 2

Bug: 11967381
Change-Id: Iedec06280aa745d9df5d661f4916940cede9c191

10 years agoAudioTrack: fix obtainBuffer timeout calculation
Eric Laurent [Tue, 28 Jan 2014 02:13:39 +0000 (18:13 -0800)]
AudioTrack: fix obtainBuffer timeout calculation

AudioTrack::obtainBuffer() passes a pointer to a timeout
variable that has gone out of scope when calling
ClientProxy::obtainBuffer().

Same fix for AudioRecord.

Bug: 11968591.
Change-Id: I5b3d0d86ed2bd8c0412eb2432b1ab519d70efce9

10 years agolibstagefright: Delay release of wakelock in TimedEventQueue
Haynes Mathew George [Fri, 6 Dec 2013 19:31:57 +0000 (11:31 -0800)]
libstagefright: Delay release of wakelock in TimedEventQueue

Delay release of wakelock in the TimedEventQueue to
after an event has been processed.
This ensures AP shutdown does not happen while an event
is ready but hasn't been processed yet.

Bug: 11976087.
Change-Id: I9bce83b9ff0f2b4d174a53c95e5b0f135b5ccc70

10 years agoaudioflinger: fix static track end detection
Eric Laurent [Sat, 21 Dec 2013 01:36:01 +0000 (17:36 -0800)]
audioflinger: fix static track end detection

If a static track is not a fast track,
prepareTracks_l() must rely on framesReady() to
detect end of buffer and remove the track from the active
track list.
Failing to do so results in the track staying active but
not processed by the mixer because in underrun. This leaves the
mix buffer content uninitialized and causes the effect process
function to accumulate its output onto undefined data.

Bug: 12013676.
Change-Id: I4b0819a9d93141ac3307b8786fc6a451dd585220

10 years agoAudioMixer: Remove tracks from enabledTracks after reseting outTemp
Gaurav Kumar [Mon, 6 Jan 2014 05:27:18 +0000 (10:57 +0530)]
AudioMixer: Remove tracks from enabledTracks after reseting outTemp

If any track goes through AudioMixer::process__genericNoResampling, and
its getnextbuffer returns NULL, Then that track is removed by AudioMixer
from enabledTracks.

Thus if all tracks getnextbuffer return NULL, Then this function doesn't
reset outTemp and last buffer in AudioFlinger's mMixBuffer will be
repeated and noise is observed.

Remove tracks from enabledTracks after reseting outTemp to zero, so that
process__genericNoResampling will reset outTemp and noise won't appear.

Bug: 12450065

Change-Id: I28996d425838728955f01eb1a00acf6e6dc2dea1
Signed-off-by: Gaurav Kumar <gaurav.kumar@broadcom.com>
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
10 years agoupdate offloaded audio track sampling rate
Eric Laurent [Sat, 27 Jul 2013 00:16:50 +0000 (17:16 -0700)]
update offloaded audio track sampling rate

AudioPlayer must read the sampling rate from offloaded audio sinks
whenever a new time position is computed as the decoder can update
the sampling rate on the fly.

Bug: 12823955.

Change-Id: I997e5248cfd4017aeceb4e11689324ded2a5bc88

10 years agoaudioflinger: fix offload write buffer offset
Eric Laurent [Fri, 22 Nov 2013 17:29:56 +0000 (09:29 -0800)]
audioflinger: fix offload write buffer offset

Fix current audio HAL write buffer offset calculation
which assumes that the frame size is a multiple of 2.
'
Bug: 12823725.

Change-Id: I0195ed5cfef225a6f114e7dd405a02680bb7254e

10 years agofix deadlock issues that arise when there are simultaneous
jpadmana [Thu, 14 Nov 2013 11:50:52 +0000 (17:20 +0530)]
fix deadlock issues that arise when there are simultaneous
effect control interface calls to proxy and to
non sub-effect wrappers(eg., bundlewrapper) from audioflinger
Also, return NO_ERROR when CMD_OFFLOAD succeeds

Whenever there are parallel calls to proxy and non sub-effects wrappers,
some of the calls are not completed. This is due to deadlock arsing out
of Proxy waiting for the subeffect call to return and subeffect waiting
for proxy to release lock.
The call flow is changed to a cleaner and simple one - Proxy gets the
aeli(effect library info) of subeffects during the EffectGetSubEffects()
call. Therby, proxy will manage the sub effects by itself rather than
going through effects factory.

Change-Id: If4b259da5776f151c1e81a78a0239d342046d923
Signed-off-by: jpadmana <jayashree.r.padmanaban@intel.com>
Bug: 12424044

10 years agoaudioflinger: check for condition before waiting
Haynes Mathew George [Wed, 4 Dec 2013 05:26:02 +0000 (21:26 -0800)]
audioflinger: check for condition before waiting

AsyncCallbackThread must check for any condition that
was already been satisfied before waiting.

Bug: 11824817
Change-Id: I04683a1f355de4f440106cab47fd916aa39d5e35

10 years agoaudioflinger: update track ready condition
Haynes Mathew George [Sat, 28 Dec 2013 00:09:28 +0000 (16:09 -0800)]
audioflinger: update track ready condition

Signal track ready if the track isStopping().

Bug: 12423190
Change-Id: I95e14905df10ebf301e398263478c8ca25d7e2ce

10 years agoaudioflinger: Fix for a deadlock in track creation
Haynes Mathew George [Fri, 13 Dec 2013 23:40:13 +0000 (15:40 -0800)]
audioflinger: Fix for a deadlock in track creation

AudioFlinger enters a deadlock (with itself) on trying to free a
RecordTrack or Track object that failed initialization. Clear this
bad object from the caller instead.

Bug: 12423233
Change-Id: I926f2beb922a70f6924e593e2bbf1a5b5df85b16

10 years agoAudioTrack: fix position callback after restore
Eric Laurent [Wed, 27 Nov 2013 22:29:13 +0000 (14:29 -0800)]
AudioTrack: fix position callback after restore

When restoring an AudioTrack, the next position callback point
should not be modified and set ahead of current buffer head.
Otherwise, as frames are dropped, the new position is never reached
and an application relying on position callbacks to reload the buffer
would be stalled.

Bug: 11868603.
Change-Id: I93b2a311642a0c89944b78bcc0482d4ceed98ae4

10 years agoMerge "WA: Queue extra buffers on output port during reconfig if input EOS-ed" into...
Lajos Molnar [Tue, 19 Nov 2013 01:28:28 +0000 (01:28 +0000)]
Merge "WA: Queue extra buffers on output port during reconfig if input EOS-ed" into klp-dev

10 years agoMerge "Fix metadata access" into klp-dev
Marco Nelissen [Fri, 15 Nov 2013 21:58:45 +0000 (21:58 +0000)]
Merge "Fix metadata access" into klp-dev

10 years agoFix metadata access
Marco Nelissen [Fri, 15 Nov 2013 21:49:58 +0000 (13:49 -0800)]
Fix metadata access

Metadata string pointers become invalid after setting more metadata,
so don't cache them.
b/11692062

Change-Id: Iaf1afb24cf53f7fa36f49ce759355693494076e5

10 years agoaudioflinger: do not use raw pointer for tracks
Eric Laurent [Fri, 15 Nov 2013 20:02:28 +0000 (12:02 -0800)]
audioflinger: do not use raw pointer for tracks

Commit 9da3d95 surfaced a problem caused by the use of a raw
pointer to a track in offload thread implementation.

Pointers to tracks should always be weak or strong pointers.

Bug: 11708529.
Change-Id: Ic48632532d186c9be8261f73cefdf824b9fbbd2b

10 years agoMerge "AwesomePlayer: correct stream type for offload" into klp-dev
Eric Laurent [Fri, 15 Nov 2013 15:34:11 +0000 (15:34 +0000)]
Merge "AwesomePlayer: correct stream type for offload" into klp-dev

10 years agoAwesomePlayer: correct stream type for offload
Eric Laurent [Fri, 15 Nov 2013 01:28:47 +0000 (17:28 -0800)]
AwesomePlayer: correct stream type for offload

canOffloadStream() function in stagefright utils forces the
stream type to AUDIO_STREAM_MUSIC when querying the audio policy
manager if a particular track is offloadable or not.
This causes MP3 ringtones to be offloaded which is not a validated use case.

The fix consists in using the actual stream type read from the AudioSink.

Bug: 11410937.
Change-Id: I44b8e033a8e785a79cdc291b142f80b5580bdc4d

10 years agoWA: Queue extra buffers on output port during reconfig if input EOS-ed
Lajos Molnar [Thu, 7 Nov 2013 05:04:34 +0000 (21:04 -0800)]
WA: Queue extra buffers on output port during reconfig if input EOS-ed

Some codecs may return input buffers before having them processed.
This causes a halt if we already signaled an EOS on the input
port.  For now keep submitting output meta buffers one at a time if
the input EOS-ed, but the output not yet.

Normally, we submit an output buffer for each input buffer that is
with the component (waiting to be processed).

Change-Id: I8a1251bfb504f40f1e4085a1e220bf9a4d0b05d9
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11433909

10 years agoCamera2: Rework the FPS range vs. FPS single setting detection
Eino-Ville Talvala [Thu, 14 Nov 2013 18:32:13 +0000 (10:32 -0800)]
Camera2: Rework the FPS range vs. FPS single setting detection

Give up on current approach of writing out consistent FPS values
into parameters that will be read back by the app.

- Preserve app's latest set parameters exactly, and compare against
  them when detecting if a new FPS range or single FPS value has been
  selected.

- Since get() returns exactly what was set(), it doesn't matter if the
  app calls getParameters() before its next setParameters(), in terms
  of retriggering FPS selection logic. Before, the behavior varied
  depending on whether the app re-read the parameters.

- As before, if app changes both range and single FPS in a single set
  call, the range set wins. Otherwise, the value that has changed more
  recently is used.

Bug: 11570973
Change-Id: I72b5e60c3f60e88d55127dd1bda87e26eaf929c6

10 years agoMerge "audioflinger: fix offload track transition" into klp-dev
Eric Laurent [Thu, 14 Nov 2013 16:43:19 +0000 (16:43 +0000)]
Merge "audioflinger: fix offload track transition" into klp-dev

10 years agoMerge "audioflinger: fix offload resume after drain" into klp-dev
Eric Laurent [Thu, 14 Nov 2013 16:42:30 +0000 (16:42 +0000)]
Merge "audioflinger: fix offload resume after drain" into klp-dev

10 years agoMerge "stagefright: limit default max-input-size for AVC" into klp-dev
Lajos Molnar [Wed, 13 Nov 2013 23:53:42 +0000 (23:53 +0000)]
Merge "stagefright: limit default max-input-size for AVC" into klp-dev

10 years agoMerge "AwesomePlayer: Improve performance on high-fps clips" into klp-dev
Lajos Molnar [Wed, 13 Nov 2013 23:52:37 +0000 (23:52 +0000)]
Merge "AwesomePlayer: Improve performance on high-fps clips" into klp-dev

10 years agostagefright: limit default max-input-size for AVC
Lajos Molnar [Wed, 13 Nov 2013 22:11:41 +0000 (14:11 -0800)]
stagefright: limit default max-input-size for AVC

AVC has a compression ratio of at least 2.  Account for this, as
some codecs refuse exorbitant max-input-size requests.

Change-Id: Ib68b485879ba33a12a486f2ce18fe100be977699
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11599364

10 years agoMerge "Only initialize sniffers once, don't hold mutex while sniffing" into klp-dev
Marco Nelissen [Wed, 13 Nov 2013 18:11:54 +0000 (18:11 +0000)]
Merge "Only initialize sniffers once, don't hold mutex while sniffing" into klp-dev

10 years agoMerge "Ignore transport stream packets with the "transport_error_indicator" bit set...
Andreas Huber [Wed, 13 Nov 2013 18:06:01 +0000 (18:06 +0000)]
Merge "Ignore transport stream packets with the "transport_error_indicator" bit set" into klp-dev

10 years agoam 27ae268a: am 00cb884f: Merge "StageFright: Removes hacks for Nvidia MPEG2 decoder...
Adam Hampson [Wed, 13 Nov 2013 17:25:33 +0000 (09:25 -0800)]
am 27ae268a: am 00cb884f: Merge "StageFright: Removes hacks for Nvidia MPEG2 decoder" into jb-mr2-dev

* commit '27ae268af29b25d85f83aa34e92ac8b7f6c87c6f':
  StageFright: Removes hacks for Nvidia MPEG2 decoder

10 years agoam 00cb884f: Merge "StageFright: Removes hacks for Nvidia MPEG2 decoder" into jb...
Adam Hampson [Wed, 13 Nov 2013 17:21:33 +0000 (09:21 -0800)]
am 00cb884f: Merge "StageFright: Removes hacks for Nvidia MPEG2 decoder" into jb-mr2-dev

* commit '00cb884fc870aba4052c8d187a45e4aec50a6b43':
  StageFright: Removes hacks for Nvidia MPEG2 decoder

10 years agoMerge "StageFright: Removes hacks for Nvidia MPEG2 decoder" into jb-mr2-dev
Adam Hampson [Wed, 13 Nov 2013 17:14:31 +0000 (17:14 +0000)]
Merge "StageFright: Removes hacks for Nvidia MPEG2 decoder" into jb-mr2-dev

10 years agoaudioflinger: fix offload track transition
Eric Laurent [Wed, 13 Nov 2013 03:25:43 +0000 (19:25 -0800)]
audioflinger: fix offload track transition

Make sure that when transitioning from one active
offloaded track to the next we flush DSP content
if both tracks are not on the same audio session.
This happens when switching between two applications
playing the same type of content (e.g MP3, stereo, 44.1).
In this case, we reuse the same output thread because the track
formats are compatible.

Bug: 11247103.
Change-Id: I2b9031591149adeb70766da5e0d21ff2933a37e8

10 years agoaudioflinger: fix offload resume after drain
Eric Laurent [Wed, 13 Nov 2013 03:10:17 +0000 (19:10 -0800)]
audioflinger: fix offload resume after drain

When pausing and resuming during the drain,
the drain sequence number shuold not be modified
otherwise the drain callback will be ignored.
This causes failure to notify end of stream to audio
player and transition to next song.

Bug: 11247103.
Change-Id: I2a35c5cc3fd6aa667cdd257f9e9cc8715cef5159

10 years agoAwesomePlayer: Improve performance on high-fps clips
Lajos Molnar [Wed, 23 Oct 2013 22:19:47 +0000 (15:19 -0700)]
AwesomePlayer: Improve performance on high-fps clips

- Immediately retry rendering next frame after frame skip.
- Schedule next videoEvent based on the timestamp of the
  next frame.

Change-Id: Ia106382c4c225321b682c1f7c2d126d7eab7d56d
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11159147

10 years agoIgnore transport stream packets with the "transport_error_indicator" bit set
Andreas Huber [Mon, 11 Nov 2013 21:35:39 +0000 (13:35 -0800)]
Ignore transport stream packets with the "transport_error_indicator" bit set

which indicates that they contain at least one bitstream error that was
unrecoverable.

Change-Id: I10665fd190194fdd2568175fe00b6063d3fc10a5
related-to-bug: 11537029

10 years agoMerge "Back to the old way of making sure that no more buffers are submitted" into...
Andreas Huber [Tue, 12 Nov 2013 18:37:46 +0000 (18:37 +0000)]
Merge "Back to the old way of making sure that no more buffers are submitted" into klp-dev

10 years agoCamera API2: Add support for partial result quirk
Eino-Ville Talvala [Thu, 7 Nov 2013 23:13:16 +0000 (15:13 -0800)]
Camera API2: Add support for partial result quirk

- Camera3Device: Include requestId in partial 3A results
- FrameProcessorBase: Add support for partial result listeners
- CameraDeviceClient: Listen and forward partial results to client

Bug: 11115603
Change-Id: If1cc6bbc32932742ac142c058688761ebf6a8024

10 years agoMerge "configure bitrate and bitrate mode at encoder initialization for VP8/9" into...
Andreas Huber [Tue, 12 Nov 2013 00:21:51 +0000 (00:21 +0000)]
Merge "configure bitrate and bitrate mode at encoder initialization for VP8/9" into klp-dev

10 years agoOnly initialize sniffers once, don't hold mutex while sniffing
Marco Nelissen [Wed, 6 Nov 2013 18:50:17 +0000 (10:50 -0800)]
Only initialize sniffers once, don't hold mutex while sniffing

b/11482896

Change-Id: Ie036554b4c9e7e8863cb07901d414ea457f1b2f1
(cherry picked from commit 377fce69297a0e5b7c3b266a7602b17146785635)

10 years agoMerge "StageFrightRecorder: do not use meta-data mode for software encoders" into...
Lajos Molnar [Mon, 11 Nov 2013 16:16:46 +0000 (16:16 +0000)]
Merge "StageFrightRecorder: do not use meta-data mode for software encoders" into klp-dev

10 years agoMerge "TimedEventQueue: improve wakelock management" into klp-dev
Eric Laurent [Mon, 11 Nov 2013 00:21:16 +0000 (00:21 +0000)]
Merge "TimedEventQueue: improve wakelock management" into klp-dev

10 years agoBack to the old way of making sure that no more buffers are submitted
Andreas Huber [Fri, 8 Nov 2013 18:57:34 +0000 (10:57 -0800)]
Back to the old way of making sure that no more buffers are submitted

to the component while in executing->idle state.

Change-Id: Ia207f0a112025ed0e2c4d62f404afbbfa694cbab
related-to-bug: 1155746311573543

10 years agoMerge "Properly handle executing->idle in GraphicBufferSource" into klp-dev
Andreas Huber [Fri, 8 Nov 2013 16:19:35 +0000 (16:19 +0000)]
Merge "Properly handle executing->idle in GraphicBufferSource" into klp-dev

10 years agoTimedEventQueue: improve wakelock management
Eric Laurent [Tue, 5 Nov 2013 00:08:15 +0000 (16:08 -0800)]
TimedEventQueue: improve wakelock management

Do not acquire a wakelock unless the event is delayed by more
than a given time. This prevents from acquiring/releasing
wakelocks too often which has adverse effects on performance.

Bug: 11509471.
Change-Id: Id06803b393b40c4db5095a6e7ec02339fa581a38

10 years agoReplace assert with error message
Andy McFadden [Thu, 7 Nov 2013 22:39:03 +0000 (14:39 -0800)]
Replace assert with error message

The failure happens when vendor code sends EMPTY_BUFFER_DONE
twice on the same buffer.  The second time through, we see a slot
that has already been emptied, and get very confused.

This should be handled with an error, not an assertion, so we now
log a stern complaint and carry on.

Bug 11557463

Change-Id: I76e53ff08924bca81afb6980df8e59a6012ff8fe

10 years agoProperly handle executing->idle in GraphicBufferSource
Andreas Huber [Thu, 7 Nov 2013 19:13:27 +0000 (11:13 -0800)]
Properly handle executing->idle in GraphicBufferSource

ACodec has initiated the transition from exectuing->idle and is waiting
for the component to return all buffers so they can be freed.
It's counter productive and with some vendors harmful to submit additional
buffers to the component from this point on.

Change-Id: I332be254a1faf94902c77b5792a373ab447e44d3
related-to-bug: 11573543

10 years agoCamera HAL3/API1: Add support for the partial result quirk.
Eino-Ville Talvala [Fri, 11 Oct 2013 16:51:09 +0000 (09:51 -0700)]
Camera HAL3/API1: Add support for the partial result quirk.

- Camera2Client:
 - Detect partial result quirk
- Camera3Device:
 - Accumulate all partial results together
 - Fire off 3A-only result once all 3A states are available
- FrameProcessorBase:
 - Filter out partials, don't send to listeners
- FrameProcessor:
 - Skip face detect on partials
 - Make sure to only handle a 3A update for a given frame once
 - Trigger AF notifications when AF mode or trigger changes, to
   properly detect all AF transitions.

Bug: 11115603
Change-Id: Iea8aa73c568701562a46071f7ea100624251d10b

10 years agoMerge "audioflinger: fix direct output underrun" into klp-dev
Eric Laurent [Wed, 6 Nov 2013 17:29:58 +0000 (17:29 +0000)]
Merge "audioflinger: fix direct output underrun" into klp-dev

10 years agoaudioflinger: fix direct output underrun
Eric Laurent [Wed, 6 Nov 2013 02:22:08 +0000 (18:22 -0800)]
audioflinger: fix direct output underrun

Underruns on tracks handled by a direct or offloaded
threads were not properly reported to the applications
causing a failure to automatically recover.

Bug: 11535001.
Change-Id: I7a8696b4d646f78b16710addfe7c108d0dd0038d

10 years agoconfigure bitrate and bitrate mode at encoder initialization for VP8/9
Andreas Huber [Tue, 5 Nov 2013 20:36:17 +0000 (12:36 -0800)]
configure bitrate and bitrate mode at encoder initialization for VP8/9

Change-Id: I0389264db4102cabb0c6fcb4ca223d85cc9e86fb
related-to-bug: 11536167

10 years agoMerge "Notify current video size if available" into klp-dev
Marco Nelissen [Mon, 4 Nov 2013 17:42:11 +0000 (17:42 +0000)]
Merge "Notify current video size if available" into klp-dev

10 years agoMerge "Restore NuPlayer error and EOS handling" into klp-dev
Lajos Molnar [Fri, 1 Nov 2013 23:17:47 +0000 (23:17 +0000)]
Merge "Restore NuPlayer error and EOS handling" into klp-dev

10 years agoNotify current video size if available
Marco Nelissen [Fri, 1 Nov 2013 17:33:18 +0000 (10:33 -0700)]
Notify current video size if available

b/11248101

Change-Id: I0fa3b5592efcf400c86692002267da6825e331ad

10 years agoMerge "AudioFlinger: fix duplicating thread standby." into klp-dev
Eric Laurent [Thu, 31 Oct 2013 22:29:50 +0000 (22:29 +0000)]
Merge "AudioFlinger: fix duplicating thread standby." into klp-dev

10 years agoAudioFlinger: fix duplicating thread standby.
Eric Laurent [Wed, 30 Oct 2013 23:57:06 +0000 (16:57 -0700)]
AudioFlinger: fix duplicating thread standby.

Commit fd47797 fixing issue 11247103 introduced a regression
where the duplicating thread does not exit standby state as
expected. This in turn prevents the tracks sending audio to
other threads to complete their activity cycle normally.

The fix conists in clearing mStandby state also in the specialized
threadLoop_write() method of DuplicatingThread subclass.

Bug: 11451415.
Change-Id: Ie8a92c819a56a2834ea25fa70a8b7b2125721775

10 years agoMerge "camera: Collect stack traces when bad things happen, print with dumpsys" into...
Igor Murashkin [Wed, 30 Oct 2013 21:09:49 +0000 (21:09 +0000)]
Merge "camera: Collect stack traces when bad things happen, print with dumpsys" into klp-dev

10 years agoRestore NuPlayer error and EOS handling
Lajos Molnar [Mon, 28 Oct 2013 21:59:21 +0000 (14:59 -0700)]
Restore NuPlayer error and EOS handling

This was erroneously removed by commit a73c954

Change-Id: I4742339139e770f0181c99d427875897fd60b68e
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11413439

10 years agoMerge "AwesomePlayer: ensure STARTED message works after reset" into klp-dev
Lajos Molnar [Wed, 30 Oct 2013 20:23:17 +0000 (20:23 +0000)]
Merge "AwesomePlayer: ensure STARTED message works after reset" into klp-dev

10 years agoStageFrightRecorder: do not use meta-data mode for software encoders
Lajos Molnar [Wed, 30 Oct 2013 17:02:12 +0000 (10:02 -0700)]
StageFrightRecorder: do not use meta-data mode for software encoders

Camera HAL v1 uses vendor-specific camera-source meta-data mode, but
software encoders use generic gralloc-source mode, so they are not
compatible.

Change-Id: I0d1bab8eada26dcb70c97b1eec83f06d1f331239
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11446505

10 years agoMerge "audioflinger: enable effects after registration if needed" into klp-dev
Eric Laurent [Wed, 30 Oct 2013 01:13:52 +0000 (01:13 +0000)]
Merge "audioflinger: enable effects after registration if needed" into klp-dev

10 years agocamera: Collect stack traces when bad things happen, print with dumpsys
Igor Murashkin [Wed, 23 Oct 2013 23:40:06 +0000 (16:40 -0700)]
camera: Collect stack traces when bad things happen, print with dumpsys

Bug: 11324229
Change-Id: Ic920e170a8f5a389fc139bbf5416c0e3186c7fb6

10 years agoAwesomePlayer: ensure STARTED message works after reset
Lajos Molnar [Mon, 28 Oct 2013 22:01:15 +0000 (15:01 -0700)]
AwesomePlayer: ensure STARTED message works after reset

Change-Id: I06217c07c0b68476cb296fd6151f6a0d8d4e02d0
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 11412881

10 years agoAudioFlinger: more fixes for offload audio lost
Eric Laurent [Sat, 26 Oct 2013 01:10:40 +0000 (18:10 -0700)]
AudioFlinger: more fixes for offload audio lost

mStandby being false was not a reliable indication that
something had been written to audio HAL.

Considering the last track in mActiveTracks vector as the
latest activated track was wrong as this is a SortedVector.

Bug: 11247103.
Change-Id: I397d011c5afcdd779def3fe25aaae7669a472cfc

10 years agoAssign blame for playback wakelocks.
Marco Nelissen [Mon, 14 Jan 2013 22:12:05 +0000 (14:12 -0800)]
Assign blame for playback wakelocks.

Set a work source for the playback wakelock, so that playback is
counted against the requesting app instead of the media server.

Cherrypicked from master.

b/9464621

Change-Id: I7329f88a288a95a582a78005a1c3d16a5a611e31

10 years agoMerge "Check for NULL buffer in repeat-latest" into klp-dev
Andy McFadden [Thu, 24 Oct 2013 17:35:43 +0000 (17:35 +0000)]
Merge "Check for NULL buffer in repeat-latest" into klp-dev

10 years agoCheck for NULL buffer in repeat-latest
Andy McFadden [Wed, 23 Oct 2013 20:39:43 +0000 (13:39 -0700)]
Check for NULL buffer in repeat-latest

Repeating the most-recent buffer appears to fail when the producer
disconnects.  This adds a NULL check to avoid crashing.

Bug 10607920

Change-Id: Ied036004425f046fcf9c26303823681f3fddb99e

10 years agoMerge "Fix kAutoRampDurationUs overflow issue" into klp-dev
Vineeta Srivastava [Wed, 23 Oct 2013 19:58:15 +0000 (19:58 +0000)]
Merge "Fix kAutoRampDurationUs overflow issue" into klp-dev

10 years agoMerge "Allow releaseBuffer after flush" into klp-dev
Glenn Kasten [Fri, 18 Oct 2013 22:02:46 +0000 (22:02 +0000)]
Merge "Allow releaseBuffer after flush" into klp-dev

10 years agoFix kAutoRampDurationUs overflow issue
Vineeta Srivastava [Thu, 17 Oct 2013 21:23:00 +0000 (14:23 -0700)]
Fix kAutoRampDurationUs overflow issue

When kAutoRampDurationUs multiplies with mSampleRate, it overflows to int64.
Type cast it to int64 to make sure RampDurationUs properly.

BUg: 11162491
Change-Id: I4f93bc9acc8456e25623a9255ca7a5b206425009

10 years agoAllow releaseBuffer after flush
Glenn Kasten [Fri, 18 Oct 2013 20:00:29 +0000 (13:00 -0700)]
Allow releaseBuffer after flush

After AudioTrack start checks for pending flush,
allow releaseBuffer on any previously obtained buffer.
For example, this can happen if the resampler has obtained
a buffer but not released the whole buffer yet.
Note that the resampler will be reading obsolete data.

Bug: 11285590
Change-Id: I0614fbb62e43604aac3089cce4b7797c87a306b5

10 years agoaudioflinger: fix track terminated before playing
Eric Laurent [Fri, 18 Oct 2013 01:59:26 +0000 (18:59 -0700)]
audioflinger: fix track terminated before playing

When a track is terminated before any audio was written,
we should not send a drain request to the HAL. The drain
will be ignored and we will wait the async callback for ever.

Also fix a potential deadlock by not deleting a track with the
thread mutex held: mPreviousTrack changed from a sp to a raw pointer.

Bug: 11247103.
Change-Id: I0a4b47b099204c7c326d45d700234ab8f72d8eae

10 years agoMerge "Fix flush() followed by start()" into klp-dev
Glenn Kasten [Thu, 17 Oct 2013 23:12:05 +0000 (23:12 +0000)]
Merge "Fix flush() followed by start()" into klp-dev

10 years agoMake sure we get to discover that the cache is sufficiently full again
Andreas Huber [Thu, 17 Oct 2013 20:24:42 +0000 (13:24 -0700)]
Make sure we get to discover that the cache is sufficiently full again

by posting buffering events while in the CACHE_UNDERRUN state.

Change-Id: Ic60c8d57f0ae502aa2b6eec7160dc4224b989604
related-to-bug: 11262689

10 years agoFix flush() followed by start()
Glenn Kasten [Thu, 17 Oct 2013 18:32:39 +0000 (11:32 -0700)]
Fix flush() followed by start()

Bug: 11259166
Change-Id: I72526cdfd4e3ff4b06e6a317e577f57cc285205d

10 years agoMerge "Fix race condition in AudioTrack::pause followed by start" into klp-dev
Glenn Kasten [Thu, 17 Oct 2013 00:59:33 +0000 (00:59 +0000)]
Merge "Fix race condition in AudioTrack::pause followed by start" into klp-dev

10 years agomerge in klp-release (no-op)
Ed Heyl [Thu, 17 Oct 2013 00:42:20 +0000 (17:42 -0700)]
merge in klp-release (no-op)

10 years agoFix race condition in AudioTrack::pause followed by start
Glenn Kasten [Thu, 17 Oct 2013 00:02:13 +0000 (17:02 -0700)]
Fix race condition in AudioTrack::pause followed by start

Bug: 11148722
Change-Id: Iec88f00c8510363d4418e4b8d5b34feb06ecf04d

10 years agoMerge "Camera: don't do hw support check for ZSL" into klp-dev
Zhijun He [Wed, 16 Oct 2013 22:47:47 +0000 (22:47 +0000)]
Merge "Camera: don't do hw support check for ZSL" into klp-dev

10 years agoMerge "AudioTrack: fix head position after restore" into klp-dev
Eric Laurent [Wed, 16 Oct 2013 22:28:33 +0000 (22:28 +0000)]
Merge "AudioTrack: fix head position after restore" into klp-dev

10 years agoAudioTrack: fix head position after restore
Eric Laurent [Wed, 16 Oct 2013 22:12:32 +0000 (15:12 -0700)]
AudioTrack: fix head position after restore

The head position transfered to the new track
by restoreTrack_l() must take into account the frames that
are dropped from the old track to avoid a non recoverable
offset in the playback head position returned to applications.

Bug: 11230062.
Change-Id: I51143a08b95e8f264ed709ae2054360315f2b8b1