Merge commit '3242cc2719a4aeb64ac5ed273cf222d8d326d44b' into gingerbread
* commit '3242cc2719a4aeb64ac5ed273cf222d8d326d44b':
TimedEventQueue is apparently important for glitch-free media playback, and so
having it inherit its priority from the thread that created it is a bad idea.
Instead, set the priority explicitly, and bump it to slightly higher than normal.
Change-Id: I01843f24905790ce2e2cde5d11a99346cfbf968d
thus eliminates the sharing of the message dispatches between omx instances.
If the omx audio and video encoders share the same dispatcher, when the audio read
blocks in the AudioSource, the message dispatcher thread gets blocked. As a result,
the message for the omx video encoder can not be dispatched, hence gets blocked too.
If the blocking time is long enough, the video frame rate decreases significantly.
This is the case when we read 2048 bytes by default each time. Reading smaller blocks
of audio data helps mitigate the above-mentioned problem, but it is not an ideal
solution for two reasons: a) it is not efficient, and thus can cause a lot of overhead
passing buffers between the frame work and the omx encoders; b) also, the audio record
thread can overflow as a result, which lead to the loss of recorded audio frames.
This patch affects both authoring engine and the playback engine.
Change-Id: I26dfde7ac46c8752cf1793ce1bfcc7be7724580e
Merge commit '01f7ac64488027492b2909b99d70491e7a391015' into gingerbread
* commit '01f7ac64488027492b2909b99d70491e7a391015':
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
The problem is that we are referring an temp object returned from a function call.
When the function call returned, the temp object is gone; and thus the reference
may be invalidated.
-- rebased
bug - 2734946
Change-Id: I1993c4462df95610ca478f816adc30058af5850e
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
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
Merge commit 'e896d41699ffe7be932102d7ccc9566f41ddb447' into kraken
* commit 'e896d41699ffe7be932102d7ccc9566f41ddb447':
Changes to the prefetcher to allow for bursts of data to be transferred, hopefully allowing the radio to go to low-power mode while idle.
Merge commit '2e3761ba43f634e97ac493f4b79e5e53954a1491' into froyo-plus-aosp
* commit '2e3761ba43f634e97ac493f4b79e5e53954a1491':
Changes to the prefetcher to allow for bursts of data to be transferred, hopefully allowing the radio to go to low-power mode while idle.