1767 Commits

Author SHA1 Message Date
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
Andreas Huber
a5cd816c72 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 'eb9128f9b0ee660504621381fd96f82d5bf8a3fd' into froyo-plus-aosp

* commit 'eb9128f9b0ee660504621381fd96f82d5bf8a3fd':
  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:28:09 -07:00
Andreas Huber
eb9128f9b0 Fix sampleTable instantiation, this makes sure that the sample table refers to the custom datasource that caches the metadata to prevent needless seeking.
Change-Id: I576178144ffd753b809e1c4ae269ffc3aa34b511
related-to-bug: 2686604
QA-Impact: well, ..., everything related to streaming mpeg4/aac content over http
2010-05-14 15:32:21 -07:00
James Dong
d95266c6a8 Merge "Detect and handle premature termination of a recording session" into kraken 2010-05-14 12:19:17 -07:00
Ray Chen
f55e322216 Merge "Fix issue 2622023 Clean up all hardcoded '/sdcard' in camera related codes." into kraken 2010-05-14 11:48:45 -07:00
James Dong
68510e60f9 Detect and handle premature termination of a recording session
Change-Id: Ifb83b19f3e68580345b23efed5d5956fb81baeb8
2010-05-14 11:48:00 -07:00
Ray Chen
f75e370e12 Fix issue 2622023 Clean up all hardcoded '/sdcard' in camera related codes.
Change-Id: I8a509d957a7b67ee1f59dc4ef5139c4e28adeb9c
2010-05-14 11:43:38 -07:00
James Dong
9db798d0f0 Audio/video initial recording time synchronization
Change-Id: Iac58b63d474fe09c1d36ba6ecde91dafbb7fef9a
2010-05-14 10:51:12 -07:00
James Dong
1824486e04 Handle recording file size and/or duration limit
Change-Id: Ib9ed1f3ebd8fef550cc130a7ef11f2905fa9aedc
2010-05-14 10:46:56 -07:00