365 Commits

Author SHA1 Message Date
Andreas Huber
5c850396b3 Add new APIs AMessage::(set|find)Buffer to make it safer to pass
ABuffer objects through messages.

Change-Id: I9f8b4e4c4767d0d70a0105e0c0813b754379b49d
2012-02-22 16:20:59 -08:00
Andreas Huber
88572f7a3e Implementation of a java media codec interface and associated tools.
Change-Id: I13e54062d4de584355c5d82bb027a68aeaf2923b
2012-02-22 15:06:06 -08:00
John Grossman
3540a0197f Enhance Visualizer behavior in the case of mediaserver death.
Bring the Visualizer class into line with the SDK documentation by
returning ERROR_DEAD_OBJECT instead of ERROR_INVALID_OPERATION when
the Visualizer loses its binder connection to the mediaserver because
of a mediaserver restart.

Also add a new callback interface to allow clients to be
asynchronously notified in the case of server death.  Right now, the
interface definition and the registration method are flagged as hidden
pending API council review/approval.

See http://b/issue?id=5717519 for details.

Change-Id: Ic15856f27ed5a950a583ac11ca81f79bd7e9b1a0
Signed-off-by: John Grossman <johngro@google.com>
2012-02-16 13:45:11 -08:00
John Grossman
449725f9aa Reuse callback buffers in the Visualizer.
Don't re-allocate buffers used by Visualizer callbacks as this causes an
unacceptable amount of GC thrash.  Instead, lazily allocate the buffers and only
reallocate them when the required size changes.

See http://b/issue?id=5717519 for details.

Change-Id: Ibd157ed51f30687ce7c4ef0b4003258a484e0f5d
Signed-off-by: John Grossman <johngro@google.com>
2012-02-16 13:45:11 -08:00
Glenn Kasten
b3db213eb5 Update comments
We no longer put the filename at start of file.

Change-Id: Ic435b159a23105681e3d4a6cb1ac097bc853302e
2012-02-14 09:17:59 -08:00
Glenn Kasten
1137be1a68 Follow raw pointer and sp<> conventions
Unconditional delete for raw pointers.
Use "if (sp != 0)" not "if (sp.get() != 0)" or "if (sp != NULL)".
Use "if (raw != NULL)" not "if (raw)".

Change-Id: I531a8da7c37149261ed2f34b862ec4896a4b785b
2012-02-10 13:48:44 -08:00
James Dong
459f40dfb3 move away from MediaDebug and use ADebug instead for video editor engine
Change-Id: I2c0ad6c64f1bd03bd3dfe2c87792f8089dcbc101
2012-02-09 23:52:19 -08:00
Andreas Huber
9dd295af25 The software AMR NB encoder is now an OMX component.
Change-Id: I890eab052a7c36409b8b694c964884e28dd8d8fc
2012-02-01 10:39:26 -08:00
Jeff Brown
05bd7b5daf Don't need to link to libsqlite from media JNI library.
Media JNI library doesn't actually use libsqlite.

Change-Id: If8017444d259779d459ef2da83119814e31454c2
2012-01-19 18:13:19 -08:00
Glenn Kasten
bc1d77b6cb Use audio_stream_type_t consistently
At native level it was a mixture of audio_stream_type_t, int, uint32_t,
and uint8_t.  Java is still int.  Also fixed a couple of hard-coded -1
instead of AUDIO_STREAM_DEFAULT, and in startToneCommand a hard-coded 0
instead of AUDIO_STREAM_VOICE_CALL.

Change-Id: Ia33bfd70edca8c2daec9052984b369cd8eee2a83
2012-01-13 10:20:14 -08:00
Glenn Kasten
1c66547ba2 Merge "Use audio_format_t consistently" 2012-01-12 10:30:28 -08:00
Steve Block
3762c31172 Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
2012-01-08 13:19:13 +00:00
Steve Block
8564c8da81 Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
2012-01-06 10:07:54 +00:00
Glenn Kasten
1c5a89d4af Use audio_format_t consistently
Was int, uint32_t, uint16_t, and uint8_t with 2-bit bitfield.
Also replace 0 by AUDIO_FORMAT_DEFAULT and replace 1 by
AUDIO_FORMAT_PCM_16_BIT.

Change-Id: Ia8804f53f1725669e368857d5bb2044917e17975
2012-01-05 13:34:54 -08:00
Steve Block
6215d3ff4b Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
2012-01-04 20:05:49 +00:00
Steve Block
5baa3a62a9 Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/156016

Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
2012-01-03 22:38:27 +00:00
Glenn Kasten
490909d2c0 Extract out audio DSP code to utility library
Change-Id: Ib8ce72028a7ea30e82baa518e381370e820ebbd0
2011-12-16 11:42:03 -08:00
Hong Teng
29f1c32eea am 5126f1d4: am 613ed4c6: Merge "Fixd for 5490443 Native crash while exporting a video - Add new onError callback to PreviewProgressListener, which is used to indicate video editor application for the error that has occurred during priviewing. With this modification,
* commit '5126f1d413b4fcb0aff5b364e1e5a41c89ca665c':
  Fixd for 5490443 Native crash while exporting a video - Add new onError callback to PreviewProgressListener, which is used to indicate video editor application for the error that has occurred during priviewing. With this modification, the application must implement the onError method, and then VideoEditorPreviewTest.java is changed accordingly.
2011-12-02 13:44:10 -08:00
Hong Teng
63149c81ad Fixd for 5490443 Native crash while exporting a video
- Add new onError callback to PreviewProgressListener, which is
used to indicate video editor application for the error that has occurred during
priviewing.
With this modification, the application must implement the onError method,
and then VideoEditorPreviewTest.java is changed accordingly.

Change-Id: I15610b8907fcf8bd35a3c69ad7c07b5175a6e309
2011-12-01 09:43:42 -08:00
Marco Nelissen
a4e702c2da am f51f1bd9: Verify we actually have valid utf8 metadata
* commit 'f51f1bd9d42d0dd55c120bfb83ed113b61e5c3ca':
  Verify we actually have valid utf8 metadata
2011-11-03 20:18:37 +00:00
Marco Nelissen
f51f1bd9d4 Verify we actually have valid utf8 metadata
Before calling NewStringUTF, check that the metadata value is actually
valid utf-8, and replace the offending characters with "?" if it is not.
b/5534491

Change-Id: I43de4307e739ae0b7d4177937ed33aa1dfb90d98
2011-11-03 13:12:16 -07:00
Steve Block
71f2cf116a Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
2011-10-26 09:57:54 +01:00
Jamie Gennis
f76afc80d2 MediaPlayer: properly handle released surfaces
Bug: 5396571
Change-Id: I6af87cb04f09f9ae6ea77cd7ba31108a3e93d24a
2011-10-14 19:55:12 -07:00
Marco Nelissen
8dc208476f Log a warning when a MediaPlayer is finalized without having being released.
b/5382634

Change-Id: I756d09d16a92ab8ce736c16a24e319a87be6c8de
2011-09-28 09:21:11 -07:00
James Dong
07b9ae3312 Add QVGA resolution to CamcorderProfile
Change-Id: Icebbafb68d8164370f98a2c36699845d10ef081b
related-to-bug: 5145483
2011-09-19 19:32:26 -07:00
Gloria Wang
81b37d8bde If media player has died already, do not dec the old surface texture reference.
Otherwise segfault will occur.
For bug 5327664.
Do not merge.

Change-Id: I03ea7bc047aa99a106f1e010dac74f75a833ef84
2011-09-15 15:38:36 -07:00
Gloria Wang
c286b2cc26 Cherry-pick from master. Do not merge.
Do not need to reset surface as NULL in MediaPlayer's _release.
Related to bug 5252296.

Change-Id: Ieab063cee70e072fcc4d861abe0f7979a7bab1ec
2011-09-15 11:58:25 -07:00
Chih-Chung Chang
a18886ca08 Fix 5278371: OOM in MediaItemThumbnailTest
Because we request 400x240 thumbnails. 100 thumbnails needs 38M,
which is too much. Change it to 70 now.

Also handle the case if the thumbnail callback throws exception.

Change-Id: Iac4ee72f308b7c7a6ae860983197601cf89bee8f
2011-09-09 13:58:59 +08:00
Chih-Chung Chang
47a52158d2 Fix 5156702: rotate thumbnails
Change-Id: I97b51dadf129172d5b154e9dfd66da254e4559d7
2011-09-07 19:20:45 +08:00
Dave Burke
fc301b0bb5 Require INTERNET permission for network-based content.
Bug #1870981

Change-Id: Ia3ad166390c4d60cea19c3783895b078a2c4c15f
2011-09-02 11:26:59 +01:00
Rajneesh Chowdury
c847b1a89d Fix for 5156702 Rotate video output for thumbnails and export
This is part of a multi project submit.
This is the Java and Jni changes.

Change-Id: I8851f5d865e657b7846bcded38e752f388f95895
2011-08-30 12:44:44 -07:00
Rajneesh Chowdury
3ced044154 Fix for 4142219 Don't hard code platform-specific limitations (Jni/ Java)
Also fixes 5118207 add other video codec support for video editor export.

Change-Id: If72427173bd8ff684af07ba00f4425c1deef29c6
2011-08-19 14:34:47 -07:00
Chih-Chung Chang
7f639d3315 Merge "Fix 5144356: Native crash while importing music" 2011-08-18 18:39:01 -07:00
Rajneesh Chowdury
a91495d56d Merge "Fix for 5155561 During export, progress bar jumps from 0 to 50%" 2011-08-18 09:09:35 -07:00
Chih-Chung Chang
176dde85a0 Fix 5144356: Native crash while importing music
1. Use the correct Get*Field functions according to the field type.
2. When we have exceptions, return.

Change-Id: I1878d806e26798a0977ff71a781551088e45f6fb
2011-08-18 15:28:43 +08:00
Rajneesh Chowdury
6721d33fef Fix for 5155561 During export, progress bar jumps from 0 to 50%
Change-Id: I5f5814a1212cd242535ae7cadec8a76f099e78ce
2011-08-17 16:12:39 -07:00
Chih-Chung Chang
1f5de3833d Display thumbnails one by one and cache them.
Change-Id: I10808f5bca475aea924817bf532dc5916438563a
2011-08-16 16:48:43 +08:00
Chih-Chung Chang
cb04a1f3a3 Speed up thumbnail generation.
We don't need to have precise position for thumbnails, so we add
a tolerance parameter to the decoder. The decoder can return an
earlier frame within the tolerance time given.

Change-Id: I0a49ed6b03f8c3264606e4143dd5ecf48e9d0f62
2011-08-15 10:08:33 +08:00
James Dong
65de903a88 Merge "If release has been called before finalize, do not expect MediaPlayer still exists" 2011-08-12 16:41:56 -07:00
James Dong
43ef913815 If release has been called before finalize, do not expect MediaPlayer still exists
o also, we should releae the surface object when release is called, not wait until finalize is called.

related-to-bug: 5157956

Change-Id: I0233ad61d8349c3e3800de68b752b9548ece1742
2011-08-12 16:39:47 -07:00
Eric Laurent
c498ad6eac Merge "Fix issue 5144429: CTS test fails for AudioEffects" 2011-08-12 12:49:42 -07:00
Ted Bonkenburg
1ee60119c4 Remove ParcelSurfaceTexture and update MediaPlayer
This removes the ParcelSurfaceTexture class since that functionality has been
folded into Surface.java. The change also updates the MediaPlayer to get rid
of setParcelSurfaceTexture() and modifies setTexture() to use the new Surface
functionality in order to simplify the code.

Change-Id: Iafa75ea3188263928128325d8a726786971b4de4
2011-08-11 19:58:25 -07:00
Eric Laurent
09f1735fad Fix issue 5144429: CTS test fails for AudioEffects
android_media_AudioEffect_native_setup() was not initializing
properly the effect descriptor for audio pre processings.

AudioEffect tests should create per processing effects on a valid
AudioRecord session.

Change-Id: Ia1862ca91c98e272f9374b9225a7d4ce7ef132fc
2011-08-11 18:06:18 -07:00
Gloria Wang
91784c996f To support for switching from a non-null surface/ surface texture to
a null one, and vice versa.
Fix for bug 5137445.

Change-Id: Ifca2997f8ad27a843abbdaa7e89a56329bc40fde
2011-08-09 15:31:30 -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
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
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
aba28e7fec Merge "Deprecate two methods in MediaRecorder.java class" 2011-07-22 17:59:10 -07:00