9542 Commits

Author SHA1 Message Date
Mike Lockwood
57baee2e12 Merge "MidiManager: Add MIDI device status notifications" 2015-03-11 19:43:49 +00:00
Mike Lockwood
70bea13774 Merge "MidiDevice: Add support for making direct connections between ports" 2015-03-11 19:43:31 +00:00
Mike Lockwood
5ff9e2a171 MidiManager: Add MIDI device status notifications
MidiManager clients can be notified of device status changes via a new MidiDeviceStatus object.
MidiDeviceStatus contains the busy status of the device's input ports and number of
connections to the output ports.
MidiDeviceService now has an optional callback for receiving notifications when its ports change as well.

Change-Id: I1600df4464d82724bc026c27b9633ae9c412d3f0
2015-03-11 10:19:45 -07:00
Mike Lockwood
46326e59a0 MidiDevice: Add support for making direct connections between ports
The output port of one device can be connected to the input port of another
device using the new MidiDevice.connectPorts() method.
This allows an application to direct the output of one device directly
to the input port of another without having to copy data from one to another.

Change-Id: I4d361c4e0950b9b9516b0c2f0c158677b1aca208
2015-03-11 10:19:37 -07:00
Marco Nelissen
926ebb860a Fix context leak
Using an activity context with AudioManager could cause that context
to be held on to longer than desired, for example if the caller
acquired audio focus but never abandoned it. Fix acquire/abandon in
VideoView, and use the application context in AudioManager to mitigate
the issue for other misbehaving code.

Bug: https://code.google.com/p/android/issues/detail?id=152173
Change-Id: I0fb8390207422c784800dda25b1f2c03d4574bcd
2015-03-11 10:00:28 -07:00
Mike Lockwood
22e78c65be Merge "Add MidiReceiver.send() and MidiReceiver.getMaxMessageSize()" 2015-03-11 10:55:43 +00:00
Mike Lockwood
0c7342f015 Add MidiReceiver.send() and MidiReceiver.getMaxMessageSize()
Change-Id: I10d4f5e2400fcaf41f455e56ca25bbc0c781a042
2015-03-11 03:51:38 -07:00
Dongwon Kang
071b2c72a8 TIF: Add getDescription() method to TvTrackInfo.
This is useful when language is not enough for describing the track.
E.g. main audio track(eng) vs audio commentary(eng)

Bug: 19302103
Change-Id: Iebffb943d2c0b5f7a7a12820ff3475b66e0130e8
2015-03-11 10:26:47 +09:00
Narayan Kamath
c9a245a45e am debf5a09: am c2826fb9: am 3d333c74: Merge "Fix typos in AudioManager javadoc"
* commit 'debf5a09e46027f29c26b6502d4aa6508dd3e4b5':
  Fix typos in AudioManager javadoc
2015-03-11 00:23:35 +00:00
Narayan Kamath
c2826fb922 am 3d333c74: Merge "Fix typos in AudioManager javadoc"
* commit '3d333c745f928ca1595aca111d9938fa3cf3e282':
  Fix typos in AudioManager javadoc
2015-03-10 15:23:06 +00:00
Eemi Haukkala
bc68256fea Fix typos in AudioManager javadoc
The ACTION_HDMI_AUDIO_PLUG constant's description
had spelled "HDMI" as "HMDI" and was missing a
period. Fixes issue 93726.

Change-Id: Idfd5352dba022afcd81bc9e50864fc6e95c661db
Signed-off-by: Eemi Haukkala <eemi.haukkala@gmail.com>
2015-03-10 15:10:05 +00:00
Mike Lockwood
7f602b75ee Merge "MIDI Manager changes:" 2015-03-10 02:03:00 +00:00
Glenn Kasten
a080050e42 Merge "Revert "soundpool: reuse channel for same sample if available"" 2015-03-10 01:07:32 +00:00
Glenn Kasten
01771a9f7d Merge "Revert "soundpool: update sample rate when reusing audiotrack"" 2015-03-10 01:06:29 +00:00
Andy Hung
0e9a8f6a8e Merge "Fix SoundPool playback of multichannel files." 2015-03-10 00:38:06 +00:00
Eino-Ville Talvala
62d9670e98 Merge "Add DEPTH image formats, support in ImageReader" 2015-03-10 00:16:16 +00:00
Eric Laurent
68c265c74d Merge "enable FM tuner and hotword capture for system apps." 2015-03-10 00:06:12 +00:00
Eino-Ville Talvala
805f3c9428 Add DEPTH image formats, support in ImageReader
- Add an explicit mapping between public ImageFormat/
  PixelFormat enums and internal HAL format/dataspace.
- Add DEPTH16 and DEPTH_POINT_CLOUD formats
- Wire up mapping layer to ImageReader to support depth
  formats

Change-Id: I8197eccef900cc91baddcfcb934ccd4d8c972eff
2015-03-09 16:42:25 -07:00
Eric Laurent
00a009204e enable FM tuner and hotword capture for system apps.
AudioRecord constructor with AudioAttributes and session ID as well
as HOTWORD and RADIO_TUNER audio sources are now system APIs.
Renamed MediaRecorder.AudioSource.FM_TUNER to
MediaRecorder.AudioSource.RADIO_TUNER.

Change-Id: I231c20c21e3e8cffe1837482976ebe284c9af541
2015-03-09 13:06:05 -07:00
Mike Lockwood
be215dd572 MIDI Manager changes:
Add CloseGuard support to MidiDevice and MidiDeviceServer
Make MidiDevice.close() thread safe
Make non-subclassable API classes final
Other misc cleanup

Change-Id: I7a5d31b06b8c2403cfbc5597c5c1395f0ac90194
2015-03-09 11:58:04 -07:00
Eino-Ville Talvala
864005b026 Camera2: Remove unused parameters in ICameraDeviceUser#createStream
- width, height, format are unused

Change-Id: I26540aab1118108b0325df69cfa2dd23da41849b
2015-03-09 11:15:30 -07:00
Glenn Kasten
18c225d054 Revert "soundpool: reuse channel for same sample if available"
This reverts commit 570576b51b8123ab05b36707ec752cf966292ca5.

Bug: 19635137
Change-Id: I8385ac4c151a375c19c3606698081c947b6216e3
2015-03-09 08:40:12 -07:00
Glenn Kasten
b801f73343 Revert "soundpool: update sample rate when reusing audiotrack"
This reverts commit a7d57a6f0068b1e2a0f07ca427cfba198b12a9b9.

Bug: 19635137
Change-Id: I1f53a432936dd3d51459e7d8cd86421bde399150
2015-03-09 08:39:46 -07:00
Mike Lockwood
d73ff8727d Merge changes Ib5cc22db,I93e0c449,I65cd4cfd,I1cef3bd4,I628c0468
* changes:
  MIDI Manager: Add explicit close mechanism for input and output ports
  MidiDeviceService: Add getDeviceInfo() accessor method
  Add MidiDevice.close() method so we can clean up our ServiceConnection
  Make MidiSender and MidiReceiver abstract classes, rename MidiReceiver.post() to receive()
  Eliminate MidiPort base class for MidiInputPort and MidiOutputPort
2015-03-07 23:50:37 +00:00
Andy Hung
a1c3516a24 Fix SoundPool playback of multichannel files.
Bug: 17188507
Change-Id: Ia4e43c7f8889181b998673b75b1f3bbf8c43f429
2015-03-06 15:00:42 -08:00
Mike Lockwood
4a3d7ed45d MIDI Manager: Add explicit close mechanism for input and output ports
Relying on errors from closing the file descriptor is not reliable
and was resulting in file descriptor leaks in device servers.

Change-Id: Ib5cc22dba493eae6608a12cc6d4178d8390da77b
2015-03-06 12:17:12 -08:00
Mike Lockwood
eebc98ff18 MidiDeviceService: Add getDeviceInfo() accessor method
so service implementations can access their own device info object.

Change-Id: I93e0c449e72d76568d7b4c9f7f7db00a846b5a33
2015-03-06 08:17:33 -08:00
Lajos Molnar
a92d6e28ad Merge "media: update AMessage to use handler instead of handler-id" 2015-03-06 03:09:19 +00:00
John Reck
f4faeac352 Cleanup Bitmap JNI attempt #2
Original version missed a spot

This reverts commit c02977e3bbfaaedcb1b1d67e1692becc7dddd59b.

Change-Id: I56244ce10d709fcdef42a001fe4c6ba7b6bbb04d
2015-03-05 13:56:16 -08:00
Chad Jones
b9a468eb19 Merge "Revert "Cleanup Bitmap JNI"" 2015-03-05 19:35:15 +00:00
Chad Jones
c02977e3bb Revert "Cleanup Bitmap JNI"
This reverts commit b2915245b74b3b5541b123e38403f8e26426b4b7.

Change-Id: Idd7d7f33eec4ea5024c83de6b10d3d1a6ab2b17a
2015-03-05 19:34:26 +00:00
John Reck
35da7d904b Merge "Cleanup Bitmap JNI" 2015-03-05 18:12:35 +00:00
John Reck
b2915245b7 Cleanup Bitmap JNI
Fix a bunch of places where mNativeBitmap was being
poked at directly, switch them either to the NDK API
or to GraphicsJNI where it made sense

Change-Id: I6b3df3712d6497cba828c2d3012e725cb4ebb64d
2015-03-05 09:55:02 -08:00
Mike Lockwood
35110d1ed7 Add MidiDevice.close() method so we can clean up our ServiceConnection
Change-Id: I65cd4cfd940b02709daeffef6dab814305b8a6b0
2015-03-04 20:38:42 -08:00
Mike Lockwood
3b7664589b Make MidiSender and MidiReceiver abstract classes, rename MidiReceiver.post() to receive()
Change-Id: I1cef3bd48ca0acf2968c9de223f78445f3434404
2015-03-04 20:38:37 -08:00
Lajos Molnar
63834f4d23 media: update AMessage to use handler instead of handler-id
Bug: 19607784
Change-Id: Ia18746830816bcade510e5137bf8ce6258181ac0
2015-03-04 17:17:03 -08:00
Mike Lockwood
20821ecbe8 Eliminate MidiPort base class for MidiInputPort and MidiOutputPort
Change-Id: I628c0468ac980eee909add53a4d6e55e9b358603
2015-03-04 16:15:45 -08:00
Mike Lockwood
c623ec973b Merge "MidiManager: Virtual MIDI devices are now implemented as Services" 2015-03-05 00:01:33 +00:00
Ronghua Wu
a6d72095ed drm: add EVENT_SESSION_RECLAIMED for resource manager.
Bug: 19265536
Change-Id: Ifa15a4c7d3a7c20cb00bd4aefb57d239c0efaafa
2015-03-04 15:26:42 -08:00
Glenn Kasten
fad60c343a Merge "soundpool: update sample rate when reusing audiotrack" 2015-03-04 23:25:28 +00:00
Glenn Kasten
9e9e2f7014 Merge "soundpool: reuse channel for same sample if available" 2015-03-04 23:25:03 +00:00
John Spurlock
75328b703f Merge "Audio: Remove the concept of master volume." 2015-03-04 22:59:41 +00:00
John Spurlock
ee5ad729b9 Audio: Remove the concept of master volume.
- Remove two config resources (use master volume, and volume ramp).
- Remove master volume adjustments / getters / intents.
- Retain @hidden setMasterMute, needed for device admin
- Remove master volume logic in AudioService.
- Remove master volume logic in VolumePanel.
- Rename "getMasterStreamType" to "getUiSoundsStreamType" to avoid confusion.

Bug: 19582978
Change-Id: Id02c8fa4898cff3b913147f5ac1b4038e2e7cc24
2015-03-04 17:51:44 -05:00
Mike Lockwood
11fd96d6ff MidiManager: Virtual MIDI devices are now implemented as Services
To implement a virtual MIDI device, include a subclass of MidiDeviceService in
your application.  This service is identified by an intent filter and meta-data
in the application's manifest to allow the MIDI manager to register the virtual device
without actually running the application. Instead, the application's MidiDeviceService
subclass is started on demand when MIDI manager clients want to open the device.

Here is an example of how the MidiDeviceService might be described in the application manifest:

    <service android:name="VirtualDeviceService">
        <intent-filter>
            <action android:name="android.media.midi.MidiDeviceService" />
        </intent-filter>
        <meta-data android:name="android.media.midi.MidiDeviceService"
            android:resource="@xml/device_info" />
    </service>

and the device_info.xml meta-data:

<devices>
    <device manufacturer="Sample Manufacturer" model="Sample Model" private="false">
        <input-port name="my input port" />
        <output-port name="my output port" />
    </device>
</devices>

(note that the <input-port> and <output-port> names are not currently used, but support for these
will be added in a subsequent change)

Client's of the virtual device will bind directly to the hosting application's MidiDeviceService subclass.
To support this, MidiManager.openDevice() now returns the MidiDevice asynchronously via a callback.

This change also adds a utility class called MidiDispatcher, which is a MidiReceiver
that dispatches all data it receives to a list of other MidiReceivers.
We now use this internally in MidiInputPort and MidiDeviceServer, but developers
may use it for other purposes as well.

Change-Id: Ic3009f06d56f3d5edbd87de3f0c330b51a1c217d
2015-03-04 13:45:38 -08:00
Dhananjay Kumar
a7d57a6f00 soundpool: update sample rate when reusing audiotrack
User might update playback rate while calling Play on a sample.
Update sample rate if reusing existing audio track.

Change-Id: I7007c335fa405baf663a322408b92b9df53efdb0
Signed-off-by: Glenn Kasten <gkasten@google.com>
2015-03-04 09:22:18 -08:00
Haynes Mathew George
570576b51b soundpool: reuse channel for same sample if available
Reuse channel for same sample if the channel completed
current playback and is not reallocated to another sample,
i.e. not stolen by other sample.

authored-by: Ashish Jain <ashishj@codeaurora.org>

Change-Id: Ibe7ee318c7dc11f3c4fd3a2f57d861318b10973b
Signed-off-by: Glenn Kasten <gkasten@google.com>
2015-03-04 09:16:28 -08:00
Wei Jia
d93fcf4002 MediaPlayer: add setPlaybackRate JAVA API.
Bug: 19196501
Change-Id: I43daced7d9b53bcaca4e6a8d81ca729b32efc79f
2015-03-03 14:43:55 -08:00
Chien-Yu Chen
a0e17fafa1 Merge "CameraManager: implement flashlight controls" 2015-03-03 22:24:12 +00:00
Chien-Yu Chen
afa91399fd CameraManager: implement flashlight controls
Implement the flashlight controls and callbacks and update the
torch mode states.

Bug: 2682206
Change-Id: I59025f34f9ece75dd535166a25c428b8d68c6e4b
2015-03-03 13:55:07 -08:00
John Spurlock
08c7116ab9 Remove unused imports in frameworks/base.
Change-Id: I031443de83f93eb57a98863001826671b18f3b17
2015-02-28 14:47:49 -05:00