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
- 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
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
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
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
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
This is far from complete but puts the basic components in place
for an app to interact with media sessions.
Change-Id: Icfe313f90ad76ae56badbe42b0e43fc5f68db36f
- 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
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
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
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>