391 Commits

Author SHA1 Message Date
Eric Laurent
fcae6c7179 am 67b69292: Merge change I93f500a5 into eclair
Merge commit '67b692920c18f99b096dce285adc6f7439fa866c' into eclair-mr2

* commit '67b692920c18f99b096dce285adc6f7439fa866c':
  Fix issue 2203561: Sholes: audio playing out of earpiece.
2009-11-05 00:01:33 -08:00
Android (Google) Code Review
67b692920c Merge change I93f500a5 into eclair
* changes:
  Fix issue 2203561: Sholes: audio playing out of earpiece.
2009-11-05 02:55:26 -05:00
Eric Laurent
bda7469d9b Fix issue 2203561: Sholes: audio playing out of earpiece.
Create a new IAudioTrack interface to AudioFlinger when start() fails due to a broken pipe error.
Do the same if start fails due to the same error after time out in obtainBuffer().
Do not indicate that the AudioTrack is started to AudioPolicyManager if IAudioTrack start fails.
This avoids that an AudioTrack keeps a dead IAudioTrack after a media server crash.

Same modifications for AudioRecord.

Add a flag to ToneGenerator indicating that the callback thread can call Java. Without it, when the media server crashes and restarts, the AudioSystem error callback will crash in JNI if the IAudiotrack is created from AudioTrack callback thread.
2009-11-04 23:47:21 -08:00
Jean-Michel Trivi
3d2d155a87 am 7ed0ceeb: Merge change I6869df3a into eclair
Merge commit '7ed0ceeba54712f76e9a4f2dd4c9197d76813488' into eclair-mr2

* commit '7ed0ceeba54712f76e9a4f2dd4c9197d76813488':
  Add new audio sources to support the A1026 recording configurations.
2009-11-04 12:05:34 -08:00
Jean-Michel Trivi
6869df3a5d Add new audio sources to support the A1026 recording configurations. 2009-11-03 19:43:21 -08:00
Andreas Huber
6bce6d87b3 Adds a WAVExtractor for 16-bit signed PCM audio wave files. 2009-11-03 16:00:58 -08:00
Mathias Agopian
07d38c6669 am 8637759a: Merge change I36d0184e into eclair
Merge commit '8637759a1d34a4adda292579d5f8790587659235' into eclair-mr2

* commit '8637759a1d34a4adda292579d5f8790587659235':
  fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
2009-11-03 09:34:40 -08:00
Android (Google) Code Review
8637759a1d Merge change I36d0184e into eclair
* changes:
  fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
2009-11-02 21:26:54 -05:00
Mathias Agopian
36d0184e08 fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
we lost the concept of vertical stride when moving video playback to EGLImage.
Here we bring it back in a somewhat hacky-way that will work only for the
softgl/mdp backend.
2009-11-02 17:48:33 -08:00
Iliyan Malchev
cd767bfd1c am d4649b2f: Merge change Ibaef6141 into eclair
Merge commit 'd4649b2f8ea8285a4eb3c47e87520c7835e6c672' into eclair-mr2

* commit 'd4649b2f8ea8285a4eb3c47e87520c7835e6c672':
  libbinder: add a NO_CACHING flag to MemoryHeapBase
2009-11-02 15:01:36 -08:00
Android (Google) Code Review
d4649b2f8e Merge change Ibaef6141 into eclair
* changes:
  libbinder: add a NO_CACHING flag to MemoryHeapBase
2009-11-02 17:55:43 -05:00
Eric Laurent
c69e751648 am ee98c240: Merge change I73680cd9 into eclair
Merge commit 'ee98c24020c1634b02cde6d333968f04a0de941f' into eclair-mr2

* commit 'ee98c24020c1634b02cde6d333968f04a0de941f':
  Fix 2194140: [Passion] Support Audience chip.
2009-11-02 12:40:34 -08:00
Android (Google) Code Review
ee98c24020 Merge change I73680cd9 into eclair
* changes:
  Fix 2194140: [Passion] Support Audience chip.
2009-11-02 15:34:28 -05:00
Dianne Hackborn
d62b063fd4 am b6a6791f: Merge change I60413727 into eclair
Merge commit 'b6a6791f381691d4a58fe6972eb9f0b65308ac1f' into eclair-mr2

* commit 'b6a6791f381691d4a58fe6972eb9f0b65308ac1f':
  Fix issue #2226370: Resource versions match with equality
2009-11-02 10:52:22 -08:00
Eric Laurent
f22a0975c4 Fix 2194140: [Passion] Support Audience chip.
Added new input device DEVICE_IN_BACK_MIC.
Added new audio source AUDIO_SOURCE_CAMCORDER.
2009-11-02 10:38:22 -08:00
Dianne Hackborn
553399518f Fix issue #2226370: Resource versions match with equality
Also fixed turned-around increment of version number for resources. :(

Change-Id: I604137272da984bcd69cee4f174e6b7f2c786e46
2009-11-01 21:16:59 -08:00
Iliyan Malchev
baef6141a3 libbinder: add a NO_CACHING flag to MemoryHeapBase
The NO_CACHING flag translates to opening a memory region with O_SYNC.

Signed-off-by: Iliyan Malchev <malchev@google.com>
2009-10-30 18:35:47 -07:00
Wu-cheng Li
16d8f10ebf am 4cb04c46: Use image rect information to display zoomed picture.
Merge commit '4cb04c4654e9718a73b378e7b9962dee454efa8d' into eclair-mr2

* commit '4cb04c4654e9718a73b378e7b9962dee454efa8d':
  Use image rect information to display zoomed picture.
2009-10-29 19:26:04 -07:00
Android (Google) Code Review
9dba1f9280 Merge change Ib482ce88 into eclair-mr2
* changes:
  Revive support for video encoding in OMXCodec.
2009-10-29 16:20:43 -04:00
Andreas Huber
b482ce8837 Revive support for video encoding in OMXCodec. 2009-10-29 12:02:48 -07:00
Mathias Agopian
893cb4da10 am 73e17015: Merge change I8d2de438 into eclair
Merge commit '73e17015d3cd67c93ccad5d63d31c439ff6fa694' into eclair-mr2

* commit '73e17015d3cd67c93ccad5d63d31c439ff6fa694':
  fix [2143798] Need to figure out how to do video
2009-10-29 01:26:48 -07:00
Wu-cheng Li
4cb04c4654 Use image rect information to display zoomed picture. 2009-10-29 13:20:26 +08:00
Android (Google) Code Review
76a5429407 Merge change I155e2ad0 into eclair-mr2
* changes:
  Re-enable CameraSource.
2009-10-28 13:25:09 -04:00
Andreas Huber
155e2ad04c Re-enable CameraSource. 2009-10-28 10:15:07 -07:00
Mathias Agopian
9042b4564d fix [2143798] Need to figure out how to do video
Use EGLImageKHR instead of copybit directly.
    We now have the basis to use streaming YUV textures (well, in fact
    we already are). When/if we use the GPU instead of the MDP we'll
    need to make sure it supports the appropriate YUV format.

    Also make sure we compile if EGL_ANDROID_image_native_buffer is not supported
2009-10-27 13:13:29 -07:00
Eric Laurent
7ed70c9515 am bf96aaad: Merge change Icf10db28 into eclair
Merge commit 'bf96aaadd46fb5b0884070177faa16ec4f22e2ba' into eclair-mr2

* commit 'bf96aaadd46fb5b0884070177faa16ec4f22e2ba':
  Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.
2009-10-24 01:38:58 -07:00
Andreas Huber
9a12baf929 New API to instantiate a MediaExtractor given a URI and optional MIME type.
Also DataSources now must provide a method initCheck()
and DataSource::reat_at has been renamed to readAt to conform to
standard API naming guidelines.
2009-10-23 10:35:08 -07:00
Andreas Huber
57515f334b Moving the individual extractor headers files to the private include directory. 2009-10-23 09:55:10 -07:00
Andreas Huber
e13526ad92 Prefer software decoders over hardware for thumbnail extraction.
While our hardware decoders clearly outperform the software decoders in terms
of raw throughput, their startup latency makes them less suitable for thumbnail
extraction.
2009-10-23 08:39:00 -07:00
Andreas Huber
e981c33446 Extract video thumbnails from the largest sync sample among the first 20.
Also fixes OMXCodec seek behaviour on the very first call to OMXCodec::read()
2009-10-22 14:22:57 -07:00
Andreas Huber
f68c168d36 Some cleanup of OMXCodec code, make sure to ignore 0-length output buffers in the metadata retriever. 2009-10-21 14:01:30 -07:00
Eric Laurent
415f3e2875 Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.
Added setVoiceVolume() method to AudioSystem, AudioFlinger, IAudioFlinger, AudioPolicyService.
Removed call to AudioHardwareInterface::setVoiceVolume() from AudioFlinger::setStreamVolume().
2009-10-21 12:29:37 -07:00
Andreas Huber
f16a0b7399 do not merge: The qcom video decoders always output yuv data after adjusting dimensions to be a multiple of 16.
Add a quirk mode to OMXCodec that makes it aware of this fact for proper display. Also integrate back a change from eclair-mr2 that delays releasing an output buffer briefly after posting it to surface flinger, as we don't know how long it'll take it to actually display the buffer's content.
2009-10-20 11:49:01 -07:00
Mathias Agopian
fe50b63f9b am 7bb7e992: Merge change Ia8ac904d into eclair
Merge commit '7bb7e99216956d917af1786a3e02a92cac46fc84' into eclair-mr2

* commit '7bb7e99216956d917af1786a3e02a92cac46fc84':
  fix [2182249] [MR1] valgrind error in surface flinger
2009-10-16 14:33:01 -07:00
Andreas Huber
784202ea11 Reimplement the OMX backend for stagefright.
Besides a major cleanup and refactoring, OMX is now a singleton living in the media server, it listens for death notifications of node observers/clients that allocated OMX nodes and performs/attempts cleanup.

Changed APIs to conform to the rest of the system.
2009-10-16 11:22:43 -07:00
Mathias Agopian
a8ac904d97 fix [2182249] [MR1] valgrind error in surface flinger 2009-10-15 18:08:15 -07:00
Andreas Huber
bd7b43bb02 Separated private from public header files. 2009-10-13 10:22:55 -07:00
Andreas Huber
8d87cd98a8 Fix various compiler warnings accumulated over time. 2009-10-13 10:06:37 -07:00
Andreas Huber
cfd55579c2 OMXCodec now notifies the reader of changes in the output format by returning a special result/error code. 2009-10-13 09:46:46 -07:00
Andreas Huber
fa8de75250 Change to a int64_t usecs representation for timestamps and duration throughout stagefright. 2009-10-12 16:00:07 -07:00
Andreas Huber
9b8f947790 Fixing the build. 2009-10-09 09:06:06 -07:00
Andreas Huber
53a76bd0c9 Split the ColorConverter off SoftwareRenderer, metadata support in stagefright. 2009-10-08 15:06:09 -07:00
Andreas Huber
3f42707c62 Some decoders will return an error on OMX_EmptyThisBuffer to indicate that they don't support the media format, deal with this. 2009-10-08 14:21:58 -07:00
Andreas Huber
cd74c0d56c The vendor is about to check in a fix for this issue, the workaround is no longer needed 2009-10-08 09:12:11 -07:00
Mathias Agopian
18fc0120f5 am a2de8e31: Merge change Ie05f07df into eclair
Merge commit 'a2de8e31c2693d009db1f9386406758874dd1d40' into eclair-mr2

* commit 'a2de8e31c2693d009db1f9386406758874dd1d40':
  fix [2170319] gmail bulk operation checkbox latency on passion
2009-10-07 17:33:43 -07:00
Mathias Agopian
e05f07dffa fix [2170319] gmail bulk operation checkbox latency on passion
This also fixes [2152536] ANR in browser

When SF is enqueuing buffers faster than SF dequeues them.
The update flag in SF is not counted and under some situations SF will only
dequeue the first buffer. The state at this point is not technically
corrupted, it's valid, but just delayed by one buffer.

In the case of the Browser ANR, because the last enqueued buffer was delayed
the resizing of the current buffer couldn't happen.

The system would always fall back onto its feet if anything -else- in
tried to draw, because the "late" buffer would be picked up then.
2009-10-07 16:44:10 -07:00
Andreas Huber
8b432b1d85 Workaround for avc decoder misreporting output buffer size requirements if the content is not a multiple-16 width/height. 2009-10-07 13:53:24 -07:00
Android (Google) Code Review
26fe45dcb3 Merge change I4961c959 into eclair
* changes:
  fix [2152536] ANR in browser
2009-10-06 22:10:17 -04:00
Mathias Agopian
4961c959ae fix [2152536] ANR in browser
A window is created and the browser is about to render into it the
very first time, at that point it does an IPC to SF to request a new
buffer. Meanwhile, the window manager removes that window from the
list and the shared memory block it uses is marked as invalid.
However, at that point, another window is created and is given the
same index (that just go freed), but a different identity and resets
the "invalid" bit in the shared block. When we go back to the buffer
allocation code, we're stuck because the surface we're allocating for
is gone and we don't detect it's invalid because the invalid bit has
been reset.

It is not sufficient to check for the invalid bit, I should
also check that identities match.
2009-10-06 19:00:57 -07:00
Eric Laurent
62443f5f45 Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too high).
This change is a complement to the main fix in kernel driver for the same issue (partner change #1250).
It removes clicks sometimes heard after the end of the tones while audio flinger is sending 0s to the audio output stream.
The problem was that the sleep time between two writes was more than the duration of one audio output stream buffer which could cause some underrun.

Also fixed a recent regression in ToneGenerator that made that the end of previous tone was repeated at the beginning of current one under certain timing circumstances when the maximum tone duration was specified.
2009-10-06 18:59:35 -07:00