148 Commits

Author SHA1 Message Date
Android (Google) Code Review
ab6ee15f8c am 474b0f29: Merge change 7686 into donut
Merge commit '474b0f2941430b97b4f24f16f7173e5249ccc8f2'

* commit '474b0f2941430b97b4f24f16f7173e5249ccc8f2':
  MediaScanner: Add check for null object in empty title handling code.
2009-07-17 15:42:59 -07:00
Nicolas Catania
716383a686 Added 3 metadata types for pause/seek forward/seek backward. 2009-07-17 13:26:44 -07:00
Eric Laurent
fd6e4820c6 Fix issue 1985479 lots of backup NPEs.
Check that stream type is not STREAM_BLUETOOTH_SCO before writting to settings.
2009-07-17 12:27:43 -07:00
Android (Google) Code Review
da3785ae9f Merge change 7624
* changes:
  Impl. of the metadata getters.
2009-07-17 12:00:28 -07:00
Mike Lockwood
bdc0e82f9c MediaScanner: Add check for null object in empty title handling code.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-07-17 08:17:45 -04:00
Nicolas Catania
cb2e00eedc Impl. of the metadata getters.
In Metadata, implemented the method that unmarshall the data from
a metadata parcel an return java entities.

Add 2 new types of metadata (Boolean and Date) and fixed an issue
in TimedText: the w3c standard specify a duration as well as the
time to be played => added a duration field.

In MetadataParserTest.java:
Moved the util private methods at the bottom of the file.
Added new tests for the getters (GETTERS section)
2009-07-16 18:34:53 -07:00
Android (Google) Code Review
5b3f457845 am 58d19d1f: Merge change 7581 into donut
Merge commit '58d19d1f6321161fdcd10140fe7b9d9053f80bd2'

* commit '58d19d1f6321161fdcd10140fe7b9d9053f80bd2':
  Fix bug that would cause files with blank title tags to not be shown in the music app.
2009-07-16 17:54:27 -07:00
Marco Nelissen
55973f1aad Fix bug that would cause files with blank title tags to not be shown in the music app. 2009-07-16 14:12:11 -07:00
Nicolas Catania
a5ccb22a3d Partial implementation of the parsing of Parcel into Metadata.
In this first cut, a raw parcel is parsed to check that the overall
format is correct.

At the same time, we record the metadata seen and their position in
the parcel for later retrieval using the get* methods.

This means that the 'has' method to check the existence of a metadata
should work.

Removed size and iterator methods. Instead, I added a new method
to give access to the set of keys. The user can make use of the set
to call size(), empty(), iterator() etc...
2009-07-15 13:27:49 -07:00
Nicolas Catania
5d55c71198 Basic plumbing to retrieve metadata from the native player.
IMediaPlayer.h
Added a getMetadata method that mirrors the on in MediaPlayer.java.

MediaPlayer.java
Added a native method to get the metadata from the native player.
Parse the parcel into a Metadata object.

Metadata.java
Added a stub to parse the Parcel returned by the native player into
a set of metadata.

android_media_MediaPlayer.cpp
JNI call to forward the getMetadata call.

MediaPlayerService.cpp
MediaPlayerService::Client implements the new getMetadata method added in IMediaPlayer.h
2009-07-10 11:00:42 -07:00
Android (Google) Code Review
c494ba2544 Merge change 6636
* changes:
  Implemented the metadata changed notification filters.
2009-07-09 14:51:54 -07:00
Android (Google) Code Review
5e7e8da04d am b799616d: Merge change 6208 into donut
Merge commit 'b799616d8f0f94e866767fa730f56d82543fb49b'

* commit 'b799616d8f0f94e866767fa730f56d82543fb49b':
  Move ExifInterface to android.media package so we can reference it from MediaScanner.
2009-07-09 12:49:18 -07:00
Nicolas Catania
b2c693919b Implemented the metadata changed notification filters.
IMediaPlayer:
new setMetadataFilter method so set a filter (2 lists of allowed and blocked metadata type)
serialized in a Parcel.

MediaPlayer.java/android_media_MediaPlayer.cpp/mediaplayer.cpp
new setMetadataFilter that passes the filter down to the MediaPlayerService's binder interface.

MediaPlayerService.cpp
The Client inner class holds the allowed and blocked metadata types.
These are in 2 vectors that get populated in the setMetadataFilter.

A new shourldDropMetadata method returns true if a type of metadata should be dropped according
to the filters.

The notify method in run the metadata update notifications thru the filter and possibly drop them.
2009-07-09 11:46:02 -07:00
Android (Google) Code Review
b799616d8f Merge change 6208 into donut
* changes:
  Move ExifInterface to android.media package so we can reference it from MediaScanner. Also hide public constructor and wrap common use cases as atomic operation to avoid race condition in jhead native codes.
2009-07-08 23:04:34 -07:00
Nicolas Catania
9193e08dc1 New Metadata API for the MediaPlayer.
MediaPlayer.java
New method getMetadata to fetch metadata from the player.
New method setMetadataFilter to filter metadata notification and fetches.

Metadata.java
Added basic interface. Implementation incomplete.
2009-07-08 09:47:29 -07:00
Android (Google) Code Review
f751c8c2ca am e9ac96f7: Merge change 6454 into donut
Merge commit 'e9ac96f76d513d2cee50dfea7d70b14669643ba9'

* commit 'e9ac96f76d513d2cee50dfea7d70b14669643ba9':
  Fix issue 1967295: Add a method to request reloading of audio settings by AudioService.
2009-07-08 09:25:12 -07:00
Eric Laurent
4050c93601 Fix issue 1967295: Add a method to request reloading of audio settings by AudioService. 2009-07-08 06:59:50 -07:00
repo sync
20b03ea70b Move ExifInterface to android.media package so we can reference it from MediaScanner.
Also hide public constructor and wrap common use cases as atomic operation to avoid
race condition in jhead native codes.
2009-07-08 17:59:47 +08:00
Eric Laurent
fcc5be99e0 am 88e209dc: Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR
Merge commit '88e209dcf8c2ebddda5c272f46d1bd5478bc639c'

* commit '88e209dcf8c2ebddda5c272f46d1bd5478bc639c':
  Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR
2009-07-07 09:36:14 -07:00
Eric Laurent
88e209dcf8 Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR
Store sample rate on 32 bits instead of 16 bits in audio_track_cblk_t.
Removed sampleRate() methods from AudioTrack and AudioRecord: replaced by getSampleRate().
AudioTrack::setSampleRate() no returns a status.
2009-07-07 07:10:45 -07:00
Android (Google) Code Review
6231e3a778 am ef1f21b3: Merge change 6231 into donut
Merge commit 'ef1f21b34f5624adb7436d3da927660ed16c97c7'

* commit 'ef1f21b34f5624adb7436d3da927660ed16c97c7':
  Don't trim() in the mediascanner, as that would remove the special "sort first" character.
2009-07-06 12:00:12 -07:00
Marco Nelissen
513d8068b4 am 899725b0: Make sure ringtones are sorted correctly.
Merge commit '899725b05dd5c8c51f9f802d4f0a7190532ce0a5'

* commit '899725b05dd5c8c51f9f802d4f0a7190532ce0a5':
  Make sure ringtones are sorted correctly.
2009-07-06 12:00:02 -07:00
Marco Nelissen
73bb511ade Don't trim() in the mediascanner, as that would remove the special "sort first" character. 2009-07-06 11:07:27 -07:00
Marco Nelissen
899725b05d Make sure ringtones are sorted correctly. 2009-07-06 10:57:01 -07:00
Nicolas Catania
20cb94eeb5 Direct api to the native media player.
MediaPlayer.java has 3 new methods:
* newRequest creates a Parcel that can be used to send data to the
  native player using invoke.
* invoke issues synchronous calls to the native player using opaque
  parcels for the request and reply.

IMediaPlayer.h has 1 new abstract method:
* invoke

The Midi and Vorbis players have a stub for these. So far only PV
makes use of that new feature.

To avoid any copy overhead, the JNI interface uses Parcel as a java
object (no serialization/copy happens at the JNI layer).

The remote interface token is inserted when the Parcel is constructed
in java. That way the parcel is already routable when it reaches
 IMediaPlayer.cpp (proxy). No extra copy is needed there.
2009-06-24 08:22:52 -07:00
Android (Google) Code Review
cf01aa3cff am 1bee98af: Merge change 5100 into donut
Merge commit '1bee98af6532eba3c6cda636eee890530c95a2a7'

* commit '1bee98af6532eba3c6cda636eee890530c95a2a7':
  Fill in CDMA gaps and clean up ToneGenerator code
2009-06-23 13:42:41 -07:00
David Krause
b6d90ca129 Fill in CDMA gaps and clean up ToneGenerator code 2009-06-23 12:32:12 -07:00
Android (Google) Code Review
a877427e2f am 0e3d77af: Merge change 4324 into donut
Merge commit '0e3d77af4ec6cd4961cfb144045ee9dfe479ccf6'

* commit '0e3d77af4ec6cd4961cfb144045ee9dfe479ccf6':
  AudioService: Fix routing problem recently introduced in setRouting().
2009-06-16 08:37:50 -07:00
Mike Lockwood
d1f362fe14 AudioService: Fix routing problem recently introduced in setRouting().
Do not disable a route unless routes is zero, to avoid accidentally disabling
if the same route is enabled twice in a row.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-06-16 08:23:13 -04:00
Android (Google) Code Review
cca860fa6b am 3d4b7065: Merge change 4047 into donut
Merge commit '3d4b7065e960cdaecc8d9fd609c2e508a1f9d8f5'

* commit '3d4b7065e960cdaecc8d9fd609c2e508a1f9d8f5':
  Fix issue #899198	MODE_RINGER_STREAMS_AFFECTED does not restore volumes correctly
2009-06-12 11:43:59 -07:00
Android (Google) Code Review
5f80742306 am d670b8c6: Merge change 3981 into donut
Merge commit 'd670b8c61ebd13324ac21bdbc08d8a02fc0a765a'

* commit 'd670b8c61ebd13324ac21bdbc08d8a02fc0a765a':
  Removed trailing whitespaces.
2009-06-12 11:43:55 -07:00
Android (Google) Code Review
3d4b7065e9 Merge change 4047 into donut
* changes:
  Fix issue #899198	MODE_RINGER_STREAMS_AFFECTED does not restore volumes correctly
2009-06-12 08:33:59 -07:00
Eric Laurent
9bcf401d13 Fix issue #899198 MODE_RINGER_STREAMS_AFFECTED does not restore volumes correctly
The problem is that setRingerModeInt() does not handle streams not affected by ringer mode: when enabling "Alarm in silent mode" while in silent mode, setRingerModeInt is called after alarm streamis removed from ringer mode affected streams, and nothing is done.

The fix constists in also processing streams that are not affected by ringer mode and to restore last audible volume for them. It does not arm reapplying the volume for streams the are never affected by ringer mode as we don't do this very often.

The other problem noted in the bug report (ringer volume always restored to non zero value when exiting silent mode even if set to zero before) is also fixed: a new parameter is added to setIndex() and setStreamVolumeInt() to explicitely request to store the volume index as last audible instead of doing it automatically if index > 0.
2009-06-12 06:09:28 -07:00
Nicolas Catania
32f8277488 Removed trailing whitespaces. 2009-06-11 16:54:48 -07:00
Android (Google) Code Review
9da6971d8a am faf41044: Merge change 3644 into donut
Merge commit 'faf410443f0c2ab2d30a1c8ce90f83157b5e593b'

* commit 'faf410443f0c2ab2d30a1c8ce90f83157b5e593b':
  Print a message to the log when a file can't be opened on the client side.
2009-06-09 20:45:59 -07:00
Marco Nelissen
a2df60598a Print a message to the log when a file can't be opened on the client side. 2009-06-09 15:49:23 -07:00
Android (Google) Code Review
f5b746e157 am b2df1699: Merge change 1548 into donut
Merge commit 'b2df1699c996e62baa78877978cd2c5607ea4194'

* commit 'b2df1699c996e62baa78877978cd2c5607ea4194':
  NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC).
2009-06-08 16:00:19 -07:00
Jianhong Jiang
2bcda90c02 NJ-1409: (frameworks/base) Support new audio encoding types(AMR and AAC). 2009-06-08 08:50:42 -07:00
Android (Google) Code Review
27b3eaf4de am 0f5179c7: Merge change 2716 into donut
Merge commit '0f5179c7d333ddab729b5943766637c21d1b74db'

* commit '0f5179c7d333ddab729b5943766637c21d1b74db':
  Update MediaPlayer to allow setVideoSurface calls after prepare. Also allow
2009-05-29 14:18:55 -07:00
Android (Google) Code Review
0f5179c7d3 Merge change 2716 into donut
* changes:
  Update MediaPlayer to allow setVideoSurface calls after prepare. Also allow passing a null surface. The API is now enabled to change the surface while the video is playing. This could allow orientation changes during playback or to allow the audio track from a video to play in the background. NOTE: There are still changes required to pmem driver to allow remapping shared physical memory into a process in order for this to work. This change only enables the API to send the appropriate calls when the lower level code supports it.
2009-05-29 14:17:44 -07:00
Dave Sparks
8b0b174198 Update MediaPlayer to allow setVideoSurface calls after prepare. Also allow
passing a null surface. The API is now enabled to change the surface while
the video is playing. This could allow orientation changes during playback
or to allow the audio track from a video to play in the background.
NOTE: There are still changes required to pmem driver to allow remapping
shared physical memory into a process in order for this to work. This
change only enables the API to send the appropriate calls when the lower
level code supports it.
2009-05-29 13:51:38 -07:00
Android (Google) Code Review
a70396cd0a am f6355e24: Merge change 2399 into donut
Merge commit 'f6355e24f5382356ea197135fdeff827aabfdb90'

* commit 'f6355e24f5382356ea197135fdeff827aabfdb90':
  Motorola additions for CDMA support without CdmaSuppConnTracker
2009-05-28 20:30:45 -07:00
Wink Saville
dda5391d50 Motorola additions for CDMA support without CdmaSuppConnTracker
There are corresponding changes to hardware/ril and packages/apps/Phone
that are required to go with these changes.
2009-05-28 17:32:34 -07:00
Android (Google) Code Review
c5d0343b67 am de8268d6: Merge change 2331 into donut
Merge commit 'de8268d6d1cd168510c490b17e93154d2eab767c'

* commit 'de8268d6d1cd168510c490b17e93154d2eab767c':
  Fix issue 1846343 - part 1
2009-05-26 10:11:44 -07:00
Eric Laurent
4bc035a65c Fix issue 1846343 - part 1
This change is the first part of a fix for issue 1846343, :
- Added new enum values for input sources in AudioRecord and MediaRecorder for voice uplink, downlink and uplink+downlink sources.
- renamed streamType to inputSource in all native functions handling audio record.

A second change is required in opencore author driver and android audio input to completely fix the issue.
2009-05-26 07:44:28 -07:00
Android (Google) Code Review
6f3cbac7eb am 65ff54c4: Merge change 1967 into donut
Merge commit '65ff54c44bbd8c1dd6818d42b7c91c634c644aa9'

* commit '65ff54c44bbd8c1dd6818d42b7c91c634c644aa9':
  Document the media scanner's flow through native and java code, since
2009-05-19 14:04:04 -07:00
Marco Nelissen
77f2c4c1f9 Document the media scanner's flow through native and java code, since
I always forget how it works after a while.
2009-05-19 10:00:33 -07:00
Android (Google) Code Review
4ae6aa232b am 109b21ba: Merge change 1677 into donut
Merge commit '109b21bab5a9eb6c17e067b11784ade36129f24f'

* commit '109b21bab5a9eb6c17e067b11784ade36129f24f':
  Findbugs fixes.
2009-05-14 14:53:35 -07:00
Marco Nelissen
d282ac8610 Findbugs fixes. 2009-05-14 13:18:16 -07:00
The Android Open Source Project
56b7eeaa01 manual merge f3af740bdfc261b1cb25c0799af780d3753d4518
Merge commit 'f3af740bdfc261b1cb25c0799af780d3753d4518'
2009-05-06 15:48:33 -07:00