2525 Commits

Author SHA1 Message Date
Glenn Kasten
c81d31c3f8 Use correct syntax for #include <> ""
Change-Id: I943137108668ae66f8eba18dafe069a7951bcd8f
2012-03-13 16:14:19 -07:00
Jeff Brown
9dc348d756 Merge "Fix spurious ANRs in native activities." 2012-03-13 15:15:48 -07:00
Jeff Brown
2b6c32ca41 Fix spurious ANRs in native activities.
Some native activities experienced ANRs when the input consumer
deferred an input event due to client-side batching.  If the
input channel was fully emptied then the client had no way of
knowing that it should wake up to handle the deferred input event.

This patch also fixes some lock issues in the native activity
input queue implementation.  In at least one error case, it
was possible for a function to exit without releasing the lock.

Bug: 6051176
Change-Id: I4d9d843237e69b9834f8d8b360031b677fcab8c3
2012-03-13 15:00:09 -07:00
Marco Nelissen
1c1d1e7ed7 Merge "Gapless playback, step 1." 2012-03-13 13:23:07 -07:00
Marco Nelissen
84b8320545 Gapless playback, step 1.
Currently able to play Ogg Vorbis, PCM WAV and other lossless files seamlessly
by reusing the initial AudioTrack for subsequent players.

Change-Id: Ie7cf6b9076bdf4f9211574456d192c02c04fecc7
2012-03-13 13:13:14 -07:00
James Dong
7cd59760be Merge "Switched to use the header files in /frameworks/native and deleted the duplicate header files in /frameworks/base" 2012-03-13 12:44:54 -07:00
Glenn Kasten
18db49a462 Whitespace and indentation
Fix indentation to be multiple of 4.
Make it easier to search:
  sp< not sp < to
  "switch (...)" instead of "switch(...)" (also "if" and "while")
Remove redundant blank line at start or EOF.
Remove whitespace at end of line.
Remove extra blank lines where they don't add value.

Use git diff -b or -w to verify.

Change-Id: I966b7ba852faa5474be6907fb212f5e267c2874e
2012-03-13 11:09:47 -07:00
James Dong
e1dea48f92 Switched to use the header files in /frameworks/native
and deleted the duplicate header files in /frameworks/base

o related-to-bug: 6044887

Change-Id: I17e0692d9a9b5c8796ded36677c833ca8ab36795
2012-03-12 21:28:57 -07:00
Glenn Kasten
db9c21e754 Merge "Remove virtual from methods that don't need it" 2012-03-12 15:05:21 -07:00
Glenn Kasten
28b269f341 Use audio_policy_output_flags_t consistently
This affects:
 - IAudioFlinger::openOutput
 - AudioTrack::AudioTrack
 - AudioTrack::set
 - apps that call these

Change-Id: I26fb281bac6cb87593d17697bc9cb37a835af205
2012-03-09 15:32:22 -08:00
Glenn Kasten
df0d3ab4d0 Merge "Use AudioRecord::record_flags consistently" 2012-03-09 15:23:45 -08:00
Glenn Kasten
8d8557ad57 Remove virtual from methods that don't need it
Change-Id: I30e17e61aae25b036436c0e270313c80c43e5f06
2012-03-09 12:48:18 -08:00
Glenn Kasten
f60a5d7162 Use AudioRecord::record_flags consistently
Change-Id: I6f369a2b99eb515603bc7d5629a07db2b96783fe
2012-03-08 18:11:55 -08:00
Eric Laurent
d10a5992f9 Merge "audio policy: use audio_devices_t when appropriate" 2012-03-08 17:45:44 -08:00
Eric Laurent
c9ab9f5c2c audio policy: use audio_devices_t when appropriate
Change-Id: I1b3a5879e81c789fb53d356af3d3a1ee2dca955f
2012-03-08 15:57:09 -08:00
Mathias Agopian
8c79817dc6 remove files that moved to frameworks/native
Change-Id: I140d291e520097b1148930f736823650e08488f7
2012-03-07 19:36:08 -08:00
Glenn Kasten
ffed04ac3c IAudioFlingerClient::ioConfigChanged param2 const
The 3rd parameter (param2) to AudioFlingerClient::ioConfigChanged
is used as an input.  So changed it from void * to const void *.
It is then cast to const OutputDescriptor *
or const audio_stream_type_t * depending on the event.

Change-Id: Ieec0d284f139b74b3389b5ef69c7935a8e5650ee
2012-03-06 16:43:19 -08:00
Eric Laurent
54682583ba Merge "AudioTrack: relax check on minimum buffer size" 2012-03-06 10:52:18 -08:00
James Dong
b7fdddab0d Merge "Remove unused code - MediaSourceSplitter" 2012-03-06 10:23:58 -08:00
James Dong
5fe7057960 Remove unused code - MediaSourceSplitter
Change-Id: Icf37832a1c234501ee3ff91ff13eece2242425ae
2012-03-05 19:30:08 -08:00
Eric Laurent
bd6b74ce46 AudioTrack: relax check on minimum buffer size
Current AudioTrack implementation enforces that the requested audio
buffer size is at least corresponding the audio latency.
This requirement is too strong and leads to problems with current
stagefright and AudioSink implementations when playing over output
streams with long latency.

Ultimately, the AudioSink design should be changed to specify a minimum
buffer size in time or frames units but not in buffer count units.

Change-Id: I8ba603956f92ac49143a8249572665aa548f2f0f
2012-03-05 17:18:36 -08:00
Jean-Michel Trivi
b93a765ba6 Merge "Add channel mask in AudioSink" 2012-03-05 14:51:54 -08:00
Jean-Michel Trivi
4ed260feda Add channel mask in AudioSink
Add support for specifying a channel mask when opening an AudioSink.
  This parameter does not replace the channel count parameter in order
  to not have to duplicate the logic to derive a mask from the
  channel count everywhere an AudioSink is used without a known mask.

A mask of 0 (CHANNEL_MASK_USE_CHANNEL_ORDER) means a mask will
  be automatically derived from the number of channels.

Update existing AudioSink implementations to use the channel mask,
  and users of AudioSink to specify the mask if available, and
  CHANNEL_MASK_USE_CHANNEL_ORDER otherwise.

Change-Id: Ifa9bd259874816dbc25ead2b03ea52e873cff474
2012-03-02 17:26:49 -08:00
Glenn Kasten
92454de63c Merge "Fix typos and line length in AudioRecord comments" 2012-03-02 13:48:35 -08:00
John Grossman
720aa28279 Switch the way we configure for MediaPlayer retransmission.
This is a cherry-pick of I6ab07d89b2eeb0650e634b8c3b7a0b36aba4e7dd
with merge conflicts addressed by hand and additional changes made in
response to code review feedback.

Move in the direction of a more publishable API for configuring a
media player for retransmission.  It used to be that we used a custom
invoke and a modified URL (prefixed with aahTX://).  There are many
issues with this technique and it was never meant to stand the test of
time.

This CL gets rid of all that.  A new (but currently hidden) method was
introduced to the java level MediaPlayer API, called
setRetransmitTarget(InetSocketAddress), which allows an app writer to
set the retransmit target.  For now, this method needs to be called
before a call to setDataSource (which is pretty unusual for the
MediaPlayer API) because this mid level code uses this as a cue to
instantiate an aahTX player instead of relying on the data source to
select a player.  When retranmit functionality becomes part of the
existing android player implemenation, this
set-retrans-before-set-data-source behavior can go away, along with
the aahTX player itself.

Change-Id: I3b46c5227bbf69acb2f3cc4f93cfccad9777be98
Signed-off-by: John Grossman <johngro@google.com>
2012-03-01 14:41:35 -08:00
Andreas Huber
faf88b85e2 Merge "Instead of hardcoding OMX component names in our code, support" 2012-03-01 12:41:10 -08:00
Andreas Huber
3d3864fff4 Instead of hardcoding OMX component names in our code, support
a config file instead.

Change-Id: I5835903ab9f1c4a22ccc605ca99ed966767adf57
2012-03-01 11:30:10 -08:00
Eric Laurent
c95cd6bca0 Merge "renamed audio policy output flag." 2012-03-01 10:17:21 -08:00
Eric Laurent
45d8c80dea renamed audio policy output flag.
Renamed AUDIO_POLICY_OUTPUT_FLAG_INDIRECT to AUDIO_POLICY_OUTPUT_FLAG_NONE
which is more appropriate.

Change-Id: Ia14d60397df0f2dcd9bea0186400a09da35bc104
2012-03-01 09:43:32 -08:00
James Dong
71dea373f4 Merge "Added permission check for all sensitive drm API calls" 2012-02-29 16:32:10 -08:00
Glenn Kasten
d67f2cf943 Merge "AudioRecord const methods" 2012-02-29 14:45:25 -08:00
Mathias Agopian
06dd67e305 Merge "get rid of MemoryHeapPmem" 2012-02-29 12:10:03 -08:00
Andreas Huber
0c9aa1b6fc Merge "Separate the notion of "stop" from that of "release", i.e." 2012-02-29 09:20:25 -08:00
James Dong
5df6280557 Added permission check for all sensitive drm API calls
o all drm calls using a DecryptHandle now check the permission before proceeding

Change-Id: Ic992a991357876c6e4bfbfab4f5eec1fa0634a13
2012-02-28 18:50:44 -08:00
James Dong
ee31e56a16 Merge "Moves TimedTextDriver.h into include/media/stagefright/timedtext." 2012-02-28 18:49:34 -08:00
Andreas Huber
4484bdd2f9 Separate the notion of "stop" from that of "release", i.e.
stop - means transition back to LOADED state and keeping the component
instance allocated.

release - means we get rid of the component completely.

Change-Id: I40ad01ce70821faaad43f57999249904f9144924
2012-02-28 15:54:51 -08:00
Glenn Kasten
bd714b6cbe AudioRecord const methods
Change-Id: Ifae4fd7820b650aaca2b13c8658c292db1c46c0f
2012-02-28 08:50:18 -08:00
Mathias Agopian
b1badfc748 get rid of MemoryHeapPmem
MemoryHeapPmem is not used any longer. PMEM is not a supported
type of memory by the system anymore. a particular device might
use PMEM and need something like MemoryHeapPmem, in this case this
should be implemented in device specific code (HAL).

This will most likely break older no longer supported targets.

Change-Id: I434e4291219950018de8b793b0403bb2d92dd5cc
2012-02-27 19:58:57 -08:00
Mathias Agopian
49d2b1864c move CursorWindow from libbinder to libandroidfw
Change-Id: I3b304e4f74e0d0ec8b20c57296c62449c9a0f792
2012-02-27 18:11:20 -08:00
Daniel Lam
6f15cc959e Removed dependecies between BufferQueue and SurfaceTexture
Refactored SurfaceTexture and BufferQueue such that share
no protected members.  Created an consumer facing interface
for BufferQueue in preparation of connecting SurfaceTexture
and BufferQueue through a binder.

Change-Id: I938e63e085128148c58d0e26c7213b30145c109f
2012-02-27 16:40:48 -08:00
Jamie Gennis
f6b53db704 Merge "libutils: add a system-wide tracing utility" 2012-02-27 13:35:30 -08:00
Jamie Gennis
c7d47ec622 Merge "Revert "Removed dependecies between BufferQueue and SurfaceTexture"" 2012-02-27 13:23:51 -08:00
Mathias Agopian
8335f1cccc fix libgui header location
Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
2012-02-27 13:03:08 -08:00
Mathias Agopian
57235fc65b split utils/threads.h into multiple headers
AndroidDefs.h - C/C++ enums and types
Mutex.h - Mutex class declaration
Condition.h - Condition class declaration
RWLock.h - RWLock class declaration
Thread.h - Thread class declaration
AndroidThreads.h - low-level thread creation functions
threads.h - includes all the above for backward source compatibility

Change-Id: Ia2f80c175333b59a41d1720985810bb2346e94cb
Note: implementations are still in Threads.cpp
2012-02-27 13:03:04 -08:00
Mathias Agopian
7d3916ff9c libagl shouldn't export anything
Change-Id: Ia823dbc56aab2a0b8a6063df4348fe6baac124c6
2012-02-27 13:03:04 -08:00
Daniel Lam
05221052c5 Revert "Removed dependecies between BufferQueue and SurfaceTexture"
This reverts commit a631399f71dbc7659d2f241968f85d337726ae61
2012-02-27 11:32:06 -08:00
Jean-Baptiste Queru
c3c90353f9 Add stubs for better compatibility
Change-Id: I3fafee637f3ab239e3b870c73bcfe34cf73caf4c
2012-02-27 08:54:57 -08:00
Insun Kang
3008f0329b Moves TimedTextDriver.h into include/media/stagefright/timedtext.
So that other players can include TimedTextDriver.h properly.

Change-Id: I15e72bf655de8555eef6244a6c853c27a0828a1d
2012-02-27 17:14:28 +09:00
Jamie Gennis
c108613fb8 Merge "Removed dependecies between BufferQueue and SurfaceTexture" 2012-02-26 17:06:42 -08:00
Jamie Gennis
f217df6819 libutils: add a system-wide tracing utility
This change adds some utility functionality for doing userland tracing
into the kernel trace log.

Change-Id: Id0a8cee9ea515b1d8765afd1cecf472a88b4b9e8
2012-02-26 16:06:53 -08:00