4874 Commits

Author SHA1 Message Date
Kristian Monsen
ad65b46d5f Merge "Part of fix for bug 5065047 build libchromium as a shared lib" 2011-07-29 03:37:49 -07:00
Glenn Kasten
43a5d6e541 Merge "Bug 4599730 Get audio channel count on MediaPlayer" 2011-07-27 14:45:28 -07:00
Glenn Kasten
6ff9b812ab Bug 4599730 Get audio channel count on MediaPlayer
Related changes:
 - Fix bug in get/setParameter* to recycle Parcels when done with them.

Change-Id: Iaff05e91bbd99a14fccb79d816dd873359b6ae65
2011-07-27 10:21:09 -07:00
Iliyan Malchev
bbe9cb4f5f libstagefright: add destroyOMXPlugin and use C linkage for symbols
Add a destroyOMXPlugin() to complemenet createOMXPlugin().  Since the latter is
an opaque call into a library, it is not safe to assume that the object thus
returned may be destroyed by calling delete.  This patch will call
destroyOMXPlugin() in libstagefrighthw.so, if the symbol is defined there.
Otherwise, it will default to a delete as before.

Also, prefer C linkage for the symbol names.  Using mangled C++ symbols is not
very safe and makes it hard to grep for those symbols through the code.  We
attempt to locate createOMXPlugin as a C symbol then try it as a mangled C++
one.  We only use C linkage for destroyOMXPlugin since this symbol is new.

Change-Id: Ied23c910486856a0f18056df049c871234797c5c
Signed-off-by: Iliyan Malchev <malchev@google.com>
2011-07-27 10:03:43 -07:00
Eric Laurent
e25e51f5fc Merge "AudioRecord: Fix getInput()" 2011-07-27 08:56:08 -07:00
Kristian Monsen
132b21899b Merge "Fix for bug 5049763 HLS: Cookies set in main playlist request aren't being passed to subsequent HTTP requests" 2011-07-27 05:33:33 -07:00
Eric Laurent
678cc95903 AudioRecord: Fix getInput()
AudioRecord::getInput() was issuing a query to get a new input stream from
audio policy service instead of returning the cached input stream in AudioRecord.

Change-Id: Ice324b7c60bc0898149023797bcb56a72091b9d3
2011-07-26 20:32:28 -07:00
Chih-Chung Chang
17cfcbfa29 Add dependencies for the YV12 color converter change.
Bug: 5061733
Change-Id: Id8227a4f634285323c37498604fe080d986bfb09
2011-07-27 09:18:26 +08:00
Pannag Sanketi
85a315b547 Merge "Fixing up Mediarecorder for MFF" 2011-07-26 15:57:17 -07:00
Mike Lockwood
833bfd2ba5 Merge "MediaScanner: Fix problem with duplicate directory entries in the database" 2011-07-26 10:10:28 -07:00
Jean-Michel Trivi
af20eacc21 Merge "Fix bug 4319552 Java to native channel mask translation" 2011-07-26 09:27:53 -07:00
Mike Lockwood
c6eaa713a3 MediaScanner: Fix problem with duplicate directory entries in the database
Bug: 5078643

Change-Id: I8804ff5bbd729f57be7ff0b17a4b134cafe78c18
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-07-26 10:57:42 -04:00
Chih-Chung Chang
b33d46cc77 Merge "Add filename and line number in the debug messages." 2011-07-25 18:36:57 -07:00
Pannag Sanketi
cac873bd4a Fixing up Mediarecorder for MFF
For using the MediaRecorder in MFF (Mobile Filter Framework),
getMediaRecorder method in mediarecorder jni was earlier changed to
a non static method. Changed it back to a static method.

Also, added a new source type to MediaRecorder.VideoSource for recording
GRalloc buffers.

Change-Id: I031fad45c12b0ac9602d9e451d4767e95a86234d
2011-07-25 17:38:15 -07:00
Jean-Michel Trivi
d9ae1c573e Fix bug 4319552 Java to native channel mask translation
When creating a new AudioTrack instance, translate from a Java
  channel mask as defined in android.media.AudioFormat to one
  as defined in audio.h which matches industry-standard
  channel mask definitions.

Change-Id: I7eeece8ec2a437977c31f6e82590f9591158144b
2011-07-25 17:06:22 -07:00
Pannag Sanketi
19f773bc96 Merge "Adding Metadata mode to SurfaceMediaSource" 2011-07-25 15:00:16 -07:00
Eric Laurent
234cef8129 Merge "Added APIs for audio preprocessing" 2011-07-25 14:43:05 -07:00
Eric Laurent
0f7f4ece1b Added APIs for audio preprocessing
Added APIs to control pre processes applied on captured audio.
Those APIs are still hidden until reviewed by API council.

Three types of standard pre processes are supported:
- Automatic Gain Control (AGC) by AutomaticGainControl class
- Acoustic Echo Cancellation (AEC) by AcousticEchoCanceler class
- Noise Suppression (NS) by NoiseSuppressor class

A method is added to AudioEffect class to query audio pre processings
applied by default by the platform on a given AudioRecord session ID.

Change-Id: I0b9fceeb8c704dd06319c3b52b85c96fe871d51d
2011-07-25 14:39:00 -07:00
James Dong
fb52651305 Merge "Do not support still image capture mode for timelapse video recording" 2011-07-25 14:21:14 -07:00
Jean-Michel Trivi
d92eb58897 Merge "Fix bug 4211099 channel constants and 7.1 mask" 2011-07-25 11:07:16 -07:00
Ted Bonkenburg
5518dd92d3 Merge "Add support for creating a Surface from a a SurfaceTexture." 2011-07-25 10:24:30 -07:00
Kristian Monsen
febf9fbd78 Part of fix for bug 5065047 build libchromium as a shared lib
Building chromium as a shared lib, updating other libs that
use it.

Change-Id: Ia20749bb7fbec51b94adb314116503f62f41b782
2011-07-25 11:22:58 +01:00
Jean-Michel Trivi
ff7656c9de Fix bug 4211099 channel constants and 7.1 mask
Add definitions for the side and elevated channels.

Add new (correct) definition for 7.1 mask which uses
 the side channels rather than the front half-pan channels.

Change-Id: I13d93f99f3b453ce2ab5fdc2da66629ed7f337ef
2011-07-24 16:25:38 -07:00
James Dong
e432a00051 Merge "Do not wait forever for output buffers in OMXCodec.cpp and error out in case time out happens" 2011-07-24 14:40:08 -07:00
Jean-Michel Trivi
d40e2c67ed Merge "QueryCodecs() signature change" 2011-07-24 12:59:35 -07:00
Gloria Wang
508e86e757 Merge "Do not change the number of bytes while converting 8-bit samples to 16-bit, because this number will be used later to calculate mCurrentPos. Fix for bug 5063703." 2011-07-24 12:07:20 -07:00
James Dong
83dd43f45a Do not support still image capture mode for timelapse video recording
related-to-bug: 4973779

Change-Id: Ica665217ab10247b2242acc4e93d4fe9f83e3f45
2011-07-24 10:33:54 -07:00
Pannag Sanketi
b1f8c266e4 Adding Metadata mode to SurfaceMediaSource
SurfaceMediaSource operates in metadata mode only, i.e. just the
metadata is stored in videobuffers. SurfaceMediaSource passes the Gralloc
buffer handle along with a 4 byte 'type' (indicating that the metadata
is of type GrallocSource) to the encoder as opposed to the
GrallocBuffer itself.

Related to bug id: 4529323

Change-Id: I83aebc0dd10f317658cdf70be5802dfc35a1e72d
2011-07-22 19:33:55 -07:00
James Dong
aba28e7fec Merge "Deprecate two methods in MediaRecorder.java class" 2011-07-22 17:59:10 -07:00
Pannag Sanketi
65cdc2b7b6 Merge "Connect MediaRecorder Native to SurfaceMediaSource" 2011-07-22 16:42:41 -07:00
Ted Bonkenburg
0de171b0d4 Add support for creating a Surface from a a SurfaceTexture.
The Surface is already using SurfaceTexture internally and it is parcelable. This
is intended to replace and phase out ParcelSurfaceTexture in favor of creating a
new Surface.java object from an existing SurfaceTexture.

Change-Id: I8e2dd86614523da6abed6403e1d705a68fa19fdf
2011-07-22 16:36:44 -07:00
Jean-Michel Trivi
a05f099301 QueryCodecs() signature change
Restore QueryCodecs() signature exactly as used by third-party libs.
Add an alternative function to select HW only codecs.

Change-Id: Ibb2cb4dd36fc0c6599eb93aa5751c216397e3b6f
2011-07-22 14:51:51 -07:00
Gloria Wang
75cfd5b879 Do not change the number of bytes while converting 8-bit samples to 16-bit,
because this number will be used later to calculate mCurrentPos.
Fix for bug 5063703.

Change-Id: I75a78ef694482aa426d82a6c5f3d2ce570a9c19e
2011-07-22 14:42:28 -07:00
Jamie Gennis
5ef59bc764 SurfaceTexture: add the abandon method.
This change adds the 'abandon' method to the SurfaceTexture C++ class.
This method may be used to put the SurfaceTexture in an abandoned state,
causing all ISurfaceTexture methods to fail.

Change-Id: Ibd261f7b73f44e2bec36a8508bf92113cfb7cf95
2011-07-22 14:20:41 -07:00
Pannag Sanketi
897e27bc75 Connect MediaRecorder Native to SurfaceMediaSource
Making a connection from MediaRecorder Native layer to the
SurfaceMediaSource for the purpose of encoding GL Frames. This will be
called from the java side inside the Mobile Filter Framework.

The mediarecorder native layer (client), when set the videosource to
option VIDEO_SOURCE_FRAMES, asks the StageFrightRecorder on the mediaserver
side to create a SurfaceMediaSource object and pass it back as a
sp<ISurfaceTexture> object. Using that, the client side will dequeue and
queue buffers. Connecting the GL Frames to the obtained
sp<ISurfaceTexture> is not part of this CL.

Related to bug id: 4529323

Change-Id: I651bec718dd5b935779e7d7a050b841c2d0b0fcd
2011-07-22 14:17:25 -07:00
Jamie Gennis
e333d3c824 SurfaceMediaSource: remove getAllocator method
This change removes the getAllocator method from SurfaceMediaSource
because that method is no longer a part of the ISurfaceTexture
interface.

Change-Id: I0e2f0bc3bc1c8cd3c1b4b14246f07b9b4e3066c3
2011-07-22 14:02:09 -07:00
Pannag Sanketi
38eea1b800 Merge "Renaming SurfaceEncoder to SurfaceMediaSource" 2011-07-22 11:49:36 -07:00
Pannag Sanketi
67d7704bd2 Merge "Adding SurfaceEncoder for encoding FilterFrames" 2011-07-22 11:49:21 -07:00
James Dong
3ff98beeaf Deprecate two methods in MediaRecorder.java class
Change-Id: I98fbe628fe77867b97c04f44458948ede2f49d22
2011-07-22 11:45:50 -07:00
Andreas Huber
2395092029 Merge "Retry datasource fetches a few times before giving up (NuCachedSource2)." 2011-07-22 10:25:24 -07:00
James Dong
8a42a55720 Merge "Log setVideoSurface() and setVideoSurfaceTexture() failures." 2011-07-22 10:09:22 -07:00
Andreas Huber
178e8eb5dd Retry datasource fetches a few times before giving up (NuCachedSource2).
Change-Id: I147fc18ef55bc89d2e2fee69b7869c45abbfdd6b
related-to-bug: 3405354
2011-07-22 08:17:41 -07:00
Kristian Monsen
3192e397af Fix for bug 5049763 HLS: Cookies set in main playlist request aren't being passed to subsequent HTTP requests
Cookies should be store between requests in memory with this.

Tell me if you want to store the cookies on disk as well.

Change-Id: I9afe5796a3d395afcf54d669c86cf7da432f8d9a
2011-07-22 14:11:31 +01:00
James Dong
ce78dc5baa Log setVideoSurface() and setVideoSurfaceTexture() failures.
Change-Id: Iaea34e74a0cf569fc85b926949253dea6baa6142
related-to-bug: 5063370
2011-07-21 17:38:18 -07:00
Pannag Sanketi
f48987db67 Renaming SurfaceEncoder to SurfaceMediaSource
Related to bug id: 4529323

Change-Id: Id820d45a536bd2c65e0a59def564eb5b3ea4a71c
2011-07-21 17:12:50 -07:00
Pannag Sanketi
26a197120c Adding SurfaceEncoder for encoding FilterFrames
Adding SurfaceEncoder which can be used to encode
custom frame data. In a sense, it is reverse
of what SurfaceTexture does.

SurfaceEncoder takes in frames from a native window and
passes them to an encoder, thus acting like a MediaSource.
It uses GRAlloc buffers underneath for passing data.
The client side sets the geometry, format in the beginning,
which cannot be changed while the recording is going on.

Currently, there is no common pixel format that both
GRAlloc and HAL understand.
Also, the encoder cannot encode using the data from the GRAlloc
buffers.

The SurfaceEncoder_test examines mainly the buffer passage
since true encoding cannot be done at this point.
SimpleDummyRecorder 'reads' the frames in the same thread
as the start(), whereas DummyRecorder 'reads' in a separate
thread much like the MPEG4Writer. The test with DummyRecorder
is much closer to the real encoding implementation.

Related to bug id: 4529323

Change-Id: I58ec19a150f8fe4d6195196dc44f55002b46c7c8
2011-07-21 17:12:50 -07:00
Chih-Chung Chang
25ba294d1f Add filename and line number in the debug messages.
Change-Id: I0e19215cd6f26ccd97bcbff765194adda5faf940
2011-07-22 05:08:39 +08:00
Hong Teng
432fb8ecbe Merge "fix for issue 4142219 Don't hard code platform-specific limitations-jni/java part" 2011-07-21 11:13:43 -07:00
Eric Laurent
0eecc27714 Merge "AudioRecord JAVA: expose audio session Id" 2011-07-20 19:25:34 -07:00
Jeff Brown
5da67f4f69 Merge "Untangle MediaScanner error handling. Bug: 5056917" 2011-07-20 18:03:47 -07:00