2476 Commits

Author SHA1 Message Date
Jean-Michel Trivi
de23f56360 Begin refactor of MediaFocusControl
Extract class that handles each entry in the remote control stack
  and move it to another file, MediaController.java.
Rename RemoteControlStackEntry to MediaController as each instance
  will not just encapsulate information about the corresponding
  (if any) RemoteControlClient.
This is just a CL for the renaming and extraction into a new file
  of existing code. Obvious required changes are labelled "FIXME".

Change-Id: Ifbdac1d70e4d279ab175eef03e9d792d44873c51
2014-03-25 10:47:58 -07:00
Jean-Michel Trivi
e10dd634e1 Merge "AudioTrack write from ByteBuffer updates position" 2014-03-21 16:49:55 +00:00
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