2524 Commits

Author SHA1 Message Date
Jean-Michel Trivi
5d21f679c5 AudioTrack write from ByteBuffer updates position
Remove offset parameter.
Update buffer position when data is successfully written.

Bug 7919023

Change-Id: I1701532ef0a91e2ccecfc38b24de29bc4f64d035
2014-03-21 09:24:26 -07:00
Colin Cross
5e8ff02ec9 MediaHTTPConnection: use jlong to store native pointer
Change-Id: Ic4f391a8e658498e63c26ea2af4c7413ed387360
2014-03-19 17:28:42 -07:00
Lajos Molnar
e128ca437a am 0dc08486: am f7b33e86: Merge "MediaPlayer: fix int overflow issue in MediaTimeProvider" into klp-dev
* commit '0dc084865313a416246915c72b29c13cc3f404d4':
  MediaPlayer: fix int overflow issue in MediaTimeProvider
2014-03-19 20:52:03 +00:00
John Spurlock
1af30c7ac4 Add stream-level suppression to vibrate/audio services.
- Add new audio restriction layer to app-ops.  Restrictions add
additional constraints to audio operations at a stream-level.
Restrictions do not affect the persistable state, and are purely
additive: that is, they can only impose additional contstraints, not
enable something that has already been disabled.  Restrictions
also support a whitelisted set of exempt package names.

- Add new audio stream-level checks to app-ops.

- Implement a provisional OP_PLAY_AUDIO suppression to three
java entry points MediaPlayer, AudioTrack, & SoundPool.

- Enhance vibrator api to take stream information as an optional
hint - the constants correspond to AudioManager stream types.
OP_VIBRATE now supports the stream-level restriction check.

- Simplify Vibrator subclasses by adding default implementations
for two .vibrate calls.

- Migrate NoMan's zen-mode control to use the new app-ops
stream-level restriction mechanism.

Change-Id: Ifae8952647202f728cf1c73e881452660c704678
2014-03-19 15:32:51 -04:00
Lajos Molnar
0cab07d788 MediaPlayer: fix int overflow issue in MediaTimeProvider
Bug: 13394783
Change-Id: I228ded5cf198852fda867d136cd8b1aacd8b6584
2014-03-19 11:35:17 -07:00
Marco Nelissen
203a6ddb0c am 105c4792: am 10a07a04: Merge "Verify certificates" into klp-dev
* commit '105c47924f7af9319ec9242b952b4bf074585229':
  Verify certificates
2014-03-14 22:55:50 +00:00
Marco Nelissen
10a07a043f Merge "Verify certificates" into klp-dev 2014-03-14 22:27:23 +00:00
Zhihai Xu
57080be98e am bdd4c31a: am 60d7c995: Merge "DO NOT MERGE setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager" into klp-dev
* commit 'bdd4c31a22b9a5395e9d727e9f39ce1dc689c0a7':
  DO NOT MERGE setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager
2014-03-14 15:56:47 +00:00
Mike Lockwood
92b53bc2dd MTP: Add support for some audio specific object properties
This stops Windows 7 from putting up the
"Your device might not be able to play or view this file" dialog
when copying MP3 files to the device.

Bug: 3195286
Change-Id: Ic5b3fb75309893caae1a4f4b56068a543847f1f7
2014-03-13 15:15:26 -07:00
Marco Nelissen
7e435a011d Verify certificates
b/13418320

Change-Id: I39c81b1557a16c7a4666a4531a398efa91dcb00c
2014-03-13 14:18:59 -07:00
Zhihai Xu
7fb580ea4d DO NOT MERGE setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager
setAvrcpAbsoluteVolume is passed wrong unit parameter from AudioManager.
It cause maximize volume in Bluetooth speaker/device.
The volume expected by Bluetooth Avrcp should be from 0 to 15.
But the current volume parameter passed to Bluetooth Avrcp is from 0 to 150.
It is scaled by 10 times than the correct volume.
index = rescaleIndex(index * 10, streamType, streamTypeAlias);
Should divide the volume by 10 before pass to Bluetooth Avrcp.

bug:12495379
Change-Id: I4160588e92ee384e21a75d63036d8bd6ccb30621
2014-03-12 16:08:31 -07:00
RoboErik
4224e83642 Merge "Adds a TransportController and TransportPerformer to session" 2014-03-12 22:14:50 +00:00
RoboErik
8ae0f34db9 Adds a TransportController and TransportPerformer to session
This makes transport controls a primitive interface on sessions with
a way to create the performer, register callbacks, and send commands
and updates between controllers and performers. This still needs some
cleanup but has been tested with OneMedia.

Change-Id: I373d35f7ccc383b8421bd14044457467d80425f3
2014-03-12 15:09:42 -07:00
Mike Lockwood
5b568aa04a Merge "MTP: Add support for battery level device property" 2014-03-12 17:58:05 +00:00
Mike Lockwood
56c85244b9 MTP: Add support for battery level device property
Bug: 7342482

Change-Id: I810e55fe9695e2206816f57334ad14f65e9c641d
2014-03-12 08:46:47 -07:00
Jean-Michel Trivi
7ca2b89585 Merge "AudioTrack write method with data in ByteBuffer" 2014-03-11 17:12:59 +00:00
Jean-Michel Trivi
7ca0452fa6 AudioTrack write method with data in ByteBuffer
New write method with data in ByteBuffer. Allows blocking and
 non-blocking write.
If the ByteBuffer is not direct, the implementation uses the
 existing implementation with a byte array.

Bug 7919023

Change-Id: I6935e3e05783d7d7672614b194941a87abbb50cf
2014-03-11 01:34:03 +00:00
Lajos Molnar
7246fa5610 MediaPlayer: fix int overflow issue in MediaTimeProvider
Bug: 13394783
Change-Id: I228ded5cf198852fda867d136cd8b1aacd8b6584
2014-03-10 17:23:45 -07:00
Robert Shih
f0768d71bd Merge "MediaMuxer: added WebM filetype; open output file RW." 2014-03-10 19:02:34 +00:00
Marco Nelissen
b2c45abc1d am 233e7e9f: am 98a6bcf4: Merge "ExifInterface: fix class load failure" into klp-dev
* commit '233e7e9f64be5e85196dd959824bce9a69b2fd99':
  ExifInterface: fix class load failure
2014-03-07 01:31:22 +00:00
Zhijun He
9f97ac433a ExifInterface: fix class load failure
libexif_jni was renamed as libjhead_jni

b/12203995
Change-Id: I0ceff1ad288c7ce2255826d5d5ba9ca1f121a556
2014-03-06 16:54:05 -08:00
Eric Laurent
3260f25445 am eac19754: am 617e715a: Merge "Fix RemoteController synchronization mode" into klp-dev
* commit 'eac19754ca0822e4c1c50c436affbf5cbf7e08d3':
  Fix RemoteController synchronization mode
2014-03-06 20:06:08 +00:00
Jean-Michel Trivi
4b0f155457 Fix RemoteController synchronization mode
Fix erroneous argument check in RemoteController syncrhonization
  mode setter..

Bug 12189375

Change-Id: Ic2b70ec48cacc6d10f17762387b52b4e4304aa10
2014-03-06 09:22:26 -08:00
RoboErik
8fb4cf1ef4 Merge "Move Session apis to android.media.session" 2014-02-26 18:13:35 +00:00
RoboErik
2f5b057da7 Move Session apis to android.media.session
This is to make it easier to distinguish the new apis from the old
ones.

Change-Id: Ic5eaf65e8bd054a844f87b9118c4bb18f30ac8a7
2014-02-25 16:01:55 -08:00
Chong Zhang
8440a33b25 Merge "support time lapse/slow motion on SURFACE source" 2014-02-24 17:52:01 +00:00
Marco Nelissen
6e89ddc046 Add method to get redirected Uri
Change-Id: I32c35e1cae89ee1106e8eabff0a4673af8cf57cd
2014-02-21 12:00:42 -08:00
RoboErik
5f105a1efb Another javadoc fix
Change-Id: I7a569a1583f87153f68d492a7500ffceac2ed3ae
2014-02-19 17:33:14 -08:00
RoboErik
9524ed59a4 Fix build (bad javadoc reference)
Change-Id: Ifddab9f61fda81858ab429bbd2ec9d0821577c23
2014-02-19 17:07:18 -08:00
RoboErik
3328868544 Merge "Initial round of MediaSession APIs" 2014-02-20 00:25:10 +00:00
RoboErik
01fe661ae5 Initial round of MediaSession APIs
This is far from complete but puts the basic components in place
for an app to interact with media sessions.

Change-Id: Icfe313f90ad76ae56badbe42b0e43fc5f68db36f
2014-02-19 13:41:37 -08:00
Marco Nelissen
d5a579765e Fix regression
Don't crash if an item is inserted without a slash in its path.
b/13076381

Change-Id: I5cde2adaa038201e0692af3c8ca92540ce75f083
2014-02-18 16:06:38 -08:00
Chong Zhang
daa98ca8d7 support time lapse/slow motion on SURFACE source
- pass time between capture as us, in high fps case ms could
  be inaccurate

- add test cases in MediaRecorderTest for time lapse/slow motion

Bug: 13032650

Change-Id: I34ecc3b39e0519753f74ae42afcaeeddfff1666a
2014-02-14 15:53:25 -08:00
Andy McFadden
cdf1d1895a Update createInputSurface() doc
The Surface returned by MediaCodec#createInputSurface() is configured
for HW_VIDEO_ENCODER by the consumer.  Accessing the Surface through
Surface#lockCanvas() sets SW_READ_OFTEN | SW_WRITE_OFTEN, and some
devices choke on the combination.

Bug 11418094

Change-Id: Ic182802386146d19b1bdecdb894c5130c563a3ed
2014-02-14 20:54:18 +00:00
Andreas Huber
f8a0c47e90 Remove no longer needed http proxy handling code, it's obsolete now
since we started to use java's HTTPConnection instead of the native
implementation.

Change-Id: I32b08480593a859e0368dbbcf8da8f25c9e08ca9
2014-02-05 11:53:40 -08:00
Andreas Huber
cb1b23b5e6 Merge "FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code" 2014-02-05 17:13:07 +00:00
Andreas Huber
d2506a5063 FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code
Change-Id: I7f6cdcfd2a28846d36d89dd5180ef20a22b03af8
2014-02-04 14:45:28 -08:00
Marco Nelissen
93a5845d1a Cache media/nomedia paths
Instead of checking all the parents of every path for presence of
a .nomedia file every time a new entry is inserted, build a cache
of paths and use that when possible.

Change-Id: I5b912fd54473db8f96d3511cbc2715e0b69dd16b
2014-02-04 12:52:10 -08:00
Robert Shih
1797dc93fb MediaMuxer: added WebM filetype; open output file RW.
Files with RW access can be memory mapped.

Change-Id: Ic5df057e6661b062e834845a19b606c8d01a0608
2014-01-29 18:32:47 -08:00
Andreas Huber
329eec5349 Fix invocation of notification callback in case the callback is modified
from a separate thread.

Change-Id: I741c1f2f9c796ec977a742a69cedcca10c5218ad
2014-01-27 16:30:09 -08:00
Andreas Huber
aba671392d API that allows usage of MediaCodec APIs without polling.
Change-Id: Iebccdd3aec74a2cfa9ad0bf16c0c6006a3b72999
related-to-bug: 11990118
2014-01-27 10:52:18 -08:00
Andy Hung
bdf8db0828 Merge "Add "throws IOException" to MediaCodec factory methods" 2014-01-21 23:03:33 +00:00
Andy Hung
83511d2f49 Add "throws IOException" to MediaCodec factory methods
android.media.MediaCodec
(createByCodecName|createDecoderByType|createEncoderByType)
now explicitly throws IOException.

Requires changes to existing code for declaration compatibility.

Bug: 11364276
Change-Id: I105ecb7c4bd49bf803111253cd23bab161c988f9
Signed-off-by: Andy Hung <hunga@google.com>
2014-01-16 12:35:15 -08:00
Narayan Kamath
6bb5cb24b4 Resolved conflicts for merge of 28c6ec02 to master
Change-Id: Idf1cabf2694dfa13d928df944d346f5e051b6948
2014-01-16 15:49:59 +00:00
Narayan Kamath
24d63a8382 am bc0468e6: am 6f17adba: Merge "AArch64: Use long for pointers in media classes"
* commit 'bc0468e67626937300e9afd182656469463d96a1':
  AArch64: Use long for pointers in media classes
2014-01-16 07:34:43 -08:00
Glenn Kasten
0c5b62744b Merge "Unhide android.media.AudioTrack.setVolume(float)" 2014-01-15 17:58:53 +00:00
Ashok Bhat
075e9a19ce AArch64: Use long for pointers in media classes
For storing pointers, long is used in media classes,
as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

Change-Id: Idc4ca0124d03df7f9cef412488abafd020e5e774
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-15 13:09:27 +00:00
Glenn Kasten
4896cb59a4 Merge "Use AUDIO_SESSION_ALLOCATE instead of hard-coded 0" 2014-01-15 01:27:59 +00:00
Glenn Kasten
3e21cc8140 Unhide android.media.AudioTrack.setVolume(float)
Bug: 12534920
Change-Id: I7d7437f87f7002c42452011e347e89ddaa0bf6a5
2014-01-14 13:55:36 -08:00
Glenn Kasten
f634bc0ff5 Merge "Prepare for additional formats beyond 8-bit and 16-bit PCM" 2014-01-13 19:25:58 +00:00