1343 Commits

Author SHA1 Message Date
Mathias Agopian
6faf7893b6 Simplify the MemoryDealer implementation
At some point the implementation became complicated because of
SurfaceFlinger's special needs, since we are now relying on gralloc
we can go back to much simpler MemoryDealer.

Removed HeapInterface and AllocatorInterface, since those don't need
to be paramterized anymore. Merged SimpleMemory and Allocation.
Made SimplisticAllocator non virtual.

Removed MemoryDealer flags (READ_ONLY, PAGE_ALIGNED)

Removed a lot of unneeded code.
2010-01-29 14:51:06 -08:00
Andreas Huber
d2315967b4 Apparently the generic mpeg4 file header does not describe the actual samplerate and channel count of the content in the case of mpeg4 audio, instead the 'ESDS' atom must be consulted.
related-to-bug: 2407094
2010-01-29 14:46:59 -08:00
Ray Chen
bf124e7e41 Unhide ThumbnailUtils to support Camera unbundling.
http://b/2375978
2010-01-29 14:30:05 -08:00
Andreas Huber
00aa8ec727 Support 24-bit LE PCM wave files in stagefright.
related-to-bug: 2300197
2010-01-29 14:13:30 -08:00
Andreas Huber
8b6c541097 Merge "Properly forward errors returned by AudioTrack up to the player." 2010-01-29 14:08:56 -08:00
Andreas Huber
7ff292c852 The AVC software decoder always aligns the decoded dimensions to 16 pixel boundaries, report this properly to callers. 2010-01-29 13:28:48 -08:00
Andreas Huber
62eac00850 Properly forward errors returned by AudioTrack up to the player.
related-to-bug: 2300197
2010-01-29 13:24:58 -08:00
Andreas Huber
85fb658b4b Merge "Make sure the OMX component is synchronously shutdown before we try to instantiate another one. Also properly cleanup the software AVC decoder to avoid leaking memory." 2010-01-29 10:25:01 -08:00
Andreas Huber
98b48dee32 Make sure the OMX component is synchronously shutdown before we try to instantiate another one. Also properly cleanup the software AVC decoder to avoid leaking memory.
related-to-bug: 2404786
2010-01-29 10:11:11 -08:00
Andreas Huber
affa99c529 For mpeg4 files streamed through HTTP, cache the entire sampletable metadata chunk in memory if possible.
related-to-bug: 2295438
2010-01-28 14:27:37 -08:00
Andreas Huber
433c9acaf7 Support the specification of additional HTTP headers in the creation of a DataSource.
related-to-bug: 2393577
2010-01-28 13:04:28 -08:00
Andreas Huber
2564300936 API Extension: Support for optionally specifying a map of extra request headers when specifying the uri of media data to be played.
related-to-bug: 2393577

Original change by Andrei Popescu <andreip@google.com>
2010-01-28 11:52:43 -08:00
Yu Shan Emily Lau
9cf5b455d9 am 47f1d4d5: am b1780474: Merge "Instead of caputre the memory footprint before and after the test. We would like to monitor the memory trend while the test is running. This can eliminate the overhead for the frist test case in creating the player." into eclair
Merge commit '47f1d4d509b271ddb2f158c761e572413f39f1a8'

* commit '47f1d4d509b271ddb2f158c761e572413f39f1a8':
  Instead of caputre the memory footprint before and after the test. We would like to monitor the memory trend while the test is running. This can eliminate the overhead for the frist test case in creating the player.
2010-01-27 17:27:41 -08:00
Andreas Huber
46ce847a62 Fix http streaming for shoutcast servers that do not support http ranges.
related-to-bug: 2295438
2010-01-27 16:21:41 -08:00
Eric Laurent
0ebff76e95 Merge "Fix issue 2285561: New AudioFlinger and audio driver API needed for A/V sync" 2010-01-27 14:21:20 -08:00
Andreas Huber
9ecaf8b8da Merge "Attempt to fix the build ... again." 2010-01-27 13:31:36 -08:00
Andreas Huber
55e99c6100 Attempt to fix the build ... again. 2010-01-27 13:30:59 -08:00
Andreas Huber
2d4d919e29 Merge "Do not hold onto the master lock while reading data from the datasource. This would prevent consumers from reading cached data immediately if it is available." 2010-01-27 13:12:58 -08:00
Andreas Huber
37105cc771 Fixing the build. Why is this suddenly necessary and didn't break the build before??? 2010-01-27 12:39:39 -08:00
Andreas Huber
fc22d93235 Do not hold onto the master lock while reading data from the datasource. This would prevent consumers from reading cached data immediately if it is available.
related-to-bug: 2295438
2010-01-27 12:08:25 -08:00
Yu Shan Emily Lau
a6f266ca57 Merge "Add the new golden thumbnail image as the PV and stagefright implementations in capturing thumbnail is different." 2010-01-27 10:28:51 -08:00
Andreas Huber
8258879fe8 Merge "Better support for HTTP streaming media content, fixes to the way HTTPDataSource streams the data, prefetcher implementation." 2010-01-27 09:24:43 -08:00
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
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
San Mehat
0c8569f2a3 Merge "MountService: Add support for renaming secure containers" 2010-01-26 06:19:21 -08:00
Yu Shan Emily Lau
eea6ecdfce Add the new golden thumbnail image as the PV and stagefright implementations in capturing thumbnail is different. 2010-01-25 20:49:08 -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
e2b3886326 Merge "Initial checkin of AudioSource and AMRWriter, a pair of classes supporting pure-audio recording in stagefright." 2010-01-25 16:18:58 -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
Eric Laurent
bb04b631b6 Merge "Fix issue 2349345: Media sound output stuck on earpiece rather than speaker." 2010-01-25 13:56:42 -08:00
Eric Laurent
b1cbc3525f Merge "Fix issue 2363154: Speech synthesis fails to start over A2DP after media server process crash." 2010-01-25 11:46:43 -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
Eric Laurent
787aa597d4 Fix issue 2363154: Speech synthesis fails to start over A2DP after media server process crash.
The problem is that after a media_server crash, the value of the A2DP output handle can change.
As this value is cached in AudioSystem for all client processes there can be a mismatch between the cached
and actual value after a media_server restart.

The fix consists in clearing the cached output handles and output to stream map values cached
in AudioSystem in AudioFlingerClient::binderDied() which is called when the media_server crashes.
2010-01-25 10:27:15 -08:00
Eric Laurent
9272b4b4a4 Fix issue 2349345: Media sound output stuck on earpiece rather than speaker.
This change fixes a problem occuring when an application (for instance a VoIP application)
changes the audio mode to MODE_IN_CALL and crashes. In this case, the audio routing policy
remains as if we were in call until the audio mode is changed back to MODE_NORMAL, for instance when a new call
made or received and terminated.

The fix consists in registering a death receipient to the binder that made the setMode() request and resetting the audio
mode in case of client process crash.
2010-01-25 09:01:48 -08:00
San Mehat
45f6104082 MountService: Add support for renaming secure containers
Signed-off-by: San Mehat <san@google.com>
2010-01-23 08:12:43 -08:00
Andreas Huber
ddce5766a3 Merge "Make sure to release the renderer before shutting down the hardware codec, qcom's hardware decoder will otherwise crash." 2010-01-22 14:51:28 -08:00
Andreas Huber
3522b5a579 Make sure to release the renderer before shutting down the hardware codec, qcom's hardware decoder will otherwise crash.
related-to-bug: 2387981
2010-01-22 14:36:53 -08:00
Marco Nelissen
7c45147f35 Merge "Make the media scanner disregard database entries that do not have absolute path names. This allows us to store other things (perhaps with http or content URIs) in the database, without the media scanner removing them again." 2010-01-22 07:53:12 -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
Marco Nelissen
35b002a9c8 Make the media scanner disregard database entries that do not have
absolute path names. This allows us to store other things (perhaps
with http or content URIs) in the database, without the media scanner
removing them again.
2010-01-21 17:12:45 -08:00
Yu Shan Emily Lau
47f1d4d509 am b1780474: Merge "Instead of caputre the memory footprint before and after the test. We would like to monitor the memory trend while the test is running. This can eliminate the overhead for the frist test case in creating the player." into eclair
Merge commit 'b1780474e6e3e1d3c584166c2fde336a0cd1c43f' into eclair-plus-aosp

* commit 'b1780474e6e3e1d3c584166c2fde336a0cd1c43f':
  Instead of caputre the memory footprint before and after the test. We would like to monitor the memory trend while the test is running. This can eliminate the overhead for the frist test case in creating the player.
2010-01-21 15:14:36 -08:00
Yu Shan Emily Lau
f465dc0367 Instead of caputre the memory footprint before and after the test. We would like to monitor the memory trend while the test is running. This can eliminate the overhead for the frist test case in creating the player. 2010-01-21 12:38:02 -08:00
Andreas Huber
48da344cf0 Merge "Fix circular dependency between StagefrightPlayer and AwesomePlayer that prevented proper cleanup." 2010-01-21 10:44:54 -08:00
Andreas Huber
2cb5c9c633 Special-case .wmv and .wma metadata retrieval and playback to use PV if available.
related-to-bug: 2381874
2010-01-21 10:31:05 -08:00
Andreas Huber
a3f4384ce8 Fix circular dependency between StagefrightPlayer and AwesomePlayer that prevented proper cleanup.
related-to-bug: 2355922
2010-01-21 10:28:45 -08:00
Andreas Huber
703f0614f3 Merge "Fix no-copy-overhead OMXCodec implementation to actually work." 2010-01-20 16:07:23 -08:00
Andreas Huber
c712b9fe28 Fix no-copy-overhead OMXCodec implementation to actually work. 2010-01-20 15:05:46 -08:00
Andreas Huber
06b3ff7d5a Make the MediaMetadataTest a little more lenient when it comes to verifying the duration of media files, only require that the returned duration is within 100ms of the expected one, as the PV and stagefright implementations differ slightly.
related-to-bug: 2377534
2010-01-20 12:16:36 -08:00