2 * Copyright (C) 2012-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
9 #include "AEDeviceInfo.h"
15 CAEDeviceInfo::operator std::string()
18 ss
<< "m_deviceName : " << m_deviceName
<< '\n';
19 ss
<< "m_displayName : " << m_displayName
<< '\n';
20 ss
<< "m_displayNameExtra: " << m_displayNameExtra
<< '\n';
21 ss
<< "m_deviceType : " << DeviceTypeToString(m_deviceType
) + '\n';
22 ss
<< "m_channels : " << (std::string
)m_channels
<< '\n';
24 ss
<< "m_sampleRates : ";
25 for (AESampleRateList::iterator itt
= m_sampleRates
.begin(); itt
!= m_sampleRates
.end(); ++itt
)
27 if (itt
!= m_sampleRates
.begin())
33 ss
<< "m_dataFormats : ";
34 for (AEDataFormatList::iterator itt
= m_dataFormats
.begin(); itt
!= m_dataFormats
.end(); ++itt
)
36 if (itt
!= m_dataFormats
.begin())
38 ss
<< CAEUtil::DataFormatToStr(*itt
);
42 ss
<< "m_streamTypes : ";
43 for (AEDataTypeList::iterator itt
= m_streamTypes
.begin(); itt
!= m_streamTypes
.end(); ++itt
)
45 if (itt
!= m_streamTypes
.begin())
47 ss
<< CAEUtil::StreamTypeToStr(*itt
);
49 if (m_streamTypes
.empty())
50 ss
<< "No passthrough capabilities";
56 std::string
CAEDeviceInfo::DeviceTypeToString(enum AEDeviceType deviceType
)
60 case AE_DEVTYPE_PCM
: return "AE_DEVTYPE_PCM" ; break;
61 case AE_DEVTYPE_IEC958
: return "AE_DEVTYPE_IEC958"; break;
62 case AE_DEVTYPE_HDMI
: return "AE_DEVTYPE_HDMI" ; break;
63 case AE_DEVTYPE_DP
: return "AE_DEVTYPE_DP" ; break;
68 std::string
CAEDeviceInfo::GetFriendlyName() const
70 return (m_deviceName
!= m_displayName
) ? m_displayName
: m_displayNameExtra
;
73 std::string
CAEDeviceInfo::ToDeviceString(const std::string
& driver
) const
75 std::string device
= driver
.empty() ? m_deviceName
: driver
+ ":" + m_deviceName
;
77 const std::string fn
= GetFriendlyName();