1169 Commits

Author SHA1 Message Date
Jeff Brown
43a9527c54 Fix include paths.
Change-Id: Ifda45688f9f02710a74d5d7a7d902bacf1441e2e
2010-06-13 19:35:19 -07:00
Jeff Brown
8e03b7566c resolved conflicts for merge of 9e660c82 to master
Change-Id: Ic4bd85cbaa5b9a10dcb474a0dad46490bf967e43
2010-06-13 19:16:55 -07:00
Jeff Brown
46b9ac0ae2 Native input dispatch rewrite work in progress.
The old dispatch mechanism has been left in place and continues to
be used by default for now.  To enable native input dispatch,
edit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy.

Includes part of the new input event NDK API.  Some details TBD.

To wire up input dispatch, as the ViewRoot adds a window to the
window session it receives an InputChannel object as an output
argument.  The InputChannel encapsulates the file descriptors for a
shared memory region and two pipe end-points.  The ViewRoot then
provides the InputChannel to the InputQueue.  Behind the
scenes, InputQueue simply attaches handlers to the native PollLoop object
that underlies the MessageQueue.  This way MessageQueue doesn't need
to know anything about input dispatch per-se, it just exposes (in native
code) a PollLoop that other components can use to monitor file descriptor
state changes.

There can be zero or more targets for any given input event.  Each
input target is specified by its input channel and some parameters
including flags, an X/Y coordinate offset, and the dispatch timeout.
An input target can request either synchronous dispatch (for foreground apps)
or asynchronous dispatch (fire-and-forget for wallpapers and "outside"
targets).  Currently, finding the appropriate input targets for an event
requires a call back into the WindowManagerServer from native code.
In the future this will be refactored to avoid most of these callbacks
except as required to handle pending focus transitions.

End-to-end event dispatch mostly works!

To do: event injection, rate limiting, ANRs, testing, optimization, etc.

Change-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25
2010-06-13 17:42:16 -07:00
James Dong
188c432c70 am ae2c4774: am f62c57d6: Merge "Initial checkin for pause and resume control" into kraken
Merge commit 'ae2c47746b5fda636a157c4fdb0365a67d4604c3'

* commit 'ae2c47746b5fda636a157c4fdb0365a67d4604c3':
  Initial checkin for pause and resume control
2010-06-11 14:34:09 -07:00
James Dong
08c7473ce9 Initial checkin for pause and resume control
Change-Id: Ibdcf7bea5fb66baa81878704ba4091dfcfe382ee
2010-06-11 13:48:48 -07:00
Eric Laurent
948235c06e Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI.
Added AudioEffect C++ class. AudioEffect is the base class for effect specific implementations,
OpenSL ES effect interfaces and audio effect JNI.

Added the AudioEffect JNI and AudioEffect JAVA class. AudioEffect is the base class
to implement more specific JAVA classes to control audio effects from JAVA applications.

Change-Id: If300a1b708f2e6605891261e67bfb4f8330a4624
2010-06-11 06:26:31 -07:00
Chih-Chung Chang
4b983d9f30 am dac5e001: am b8bb78f5: Change camera interface to support multiple cameras.
Merge commit 'dac5e0013d1ea396f0b3a3f07654f2ecbfb79ac9'

* commit 'dac5e0013d1ea396f0b3a3f07654f2ecbfb79ac9':
  Change camera interface to support multiple cameras.
2010-06-11 03:39:17 -07:00
Chih-Chung Chang
b8bb78f54b Change camera interface to support multiple cameras.
Change-Id: Ie88fe706d2278acf762eca87780de349434778a4
2010-06-11 16:47:33 +08:00
Andreas Huber
2dabef2f4e am 627a0019: am 4d61f602: Switch stagefright\'s approach to prefetching to the new model. The java MediaPlayer is now notified about rebuffering start/end via info messages. 2010-06-10 16:13:37 -07:00
Andreas Huber
6ee780de7f am 960a0ff1: am c81d2c12: Merge "Initial check-in of new caching/prefetching data source implementation." into kraken 2010-06-10 16:13:11 -07:00
Andreas Huber
4d61f602bf Switch stagefright's approach to prefetching to the new model. The java MediaPlayer is now notified about rebuffering start/end via info messages.
Change-Id: If8185ba329ce8b6663b1ad39a4efb0ad3be81df2
2010-06-10 15:16:57 -07:00
Andreas Huber
c81d2c12de Merge "Initial check-in of new caching/prefetching data source implementation." into kraken 2010-06-10 15:15:29 -07:00
Andreas Huber
a9aaf8ffce am c90e35c1: am 8d300280: Merge "Support "pausing" of MediaSources with the effect that they no longer pull on their upstream source until a subsequent read-with-seek." into kraken 2010-06-10 12:43:53 -07:00
Andreas Huber
1f24b30fe4 Support "pausing" of MediaSources with the effect that they no longer pull on their upstream source until a subsequent read-with-seek.
Change-Id: Ie4153a10ab36c1135f5fcfb572958129d886bcc3
2010-06-10 11:24:49 -07:00
Andreas Huber
b206319122 Initial check-in of new caching/prefetching data source implementation.
Change-Id: I97a6e3f03c69c9b1219f1f06bd109c0102f2c504
2010-06-10 11:23:56 -07:00
Mathias Agopian
70eeab7412 am 34e5d967: am 55f8209d: Merge "allow re-targetting of surfaces" into kraken 2010-06-08 20:18:05 -07:00
Mathias Agopian
5e14010b1f allow re-targetting of surfaces
Surfaces can now be parcelized and sent to remote
processes. When a surface crosses a process
boundary, it looses its connection with the
current process and gets attached to the new one.

Change-Id: I39c7b055bcd3ea1162ef2718d3d4b866bf7c81c0
2010-06-08 20:10:02 -07:00
James Dong
30bb8f89ad am d49c9818: am c44c4742: Merge "Remove some hard-coded encoding parameters" into kraken 2010-06-08 13:17:07 -07:00
James Dong
1244eab2ce Remove some hard-coded encoding parameters
Change-Id: I7a8ccd5d57891a6a585c8da2ee53acb094955913
2010-06-08 12:30:58 -07:00
James Dong
7cbc12b9ce am 15c0c098: am dae9fd31: Initial check-in for collecting stats from authoring engine at runtime 2010-06-08 12:00:30 -07:00
James Dong
dae9fd3190 Initial check-in for collecting stats from authoring engine at runtime
Change-Id: I93a9d8bd260efc5e7fc135b726e3f1307c6df794
2010-06-08 11:54:21 -07:00
James Dong
cda2af1080 am ef2ad683: am 31b19758: Merge "Second part of speeding up video recording frame rate" into kraken 2010-06-08 10:17:29 -07:00
James Dong
4f501f0f2b Second part of speeding up video recording frame rate
1. Avoid copying the input recording frames to the encoder via OMX interface
   for TI video encoder
   This is a missing change for part one which help reduces the CPU load.

2. Release output buffers as early as possible. This is a little bit helpful, but not critical.

TODO:
We should save the underlying pointers allocated by the OMX component before we replace them
and restore them before we call OMX_FreeBuffer()!

Change-Id: Ib3a88978f4c3b1153808872eaa7ac4c265a811ff
2010-06-08 10:01:47 -07:00
Andreas Huber
2ccb2eba46 am f7d1c542: am a557b24a: Initial checkin of mpeg2 transport stream parser for stagefright. 2010-06-07 13:21:56 -07:00
Andreas Huber
a557b24ac4 Initial checkin of mpeg2 transport stream parser for stagefright.
Change-Id: I328ce77404daf7127933b48c9d58ed504fb8fc6f
2010-06-07 13:05:37 -07:00
Andreas Huber
1e1df1c8a9 am cd4961d9: am 455d4100: Merge "Initial checkin of "foundation" library for future stagefright development." into kraken 2010-06-07 12:54:21 -07:00
Andreas Huber
455d41002e Merge "Initial checkin of "foundation" library for future stagefright development." into kraken 2010-06-07 12:50:05 -07:00
James Dong
b4912f9b2d am f520c763: am 7a68d368: Merge "Remove hard-coded pixel format for recording frames in CameraSource. Retrieve the pixel format from Camera HAL at runtime." into kraken 2010-06-07 10:22:38 -07:00
Andreas Huber
7d2f703649 Initial checkin of "foundation" library for future stagefright development.
Change-Id: I11714dcaa647d0437a13e4c5b953b35e712da8f3
2010-06-07 10:22:07 -07:00
James Dong
7a68d3686a Merge "Remove hard-coded pixel format for recording frames in CameraSource. Retrieve the pixel format from Camera HAL at runtime." into kraken 2010-06-07 10:19:58 -07:00
Mathias Agopian
58006194f8 am f5f7d389: am fae5cb2b: optimize Surface.readFromParcel() 2010-06-04 19:17:16 -07:00
Mathias Agopian
5f98310f9a am fd89b1c8: am 7623da43: split surface management from surface\'s buffers management 2010-06-04 19:17:12 -07:00
Mathias Agopian
fae5cb2b35 optimize Surface.readFromParcel()
this is called for each relayout() and used to create a full Surface (cpp)
which in turn did some heavy work (including an IPC with surfaceflinger),
most of the time to destroy it immediatelly when the returned surface
(the one in the parcel) was the same.

we now more intelligentely read from the parcel and construct the new
object only if needed.

Change-Id: Idfd40d9ac96ffc6d4ae5fd99bcc0773e131e2267
2010-06-04 18:57:41 -07:00
Mathias Agopian
7623da435e split surface management from surface's buffers management
Change-Id: If3c5655d1231f8f0c49ba68f972b1b20c93b3f87
2010-06-04 18:57:41 -07:00
Wu-cheng Li
baff93de27 am ab5e67c6: am cefb01ab: Merge "Add KEY_SUPPORTED_METERING_MODES and fix some typos." into kraken 2010-06-04 03:41:44 -07:00
Wu-cheng Li
cefb01abbf Merge "Add KEY_SUPPORTED_METERING_MODES and fix some typos." into kraken 2010-06-04 03:38:25 -07:00
Wu-cheng Li
8aba232dbc Add KEY_SUPPORTED_METERING_MODES and fix some typos.
bug:2737111
Change-Id: I108ae7057786921bf99385ad66dbc1f02d6a1448
2010-06-04 17:18:17 +08:00
Eric Laurent
4b18200b9c am 030a1553: am 2ea200c5: Merge "Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications." into kraken 2010-06-04 00:18:07 -07:00
Eric Laurent
2ea200c5a7 Merge "Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications." into kraken 2010-06-04 00:14:46 -07:00
Wu-cheng Li
3c358eb7bd am 2f98f99c: am 5f5df382: Merge "Add camera metering mode API." into kraken 2010-06-03 22:35:40 -07:00
James Dong
c2f328d0d2 Remove hard-coded pixel format for recording frames in CameraSource.
Retrieve the pixel format from Camera HAL at runtime.

Change-Id: I63f820f54c59c2019dfd195320b9928da3362536
2010-06-03 11:51:39 -07:00
Eric Laurent
65b65459e6 Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications.
First drop of audio framework modifications for audio effects support.

- AudioTrack/AudioRecord:
Added support for auxiliary effects in AudioTrack
Added support for audio sessions
Fixed left right channel inversion in setVolume()

- IAudioFlinger:
Added interface methods for effect enumeraiton and instantiation
Added support for audio sessions.

- IAudioTrack:
Added method to attach auxiliary effect.

- AudioFlinger
Created new classes to control effect engines in effect library and manage effect connections to tracks or
output mix:
  EffectModule: wrapper object controlling the effect engine implementation in the effect library. There
	is one EffectModule per instance of an effect in a given audio session
  EffectChain: group of effects associated to one audio session. There is one EffectChain per audio session.
	EffectChain for session 0 is for output mix effects, other chains are attached to audio tracks
	with same session ID. Each chain contains a variable number of EffectModules
  EffectHandle: implements the IEffect interface. There is one EffectHandle object for each application
	controlling (or using) an effect module. THe EffectModule maintians a list of EffectHandles.

Added support for effect modules and effect chains creation in PlaybackThread.
modified mixer thread loop to allow track volume control by effect modules and call effect processing.

-AudioMixer
Each track now specifies its output buffer used by mixer for accumulation
Modified mixer process functions to process tracks by groups of tracks with same buffer
Modified track process functions to support accumulation to auxiliary channel

Change-Id: I26d5f7c9e070a89bdd383e1a659f8b7ca150379c
2010-06-03 03:21:53 -07:00
Wu-cheng Li
f7f6333831 Add camera metering mode API.
bug:2737111
Change-Id: Ie986fee56ebeaaed2d2efb757701dfe3ffdec8d8
2010-06-03 16:34:18 +08:00
Vasu Nori
8b0dd7da36 add API to Cursor to get column value type
Change-Id: I3ef1bcdb2eb1c45f68e829ccb6e3ecde28076591
2010-06-02 17:40:41 -07:00
Mathias Agopian
bd69e1b851 am 5220af87: am 770492cb: more clean-up in preparation of bigger changes 2010-06-01 16:08:48 -07:00
Mathias Agopian
6c2faea435 am 4f0a9114: am cdfd5fe2: Fix a typo in Singleton<> 2010-06-01 16:08:16 -07:00
Mathias Agopian
770492cb2b more clean-up in preparation of bigger changes
the most important change here is the renaming of
ISurfaceFlingerClient to ISurfaceComposerClient

Change-Id: I94e18b0417f50e06f21377446639c61f65f959b3
2010-05-28 17:19:16 -07:00
Mathias Agopian
cdfd5fe2c8 Fix a typo in Singleton<>
it could cause the sLock field to be emitted several times
in different compilation unit. it also prevented to
have 2 Singleton<> in the same file.
2010-05-28 15:13:30 -07:00
James Dong
5f95da7a17 am 46e70361: am 46441198: Merge "Avoid copying for input recording frames in CameraSource" into kraken 2010-05-28 11:05:59 -07:00
James Dong
464411983a Merge "Avoid copying for input recording frames in CameraSource" into kraken 2010-05-28 10:53:09 -07:00