X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2FCECProcessor.cpp;h=17314ebfa8a2657d1d8f05b0dfc2536a9c2c0aec;hb=5d5a2dc2f0200aff181c385ce71672e1c50b7de1;hp=5eed4a888f650802c3238d47c5a391275617e242;hpb=51b2a0943d227f8090948c3d603c643e410cd17d;p=deb_libcec.git diff --git a/src/lib/CECProcessor.cpp b/src/lib/CECProcessor.cpp index 5eed4a8..17314eb 100644 --- a/src/lib/CECProcessor.cpp +++ b/src/lib/CECProcessor.cpp @@ -74,29 +74,29 @@ CCECProcessor::CCECProcessor(CLibCEC *controller, CAdapterCommunication *serComm switch(iPtr) { case CECDEVICE_AUDIOSYSTEM: - m_busDevices[iPtr] = new CCECAudioSystem(this, (cec_logical_address) iPtr, 0); + m_busDevices[iPtr] = new CCECAudioSystem(this, (cec_logical_address) iPtr, 0xFFFF); break; case CECDEVICE_PLAYBACKDEVICE1: case CECDEVICE_PLAYBACKDEVICE2: case CECDEVICE_PLAYBACKDEVICE3: - m_busDevices[iPtr] = new CCECPlaybackDevice(this, (cec_logical_address) iPtr, 0); + m_busDevices[iPtr] = new CCECPlaybackDevice(this, (cec_logical_address) iPtr, 0xFFFF); break; case CECDEVICE_RECORDINGDEVICE1: case CECDEVICE_RECORDINGDEVICE2: case CECDEVICE_RECORDINGDEVICE3: - m_busDevices[iPtr] = new CCECRecordingDevice(this, (cec_logical_address) iPtr, 0); + m_busDevices[iPtr] = new CCECRecordingDevice(this, (cec_logical_address) iPtr, 0xFFFF); break; case CECDEVICE_TUNER1: case CECDEVICE_TUNER2: case CECDEVICE_TUNER3: case CECDEVICE_TUNER4: - m_busDevices[iPtr] = new CCECTuner(this, (cec_logical_address) iPtr, 0); + m_busDevices[iPtr] = new CCECTuner(this, (cec_logical_address) iPtr, 0xFFFF); break; case CECDEVICE_TV: m_busDevices[iPtr] = new CCECTV(this, (cec_logical_address) iPtr, 0); break; default: - m_busDevices[iPtr] = new CCECBusDevice(this, (cec_logical_address) iPtr, 0); + m_busDevices[iPtr] = new CCECBusDevice(this, (cec_logical_address) iPtr, 0xFFFF); break; } } @@ -143,7 +143,7 @@ bool CCECProcessor::TryLogicalAddress(cec_logical_address address, const char *s AddLog(CEC_LOG_DEBUG, strLog); SetAckMask(0x1 << address); - if (!m_busDevices[address]->PollDevice(address)) + if (!m_busDevices[address]->TransmitPoll(address)) { strLog.Format("using logical address '%s'", strLabel); AddLog(CEC_LOG_NOTICE, strLog); @@ -151,10 +151,11 @@ bool CCECProcessor::TryLogicalAddress(cec_logical_address address, const char *s /* only set our OSD name for the primary device */ if (m_logicalAddresses.empty()) m_busDevices[address]->m_strDeviceName = m_strDeviceName; + m_busDevices[address]->m_powerStatus = CEC_POWER_STATUS_ON; m_logicalAddresses.set(address); // TODO - m_busDevices[address]->SetPhysicalAddress(CEC_DEFAULT_PHYSICAL_ADDRESS + iIndex); + m_busDevices[address]->SetPhysicalAddress(CEC_DEFAULT_PHYSICAL_ADDRESS + (iIndex * 0x100)); return true; } @@ -286,7 +287,7 @@ bool CCECProcessor::SetActiveView(void) return false; if (!m_logicalAddresses.empty() && m_busDevices[m_logicalAddresses.primary]) - return m_busDevices[m_logicalAddresses.primary]->BroadcastActiveView(); + return m_busDevices[m_logicalAddresses.primary]->TransmitActiveView(); return false; } @@ -296,7 +297,7 @@ bool CCECProcessor::SetInactiveView(void) return false; if (!m_logicalAddresses.empty() && m_busDevices[m_logicalAddresses.primary]) - return m_busDevices[m_logicalAddresses.primary]->BroadcastInactiveView(); + return m_busDevices[m_logicalAddresses.primary]->TransmitInactiveView(); return false; } @@ -332,7 +333,7 @@ bool CCECProcessor::SetPhysicalAddress(uint16_t iPhysicalAddress) if (!m_logicalAddresses.empty() && m_busDevices[m_logicalAddresses.primary]) { m_busDevices[m_logicalAddresses.primary]->SetPhysicalAddress(iPhysicalAddress); - return m_busDevices[m_logicalAddresses.primary]->BroadcastActiveView(); + return m_busDevices[m_logicalAddresses.primary]->TransmitActiveView(); } return false; } @@ -353,7 +354,7 @@ bool CCECProcessor::SwitchMonitoring(bool bEnable) bool CCECProcessor::PollDevice(cec_logical_address iAddress) { if (iAddress != CECDEVICE_UNKNOWN && m_busDevices[iAddress]) - return m_busDevices[iAddress]->PollDevice(); + return m_busDevices[m_logicalAddresses.primary]->TransmitPoll(iAddress); return false; }