head 1.3; access; symbols pkgsrc-2020Q1:1.2.0.16 pkgsrc-2020Q1-base:1.2 pkgsrc-2019Q4:1.2.0.38 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.34 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.32 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.30 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.28 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.26 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.2.0.24 pkgsrc-2018Q2-base:1.2 pkgsrc-2018Q1:1.2.0.22 pkgsrc-2018Q1-base:1.2 pkgsrc-2017Q4:1.2.0.20 pkgsrc-2017Q4-base:1.2 pkgsrc-2017Q3:1.2.0.18 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.2.0.14 pkgsrc-2017Q2-base:1.2 pkgsrc-2017Q1:1.2.0.12 pkgsrc-2017Q1-base:1.2 pkgsrc-2016Q4:1.2.0.10 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.8 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.6 pkgsrc-2016Q2-base:1.2 pkgsrc-2016Q1:1.2.0.4 pkgsrc-2016Q1-base:1.2 pkgsrc-2015Q4:1.2.0.2 pkgsrc-2015Q4-base:1.2; locks; strict; comment @// @; 1.3 date 2020.04.23.17.16.40; author nia; state dead; branches; next 1.2; commitid DD1aFVbW0irt5x5C; 1.2 date 2015.11.19.02.31.47; author jmcneill; state Exp; branches; next 1.1; commitid Gqhrpisw4ClYaEJy; 1.1 date 2015.11.17.14.56.07; author jmcneill; state Exp; branches; next ; commitid RGLmvn5GiLiimsJy; desc @@ 1.3 log @multimedia: Remove kodi - broken for a long time now If anyone wants to attempt re-packaging a more recent version of kodi I'd recommend starting over (also, happy to help and provide advice). @ text @$NetBSD: patch-xbmc_cores_AudioEngine_Sinks_AESinkOSS.cpp,v 1.2 2015/11/19 02:31:47 jmcneill Exp $ --- xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp.orig 2015-10-19 06:31:15.000000000 +0000 +++ xbmc/cores/AudioEngine/Sinks/AESinkOSS.cpp @@@@ -32,6 +32,9 @@@@ #if defined(OSS4) || defined(TARGET_FREEBSD) #include +#elif defined(TARGET_NETBSD) + #include + #include #else #include #endif @@@@ -41,7 +44,7 @@@@ static enum AEChannel OSSChannelMap[9] = {AE_CH_FL, AE_CH_FR, AE_CH_BL, AE_CH_BR, AE_CH_FC, AE_CH_LFE, AE_CH_SL, AE_CH_SR, AE_CH_NULL}; -#if defined(SNDCTL_SYSINFO) && defined(SNDCTL_CARDINFO) +#if defined(SNDCTL_SYSINFO) && (defined(SNDCTL_CARDINFO) || defined(TARGET_NETBSD)) static int OSSSampleRateList[] = { 5512, @@@@ -84,6 +87,9 @@@@ std::string CAESinkOSS::GetDeviceUse(con if (device.find_first_of('/') != 0) return "/dev/dsp_multich"; +#elif defined(TARGET_NETBSD) + if (device.find_first_of('/') != 0) + return "/dev/sound"; #else if (device.find_first_of('/') != 0) return "/dev/dsp"; @@@@ -422,6 +428,65 @@@@ void CAESinkOSS::Drain() void CAESinkOSS::EnumerateDevicesEx(AEDeviceInfoList &list, bool force) { +#if defined(TARGET_NETBSD) + for (int i = 0; i < 32; i++) + { + std::stringstream audioctlpath; + std::stringstream devicepath; + std::stringstream devicename; + CAEDeviceInfo info; + audio_device_t adev; + + audioctlpath << "/dev/audioctl" << i; + int audioctlfd = open(audioctlpath.str().c_str(), O_RDONLY, 0); + if (audioctlfd == -1) + { + if (errno == ENOENT) + break; + else + continue; + } + + if (ioctl(audioctlfd, AUDIO_GETDEV, &adev) == -1) + { + close(audioctlfd); + continue; + } + + devicepath << "/dev/sound" << i; + info.m_deviceName = devicepath.str(); + devicename << adev.name; + if (strlen(adev.version) > 0) + devicename << " " << adev.version; + info.m_displayName = devicename.str(); + + info.m_dataFormats.push_back(AE_FMT_S16NE); + info.m_deviceType = AE_DEVTYPE_PCM; + + oss_audioinfo ainfo; + memset(&ainfo, 0, sizeof(ainfo)); + ainfo.dev = i; + if (ioctl(audioctlfd, SNDCTL_AUDIOINFO, &ainfo) != -1) { +#if 0 + if (ainfo.oformats & AFMT_S32_LE) + info.m_dataFormats.push_back(AE_FMT_S32LE); + if (ainfo.oformats & AFMT_S16_LE) + info.m_dataFormats.push_back(AE_FMT_S16LE); +#endif + for (int j = 0; + j < ainfo.max_channels && AE_CH_NULL != OSSChannelMap[j]; + ++j) + info.m_channels += OSSChannelMap[j]; + + for (int *rate = OSSSampleRateList; *rate != 0; ++rate) + if (*rate >= ainfo.min_rate && *rate <= ainfo.max_rate) + info.m_sampleRates.push_back(*rate); + } + list.push_back(info); + + close(audioctlfd); + } +#else int mixerfd; const char * mixerdev = "/dev/mixer"; @@@@ -505,5 +570,6 @@@@ void CAESinkOSS::EnumerateDevicesEx(AEDe } #endif close(mixerfd); +#endif } @ 1.2 log @Fix audio device detection for NetBSD. @ text @d1 1 a1 1 $NetBSD: patch-xbmc_cores_AudioEngine_Sinks_AESinkOSS.cpp,v 1.1 2015/11/17 14:56:07 jmcneill Exp $ @ 1.1 log @Initial import of kodi-15.2 Kodi (formerly known as XBMC) is an award-winning free and open source (GPL) software media center for playing videos, music, pictures, games, and more. Kodi features a 10-foot user interface for use with televisions and remote controls. It allows users to play and view most videos, music, podcasts, and other digital media files from local and network storage media and the internet. @ text @d1 1 a1 1 $NetBSD$ d5 1 a5 3 @@@@ -30,7 +30,7 @@@@ #include #include d7 1 a7 2 -#if defined(OSS4) || defined(TARGET_FREEBSD) +#if defined(OSS4) || defined(TARGET_FREEBSD) || defined(TARGET_NETBSD) d9 3 d14 93 @