150 Commits

Author SHA1 Message Date
Eric Laurent
98449546fa am b91881fd: am dacabf97: Merge "Added Visualizer effect." into gingerbread
Merge commit 'b91881fdd1608cc922f105ec552b5505da1fecb9'

* commit 'b91881fdd1608cc922f105ec552b5505da1fecb9':
  Added Visualizer effect.
2010-07-07 20:55:40 -07:00
Eric Laurent
dacabf97c6 Merge "Added Visualizer effect." into gingerbread 2010-07-07 16:23:30 -07:00
James Dong
0920b1cd7d am b3598832: am c4243342: Merge "Allow application to set two more encoding paramters: video profile and level" into gingerbread
Merge commit 'b35988329ac1a574898db9226039e37e352c57a8'

* commit 'b35988329ac1a574898db9226039e37e352c57a8':
  Allow application to set two more encoding paramters: video profile and level
2010-07-07 15:00:28 -07:00
James Dong
81c929a684 Allow application to set two more encoding paramters: video profile and level
Change-Id: I673e681cefe184d5c556c612c54600a24a2143e5
2010-07-07 12:11:53 -07:00
Eric Laurent
df9b81ced4 Added Visualizer effect.
The visualizer enables application to retrieve part of the currently playing audio for visualization purpose.
It is not an audio recording interface and only returns partial and low quality audio content as a waveform or
a frequency representation (FFT).

Removed temporary hack made in MediaPlayer for animated wall papers based on audio visualization (snoop() method.

This commit also includes a change in AudioEffect class:
 - the enable()/disable() methods have been replaced bya more standard setEnabled() method.
 - some fixes in javadoc

Change-Id: Id092a1340e9e38dae68646ade7be054e3a36980e
2010-07-07 11:00:28 -07:00
Nipun Kwatra
d26920ada0 Adding timelapse capture from videocamera.
Current implementation looks at the timestamps of all incoming frames in
CameraSource::dataCallbackTimestamp().
It drops all frames until enough time has elapsed to get the next time lapse frame.
When enough time has passed to capture the next time lapse frame, the frame is no longer dropped
and the timestamp of this frame is modified to be one frame time (1/framerate) ahead of the
last encoded frame's time stamp.

Change-Id: I82b9d5e96113dffa6901aac3b8a8ef999ffc1d0b
2010-07-01 14:54:36 -07:00
James Dong
7b06de6d5a Refactor Stagefright::StartMPEG4Recording()
- Also, better error handling

Change-Id: Ic18d08dc6489adf92c6a588efa4baca66429b175
2010-07-01 10:28:38 -07:00
James Dong
c0ab2a6458 Added encoding parameters set up for H263 video encoder
Also:
- Allowed start() call when encoder already starts and stop() call when encoder has not started yet
- Handled default value for audio/video sources/encoders and file output format

Change-Id: I03b2f7d3cf570baa0fd011a8c0ad200f2f2a5da1
2010-06-29 16:44:19 -07:00
James Dong
fe1bafecde Separate MediaRecorderClient with MediaPlayerClient
- An alternative would be to define a common base class that
  both MediaRecorderClient and MediaPlayerClient can derive.
  But since the common code, onTransact() and notify() uses
  some Binder code, having a common base class may not gain
  us too much in terms of code reuse.

Change-Id: Ibc06720278ad173fceacff3d267b7060856c6316
2010-06-28 15:32:26 -07:00
James Dong
09936ed192 Provide progress status report during authoring
- Track either the number of A/V frames authored, or the time elapsed
- Track the completion of the authoring
- Add multiple camera support for authoring by accepting a camera id parameter
- Set file type based on the OUTPUT_FORMAT requested

Change-Id: I0f9d31b3b7a8fa43eb53f572410fb0ebd4fa0bb7
2010-06-25 16:20:42 -07:00
James Dong
6feaa46496 Enable passing parameters to the MediaWriter at runtime (at start() call).
- estimate the moov box size for mp4 file writer based on the file
  size/duration limit and target bit rate.
- can switch to use 64 bit file offset at runtime

rebased

Change-Id: Ibbe1f57e91ab2605820d5d96e8048d11e5559c53
2010-06-25 10:24:35 -07:00
James Dong
57e7f83c03 Track maximum amplitude and fix getMaxAmplitude()
- only start to track the max amplitude after the first call to getMaxAmplitude()

Change-Id: I64d3d9ca0542202a8535a211425e8bccceca50fc
2010-06-24 21:59:25 -07:00
Andreas Huber
8d65dd2653 Remove most stagefright property overrides, remove VorbisPlayer and VorbisMetadataRetriever as this functionality is now provided by stagefright.
Change-Id: Ieafe75a4550c273ad59b4518d7cd4c0fce0f7cce
related-to-bug: 2370115
2010-06-23 16:40:57 -07:00
Eric Laurent
619346f902 Added support for audio sessions in MediaPlayer and AudioTrack.
Audio sessions are used to associate audio effects to particular instances (or groups) of MediaPlayers or AudioTracks.

Change-Id: Ib94eec43241cfcb416590f435ddce7ab39a07640
2010-06-22 17:14:04 -07:00
James Dong
42a18c09e7 Check and clip some video encoding parameters against media profiles before passing them to video encoder
Change-Id: I69e0e7411806a4ece6c0bf0e02c74eaaf48a17ac
2010-06-17 11:34:10 -07:00
James Dong
d77d2a980c Remove hard-coded number of audio channels in AudioSource
Change-Id: I5f362252c25e2251bbfa9818b711ee23b4975248
2010-06-14 17:45:35 -07:00
James Dong
08c7473ce9 Initial checkin for pause and resume control
Change-Id: Ibdcf7bea5fb66baa81878704ba4091dfcfe382ee
2010-06-11 13:48:48 -07:00
James Dong
71d714ccbf Remove the lock/unlock workaround from CameraService
bug - 2677772

Change-Id: I7c996daad8b3bfc89e9fa2d655dc18c9a5c68f2f
2010-06-09 21:30:43 -07:00
James Dong
1244eab2ce Remove some hard-coded encoding parameters
Change-Id: I7a8ccd5d57891a6a585c8da2ee53acb094955913
2010-06-08 12:30:58 -07:00
Andreas Huber
7a747b8e0d Initial checkin of preliminary rtsp support for stagefright.
Change-Id: I0722aa888098c0c1361c97a4c1b123d910afc207
2010-06-07 15:34:45 -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
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
James Dong
68510e60f9 Detect and handle premature termination of a recording session
Change-Id: Ifb83b19f3e68580345b23efed5d5956fb81baeb8
2010-05-14 11:48:00 -07:00
James Dong
1824486e04 Handle recording file size and/or duration limit
Change-Id: Ib9ed1f3ebd8fef550cc130a7ef11f2905fa9aedc
2010-05-14 10:46:56 -07:00
The Android Open Source Project
21a534d955 am 1d628c5d: merge from open-source master
Merge commit '1d628c5d3dd7998b29c339292a2dc391015d0782' into kraken

* commit '1d628c5d3dd7998b29c339292a2dc391015d0782':
  Accept media files by file extension in case insensitive manner.
2010-05-14 09:46:11 -07:00
The Android Open Source Project
1d628c5d3d merge from open-source master
Change-Id: I934cf85c4673f9ca3a9549c2074907ad572310f4
2010-05-14 09:44:36 -07:00
James Dong
e292b3bc9c Remove dummy surface in CameraSource
bug - 2680919

Change-Id: Ia0308cf57fd67058b4dd0e042b3ce97f13df475f
2010-05-13 12:08:29 -07:00
James Dong
2cd841d485 Added initial validation on video/audio encoding parameters before/at start()
Change-Id: I1a40dd247202f70e3e5429d74533d349b88f1d54
2010-05-11 13:10:02 -07:00
Andreas Huber
8a1c0934b0 am 71bd9fc8: am 100ef9be: Merge "Disable vorbis seek when streaming from localhost." into froyo
Merge commit '71bd9fc81e3154b9cad22ca7ff2d9c6ed6fdbe6c' into kraken

* commit '71bd9fc81e3154b9cad22ca7ff2d9c6ed6fdbe6c':
  Disable vorbis seek when streaming from localhost.
2010-05-06 12:43:59 -07:00
Andreas Huber
62f7ffe106 Disable vorbis seek when streaming from localhost.
Change-Id: Icda523ae1c89e26482f1c1767fe3a8b9222bb30f
related-to-bug: 2654400
2010-05-06 10:31:57 -07:00
James Dong
3300e9667e Support audio and video track interleaving in the recorded mp4 file
Change-Id: Ifa27eb23ee265f84fe06773b29b0eb2b0b075b60
2010-05-05 11:34:43 -07:00
James Dong
8d30b2d284 Merge "Support AAC recording" into kraken 2010-05-04 14:40:28 -07:00
Andreas Huber
ce0bd71735 am 8ea45aad: am e083d0a2: Merge "Support for Ogg Vorbis decoding in stagefright." into froyo
Merge commit '8ea45aad100ee25067b2e83703454c71a968ba4f' into kraken

* commit '8ea45aad100ee25067b2e83703454c71a968ba4f':
  Support for Ogg Vorbis decoding in stagefright.
2010-05-04 14:30:34 -07:00
Andreas Huber
eb5eef3819 Support for Ogg Vorbis decoding in stagefright.
Set the magic property media.stagefright.enable-vorbis to true to use the new implementation instead of the standalon vorbis player for file-based playback. HTTP streaming of vorbis content will always go through stagefright.

Change-Id: Ie3843a99fadb22372f89540d0f8d65196e0c2af8
related-to-bug: 2654400
2010-05-04 11:58:16 -07:00
James Dong
abed93a51b Support AAC recording
- Extend the audio recording to AAC format
- Add support for setting some recording parameters
- Add stss box to the meta data in the recorded file

Change-Id: I41167bfd9d70ef9cd33906f8437b39c232b6d3b7
2010-05-03 15:47:41 -07:00
James Dong
b00e246669 Use timestamp from camera driver for CameraSource
Change-Id: I09ddec69997c43b8f17fdd21304c76cb4c5ab8cf
2010-04-28 11:55:47 -07:00
James Dong
fff02afa01 am 6852b198: am d3d445b1: Merge "Use PV_PLAYER to handle RTSP streaming" into froyo
Merge commit '6852b198fbedd9378ed79ca6528a4d6f33b0b677' into kraken

* commit '6852b198fbedd9378ed79ca6528a4d6f33b0b677':
  Use PV_PLAYER to handle RTSP streaming
2010-04-14 12:11:12 -07:00
James Dong
42d66573ff Use PV_PLAYER to handle RTSP streaming
bug - 2594865

Change-Id: Ice5b89b1d53bbc4da033892fe545bdf51ac7267f
2010-04-14 08:57:14 -07:00
Andreas Huber
ab88ea9503 Remove legacy NO_OPENCORE code bypass from MediaPlayerService.
Change-Id: I72db73c91673e0d7f1090e3b033ae915337dc16e
2010-04-09 13:44:28 -07:00
Atsushi Eno
ebcc51d39c Accept media files by file extension in case insensitive manner.
Change-Id: I8e246010c96802ae87960797607fc8f8f2ab6031
2010-03-19 23:18:02 +09:00
Dave Sparks
6c26fe4e8e Fix build. I screwed up a merge. 2010-03-02 12:56:37 -08:00
Dave Sparks
16433e2fe3 Add locking to signal in AudioCache::notify(). Bug 2317844. 2010-03-02 12:35:20 -08:00
James Dong
3d23a61588 Add some space and total memory amount to the memory dump from the media server process. 2010-02-25 10:06:32 -08:00
Andreas Huber
406a18b5b3 Implement legacy behaviour for MediaPlayer's behaviour of starting from the start of the media on a start() call instead of resuming at the current position, if previously reached the end of the stream. Also properly report number of frames played to audio flinger. Finally, delay spawing the queue thread until actually used.
related-to-bug: 2453220
2010-02-18 16:45:13 -08:00
Gloria Wang
190dd57fb8 Merge "Replace Tremor with Tremolo (an ARM optimised version of the Tremor library for doing Ogg Vorbis decompression)" 2010-02-12 17:04:29 -08:00
Gloria Wang
8d00b53cc4 Replace Tremor with Tremolo (an ARM optimised version of the Tremor library for doing Ogg Vorbis decompression) 2010-02-12 16:46:40 -08:00
Andreas Huber
fbb3885024 New API on java's MediaPlayer to suspend/resume a session.
related-to-bug: 2231576
2010-02-12 12:44:10 -08:00
Mathias Agopian
000479f9e3 split libsurfaceflinger_client and libcamera_client out of libui 2010-02-11 13:16:22 -08:00
Andreas Huber
259b7c1c1b Fixing AMR recording code. 2010-02-10 15:04:31 -08:00
Andreas Huber
6ed937ebe9 Implementation of stagefright-enabled MediaPlayerService::decode functionality
related-to-bug: 2359268
2010-02-10 10:20:34 -08:00