286 Commits

Author SHA1 Message Date
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
Andreas Huber
ba53068245 Merge "Properly implement asynchronous preparation of media playback." 2010-02-08 16:39:24 -08:00
Andreas Huber
6be780ebd4 Properly implement asynchronous preparation of media playback.
related-to-bug: 2413002
2010-02-08 16:23:47 -08:00
Gloria Wang
2c51014050 Use Tremor for sim-eng, and Tremolo for other targets. 2010-02-08 14:37:41 -08:00
Gloria Wang
96827283df Revert "Replace Tremor with Tremolo (an ARM optimised version of the Tremor library for doing Ogg Vorbis decompression)"
This reverts commit 2f46c062b05254671aec96a98b431f91ae7b270c.
2010-02-05 18:50:17 -08:00
Gloria Wang
2f46c062b0 Replace Tremor with Tremolo (an ARM optimised version of the Tremor library for doing Ogg Vorbis decompression) 2010-02-04 17:32:56 -08:00
Mathias Agopian
1875b7e2cf Don't use MemoryDealer in MetadataRetrieverClient as it's not necessary.
Use a MemoryHeapBase directly instead.
2010-01-29 17:16:30 -08:00
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
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
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
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
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
Marco Nelissen
e274db1efd b/2353646
Fix music visualizations to also work with audiotrack callbacks, which
stagefright uses. This slightly changes the way the data is stored,
since before we were relying on the buffers being written always
being at least 4K, whereas the callbacks are generally for smaller
amounts of data. Now we append all the data to a big circular buffer,
then return chunks of that buffer for visualization. When there are
multiple things playing at the same time, this will give the wrong
result, but (1) that was the case before as well, and (2) will be
fixed once we start visualizing the mixer output instead of the
mixer inputs.
2010-01-12 10:27:04 -08:00
Andreas Huber
e4a838051d Reorganize some of the stagefright implementation related to metadata. 2010-01-08 11:54:36 -08:00