1281 Commits

Author SHA1 Message Date
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
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
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
James Dong
3ff98beeaf Deprecate two methods in MediaRecorder.java class
Change-Id: I98fbe628fe77867b97c04f44458948ede2f49d22
2011-07-22 11:45:50 -07: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
Hong Teng
600acf14ff fix for issue 4142219
Don't hard code platform-specific limitations-jni/java part

Change-Id: Icde261b1caf29a8cf552884c97f3c9d0b41741a3
2011-07-20 16:51:39 -07:00
Mike Lockwood
a331cdbb40 Merge "MediaScanner: Do separate bulk inserts for different media types" 2011-07-20 12:15:48 -07:00
Eric Laurent
5531a3a3cf Merge "Fix issue 5012047: silent mode mutes music" 2011-07-20 11:04:18 -07:00
Mike Lockwood
e19572ccb5 MediaScanner: Do separate bulk inserts for different media types
This should fix a bunch of problems introduced in the original bulk insert implementation

Also reverted two changes that are no longer necessary:

Revert "MediaScanner: Add virtual NO_MEDIA column to fix support for .nomedia files"

This reverts commit 92e1314ad9ddbacfb806405e9aceeea4a8aae19f.

Revert "MediaScanner: fix breakage in updates"

This reverts commit 45aaa2a345292bb6d600822db602f25e261c0e50.

Change-Id: Ibed66393467761c2c1ce48deb09bcac505b7d221
2011-07-20 10:58:45 -07:00
Eric Laurent
72668b2c04 Fix issue 4499450: Unknown Ringer Mode
Added a validity check on ringer mode values in AudioManager.setRingerMode().

Change-Id: Ie780edc1d347009d90f000018a71520b04e0c4a1
2011-07-19 16:04:27 -07:00
Eric Laurent
c1d4166289 Fix issue 5012047: silent mode mutes music
Implemented different silent mode behaviors for tablets and phones.
The behavior inherited from Honeycomb was for tablets only and
was muting music in silent mode.

Change-Id: Ib053e7b70ca02190debc87648ab8a163f9d39577
2011-07-19 14:46:32 -07:00
Narayan Kamath
06e0333c7e Return the play stayed locked.
I believe the the synchronized block is required to allow
other threads to observe changes to mPlayState in a timely
manner.

Change-Id: I502b7401196c42932c9667ef73eb4cae16c3da16
2011-07-19 15:43:52 +01:00
Eric Laurent
44ff4cd8be AudioRecord JAVA: expose audio session Id
Added getAudioSessionId() method to AudioRecord class so that applications can
retrieve the AudioRecord's session ID and attach audio pre processes.

Change-Id: I1914770f0e54d97c9aef6a9eb36fff69b6d31552
2011-07-18 09:43:23 -07:00
Mike Lockwood
92e1314ad9 MediaScanner: Add virtual NO_MEDIA column to fix support for .nomedia files
Bug: 5025615

Change-Id: Ia910cd1c063292599a03b878755edb2e3cdbbb57
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-07-15 12:17:33 -04:00
Narayan Kamath
88bde0ce37 Minor documentation updates for the AudioTrack class.
Change-Id: I0c3c220aa433d1917d997a7b1bfa54e61acc26b2
2011-07-14 18:10:47 +01:00
Mike Lockwood
45aaa2a345 MediaScanner: fix breakage in updates
To facilitate bulk inserts, we changed the media scanner to use the file URI
instead of the audio, video or image media URIs.
However we should still use the media URIs for updating existing records

Bug: 5021925

Change-Id: I6143dc1d00350192170428a5e951b52ef9223734
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-07-13 16:50:29 -04:00
Mike Lockwood
dcc31946f2 MTP: Clean up MtpServer initialization and threading:
Move thread from native to Java code
Remove the stop() method (the thread will exit on its own)

Change-Id: Ib897c3630162f82669a4ee8c187e8172da50b29d
2011-07-13 09:44:42 -04:00
Jeff Brown
501c4671e7 Merge "Eliminate single-process mode. Bug: 5010576" 2011-07-11 13:37:53 -07:00
Mike Lockwood
a59a1bad85 Merge "Remove unnecessary locking from MediaScanner JNI code" 2011-07-11 12:15:21 -07:00
Mike Lockwood
af16d0b30e Remove unnecessary locking from MediaScanner JNI code
There is nothing in this file that requires a global lock.
Furthermore, the lock can cause timeouts in native_finalize if one instance
is being garbage collected while another is busy in processDirectory

Bug: 5002520

Change-Id: I8717f8edeb932200d9f76b3d98915cfbe18b6ec6
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-07-11 15:07:10 -04:00
Mike Lockwood
e6d24ab6a9 Merge "MTP: Return error if user tries to copy a file >= 4GB to a FAT32 file system" 2011-07-11 10:41:08 -07:00
Mike Lockwood
7a59dd2ce3 MTP: Return error if user tries to copy a file >= 4GB to a FAT32 file system
Bug: 4561836

Change-Id: I2bffb93b032038f6c220c24c752ccd7ca66c23a0
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-07-11 13:40:02 -04:00
Mike Lockwood
bd682b0408 MediaScanner: Use bulk inserts when in batch mode
To do this we need to move the logic for determining media type to MediaProvider
Make some things in MediaFile public so they can be used from MediaProvider

Bug: 4948188

Change-Id: I6ab168b6b4d45b2fc91ea8bd52ca58283b0efc14
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-07-11 11:55:26 -04:00
Jeff Brown
10e8971286 Eliminate single-process mode.
Bug: 5010576

Change-Id: Id450dc83efed4897d1e4ff451530fed14457aace
2011-07-08 19:54:07 -07:00
Gloria Wang
2da9eb7175 Merge "- Retrieve is_drm in MediaMetadataRetriever. - Add one more column in MediaStore to indicate whether a media file is drm-protected. - Remove old DRM code from Ringtone - Use the new DRM code in RingtoneManager" 2011-07-06 09:22:05 -07:00
Vikas Arora
7f61f5919d Associate WebP Mime-Type with FILE_TYPE_WEBP.
The last change for adding WEBP Mime-Type
(https://android-git.corp.google.com/g/#change,112919) had this bug.
Fixing the bug in this change.

Change-Id: I084b66de4aabb3892fb0e6fa36062a52d4dcc224
2011-07-06 16:48:18 +05:30
Gloria Wang
82428a862f - Retrieve is_drm in MediaMetadataRetriever.
- Add one more column in MediaStore to indicate whether a
  media file is drm-protected.
- Remove old DRM code from Ringtone
- Use the new DRM code in RingtoneManager

Change-Id: I1311fd1c04841c2cd47df6c901589966cf55a692
2011-07-01 16:52:28 -07:00
Glenn Kasten
03f9435273 Merge "Bug 4571308 Provide correct video frame timestamps" 2011-07-01 15:02:33 -07:00
Chih-Chung Chang
ff90212a3c Remove curtain effect (it's unused).
Change-Id: I2addf390aaa5aa514238b1f98eea67f27745cbf1
2011-06-30 14:41:20 +08:00
Wu-cheng Li
528b084be2 Unlock the camera if media recorder fails to start recording.
bug:4965716

Change-Id: Icb1f7f18e9ea6c4f0427ade2ed338e7d56be5e01
2011-06-29 16:53:37 +08:00
Glenn Kasten
5c2faf3dc3 Bug 4571308 Provide correct video frame timestamps
Change-Id: I0f726817fc02d3e2a4cf82ed801ef977994e6bcc
2011-06-27 11:09:33 -07:00
Wu-cheng Li
42419ce28a Add framework support for camcorder zoom.
The purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to
allow applications using the camera during recording.

Camera service allows only one client at a time. Since camcorder application
needs to own the camera to do things like zoom, the media recorder cannot
access the camera directly during recording. So ICameraRecordingProxy is a proxy
of ICamera, which allows the media recorder to start/stop the recording and
release recording frames. ICameraRecordingProxyListener is an interface that
allows the recorder to receive video frames during recording.

ICameraRecordingProxy
  startRecording()
  stopRecording()
  releaseRecordingFrame()

ICameraRecordingProxyListener
  dataCallbackTimestamp()

The camcorder app opens the camera and starts the preview. The app passes
ICamera and ICameraRecordingProxy to the media recorder by
MediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in
MediaRecorder::start(). After setup, the recorder disconnects from camera
service. The recorder calls ICameraRecordingProxy::startRecording() and
passes a ICameraRecordingProxyListener to the app. The app connects back to
camera service and starts the recording. The app owns the camera and can do
things like zoom. The media recorder receives the video frames from the
listener and releases them by ICameraRecordingProxy::releaseRecordingFrame.
The recorder calls ICameraRecordingProxy::stopRecording() to stop the
recording.

The call sequences are as follows:
1. The app: Camera.unlock().
2. The app: MediaRecorder.setCamera().
3. Start recording
   (1) The app: MediaRecorder.start().
   (2) The recorder: ICamera.unlock() and ICamera.disconnect().
   (3) The recorder: ICameraRecordingProxy.startRecording().
   (4) The app: ICamera.reconnect().
   (5) The app: ICamera.startRecording().
4. During recording
   (1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp()
   (2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame().
5. Stop recording
   (1) The app: MediaRecorder.stop()
   (2) The recorder: ICameraRecordingProxy.stopRecording().
   (3) The app: ICamera.stopRecording().

bug:2644213

Change-Id: I15269397defc25cbbcae16abc071c8349c123122
2011-06-27 15:44:57 +08:00
Gloria Wang
1e1b13e62e - Public part of the Metadata API.
- Modify the media framework test for Metadata.

Change-Id: Ib8fa4991f114e1bb88a17ca662844b9b8e1d0faf
2011-06-23 15:28:36 -07:00
Gloria Wang
019caf42c0 Merge "Timed text display format support: 1. Extract 3GPP global format descriptions 2. Extract 3GPP local format descriptions 3. Define data structure (TimedText) for applications to retrieve the format metadata" 2011-06-22 13:47:45 -07:00
Gloria Wang
eaa5d8f9c0 Timed text display format support:
1. Extract 3GPP global format descriptions
2. Extract 3GPP local format descriptions
3. Define data structure (TimedText) for applications to
retrieve the format metadata

Change-Id: I6eac2a78df29ee15beee456656331fdd83b24e8e
2011-06-22 11:32:19 -07:00
James Dong
24a38f1ab9 Switch to use MediaMetadataRetriever to generate the project thumbnail when the first media item is a MediaVideoItem
o This patch allows us to use the logic from MediaMetadataRetriever to extract a thumbnail instead of extracting
  the thumbnail from a fixed position (@500 ms).

Change-Id: I81e8378d9bed80894cc622479679021dce3d52e5
related-to-bug: 3485609
2011-06-21 13:50:51 -07:00
Mike Lockwood
7d40d42a36 MTP: Add support for PTP variant of GetDeviceInfo result.
Change-Id: I09f86fda768b7697665e401adb9516588859bf59
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-21 08:27:06 -04:00
Mike Lockwood
6acc90fc21 MTP: Fix some problems with GetObjectHandles and GetNumObjects commands
These calls did not correctly handle some variants of the arguments,
which showed up when running in PTP mode.

Change-Id: Iedbaefebfa39111c8bcaee7c6cc3820a65d6c98f
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-17 19:49:05 -04:00
James Dong
05be9531b6 Second attempt to fix the broken build
o due to a link to a hidden method

Change-Id: Ia488743e9bff6854253696cc368facbd50d2d8f4
2011-06-14 18:51:24 -07:00
James Dong
d52ad9ca8d Fix broken build
Change-Id: Icf7e33a3a4d9b430cd8cbc97801df24a94f9e079
2011-06-14 18:21:59 -07:00
James Dong
9ddb7888b4 Update MediaPlayer and MediaRecorder javadoc
o Adding some description to the Looper requirement for receiving callbacks

Change-Id: I79e7014c521f2286e6c2ccea1097d7e7467eb9ee
2011-06-14 16:38:08 -07:00
tedbo
cc5278a3e2 Support for setting a ParcelSurfaceTexture as the MediaPlayer sink.
This adds support for setting a SurfaceTexture as the MediaPlayer video
sink by using a ParcelSurfaceTexture object. The goal is to enable a
SurfaceTexture to pass through Binder (via ParcelSurfaceTexture) and then
be set on the MediaPlayer.

Change-Id: Ife5689ce673eb4bee1c377019db761685217b71d
2011-06-13 14:27:39 -07:00
Mike Lockwood
aa48835ce9 MTP: Remove obsolete setPtpMode support
PTP mode will be implemented as a separate USB function instead.

Change-Id: I9304c1936c70604ab2ed9704c6b95e11b61f5ba2
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-08 09:19:23 -07:00
Marco Nelissen
5ca271efe9 Merge "Add WebP Mime-Type support in Android Media File" 2011-06-06 08:21:07 -07:00
Vikas Arora
d0881d95e2 Add WebP Mime-Type support in Android Media File
Change-Id: Ifaa64c8fc55d1f1ad14db3057821696b565e0c26
2011-06-03 00:13:36 +05:30
James Dong
22bf7a7ea7 Add some comment to MediaRecorder.stop() about the stop() failure (-1007)
o The intended failure happens if stop() call comes immediately after start() call
  before any media data from the output of the encoder is received.

Change-Id: I62fad123ac67e2f566ba555e84c0c3faf2adfd99
2011-05-26 17:45:00 -07:00
James Dong
e8b26dcec7 Extract embedded cover art (aka poster frame) in mp4 files
Change-Id: Ic9421ee27b9aa3b27df00878b887de20f25d232b
2011-05-26 11:31:16 -07:00
Gloria Wang
98472cced0 Merge "For out of band timed text support (timed text in a separate file)." 2011-05-25 20:11:25 -07:00