This change adds a way to get a dummy channel for starting pass-through
TV inputs which don't have real channels in TvProvider.
Bug: 15496325
Change-Id: I7a6b99964319f12a0f8692b4e307e03480119a69
From recent feedback on HDMI-CEC system audio mode,
it would be unnecessary to enforce output from AudioService.
Instead, it would follow audio policy according to status
of HDMI-CEC system audio mode.
For that removed two params of setHdmiSystemAudioModeSupported
api of AudioManager.
In terms of speaker mute, it will be handled by removing speaker
from audio ouput instead of changing gain control. For that
added new force usage type, FOR_HDMI_SYSTEM_AUDIO_MODE and
new force config type, FORCE_HDMI_SYSTEM_AUDIO_ENFORCED.
This is used to notify change of system audio mode to
audio policy manager.
Bug: 16305986
Bug: 16002150
Change-Id: I5643ad093a651c951e12b567c6e11b88aa87cea2
Until now, TvInputService has been providing the channels. But from now
on, a TvInputService can have several TV inputs and the TV input will
provide its channels.
So introduced "input_id" which is the ID of the TV input instead of
"service_name" which designates the TvInputService.
Also updated related APIs.
BUG: 16138420
Change-Id: I1d4dcad17c028384ab75a7f71ee0b305509ae952
In the setup/setting phase, the activities should know their input ID
to access the channels/programs table.
Change-Id: If7afcb0ea474dca08c3dee06cbfcf76191a68660
Bluetooth carkit may need specific mode to open SCO
channel. Add a settings value using BT device's MAC address
to store the SCO mode and use it to open SCO. In case no value
is stored, use default mode: Virtual Voice Call.
Change-Id: Iea31a48be0e8f3bd2d8689635fd8ce6f6d6da15a
This makes volume adjustments take a direction instead of a number of
steps and renames the API appropriately.
Change-Id: I6a31cbc42d889a38aa63446686a424cb2b8b2270
This makes the MediaSession/Controller constructors public and registers
with the system behind the scenes.
This also adds a bit about needing to call setActive(true) to start receiving
commands in MediaSession's docs.
Change-Id: If882d229b54c36bf0831aca0255052dda667a2bc
Added a class that represents TV content ratings that are used for
parental controls. TV input services are required to create
TvContentRating objects with rating/sub-rating constants for specific
countries (for now US and KR only) defined in this class and then
convert them into strings in order to store them in the EPG database.
Bug: 13172379
Change-Id: I6200cb12fbc274dd0a8bcb87a8ac3cd2d96791db
Unhide MediaPlayer.setAudioAttributes() method.
Update javadoc to explicitly state that the factory methods
do not let you set the audio stream type, attributes or session.
Change-Id: I0d097c314db010698b035349befe0659ab4d1dde
Since the volume rocker is now the primary system UI for
entering ringer modes, we need to provide a way to display
the ui without making a sound.
Change the policy for the ringer stream to only display the
UI on the initial adjustment request, don't actually make
an adjustment. However, don't break previous ability to
press and hold the vol keys down to vibrate, so allow this
after the standard framework long-press delay.
Audio service had no way of knowing whether or not the registered
volume controller was visible, so add a mechanism for the
controller (volume panel) to send that info back to the service.
Found and fixed a discrepancy between AudioManager.handleKeyDown
and MediaSessionLegacyHelper so that an adjustment over the
keyguard is allowed to vibrate as well as play sound during
adjustments.
Bug:16202639
Change-Id: Icd36c23e8d08c4ed57922c05724b281f32049be7
This patch introduces basic infrastructure for the new MediaRouter
API. The code is fully documented but incompletely implemented.
It is being submitted not to facilitate API reviews.
MediaRouter is a new class that applications used to discovery,
connect to, and control media devices as represented by media
destinations and their routes. Routes may offer a variety of
capabilities. This new class is a much more powerful replacement
for the existing MediaRouter.
MediaRouteService is a base class for creating media route services
which third-parties can implement to make routes available to
applications. It is analoguous to the MediaRouteProvider
infrastructure of the old media router support library but it
is designed to be integrated into the framework and enable a
variety of new usages such as remote display projection.
Stay tuned for more...
Change-Id: I2c7c6013d9f751d71e83697e7fc9e49bf7751fef
__
||
||
||
||---____-----+
|| \_/ |
|| /. .\ |
|| ||---|| |
|| |___| |
|| | | |
||---____-----+
||
||
||
_____________||_________________
Replaced by android.hardware.camera2
- Also deprecate MediaRecorder#setCamera
- Also deprecate all Camera inner classes
- Update reference documentation in various classes to point to camera2
- Add note to camera API guide that it uses the old API
(until a new guide is available)
- Remove old hidden raw sensor format; superceded by RAW_SENSOR.
Change-Id: I3d839765fc9b9aae906751ee32d6956ef40451ce
Use cases:
- VIDEO_UNAVAILABLE_REASON_TUNE: to show spinner on channel change.
- VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL: to show a message and spinner on weak TV signal.
- VIDEO_UNAVAILABLE_REASON_BUFFERING: to show spinner on buffering.
- VIDEO_UNAVAILABLE_REASON_UNKNOWN: to show spinner.
Bug: 14126559
Change-Id: Ide2b68c74bd96d4ea1b9d85ab099a277253d05c7
(cherry picked from commit 1edfd8eb985ee41095c60f4aaf7029f56abff614)
This is required to handle the case that an application wants to turn
on/off the caption explicitly (e.g. TvView in PIP). TV input service
implementation must respond to the request immediately to avoid any
legal implication since the captioning is imposed by the law in many
countries.
Bug: 14121898
Change-Id: I9600debae709fdc99065d7a0138ae69d1dffc9ba
Use RandomAccessFile instead of FileOutputStream so the underlying fd
is opened O_RDWR; O_RDWR is needed for mmap calls in the native webm
writer.
Change-Id: I444cbf40add96bc05905369ae2fa2b5446b0f9cc
- Deprecated BUFFER_FLAG_SYNC_FRAME (as it actually marks key
frames).
- Clarified that BUFFER_FLAG_KEY_FRAME is used for encoded output
buffers.
- Clarified that presentationTimeUs is not an actual render
timestamp (as opposed to releaseOutputBuffer's render timestamp).
Bug: 12006531
Change-Id: Ia27b9f606a9d7eef9c0c2900cd864a4421c7cf31
An AudioMixingRule is a collection of AudioAttributes and match/exclude
rules.
An AudioMix is defined by its AudioMixingRule, AudioFormat and
routing flag.
An AudioPolicyConfig is a collection of AudioMix and is
parcellable.
An AudioPolicy has an AudioPolicyConfig, and
can be registered/unregistered through AudioManager.
bug 16009464
Change-Id: I01bf95d014967f48ba823648ea897779da099e5d
In previous change we use setForceUse(FORCE_MEDIA, XXX) method
in order to set specific audio output type, such as LINE, HDMI_ARC,
and SPDIF. But it turns out that it conflicts with bluetooth
a2dp which uses the same setForceUse(FORCE_MEDIA, yyy).
This change is based on several conditions.
1. When other non-speaker devices are on, prevent system audio
from turing on.
2. In order to keep track of other devices' connectivity and to
turn off system audio if other device like bluetooth or
headphone preempts current output, register OnAudioPortChangeListner
to audio manager.
3. All possible system audio outputs can be merged with other
outputs without priority.
Change-Id: Id4e47d99db64b9f77a17c2c28c47787ab8980bf7
Will resubmit tomorrow for Build Breakage Friday as this change needs new SDK prebuilts for unbundled app branches.
This reverts commit aa746b27610680a2c0fbdf7d81a6455c4597f05e.
Change-Id: I28ba7e1b09234a5eb1b725aed043b9de98e1bc16