1825 Commits

Author SHA1 Message Date
Andreas Huber
2e3761ba43 Merge "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." into froyo 2010-06-03 15:28:13 -07:00
Andreas Huber
3c460f3da0 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.
Change-Id: I03dbdac3cd250340059ea43b341129b30acce4e2
related-to-bug: 2736779
2010-06-03 14:43:57 -07:00
James Dong
c2f328d0d2 Remove hard-coded pixel format for recording frames in CameraSource.
Retrieve the pixel format from Camera HAL at runtime.

Change-Id: I63f820f54c59c2019dfd195320b9928da3362536
2010-06-03 11:51:39 -07:00
James Dong
57ad07039a am c40209ac: am 28a92b2e: Merge "Fix a Javadoc to clarify when setAudioStreamType() should be called." into froyo
Merge commit 'c40209ac60a64a7c08b0d0028060d5308fd7a0b8' into kraken

* commit 'c40209ac60a64a7c08b0d0028060d5308fd7a0b8':
  Fix a Javadoc to clarify when setAudioStreamType() should be called.
2010-06-03 11:30:03 -07:00
James Dong
c40209ac60 am 28a92b2e: Merge "Fix a Javadoc to clarify when setAudioStreamType() should be called." into froyo
Merge commit '28a92b2e76a13c18dc23e5239717b122a174182f' into froyo-plus-aosp

* commit '28a92b2e76a13c18dc23e5239717b122a174182f':
  Fix a Javadoc to clarify when setAudioStreamType() should be called.
2010-06-03 11:27:19 -07:00
James Dong
9d96354d70 Fix a Javadoc to clarify when setAudioStreamType() should be called.
bug - 2737926

Change-Id: I8718c3d1a544cf5cb1b7e98b6c24fe0e6d3574ba
2010-06-03 10:37:28 -07:00
Eric Laurent
65b65459e6 Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications.
First drop of audio framework modifications for audio effects support.

- AudioTrack/AudioRecord:
Added support for auxiliary effects in AudioTrack
Added support for audio sessions
Fixed left right channel inversion in setVolume()

- IAudioFlinger:
Added interface methods for effect enumeraiton and instantiation
Added support for audio sessions.

- IAudioTrack:
Added method to attach auxiliary effect.

- AudioFlinger
Created new classes to control effect engines in effect library and manage effect connections to tracks or
output mix:
  EffectModule: wrapper object controlling the effect engine implementation in the effect library. There
	is one EffectModule per instance of an effect in a given audio session
  EffectChain: group of effects associated to one audio session. There is one EffectChain per audio session.
	EffectChain for session 0 is for output mix effects, other chains are attached to audio tracks
	with same session ID. Each chain contains a variable number of EffectModules
  EffectHandle: implements the IEffect interface. There is one EffectHandle object for each application
	controlling (or using) an effect module. THe EffectModule maintians a list of EffectHandles.

Added support for effect modules and effect chains creation in PlaybackThread.
modified mixer thread loop to allow track volume control by effect modules and call effect processing.

-AudioMixer
Each track now specifies its output buffer used by mixer for accumulation
Modified mixer process functions to process tracks by groups of tracks with same buffer
Modified track process functions to support accumulation to auxiliary channel

Change-Id: I26d5f7c9e070a89bdd383e1a659f8b7ca150379c
2010-06-03 03:21:53 -07:00
Jaikumar Ganesh
740e39be6a Pass BluetoothDevice to the Bluetooth Headset calls.
This is to support multiple headsets at the same time, atleast
at the framework level.

Change-Id: I91d05c6c2828c9a09d00806d5e79f1e9c9c7cf84
2010-06-02 16:03:51 -07:00
Andreas Huber
eaeae4ab60 A debugging DataSource artifically limiting the available bandwidth.
Change-Id: I4ca75337a52599d211ea066fd94e649748df052d
2010-06-01 13:41:16 -07:00
James Dong
464411983a Merge "Avoid copying for input recording frames in CameraSource" into kraken 2010-05-28 10:53:09 -07:00
James Dong
dfb1dd6a8c Avoid copying for input recording frames in CameraSource
This is the part one.

- Let CameraSource be a MediaBufferObserver. It releases the recording frame when the ref count of a MediaBuffer containing
  the recording frame drops to 0.

  This reduces the CPU load from 90+% down to 50-60%.

Part two is related to the avoidance of copying the input video frames to the video encoder.
However, we are not able to use OMX_UseBuffer directly. Still work on the second part.

Change-Id: I906f1d054ae8bdcf82e1617f1fc120152f2eb2eb
2010-05-28 10:44:20 -07:00
Andreas Huber
261eb0cbef Better sniffing of MPEG4 content by checking for a compatible sub-brand.
Change-Id: I076908822ad0e663b9932e61fb33edc12c2e1948
related-to-bug: 2673192
2010-05-27 09:59:54 -07:00
Andreas Huber
2cb138dbe8 Merge "After failing to create an AudioTrack, only stop the source if we were the ones starting it." into kraken 2010-05-27 08:57:23 -07:00
James Dong
407f98bfcd Remove the logic in CameraSource using CameraParameters class to find out the buffer size.
Change-Id: I76eea76bda49529d08b46241d3dded1a804f891c
2010-05-27 02:01:19 -07:00
Wu-cheng Li
c109190b69 Add support for gps altitude EXIF tags.
Also improve the precision of getLatLong().

Change-Id: Id2c60f0d1d19e9da173b5ec1228f03c2195e189f
2010-05-27 15:59:05 +08:00
James Dong
1090a29d4e Merge "Avoid repeatedly allocating and freeing memory in CameraSource" into kraken 2010-05-26 17:01:16 -07:00
James Dong
aed15e7856 Avoid repeatedly allocating and freeing memory in CameraSource
Change-Id: Ia3760820da0559e4e908dedae1f1df05f9a6a242
2010-05-26 16:54:18 -07:00
Andreas Huber
5fb03b876b After failing to create an AudioTrack, only stop the source if we were the ones starting it.
Change-Id: I1820c2634cfeb01af9eaf11b6473c5d7b87d1fa3
related-to-bug: 2716035
2010-05-26 13:10:15 -07:00
Andreas Huber
eae953bfd4 Convert a number of assertions into runtime errors (OggExtractor)
Change-Id: I8fcaec927d7b72e9d61cb7283e54523711980268
2010-05-26 12:59:06 -07:00
Andreas Huber
a581a77640 Merge "Squashed commit of the following:" into kraken 2010-05-26 11:21:06 -07:00
Eric Laurent
27a308d309 Merge "Fix issue 2667797: [Audio Effect Framework] new base class and binder interfaces for effect control." into kraken 2010-05-25 23:48:30 -07:00
Yu Shan Emily Lau
f35ce7f8ee am 6e0967b3: am b0016e2b: Merge "Added the runtime parameters for the mediarecorder stress test. Set the total number of the stress loops of camera preview memory test to 200." into froyo
Merge commit '6e0967b3c4561e188df72f478baf16c6627b12be' into kraken

* commit '6e0967b3c4561e188df72f478baf16c6627b12be':
  Added the runtime parameters for the mediarecorder stress test.
2010-05-25 17:44:46 -07:00
Yu Shan Emily Lau
6e0967b3c4 am b0016e2b: Merge "Added the runtime parameters for the mediarecorder stress test. Set the total number of the stress loops of camera preview memory test to 200." into froyo
Merge commit 'b0016e2b2162c916289d022f1572c0bc95158543' into froyo-plus-aosp

* commit 'b0016e2b2162c916289d022f1572c0bc95158543':
  Added the runtime parameters for the mediarecorder stress test.
2010-05-25 17:42:29 -07:00
Yu Shan Emily Lau
48584d7b8f Added the runtime parameters for the mediarecorder stress test.
Set the total number of the stress loops of camera preview memory test to 200.

Change-Id: I5a0278095155afd669ffee9bd599ddfffdcc42bf
2010-05-25 16:42:57 -07:00
Andreas Huber
f7617d3601 Merge "Support for thumbnail extraction in the Matroska extractor." into kraken 2010-05-25 14:16:23 -07:00
Andreas Huber
6bdf2edba4 Support for thumbnail extraction in the Matroska extractor.
Change-Id: I56f13fc4868baffe0bb8c2484d2753c766a73960
related-to-bug: 2483739
2010-05-25 13:41:40 -07:00
Eric Laurent
0616976128 Merge "Fix the simulator build broken by commit 5fe37c6838de9fbd959ad19ba44aa3d00d1b4e6f" into kraken 2010-05-25 12:42:53 -07:00
Eric Laurent
a9d635d608 Fix the simulator build broken by commit 5fe37c6838de9fbd959ad19ba44aa3d00d1b4e6f
Change-Id: Ibf6aebfec60cd7f807c3e49f0dbb5ab8e86bcdc1
2010-05-25 12:38:34 -07:00
Andreas Huber
c6c62e12c9 Support for ogg(vorbis) metadata in stagefright including album art.
Change-Id: I0c8c0136cebe2d2d97caabb7bc0c65be86329dbb
related-to-bug: 2713414
2010-05-25 11:20:29 -07:00
Eric Laurent
c0f34386d6 Fix issue 2667797: [Audio Effect Framework] new base class and binder interfaces for effect control.
Added IEffect and IEffectClient binder interfaces to exchange effect module control
and status information between application and media server processes.

Change-Id: I10e8e894898e52ed9956a765d0ef7075eb2593af
2010-05-24 23:33:42 -07:00
Eric Laurent
cf3fa85cdb Merge "Fix issue 2667796: [Audio Effect Framework] Effect factory and libraries." into kraken 2010-05-24 23:23:29 -07:00
Andreas Huber
47ba30e863 Squashed commit of the following:
commit a2194ecc341fa0c530d0007d8561286c8b8f2d15
Author: Andreas Huber <andih@google.com>
Date:   Fri May 21 12:50:09 2010 -0700

    Instead of including the libvpx libraries prebuilt in our tree, build them from sources.

    Change-Id: I5ec57decf1200cf9137fe13ff77d06f47950c3d7

commit 711098ca3f16800a22ccdb26a07e57e471cca438
Author: Andreas Huber <andih@google.com>
Date:   Thu May 20 15:00:27 2010 -0700

    Support for VPX/VP8 decoding in stagefright

    Change-Id: I16d93faf3f56a5f8ec39c14367704469f914db9e
    related-to-bug: 2483739

Change-Id: Ibc124f6af540c2715cb2325151eecdd6edf085ec
2010-05-24 14:38:02 -07:00
James Dong
6c537e53ce Merge "Properly handle start code in H264/AVC encoder output" into kraken 2010-05-24 10:54:25 -07:00
Andreas Huber
cbcf8f6311 Interestingly, a call to fseek with a NULL file handle now blocks forever...
Change-Id: Ic80c579abcf2bdb73f7fd1da713649b7c7f25f56
2010-05-24 09:24:02 -07:00
Andreas Huber
df17b084bc Merge "Support for media extraction from .mkv/.mka Matroska files in stagefright." into kraken 2010-05-21 08:09:53 -07:00
Eric Laurent
5fe37c6838 Fix issue 2667796: [Audio Effect Framework] Effect factory and libraries.
First effect factory and effect library API implementation.
Also added default effect libraries for reverb and equalizer effects.
These libraries are for functional test only and are not fine tuned with
regard to audio quality. They will probably be replaced by other implementations
before the release.

Change-Id: I6868f8612146ae282c64052765c61a52ec789ec8
2010-05-21 07:05:56 -07:00
James Dong
c6161722ad Properly handle start code in H264/AVC encoder output
- Some H264/AVC encoder output start code in each output buffer, and others don't.
  This patch always strips the start code first so that the sample contains the correct size.
- Also properly initialize the interleave duration.

Change-Id: I692043ce7e38f0215e1097aad9e847a57907b6e4
2010-05-20 18:02:52 -07:00
Andreas Huber
c05ab485e4 Merge "Update software AVC decoder to no longer require the kWantsNALFragments hack." into kraken 2010-05-20 15:01:07 -07:00
Andreas Huber
072f5247ef Support for media extraction from .mkv/.mka Matroska files in stagefright.
Change-Id: I4c26579828ad575523ccf58b0b5cb144046c04ca
related-to-bug: 2483739
2010-05-20 14:56:53 -07:00
Andreas Huber
9402038095 Update software AVC decoder to no longer require the kWantsNALFragments hack.
Change-Id: I7f1882530a891a57d0cd76cbbd7084ee31c59bd1
2010-05-20 14:44:10 -07:00
James Dong
85bc1192ce Merge "Workaround for preview frame rate setting and encoder profile and level settings on passion 1. QCOM camera HAL does not honor the preview frame rate set request. see bug - 2701282 2. QCOM video encoder has lots of 0-length output buffers if the default level setting is changed. see bug - 2660974" into kraken 2010-05-20 12:18:39 -07:00
James Dong
ec9e76f921 Workaround for preview frame rate setting and encoder profile and level settings on passion
1. QCOM camera HAL does not honor the preview frame rate set request. see bug - 2701282
2. QCOM video encoder has lots of 0-length output buffers if the default level setting is changed. see bug - 2660974

Change-Id: Id01d94bb77dc242c4712d56a91b0d69a96ba6c2f
2010-05-20 12:01:29 -07:00
Andreas Huber
c6a1632732 am 3c16154a: am 2723e092: Merge "Better handling of codec initialization failure in the player and thumbnail extractor. Return a runtime error instead of asserting if the software MPEG4/H.263 decoder fails to initialize." into froyo
Merge commit '3c16154a3309fe250177d69f3fcd5b6e9a82d1b3' into kraken

* commit '3c16154a3309fe250177d69f3fcd5b6e9a82d1b3':
  Better handling of codec initialization failure in the player and thumbnail extractor. Return a runtime error instead of asserting if the software MPEG4/H.263 decoder fails to initialize.
2010-05-20 11:14:37 -07:00
Andreas Huber
3c16154a33 am 2723e092: Merge "Better handling of codec initialization failure in the player and thumbnail extractor. Return a runtime error instead of asserting if the software MPEG4/H.263 decoder fails to initialize." into froyo
Merge commit '2723e09229ce916724861ab90b6b8fc7c9ea9f2e' into froyo-plus-aosp

* commit '2723e09229ce916724861ab90b6b8fc7c9ea9f2e':
  Better handling of codec initialization failure in the player and thumbnail extractor. Return a runtime error instead of asserting if the software MPEG4/H.263 decoder fails to initialize.
2010-05-20 11:13:20 -07:00
Andreas Huber
1919e5af3d Better handling of codec initialization failure in the player and thumbnail extractor. Return a runtime error instead of asserting if the software MPEG4/H.263 decoder fails to initialize.
Change-Id: I5cba02ee85a41e43c2623053de40f26e2cf2efe4
related-to-bug: 2699505
2010-05-20 10:37:06 -07:00
James Dong
17299ab50c Initial software encoder checkins
Change-Id: I27f387db23594e46384c4eb3a0093ce220bb6b60
2010-05-19 07:21:25 -07:00
The Android Open Source Project
f7fb5331e5 merge from open-source master
Change-Id: Ia0201ec7be4c112569b8775429d1c9674eb3b661
2010-05-17 08:56:54 -07:00
Eric Laurent
eb8f850d0b Fix issue 2553359: Pandora does not work well with Passion deskdock / Cardock.
The problem is due to a too big difference between the buffer size used at the hardware interface and at the A2DP interface.
When no resampling occurs we don't notice problems but the timing is very tight. As soon as resampling is activated, the AudioTrack underruns.
This is because the AudioTrack buffers are not resized when moving the AudioTrack from hardware to A2DP output.
The AudioTrack buffers are calculated based on a hardware output buffer size of 3072 bytes. Which is much less than the A2DP output buffer size (10240).

The solution consists in creating new tracks with new buffers in AudioFlinger when the A2DP output is opened
instead of just transfering active tracks from hardware output mixer thread to the new A2DP output mixer thread.
To avoid synchronization issues between mixer threads and client processes, this is done by invalidating tracks
by setting a flag in their control block and having AudioTrack release the handle on this track (IAudioTrack)
and create a new IAudioTrack when this flag is detected next time obtainBuffer() or start() is executed.

AudioFlinger modifications:
- invalidate the tracks when setStreamOutput() is called
- make sure that notifications of output opening/closing and change of stream type to output mapping are sent synchronously to client process.
This is necessary so that AudioSystem has the new stream to output mapping when the AudioTrack detects the invalidate flag in the client process.
Previously their were sent when the corresponding thread loop was executed.

AudioTrack modifications:
- move frame count calculation and verification from set() to createTrack() so that is is updated every time a new IAudioTrack is created.
- detect track invalidate flag in obtainBuffer() and start() and create a new IAudioTrack.

AudioTrackShared modifications
- group all flags (out, flowControlFlag, forceReady...) into a single bit filed to save space.

Change-Id: I9ac26b6192230627d35084e1449640caaf7d56ee
2010-05-17 02:23:47 -07:00
Jeff Hamilton
2c07e7b926 Merge "Modified libdrm to support SuperH platform" 2010-05-14 19:36:40 -07:00
Andreas Huber
5d75a18188 am a5cd816c: am eb9128f9: Fix sampleTable instantiation, this makes sure that the sample table refers to the custom datasource that caches the metadata to prevent needless seeking.
Merge commit 'a5cd816c720ed87b91a33aa5d000a0d308c74453' into kraken

* commit 'a5cd816c720ed87b91a33aa5d000a0d308c74453':
  Fix sampleTable instantiation, this makes sure that the sample table refers to the custom datasource that caches the metadata to prevent needless seeking.
2010-05-14 16:30:29 -07:00