- case CEC_DEVICE_TYPE_AUDIO_SYSTEM:
- {
- cec_logical_addresses addr;
- addr.Clear();
- addr.Set(CECDEVICE_AUDIOSYSTEM);
- return addr.AckMask();
- }
- case CEC_DEVICE_TYPE_PLAYBACK_DEVICE:
- {
- cec_logical_addresses addr;
- addr.Clear();
- addr.Set(CECDEVICE_PLAYBACKDEVICE1);
- addr.Set(CECDEVICE_PLAYBACKDEVICE2);
- addr.Set(CECDEVICE_PLAYBACKDEVICE3);
- return addr.AckMask();
- }
- case CEC_DEVICE_TYPE_RECORDING_DEVICE:
- {
- cec_logical_addresses addr;
- addr.Clear();
- addr.Set(CECDEVICE_RECORDINGDEVICE1);
- addr.Set(CECDEVICE_RECORDINGDEVICE2);
- addr.Set(CECDEVICE_RECORDINGDEVICE3);
- return addr.AckMask();
- }
- case CEC_DEVICE_TYPE_TUNER:
- {
- cec_logical_addresses addr;
- addr.Clear();
- addr.Set(CECDEVICE_TUNER1);
- addr.Set(CECDEVICE_TUNER2);
- addr.Set(CECDEVICE_TUNER3);
- addr.Set(CECDEVICE_TUNER4);
- return addr.AckMask();
- }
- case CEC_DEVICE_TYPE_TV:
+ CUSBCECAdapterCommunication comm(NULL, deviceList[0].comm);
+ CTimeout timeout(CEC_DEFAULT_CONNECT_TIMEOUT);
+ while (timeout.TimeLeft() > 0 && (bReturn = comm.Open(timeout.TimeLeft() / CEC_CONNECT_TRIES, true)) == false)