618 Commits

Author SHA1 Message Date
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
7453da3f42 am e981c334: Extract video thumbnails from the largest sync sample among the first 20.
Merge commit 'e981c33446a98d5ccc0d73c1a840696d77cf0732' into eclair-mr2-plus-aosp

* commit 'e981c33446a98d5ccc0d73c1a840696d77cf0732':
  Extract video thumbnails from the largest sync sample among the first 20.
2009-10-22 14:49:35 -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
917d0aece5 am bfd5b386: Merge change If68c168d into eclair-mr2
Merge commit 'bfd5b38673212c47f0e386c0a8370d4ff47bd2fe' into eclair-mr2-plus-aosp

* commit 'bfd5b38673212c47f0e386c0a8370d4ff47bd2fe':
  Some cleanup of OMXCodec code, make sure to ignore 0-length output buffers in the metadata retriever.
2009-10-21 15:24:07 -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
bfe2a8f3ed am ca404dfb: Merge change Ie3ffb526 into eclair
Merge commit 'ca404dfb920ab009cef4db5e74715b796f79b3f9' into eclair-plus-aosp

* commit 'ca404dfb920ab009cef4db5e74715b796f79b3f9':
  do not merge: The qcom video decoders always output yuv data after adjusting dimensions to be a multiple of 16.
2009-10-20 13:02:05 -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
453b5ba21f am fe50b63f: am 7bb7e992: Merge change Ia8ac904d into eclair
Merge commit 'fe50b63f9b5b7e05754e3fba3ccce69b710dbafe' into eclair-mr2-plus-aosp

* commit 'fe50b63f9b5b7e05754e3fba3ccce69b710dbafe':
  fix [2182249] [MR1] valgrind error in surface flinger
2009-10-16 14:44:14 -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
Mathias Agopian
22ba121b59 am 7bb7e992: Merge change Ia8ac904d into eclair
Merge commit '7bb7e99216956d917af1786a3e02a92cac46fc84' into eclair-plus-aosp

* commit '7bb7e99216956d917af1786a3e02a92cac46fc84':
  fix [2182249] [MR1] valgrind error in surface flinger
2009-10-16 14:32:27 -07:00
Andreas Huber
4b9dbdfa18 am d96f6e85: Merge change I8176f35e into eclair-mr2
Merge commit 'd96f6e85931e3d4ac4a6dacbedc561e56c293b8d' into eclair-mr2-plus-aosp

* commit 'd96f6e85931e3d4ac4a6dacbedc561e56c293b8d':
  Reimplement the OMX backend for stagefright.
2009-10-16 12:51:42 -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
28af587a05 am c642199d: Merge change Ibd7b43bb into eclair-mr2
Merge commit 'c642199d1d60176980e2781bb78f42dce93e1c84' into eclair-mr2-plus-aosp

* commit 'c642199d1d60176980e2781bb78f42dce93e1c84':
  Separated private from public header files.
2009-10-13 10:41:12 -07:00
Andreas Huber
b7a69ce8f2 am fe324a61: Merge change I8d87cd98 into eclair-mr2
Merge commit 'fe324a61c39d5db59f09fdae81c808d7851841e6' into eclair-mr2-plus-aosp

* commit 'fe324a61c39d5db59f09fdae81c808d7851841e6':
  Fix various compiler warnings accumulated over time.
2009-10-13 10:41:03 -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
9550e2892f am cfd55579: OMXCodec now notifies the reader of changes in the output format by returning a special result/error code.
Merge commit 'cfd55579c2e20514b181809dfaf30bd6f7e04c7e' into eclair-mr2-plus-aosp

* commit 'cfd55579c2e20514b181809dfaf30bd6f7e04c7e':
  OMXCodec now notifies the reader of changes in the output format by returning a special result/error code.
2009-10-13 09:56:09 -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
c55bb59e54 am ef703f60: Merge change I98276091 into eclair-mr2
Merge commit 'ef703f60d5c00527048fdaf1c24984762f6fd434' into eclair-mr2-plus-aosp

* commit 'ef703f60d5c00527048fdaf1c24984762f6fd434':
  Change to a int64_t usecs representation for timestamps and duration throughout stagefright.
2009-10-12 16:24: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
861c462c52 am 9b8f9477: Fixing the build.
Merge commit '9b8f947790aa1dabf9eb0621d0ac8f9d189116a2' into eclair-mr2-plus-aosp

* commit '9b8f947790aa1dabf9eb0621d0ac8f9d189116a2':
  Fixing the build.
2009-10-09 09:13:53 -07:00
Andreas Huber
9b8f947790 Fixing the build. 2009-10-09 09:06:06 -07:00
Andreas Huber
e1ba422636 am 936fff36: Merge change Ib64cab41 into eclair-mr2
Merge commit '936fff36882764ec031ae4fb8338273cc2abccd5' into eclair-mr2-plus-aosp

* commit '936fff36882764ec031ae4fb8338273cc2abccd5':
  Split the ColorConverter off SoftwareRenderer, metadata support in stagefright.
2009-10-09 08:50:07 -07:00
Andreas Huber
53a76bd0c9 Split the ColorConverter off SoftwareRenderer, metadata support in stagefright. 2009-10-08 15:06:09 -07:00
Andreas Huber
1c83540e38 am 2d295a96: Merge change Iedebfe8d into eclair-mr2
Merge commit '2d295a9601315a2610a2cb759ed9a4f787e7d4b5' into eclair-mr2-plus-aosp

* commit '2d295a9601315a2610a2cb759ed9a4f787e7d4b5':
  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:39:12 -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
a6b76c35a4 am cd74c0d5: The vendor is about to check in a fix for this issue, the workaround is no longer needed
Merge commit 'cd74c0d56c0756ceb5cfa5f06d76e17aa2ed6fb9' into eclair-mr2-plus-aosp

* commit 'cd74c0d56c0756ceb5cfa5f06d76e17aa2ed6fb9':
  The vendor is about to check in a fix for this issue, the workaround is no longer needed
2009-10-08 09:22:29 -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
Mike Cleron
f9b8d3e103 Merge branch 'eclair-plus-aosp' of ssh://android-git.corp.google.com:29418/platform/frameworks/base into eclair-mr2-plus-aosp 2009-10-07 17:39:12 -07:00
Mathias Agopian
848a42e371 am a2de8e31: Merge change Ie05f07df into eclair
Merge commit 'a2de8e31c2693d009db1f9386406758874dd1d40' into eclair-plus-aosp

* commit 'a2de8e31c2693d009db1f9386406758874dd1d40':
  fix [2170319] gmail bulk operation checkbox latency on passion
2009-10-07 17:34:19 -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
1e988a04b5 am f894d111: Merge change I6c32aa75 into eclair-mr2
Merge commit 'f894d111c8c1ad9038c2d434e1cd78616a6bda0a' into eclair-mr2-plus-aosp

* commit 'f894d111c8c1ad9038c2d434e1cd78616a6bda0a':
  Workaround for avc decoder misreporting output buffer size requirements if the content is not a multiple-16 width/height.
2009-10-07 13:59:49 -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
Mathias Agopian
f7b504f6ab am 26fe45dc: Merge change I4961c959 into eclair
Merge commit '26fe45dcb3df12eda94d93f1473cd6a2f5f345c7' into eclair-plus-aosp

* commit '26fe45dcb3df12eda94d93f1473cd6a2f5f345c7':
  fix [2152536] ANR in browser
2009-10-07 11:59:52 -07:00
Eric Laurent
555e032b1a am 62443f5f: Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too high).
Merge commit '62443f5f4517ba17d911975e695f1ab75bfdbf77' into eclair-plus-aosp

* commit '62443f5f4517ba17d911975e695f1ab75bfdbf77':
  Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too high).
2009-10-07 11:59:45 -07:00
Mathias Agopian
89663e6f4d am 9d6a685b: Merge changes I430cf57b,I51f02f67,I464f13f3 into eclair
Merge commit '9d6a685ba939f413a8d3e1e97627593aa1cdf6cb' into eclair-plus-aosp

* commit '9d6a685ba939f413a8d3e1e97627593aa1cdf6cb':
  fix [2168528] enable glTexImage2D code path in SF for software-only buffers
  fix [2168531] have software-only gralloc buffer side-step the HAL
  fix [2167050] glTexImage2D code path buggy in SurfaceFlinger
2009-10-07 11:59:27 -07:00
Wu-cheng Li
1dc8267389 am 962f2536: Merge change I547cff66 into eclair
Merge commit '962f253665e0c5cc8a29de9e59ce3992dad02440' into eclair-plus-aosp

* commit '962f253665e0c5cc8a29de9e59ce3992dad02440':
  Add zoom functions and sendCommand.
2009-10-07 11:56:00 -07:00
Marco Nelissen
38729e69ad am c39d2e3c: Music visualizer support hack. This currently assumes 44k stereo (won\'t crash on other formats, but won\'t give the correct results either), and links statically with libspeex to get FFT data, increasing the size of libmedia by about 45kb.
Merge commit 'c39d2e3c012fb96999991e30659a474f9f30f789' into eclair-plus-aosp

* commit 'c39d2e3c012fb96999991e30659a474f9f30f789':
  Music visualizer support hack.
2009-10-07 11:52:39 -07:00
Mathias Agopian
ba4f5d020c am f8e4bc9f: Merge change I0c4cec7e into eclair
Merge commit 'f8e4bc9f7789b98b54fe04df56555ca8c630df70' into eclair-plus-aosp

* commit 'f8e4bc9f7789b98b54fe04df56555ca8c630df70':
  Attempt to fix [2152536] ANR in browser
2009-10-07 11:42:52 -07:00
Mathias Agopian
e3aa2ada19 am 5fd0ea8f: am 26fe45dc: Merge change I4961c959 into eclair
Merge commit '5fd0ea8fb4827cdf183fe3c5c7f11bfd9c94d895' into eclair-mr2-plus-aosp

* commit '5fd0ea8fb4827cdf183fe3c5c7f11bfd9c94d895':
  fix [2152536] ANR in browser
2009-10-06 19:28:11 -07:00
Eric Laurent
821620494f am 4e362817: am 62443f5f: Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too high).
Merge commit '4e362817ab49da3325531e1213e70ec6bbe32084' into eclair-mr2-plus-aosp

* commit '4e362817ab49da3325531e1213e70ec6bbe32084':
  Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too high).
2009-10-06 19:28:06 -07:00
Mathias Agopian
d7c18d7672 am 0ef55540: am 9d6a685b: Merge changes I430cf57b,I51f02f67,I464f13f3 into eclair
Merge commit '0ef55540ab75660c58b284415ebae7ea66684706' into eclair-mr2-plus-aosp

* commit '0ef55540ab75660c58b284415ebae7ea66684706':
  fix [2168528] enable glTexImage2D code path in SF for software-only buffers
  fix [2168531] have software-only gralloc buffer side-step the HAL
  fix [2167050] glTexImage2D code path buggy in SurfaceFlinger
2009-10-06 19:27:50 -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
Mathias Agopian
6f5f5a095a fix [2168531] have software-only gralloc buffer side-step the HAL 2009-10-06 17:00:25 -07:00
Mathias Agopian
6950e428fe fix [2167050] glTexImage2D code path buggy in SurfaceFlinger
When EGLImage extension is not available, SurfaceFlinger will fallback to using
glTexImage2D and glTexSubImage2D instead, which requires 50% more memory and an
extra copy. However this code path has never been exercised and had some bugs
which this patch fix.

Mainly the scale factor wasn't computed right when falling back on glDrawElements.
We also fallback to this mode of operation if a buffer doesn't have the adequate
usage bits for EGLImage usage.

This changes only code that is currently not executed. Some refactoring was needed to
keep the change clean. This doesn't change anything functionaly.
2009-10-06 17:00:25 -07:00