604 Commits

Author SHA1 Message Date
Eric Laurent
0986e7907f Fix issue 2285561: New AudioFlinger and audio driver API needed for A/V sync
Added getRenderPosition() API to IAudioFlinger to retreive number of audio frames
written by AudioFlinger to audio HAL and by DSP to DAC.

Added getRenderPosition() API to AudioHardwareInterface to retreive number of audio frames
written by DSP to DAC.

Exposed AudioTrack::getPosition() to AudioSink() to make it available to media player.

Removed excessive log in AudioHardwareGeneric.
2010-01-26 18:40:39 -08:00
Andreas Huber
b9e63830c6 Better support for HTTP streaming media content, fixes to the way HTTPDataSource streams the data, prefetcher implementation.
related-to-bug: 2295438
2010-01-26 16:20:10 -08:00
Chih-Chung Chang
d1d7706fce Add support for setting camera display orientation. 2010-01-26 11:07:07 -08:00
Andreas Huber
996dddff64 Support for audio recording into AMR NB/WB files as well as audio tracks in MPEG4 files.
related-to-bug: 2295449
2010-01-26 09:10:33 -08:00
Eric Laurent
473bd77675 Merge "Fix issue 2378022: AudioService should direct volume control to STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active." 2010-01-25 17:16:05 -08:00
Andreas Huber
07bf09da4a Initial checkin of AudioSource and AMRWriter, a pair of classes supporting pure-audio recording in stagefright.
related-to-bug: 2295449
2010-01-25 16:17:40 -08:00
Eric Laurent
23f25cda0c Fix issue 2378022: AudioService should direct volume control to STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active.
Modified AudioService.getActiveStreamType() so that STREAM_VOICE_CALL is selected when a track using this stream
type is playing.

Chanded isMusicActive() for a more generic isStreamActive(stream) method in AudioSystem, IAudioFlinger and AudioFlinger.
2010-01-25 14:00:10 -08:00
Andreas Huber
52733b83a7 The qcom OMX video decoders do not allocate output buffer memory at the time OMX_AllocateBuffer is called, wait until we received the first FILL_BUFFER_DONE notification until we rely on the buffer data ptr. 2010-01-25 11:24:26 -08:00
Wu-cheng Li
acf77033bb Change key to KEY_SUPPORTED_JPEG_THUMBNAIL_SIZES for consistency.
bug:2375986
2010-01-25 15:20:23 +08:00
Chih-Chung Chang
ac127dc31b Add support for 180/270 degrees rotation. 2010-01-22 16:30:39 -08:00
Chih-Chung Chang
e1ceec234c Add an orientation parameter for overlay, so we can do camera preview in portrait mode. 2010-01-21 20:20:08 -08:00
Andreas Huber
c712b9fe28 Fix no-copy-overhead OMXCodec implementation to actually work. 2010-01-20 15:05:46 -08:00
Andreas Huber
61fa01d47d Merge "Support for 'iTunes-style' metadata in .mp4 and .3gp files." 2010-01-20 11:35:02 -08:00
Eric Laurent
243bf50e1e Merge "Create base class for audio policy manager." 2010-01-20 10:03:36 -08:00
Andreas Huber
c2c9dd3251 Support for 'iTunes-style' metadata in .mp4 and .3gp files.
related-to-bug: 2368967
2010-01-20 09:50:32 -08:00
Andreas Huber
cb6ffa2824 Merge "Avoid unnecessary buffer copying if at all possible, detect if running in the mediaserver process." 2010-01-19 11:43:12 -08:00
Andreas Huber
f1fe064d73 Avoid unnecessary buffer copying if at all possible, detect if running in the mediaserver process. 2010-01-19 10:57:57 -08:00
James Dong
34bbc22cbc Media server death nodification 2010-01-15 18:28:16 -08:00
Andreas Huber
1cb02bf661 Support for determining the mime type of media via metadata extraction. 2010-01-13 11:30:34 -08:00
Andreas Huber
3a3656ce8a More metadata support. 2010-01-13 10:45:49 -08:00
Eric Laurent
cef3cd7948 Create base class for audio policy manager.
First implementations of audio policy manager in Eclair branch have shown that most code is common to all platforms.
Creating AudioPolicyManagerBase base class will improve code maintainability and readability.

Audio policy manager code for platforms using generic audio previously in AudioPolicyManagerGeneric is replaced by AudioPolicyManagerBase.
Audio policy manager test code previously in AudioPolicyManagerGeneric is moved to AudioPolicyManagerBase.

Also added a wake lock for delayed commands in AudioPolicyService.
2010-01-13 09:25:13 -08:00
Andreas Huber
aee3c6394a Squashed commit of the following:
commit f81bb1dac5ef107bb0d7d5d756fb1ffa532ba2cc
Author: Andreas Huber <andih@google.com>
Date:   Mon Jan 11 14:55:56 2010 -0800

    Support for duration metadata, midi and ogg-vorbis files (in mediascanner)

commit 0b1385a0dc156ce27985a1ff757c4c142fd7ec39
Author: Andreas Huber <andih@google.com>
Date:   Mon Jan 11 14:20:45 2010 -0800

    Refactor meta data logic. Container specific metadata is now also returned by the MediaExtractor.

commit f9818dfac39c96e5fefe8c8295e60580692d5990
Author: Andreas Huber <andih@google.com>
Date:   Fri Jan 8 14:26:09 2010 -0800

    A first pass at supporting metadata through ID3 tags.

commit 476e9e253633336ab790f943e2d6c0cd8991d76a
Author: Andreas Huber <andih@google.com>
Date:   Thu Jan 7 15:48:44 2010 -0800

    Initial checkin of ID3 (V2.2 and V2.3) parser for use in stagefright.

related-to-bug: 2295456
2010-01-12 09:14:15 -08:00
Andreas Huber
e4a838051d Reorganize some of the stagefright implementation related to metadata. 2010-01-08 11:54:36 -08:00
Eric Laurent
cf4fc6263c am f31f365a: am eb5ffc23: Merge change Id8e98194 into eclair
Merge commit 'f31f365a7708c931e955670bc6213fdc8f91a87a'

* commit 'f31f365a7708c931e955670bc6213fdc8f91a87a':
  Fix issues 2333450 and 2333559:
2009-12-22 23:46:16 -08:00
Eric Laurent
f31f365a77 am eb5ffc23: Merge change Id8e98194 into eclair
Merge commit 'eb5ffc239b6482b9c1e046f6f5872187043d852c' into eclair-plus-aosp

* commit 'eb5ffc239b6482b9c1e046f6f5872187043d852c':
  Fix issues 2333450 and 2333559:
2009-12-22 23:41:59 -08:00
Eric Laurent
eb14a783be Fix issues 2333450 and 2333559:
Add new config values to AudioSystem::FOR_DOCK force usage to differenciate car and desk docks.
Use a receiver for the sticky Intent.ACTION_DOCK_EVENT in AudioService to detect the type
of dock and select force usage accordingly.
2009-12-22 16:20:46 -08:00
Andreas Huber
b5c6be6db2 am 082e5171: Merge change I895fb7d7 into eclair-mr2
Merge commit '082e51712ab9c9ce94eaee88797bbdbc80b2004d' into eclair-mr2-plus-aosp

* commit '082e51712ab9c9ce94eaee88797bbdbc80b2004d':
  Squashed commit of the following:
2009-12-17 10:23:46 -08:00
Andreas Huber
2ea14e2319 Squashed commit of the following:
commit 144b1c40e9cf08a584c50e1bef7ba3f287e81a4f
Author: Andreas Huber <andih@google.com>
Date:   Wed Dec 16 09:28:23 2009 -0800

    This H264 file shows a certain problem even better.

commit 3245f1f3b7471975aeeb824a756c987abd610f55
Author: Andreas Huber <andih@google.com>
Date:   Wed Dec 16 09:20:08 2009 -0800

    Using only the QA testfiles now.

commit 074817eb3816c5dd70858a3594e3b92d799d873b
Author: Andreas Huber <andih@google.com>
Date:   Tue Dec 15 16:17:39 2009 -0800

    Yay, roles are back again now that the API is in place.

commit 6d847e4932cc38301ae27cb7283b7f1553a95457
Author: Andreas Huber <andih@google.com>
Date:   Tue Dec 15 13:01:20 2009 -0800

    Added commandline option for specifying the random seed for reproducable tests.

commit 62ab37b26336eaa67e49791c41c996acb6acee3f
Author: Andreas Huber <andih@google.com>
Date:   Mon Dec 14 10:53:27 2009 -0800

    When issuing a seek it is important that only the first MediaSource::read call has the seek option.

commit e77c46644b2fb6862bafa3569f7d304252074f1e
Author: Andreas Huber <andih@google.com>
Date:   Mon Dec 7 16:39:07 2009 -0800

    Make sure the tests are actually built, sp<OMXCodec> becomes sp<MediaSource>

commit 6df56915bd55a9445b3c6f953d3cc251d81579b8
Author: Andreas Huber <andih@google.com>
Date:   Thu Dec 3 14:25:36 2009 -0800

    Temporarily disable support for querying the roles of OMX components.

commit 31bb26930df9e3658dea684cedb4b0f1a06a4a88
Author: Andreas Huber <andih@google.com>
Date:   Tue Dec 1 13:36:52 2009 -0800

    Disregard EOS events, slightly change the way the EOS flag on output buffers is handled.

commit 4c382fbc9aebee8197d5988d04378062809e7c48
Author: Andreas Huber <andih@google.com>
Date:   Tue Dec 1 09:37:24 2009 -0800

    New random seek test for the codec tests. Fixed "sticky" end-of-output-buffers flag behaviour in OMXCodec.

commit c762eac3e44309592b61a168d66e091cf609fa03
Author: Andreas Huber <andih@google.com>
Date:   Tue Nov 3 14:13:43 2009 -0800

    Fix a typo.

commit 50540a59b65c7d476b0193c7494cd75895e6ca6d
Author: Andreas Huber <andih@google.com>
Date:   Tue Nov 3 09:48:35 2009 -0800

    Some more fine tuning of the unit tests, make MPEG4Extractor less verbose.

commit 1157a7e52a0636706caa235abe16d2ff8a0b8140
Author: Andreas Huber <andih@google.com>
Date:   Wed Oct 28 12:01:01 2009 -0700

    Changes to the IOMX::listNodes API, this now returns the component's roles as well, unit tests now test all components in all supported roles by default.

commit 30fbf2d8c6cb927689f7ba75eb550a81e9df488a
Author: Andreas Huber <andih@google.com>
Date:   Mon Oct 26 09:45:26 2009 -0700

    Initial check-in of unit tests for OMX components.
2009-12-17 09:28:15 -08:00
Andreas Huber
d934479100 am d980e656: Merge change Ic7e91eee into eclair-mr2
Merge commit 'd980e656baa842592944c6fed371c9b37b2feea9' into eclair-mr2-plus-aosp

* commit 'd980e656baa842592944c6fed371c9b37b2feea9':
  Add a new API to support determining the roles of an OMX component specified by name. Remove unneeded OMXSoftwareCodecsPlugin.
2009-12-15 15:38:40 -08:00
Andreas Huber
c7e91eee2e Add a new API to support determining the roles of an OMX component specified by name. Remove unneeded OMXSoftwareCodecsPlugin. 2009-12-15 15:22:08 -08:00
Andreas Huber
28fdcf93bd am 08945576: Merge change I9ac0777e into eclair-mr2
Merge commit '089455760c05289c1315268a6cb896577ceebc64' into eclair-mr2-plus-aosp

* commit '089455760c05289c1315268a6cb896577ceebc64':
  Initial checkin of software AMR NB encoder based on PV source code.
2009-12-11 15:44:59 -08:00
Andreas Huber
d49b526dd2 Initial checkin of software AMR NB encoder based on PV source code. 2009-12-11 15:09:31 -08:00
Kenny Root
1e1d44924a am 218aa945: Merge change I6478884a into eclair-mr2
Merge commit '218aa94581293876a4283f8d5908843c8f818e3a' into eclair-mr2-plus-aosp

* commit '218aa94581293876a4283f8d5908843c8f818e3a':
  Add string resource type inspection
2009-12-10 18:10:33 -08:00
Android (Google) Code Review
218aa94581 Merge change I6478884a into eclair-mr2
* changes:
  Add string resource type inspection
2009-12-10 18:05:19 -08:00
Jean-Michel Trivi
899858a396 am 6608bd0d: am 86ed86d2: Merge change I0f73439a into eclair
Merge commit '6608bd0d3af3f9c365b73f8b19d9ec0b7d5ee70b' into eclair-mr2-plus-aosp

* commit '6608bd0d3af3f9c365b73f8b19d9ec0b7d5ee70b':
  Partially fix bug 2111240 Detect docking / undocking event by reporting
2009-12-10 16:58:35 -08:00
Jean-Michel Trivi
6608bd0d3a am 86ed86d2: Merge change I0f73439a into eclair
Merge commit '86ed86d2260932bdf2217b1d8431ac9e04d47534' into eclair-mr2

* commit '86ed86d2260932bdf2217b1d8431ac9e04d47534':
  Partially fix bug 2111240 Detect docking / undocking event by reporting
2009-12-10 16:46:13 -08:00
Kenny Root
bb79f64b89 Add string resource type inspection
Allows "aapt dump --values resource" to print out whether a string in a
ResStringPool is in UTF-8 or UTF-16 encoding.

Change-Id: I6478884a70a3b46fee862dece6cb33454fc34843
2009-12-10 14:22:08 -08:00
Kenny Root
5cd6fcd518 am e6c0e993: Merge change I129483f8 into eclair-mr2
Merge commit 'e6c0e99334bc2f47e5d36db253ac8f166047c03b' into eclair-mr2-plus-aosp

* commit 'e6c0e99334bc2f47e5d36db253ac8f166047c03b':
  Optional use of UTF-8 strings in resource bundles
2009-12-09 15:51:21 -08:00
Dianne Hackborn
68a3b8b660 am 24eca800: Merge change I887f355f into eclair-mr2
Merge commit '24eca800d4b34e7d13fbcbc1ab74c9d91ff6a4e1' into eclair-mr2-plus-aosp

* commit '24eca800d4b34e7d13fbcbc1ab74c9d91ff6a4e1':
  Propagate background scheduling class across processes.
2009-12-09 15:49:02 -08:00
Jean-Michel Trivi
ed3e7ab3bf am 86ed86d2: Merge change I0f73439a into eclair
Merge commit '86ed86d2260932bdf2217b1d8431ac9e04d47534' into eclair-plus-aosp

* commit '86ed86d2260932bdf2217b1d8431ac9e04d47534':
  Partially fix bug 2111240 Detect docking / undocking event by reporting
2009-12-09 11:50:36 -08:00
Android (Google) Code Review
e6c0e99334 Merge change I129483f8 into eclair-mr2
* changes:
  Optional use of UTF-8 strings in resource bundles
2009-12-08 13:41:38 -08:00
Jean-Michel Trivi
6154412ee8 Partially fix bug 2111240 Detect docking / undocking event by reporting
to the AudioPolicyManager a new forced usage AudioSystem::FOR_DOCK
which can take the FORCE_NONE, FORCE_BT_DOCK or FORCE_WIRED_ACCESSORY
values. This CL is complemented by an update of the APM to take into
account the FOR_DOCK usage.
2009-12-07 20:42:52 -08:00
Dianne Hackborn
887f355f99 Propagate background scheduling class across processes.
This is a very simply implementation: upon receiving an IPC, if the handling
thread is at a background priority (the driver will have taken care of
propagating this from the calling thread), then stick it in to the background
scheduling group.  Plus an API to turn this off for the process, which is
used by the system process.

This also pulls some of the code for managing scheduling classes out of
the Process JNI wrappers and in to some convenience methods in thread.h.
2009-12-07 19:11:14 -08:00
Kenny Root
19138468ca Optional use of UTF-8 strings in resource bundles
Allows the use of UTF-8 for packing resources instead of the
default of UTF-16 for Java. When strings are extracted from the
ResStringPool, they are converted to UTF-16 and the result is
cached for subsequent calls.

When using aapt to package, add in the "-8" switch to pack the
resources using UTF-8. This will result in the value, key, and
type strings as well as the compiled XML string values taking
significantly less space in the final application package in
most scenarios.

Change-Id: I129483f8b3d3b1c5869dced05cb525e494a6c83a
2009-12-07 15:14:15 -08:00
Andreas Huber
f553a58425 am 5921fb51: Merge change I91eb0354 into eclair-mr2
Merge commit '5921fb51e0219ddd7cad439a73495f320c57d50e' into eclair-mr2-plus-aosp

* commit '5921fb51e0219ddd7cad439a73495f320c57d50e':
  Change OMXCodec::Create to return an sp<MediaSource> instead of an sp<OMXCodec>, this is more general and does not sacrifice any functionality as the remaining OMXCodec APIs are not meant to be public anyway.
2009-12-07 10:01:06 -08:00
Andreas Huber
91eb035404 Change OMXCodec::Create to return an sp<MediaSource> instead of an sp<OMXCodec>, this is more general and does not sacrifice any functionality as the remaining OMXCodec APIs are not meant to be public anyway. 2009-12-07 09:43:00 -08:00
Andreas Huber
5d676ad5d9 am 52f410e2: Merge change Ifef6435a into eclair-mr2
Merge commit '52f410e2ebba103220cffce05b895f0c38a56665' into eclair-mr2-plus-aosp

* commit '52f410e2ebba103220cffce05b895f0c38a56665':
  Enable proper cleanup of OMX nodes managed through stagefright.
2009-12-04 13:41:15 -08:00
Andreas Huber
fef6435a06 Enable proper cleanup of OMX nodes managed through stagefright. 2009-12-04 12:52:40 -08:00
Andreas Huber
9ee55cc1bc am 2d6d609c: Merge change I74bf38a0 into eclair-mr2
Merge commit '2d6d609c9ede7ed8924001df00af9c13effab8ad' into eclair-mr2-plus-aosp

* commit '2d6d609c9ede7ed8924001df00af9c13effab8ad':
  Squashed commit of the following:
2009-12-03 16:40:04 -08:00
Andreas Huber
874c508c53 am bfb9fb14: Refactor MediaScanner. Some steps on the way towards being able to build the tree without OpenCore.
Merge commit 'bfb9fb143b67c2d0307af2bce9af3c08f362b29a' into eclair-mr2-plus-aosp

* commit 'bfb9fb143b67c2d0307af2bce9af3c08f362b29a':
  Refactor MediaScanner. Some steps on the way towards being able to build the tree without OpenCore.
2009-12-03 16:39:27 -08:00