808 Commits

Author SHA1 Message Date
Mike Lockwood
f26a586c86 Remove MTP related log spam
Change-Id: I9de1792cbeec07fa5ab42ff9a10813f0c3d30fc1
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-21 21:00:54 -08:00
Santosh Madhava
9d5ca4a14c Fix for issue 3370052 : Export progress percentage is incorrect
Change-Id: If1a39ab4c34e44b84dc6ada7b4d7b634ac347099
2011-01-20 17:10:40 -08:00
Santosh Madhava
bdb2e79a41 Fix for PR 3369866 : Project thumbnail should have the same aspect ratio
Change-Id: I028f0c74f71c8b5497a6c904b93a3f09dde559e0
2011-01-20 14:52:06 -08:00
Gil Dobjanschi
c4edeb5a60 Bug fix: 368813 Transition is regenerated when overlay duration changes outside the transition
Change-Id: I8217e7fe00392455427e117dc54c3461301f95c5
2011-01-19 14:10:32 -08:00
Mike Lockwood
2bc6971dd8 Merge changes I7df1ff78,Ibc2e8adf into honeycomb
* changes:
  MediaScanner: Make sure name field is set for file based playlists
  MTP: Fix problem with MTP starting up on the first try.
2011-01-18 20:30:13 -08:00
Mike Lockwood
242d0cdc1a MediaScanner: Make sure name field is set for file based playlists
Change-Id: I7df1ff783d815d6021ec2432467ba56cb3f3ad1b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-18 20:29:08 -08:00
Eric Laurent
74ff70d2f2 Merge "Fix typo" into honeycomb 2011-01-18 14:25:17 -08:00
Glenn Kasten
ed6eae420f Fix typo
Change-Id: I73e7c5cf13c5ed82398006af61308665eb1d3ad0
2011-01-18 14:13:28 -08:00
Mike Lockwood
8ed67acf38 MTP: Set modification date for abstract playlists
BUG: 3224269

Change-Id: I96ae8e6d2f7e28860e9217ceb911331b333e1391
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-18 13:27:25 -08:00
Mike Lockwood
8cc6eb1e4c MTP: Strip ".pla" file extension from name field for WMP playlists
BUG: 3309324

Change-Id: Ia136f94406496f971819f4f805f742f2a6829007
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-18 13:13:05 -08:00
Mike Lockwood
7a0bd17bce MTP: Fix problems with modification dates for folders and non-media files
Also removed an unnecessary parameter to MtpDatabase.endSendobject()

BUG: 3352142

Change-Id: I6fd812dcba4814956bc8bc1cbd6bd5c868197790
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-18 11:07:11 -08:00
Dharmaray Kundargi
9ed99405ae Merge "Video editor API update - rework for Patch Set 3" into honeycomb 2011-01-17 10:52:29 -08:00
Eric Laurent
117b7bb5b5 Fix issue 3354692.
The problem is that SoundPool never calls the onLoadComplete() callback
when load() method fails because the file cannot be opened.
AudioService loadSoundEffects() was blocked waiting for a callback
that never came.
In this particular case, this happened on a specific build where sound
effects assets were not included.

The fix consists in waiting for the callback only if at least one sample is
accepted by SoundPool load().

Also moved the initial loading of sound effect samples from the boot completed
broadcast receiver to the audio service message handler to avoid waiting in the
main system server thread.

Change-Id: I902e5988f8b644a81d8e585c52eed1df4ca0ec05
2011-01-17 10:36:12 -08:00
Santosh Madhava
9bcedf7cf3 Video editor API update - rework for Patch Set 3
Change-Id: I75bfa17fe98bec13f672ff9a4edf623bb85020c8
2011-01-16 16:56:12 -08:00
Jean-Baptiste Queru
9286cfe501 merge 83fdc69e from gingerbread - do not merge
Change-Id: Ib1e9e12244a44f75a93d66142e71915de6386680
2011-01-14 18:33:51 -08:00
James Dong
c14b10c306 Merge "Add audio encoding parameters check" into honeycomb 2011-01-13 10:21:28 -08:00
Marco Nelissen
f679ba7d94 Cherrypick from GB. Do Not Merge.
Send "compilation" tag when inserting into the database.
It's not actually inserted into the database, but the media provider uses it
for disambiguating albums.
b/3311831

Change-Id: I67deb044800a6cb626c69bf3d54d51df4bf830f2
2011-01-13 07:17:20 -08:00
James Dong
54815a78af Add audio encoding parameters check
bug - 3345296

Change-Id: If3f33955f5473b0c5ad9c9b85f8b5cb21ddd7e65
2011-01-12 20:45:16 -08:00
James Dong
9efe47374b Squash commits of the following patches, cherry-picked from other branch - do not merge.
o Prepare for publishing MediaMetadataRetriever as public API
  step one:
  o replaced captureFrame with getFrameAtTime
  o removed getMode

o Replace MediaMetadataRetriever.captureFrame() with MediaMetadataRetriever.getFrameAtTime()
  as part of the preparation for publishing MediaMetadataRetriever as public Java API

o Remove captureFrame from MediaMetadataRetriever.java class
  It has been replaced by getFrameAtTime() method

o Replace extractAlbumArt() with getEmbeddedPicture() in MediaMetadataRetriever.java

o Publish MediaMetadataRetriever.java as public API
  o Removed setMode() methods and related mode constants
  o Removed some of the unused the metadata keys
  o Updated the javadoc
  o part of a multi-project change.

bug - 3309041

Change-Id: I2efb6e8b8d52897186b016cb4efda6862f5584c4
2011-01-12 17:12:46 -08:00
Marco Nelissen
a8a656b0c5 Fix scanning of modified files.
When a media file, particularly a music file, is updated, the media
scanner should use the correct Uri to update it, and not the generic
files Uri. Otherwise, things like artist and album name will not
be properly updated.

Change-Id: I576629c51282bfbeb61c23f1e43b072700084a6c
2011-01-12 14:46:49 -08:00
James Dong
068b41d5d4 Merge "Publish MediaMetadataRetriever.java as public API" into honeycomb 2011-01-12 14:31:34 -08:00
Mike Lockwood
0dd9f4de3e MediaScanner: Do not update the file path when updating records already in the database
The path should never change (media scanner treats renames as a delete and an insert)
and we want to preserve the mixed case paths in the database to avoid exposing the
lowercase squashing to MTP.

Change-Id: I79ef37e143c607242d438a4a0643d40191965b6a
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-12 17:27:37 -05:00
James Dong
11eab056dd Publish MediaMetadataRetriever.java as public API
o Removed setMode() methods and related mode constants
o Removed some of the unused the metadata keys
o Updated the javadoc

o part of a multi-project change.

bug - 2433195

Change-Id: I5ed167f1fd6a53cb143b7dc385b149431d434438
2011-01-12 14:14:11 -08:00
Mike Lockwood
1c4e88d0b0 Media Provider and MTP now use emulated /mnt/sdcard instead of /data/media
This rips out some complicated code that was added since gingerbread
that is no longer necessary.

Change-Id: Iab5ecb7314c06221475ce01ef483f34f17003b06
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-12 12:48:13 -05:00
Andreas Huber
52c7832e35 Increase cache size and low-watermark threshold, also
MediaPlayer now sends out MEDIA_INFO,MEDIA_INFO_VIDEO_TRACK_LAGGING messages
to the JAVA client informing it how much (if at all) the video lags behind
audio (arg2 is the media delay in ms).

Change-Id: I6933f573d8597a35112e4b5ee0fcb826a7f6ddd1
related-to-bug: 3335220
2011-01-11 15:05:28 -08:00
Eric Laurent
a60e212d0d Fix issue 3261656.
The problem can occur if a sample is started at the same time as the last AudioTrack callback
for a playing sample is called. At this time, allocateChannel() can be called concurrently with moveToFront()
which can cause an entry in mChannels being used by moveToFront() to be erased temporarily by allocateChannel().

The fix consists in making sure that the SoundPool mutex is held whenever play(), stop() or done() are called.

In addition, other potential weaknesses have been removed by making sure that the channel mutex is held while
starting, stopping and processing the AudioTrack call back.

To that purpose, a mechanism similar to the channel restart method is implemented to avoid stopping channels
from the AudioTrack call back but do it from the restart thread instead.

The sound effects SounPool management in AudioService has also been improved to make sure that the samples have
been loaded when a playback request is received and also to immediately release the SoundPool when the effects are
unloaded without waiting for the GC to occur.
The SoundPool.java class was modified to allow the use of a looper attached to the thread in which the sample
loaded listener is running and not to the thread in which the SoundPool is created.

The maximum number of samples that can be loaded in a SoundPool lifetime as been increased from 255 to 65535.

Change-Id: I368a3bdfda4239f807f857c3e97b70f6b31b0af3
2011-01-07 17:17:10 -08:00
Marco Nelissen
ee35aff744 Add support for the "compilation" tag in mp3, mp4 and ogg, and also add
support for two common ways of specifying album artist in ogg files.
b/3311831

(cherry-picked from GB because of weird automerger failure)

Change-Id: Ibf12a3d6bc8bbc2ac5ea815de6b33414b8f53f0f
2011-01-07 12:42:07 -08:00
Marco Nelissen
2888208b0b am f13d4501: Send "compilation" tag when inserting into the database. It\'s not actually inserted into the database, but the media provider uses it for disambiguating albums. b/3311831
* commit 'f13d4501396aa1679004ad07d440f65ced3ecc2b':
  Send "compilation" tag when inserting into the database. It's not actually inserted into the database, but the media provider uses it for disambiguating albums. b/3311831
2011-01-07 09:22:57 -08:00
Marco Nelissen
d1da80a4b3 am ba77a3f9: Add support for the "compilation" tag in mp3, mp4 and ogg, and also add support for two common ways of specifying album artist in ogg files. b/3311831
* commit 'ba77a3f9cb1d68b2ed4813aaae856444578e3a75':
  Add support for the "compilation" tag in mp3, mp4 and ogg, and also add support for two common ways of specifying album artist in ogg files. b/3311831
2011-01-06 20:29:11 -08:00
Marco Nelissen
f13d450139 Send "compilation" tag when inserting into the database.
It's not actually inserted into the database, but the media provider uses it
for disambiguating albums.
b/3311831

Change-Id: Idb630866e960338ce2795dcc128cafaf6c9c27f2
2011-01-06 16:37:03 -08:00
Marco Nelissen
ba77a3f9cb Add support for the "compilation" tag in mp3, mp4 and ogg, and also add
support for two common ways of specifying album artist in ogg files.
b/3311831

Change-Id: Iba1152013b7577168af71f947d7249560419fa05
2011-01-06 15:05:06 -08:00
Mike Lockwood
27480cd494 Remove support for obsolete PTP content provider
This will be replaced by a new PTP host API in an upcoming commit.

Change-Id: Ib914194e332b5c090cb8e34ed35bd691bc9f85d1
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-06 11:47:56 -05:00
Joe Onorato
c7fcba4b7b Make the volume keys adjust the media volume by default if the device is not "voice capable."
Change-Id: Ide396f8940a075c0b00b7c983c1769c1cc0f17bf
2011-01-05 16:53:11 -08:00
James Dong
df9b349b96 Replace extractAlbumArt() with getEmbeddedPicture() in MediaMetadataRetriever.java
Change-Id: I34dfc1daa3bed1f334f3f266cbe70d1e3d7924f6
2011-01-04 15:03:48 -08:00
James Dong
6e77de71ac Remove captureFrame from MediaMetadataRetriever.java class
It has been replaced by getFrameAtTime() method

Change-Id: I9ed762e10e61dbc188e2a740e489a3e2ef9a6bb2
2011-01-04 12:13:44 -08:00
Mike Lockwood
0cd0136d44 Move MTP Java classes to android.mtp.* package.
Change-Id: Ib18bcaabf314241a95e517d0b93be5845d988e2c
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-30 11:54:33 -05:00
James Dong
2116dc91e9 Expose AMRNB/WB and AAC encoder and related file output formats
Cherry-picked from GB

bug - 3305667

Change-Id: I116ba908666d712495a1bd2bcc47c35f274c7fae
2010-12-22 13:42:36 -08:00
James Dong
27d4ad2a57 am 2bf89b21: Merge "Expose AMRNB/WB and AAC encoder and related file output formats - do not merge" into gingerbread
* commit '2bf89b2197674ccc414ea60a61199562df9dc52b':
  Expose AMRNB/WB and AAC encoder and related file output formats - do not merge
2010-12-22 12:40:57 -08:00
James Dong
d609ca7f6a Expose AMRNB/WB and AAC encoder and related file output formats - do not merge
bug - 3305667

Change-Id: I8f137af7f87cb010f75cae1777b9ec6b6af8214f
2010-12-22 12:12:12 -08:00
Mike Lockwood
fbc4939d2b MediaScanner: Fix handling of .nomedia files in directories
In particular, fix the code that prevents the database triggers from deleting
files when a .nomedia file is added to a directory

Change-Id: Ie913223f3b1bbf9122842a675b96d4baac3b1c6f
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-17 12:27:47 -08:00
Mike Lockwood
076e05b488 MediaScanner: Add support for scanning empty directories
Currently the media scanner does not create database entries for directories
unless they contain a file that is scanned.
Fixing this so we provide a consistent view of the world to MTP.

Change-Id: Ia776acfeae23192183e7192d63cdc34d830ea889
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-16 15:35:36 -08:00
Chih-Chung Chang
c32dd5f2d1 Fix 3274309: Returns correctly sized thumbnails for MINI_KIND video thumbnails.
Change-Id: I88b293e44430eebe780dfb9eb06d80f8ce89483f
2010-12-16 17:44:30 +08:00
Eric Laurent
2c61bee2b0 Change audio routing policy for HDMI
HDMI device should have a higher priority than analog dock audio but a lower priority
than wired headsets.
Also modified AudioService so that HDMI is mapped to DEVICE_OUT_AUX_DIGITAL device and not
DEVICE_OUT_DGTL_DOCK_HEADSET as before to enable discrimination between SPDIF going to
digital dock and SPIDF going to HDMI.

Change-Id: I887d0c73479784dd2edaf41ce1a7d8d0bdcbb4bd
2010-12-15 11:01:48 -08:00
Mike Lockwood
55f808cff9 MTP: Make recursive delete more efficient
Change-Id: Iec9df8ac910f5257236b59c95b0ee3d7d05f367c
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-14 14:16:44 -08:00
Mike Lockwood
bafca214ea MTP: check for replacing existing files via the database instead of the file system
Change-Id: I283dab48f24d2836e48fab8e49764a9cdf13de55
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-13 21:50:09 -08:00
Mike Lockwood
eb46d0601e MediaScanner: No longer delete playlist files that have no valid entries
When copying files from MTP we must keep the file in the database, even
if we cannot find any of the playlist entries (or even if it is not a valid playlist file)

BUG: 3260341

Change-Id: I4b39027ee25ffae6778224cf74830a4b1ca3fecb
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-13 12:10:45 -08:00
Jean-Michel Trivi
b6a0dfb0f1 Merge "Fix bug 3275151 Request and abandon audio focus with audio mode changes" 2010-12-13 09:01:34 -08:00
Mike Lockwood
7f36b19b6b MTP: Add support for reserve storage setting to avoid low storage situations.
Set resource config_mtpReserveSpaceMegabytes to number of megabytes to reserve.
If MTP has dedicated storage this value should be zero, but if MTP is
sharing storage with the rest of the system, set this to a positive value
to ensure that MTP activity does not result in the storage being
too close to full.

BUG: 3250924

Change-Id: I881c87240da268bad1ea1b99ad03673ab85ffdbf
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-12 12:17:43 -08:00
Jean-Michel Trivi
2ade576148 Fix bug 3275151 Request and abandon audio focus with audio mode changes
Before the introduction of the MODE_IN_COMMUNICATION audio mode,
 "calls" were only made through telephony and the PhoneStateListener
 was used to request and abandon audio focus as calls where started
 and ended. VoIP applications do not cause phone state events to
 be broadcast, and set the audio mode to MODE_IN_COMMUNICATION
 directly. This change monitors mode changes to automatically
 grab and abandon audio focus.

Change-Id: Ie9a4193e35ba8447764fac66a988959a93c4909f
2010-12-11 13:55:58 -08:00
Mike Lockwood
51f56cbd30 Merge "MTP: Improve argument checking in SendObjectInfo" 2010-12-08 17:15:22 -08:00