404 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Marco Nelissen
2c3dc14acb am a97402e1: 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 'a97402e1cbadbdc874afa9ffdbd23f1c62fb8177' into eclair-mr2-plus-aosp

* commit 'a97402e1cbadbdc874afa9ffdbd23f1c62fb8177':
  Music visualizer support hack.
2009-10-06 10:03:12 -07:00
Marco Nelissen
c39d2e3c01 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.
2009-10-06 08:51:16 -07:00
Eric Laurent
df9879bf1f am e9bd4788: Merge change 26881 into eclair
Merge commit 'e9bd4788d4370714374d833aed1339d17c5ded09' into eclair-plus-aosp

* commit 'e9bd4788d4370714374d833aed1339d17c5ded09':
  Fix issue 2142613: ToneGenerator: short tones sometimes don't play on sholes or over A2DP.
2009-09-25 00:43:43 -07:00
Eric Laurent
af141d529f Fix issue 2142613: ToneGenerator: short tones sometimes don't play on sholes or over A2DP.
When the AudioTrack callback notification size is relatively high (Which is the case on Sholes and over A2DP), it is likely that the end of tone is reached during the first callback. In this case, the AudioTrack is stopped before exiting the callback which causes 2 problems:
- 1: If the AudioFlinger thread is scheduled before we exit the ToneGenerator callback, the track can be stopped and reset before the data is actually marked as present in the buffer by the AudioTrack callback => no audio will be processed by AudioFlinger.
- 2: In this case, the data write index in the AudioTrack buffer is incremented after the track was reset by the AudioFlinger which leaves unplayed data in the buffer. This data will be played the next time the AudioTrack is started if not flushed in between.

The fix consists in adding an intermediate state to ToneGenerator state machine so that we exit the callback function when the stop condition is reached and stop the AudioTrack the next time we execute the callback.
2009-09-24 23:49:40 -07:00
Jean-Baptiste Queru
e525eef4b8 merge from open-source master 2009-09-16 16:22:13 -07:00
Ravi K Yenduri
62e73f466e Update comment in mediaplayer.h.
When sending a MEDIA_INFO message, the second integer is supposed
to be an "info" code instead of an "error" code.
2009-09-16 15:14:40 -07:00
Andreas Huber
4f23457958 Another software color conversion implementation, this time OMX_QCOM_COLOR_FormatYVU420SemiPlanar => rgb565. 2009-09-15 16:19:08 -07:00
Android (Google) Code Review
a4fe2aca52 Merge change 25128 into eclair
* changes:
  Support CbYCrY -> RGB565 color conversion in IOMXRenderer.
2009-09-15 17:48:33 -04:00
Andreas Huber
c966a3c255 Support CbYCrY -> RGB565 color conversion in IOMXRenderer. 2009-09-15 14:32:59 -07:00
Andreas Huber
9f9afef3d5 Added an API IOMX::createRendererFromJavaSurface.
This api allows to instantiate a renderer by specifying the hosting java Surface object. This hides the implementation details of (java-)Surface, (native-)Surface and friends.
2009-09-15 12:49:11 -07:00
Andreas Huber
6026a51424 Move JPEGSource.{cpp,h} into libstagefright. 2009-09-11 07:49:50 -07:00
Andreas Huber
e6c409632f Media MIME types now have corresponding constants in MediaDefs.h, new codec enumeration API. 2009-09-10 14:43:36 -07:00
Andreas Huber
033e6c3a68 Minor API change in MPEG4Writer, support for amr output into MPEG4 containers. 2009-09-09 16:36:12 -07:00
Andreas Huber
5a65a6e220 Added a .amr file extractor (for AMR-NB and AMR-WB content). 2009-09-09 11:05:42 -07:00
Android (Google) Code Review
4e60d7e60b Merge change 24179 into eclair
* changes:
  Support encoding amr-wb content in stagefright.
2009-09-09 13:55:48 -04:00
Eric Laurent
96c08a69ea Fix issue 1992233: DTMF tones on Sholes is really long.
Add a parameter to ToneGenerator.startTone() allowing the caller to specify the tone duration. This is used by the phone application to have a precise control on the DTMF tone duration which was not possible with the use of delayed messaged.
Also modified AudioFlinger output threads so that 0s are written to the audio output stream when no more tracks are ready to mix instead of just sleeping. This avoids an issue where the end of a previous DTMF tone could stay in audio hardware buffers and be played just before the beginning of the next DTMF tone.
2009-09-08 22:56:07 -07:00
Andreas Huber
ee606e66b0 Support encoding amr-wb content in stagefright. 2009-09-08 12:55:50 -07:00
James Dong
392ff3b529 Add basic metadata retrieval support for midi, ogg, etc.
Bug 2050320
2009-09-08 11:04:53 -07:00
Android (Google) Code Review
e1da8be501 Merge change 23835 into eclair
* changes:
  When encountering a .nomedia file, notify the MediaScannerClient, so that it can erase the data column for entries that are in the folder containing the .nomedia file. This prevents us from deleting (via a delete trigger) files when somebody adds a .nomedia file after the fact.
2009-09-03 12:27:26 -07:00
Marco Nelissen
8b04661700 When encountering a .nomedia file, notify the MediaScannerClient,
so that it can erase the data column for entries that are in the
folder containing the .nomedia file. This prevents us from
deleting (via a delete trigger) files when somebody adds a
.nomedia file after the fact.
2009-09-03 11:22:28 -07:00
Andreas Huber
4c48342572 Setting the component role appears to be mandatory now for all mime types.
Also using CODEC_LOGV instead of vanilla LOGV to include the component name the message related to.
2009-09-02 16:05:36 -07:00
Andreas Huber
da050cf206 Some work to make audio encoding work. 2009-09-02 14:01:43 -07:00
Andreas Huber
43ad6eaf77 Squashed commit of the following:
commit c45bfbb97ccd05982008df47181f9c73abaf0497
Author: Andreas Huber <andih@google.com>
Date:   Tue Sep 1 15:58:12 2009 -0700

    This quirk should not be enabled by default in order to make the bug reproducible by the vendor.

commit 21d72e80e795fcae53d9c3bcc8ba6312b081e420
Author: Andreas Huber <andih@google.com>
Date:   Tue Sep 1 15:55:45 2009 -0700

    Undoing the hack to temporarily give up the lock to facilitate reading from the buffer source.

    This simply causes too many issues, there need to be independent threads providing input buffers and dequeuing output buffers.

commit 84d507def8999c146ce124cc8edfe106c9ca70c2
Author: Andreas Huber <andih@google.com>
Date:   Tue Sep 1 15:16:23 2009 -0700

    The AAC components appear to output stereo data even if the input data is mono...
2009-09-01 16:02:43 -07:00
Andreas Huber
329577aa6d Squashed commit of the following:
commit 3fa5f3ce910f34da0cedb8bcce1bd593db7eb740
Author: Andreas Huber <andih@google.com>
Date:   Thu Aug 27 14:48:54 2009 -0700

    Getting rid of more code now obsolete with the departure of OMXDecoder.

commit e0d923ec0c7bb60bec8eb97739036a4c70c0feef
Author: Andreas Huber <andih@google.com>
Date:   Thu Aug 27 14:33:06 2009 -0700

    Remove obsoleted OMXDecoder class. OMXDecoder is dead, long live OMXCodec.
2009-08-27 14:50:58 -07:00
Android (Google) Code Review
bc86bda499 Merge change 22897 into eclair
* changes:
  Fix issue 2045911: Camera Shutter tone does not play correctly while listening to music.
2009-08-27 11:37:35 -07:00
Andreas Huber
42978e55fe An attempt to fix a deadlock between OMXCodec::start and upstream ::read 2009-08-27 10:41:13 -07:00
Eric Laurent
327c27be19 Fix issue 2045911: Camera Shutter tone does not play correctly while listening to music.
Add the possibility to delay routing and volume commands in AudioPolicyClientInterface. The delay is not blocking for the caller.
2009-08-27 05:58:10 -07:00
Andreas Huber
127fcdcd9f Another quirk, some OMX components fail to properly flush before shutdown and we must do it for them... 2009-08-26 16:27:02 -07:00
Andreas Huber
b5ceb9ee21 assert => CHECK in stagefright. 2009-08-26 14:48:20 -07:00
Andreas Huber
446f44f61a Keep up with latest changes to overlay handling on that unnamable platform. 2009-08-26 09:11:13 -07:00
Andreas Huber
404cc418be Make sure not to ask for more buffers when we know that there won't be any, added a quirk for the aac decoder. 2009-08-25 14:26:05 -07:00
Android Code Review
34d7fd715f Merge change 10274
* changes:
  Ignore pause and seek for live streaming.
2009-08-21 06:23:31 -07:00
Andreas Huber
5c0a9133d2 Dynamically allocate a pair of MemoryHeaps according buffer count/sizes required by the OMX component, respect JPEG compressed size. 2009-08-20 11:16:40 -07:00
Andreas Huber
4f5e602e17 The PV AVC software decoder expects each fragment of a NAL unit to be handed to the decoder unframed. 2009-08-19 09:37:46 -07:00
Andreas Huber
09daada236 Refactored "stagefright" commandline app, split off JPEGSource. 2009-08-18 11:27:32 -07:00
Andreas Huber
be06d26cdc Squashed commit of the following:
commit 5bb012f0065f7ffaaeb4f569d71f0e3a8d6b19c3
Author: Andreas Huber <andih@google.com>
Date:   Fri Aug 14 10:40:08 2009 -0700

    An attempt at fixing export using the qcom encoders. More quirks.

commit 0690e76bfa48118a68287ccf1bbfa82febaa620c
Author: Andreas Huber <andih@google.com>
Date:   Fri Aug 14 09:08:28 2009 -0700

    Callbacks are now dispatched from a separate thread in OMX.

commit c6571a039526df29b6343f9a1971dbc019088c61
Author: Andreas Huber <andih@google.com>
Date:   Thu Aug 13 15:42:25 2009 -0700

    Massive API changes throughout stagefright, smart pointers everywhere.

commit 900612af6a0555664d9ba195112cd859491265f4
Author: Andreas Huber <andih@google.com>
Date:   Thu Aug 13 13:33:12 2009 -0700

    OMXCodecs now properly shutdown.

commit 96732f05e1b0603dcd1b11f16a23512592eeb4f5
Author: Andreas Huber <andih@google.com>
Date:   Thu Aug 13 12:04:04 2009 -0700

    More work on JPEG decoding using the hardware OMX component.

commit 63839a073ac393e3a130434ba467969053b694ad
Author: Andreas Huber <andih@google.com>
Date:   Wed Aug 12 13:13:31 2009 -0700

    An attempt to drive the JPEG decoder OMX node.

commit 3ac2fe5ab2926eda81b2123610b2434c645294ff
Author: Andreas Huber <andih@google.com>
Date:   Tue Aug 11 16:38:21 2009 -0700

    Renamed StateMachine to OMXCodec and put it in its proper place.

commit 247da75a96bf8881956413023dd49a84d5b4f5b2
Author: Andreas Huber <andih@google.com>
Date:   Tue Aug 11 16:06:19 2009 -0700

    Statemachine is now a full-fledged MediaSource.

commit 045244f6771fa0b9b329495c953afda900a84b71
Author: Andreas Huber <andih@google.com>
Date:   Fri Aug 7 09:16:54 2009 -0700

    Properly setup the input format when exporting to AMR audio.

commit 271b984cb32c5cd9e46e3f90ae121f334e4b8da9
Author: Andreas Huber <andih@google.com>
Date:   Thu Aug 6 09:59:38 2009 -0700

    Added some code to test audio encoding to the OMX harness.

commit 79af4748e4af33bd66d3fbac606e332a69741cf4
Author: Andreas Huber <andih@google.com>
Date:   Wed Aug 5 14:36:22 2009 -0700

    Merge the old OMXDecoder and the new, shiny, StateMachine code.

commit 91cf5dd77a8762bc10a0b2ffce35e3bbeb262231
Author: Andreas Huber <andih@google.com>
Date:   Tue Aug 4 17:41:43 2009 -0700

    A new harness to test OMX node compliance (and quirks).
2009-08-17 10:24:50 -07:00
Sahil Sachdeva
c9706f0262 DO NOT MERGE, ALready merged to master.
1440173 [NJ-1331] MetaData utility parse the wrong m4a meta data. Changes to Java, application side.
2009-08-14 14:52:23 -07:00
Andreas Huber
ccf8b94169 Expose a variation of the createRenderer API that works on a plain Surface. 2009-08-10 12:58:05 -07:00
Andreas Huber
e9ec12c47e Deprecate/remove now unused socketpair ipc communication in favour of exclusive binder use. 2009-08-10 10:29:40 -07:00
Eric Laurent
ddb78e7753 Fix issue 2001214: AudioFlinger and AudioPolicyService interfaces should not use pointers as handles to inputs and outputs.
Use integers instead of void* as input/output handles at IAudioFlinger and IAudioPolicyService interfaces.
AudioFlinger maintains an always increasing count of opened inputs or outputs as unique ID.
2009-08-07 00:27:19 -07:00
Andreas Huber
ea03f4af10 Recording/Export to .mp4/h.263 somewhat works on TI hardware. 2009-08-05 09:46:40 -07:00
Andreas Huber
1de13168a9 The IOMX interface now instantiates IOMXRenderers to hide the details of hardware accelerated blitting. 2009-07-31 12:48:53 -07:00
James Dong
cbe7c5441c Remove hardcoded maximum frame rate limit from the framework
bug 1993400
2009-07-30 11:16:11 -07:00