am 270686b6: am ad1e3d7d: CEC: Buffer <Set System Audio Mode>

automerge: e82e47e

* commit 'e82e47e9cb01a19e88a89f8a43a7a15540b96869':
  CEC: Buffer <Set System Audio Mode>
This commit is contained in:
Jinsuk Kim
2015-01-03 21:27:36 +00:00
committed by android-build-merger
2 changed files with 7 additions and 1 deletions

View File

@@ -54,6 +54,7 @@ final class DelayedMessageBuffer {
mBuffer.add(message);
break;
case Constants.MESSAGE_INITIATE_ARC:
case Constants.MESSAGE_SET_SYSTEM_AUDIO_MODE:
mBuffer.add(message);
break;
default:

View File

@@ -742,7 +742,7 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
@ServiceThreadOnly
void onNewAvrAdded(HdmiDeviceInfo avr) {
assertRunOnServiceThread();
if (getSystemAudioModeSetting()) {
if (getSystemAudioModeSetting() && !isSystemAudioActivated()) {
addAndStartAction(new SystemAudioAutoInitiationAction(this, avr.getLogicalAddress()));
}
if (isArcFeatureEnabled() && !hasAction(SetArcTransmissionStateAction.class)) {
@@ -1037,6 +1037,11 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
protected boolean handleSetSystemAudioMode(HdmiCecMessage message) {
assertRunOnServiceThread();
if (!isMessageForSystemAudio(message)) {
if (getAvrDeviceInfo() == null) {
// AVR may not have been discovered yet. Delay the message processing.
mDelayedMessageBuffer.add(message);
return true;
}
HdmiLogger.warning("Invalid <Set System Audio Mode> message:" + message);
mService.maySendFeatureAbortCommand(message, Constants.ABORT_REFUSED);
return true;