From b5520e3042833627139adb24466de7b4bdc0744d Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 2 May 2014 17:16:56 +0200 Subject: [PATCH] xbmc-master: add PR4629 Signed-off-by: Stephan Raue --- packages/mediacenter/xbmc-master/package.mk | 2 +- ...-master-xbmc-master-999.80.02-PR4629.patch | 732 ++++++++++++++++++ 2 files changed, 733 insertions(+), 1 deletion(-) create mode 100644 packages/mediacenter/xbmc-master/patches/xbmc-master-xbmc-master-999.80.02-PR4629.patch diff --git a/packages/mediacenter/xbmc-master/package.mk b/packages/mediacenter/xbmc-master/package.mk index 72354787cd..3baad4b996 100644 --- a/packages/mediacenter/xbmc-master/package.mk +++ b/packages/mediacenter/xbmc-master/package.mk @@ -23,7 +23,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.xbmc.org" PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz" -PKG_DEPENDS_TARGET="toolchain boost Python zlib bzip2 systemd pciutils lzo pcre swig:host libass enca curl rtmpdump fontconfig fribidi gnutls tinyxml libjpeg-turbo libpng tiff freetype jasper libsamplerate libogg libcdio libmodplug faad2 flac libmpeg2 taglib libxml2 libxslt yajl sqlite libvorbis ffmpeg" +PKG_DEPENDS_TARGET="toolchain boost Python zlib bzip2 systemd pciutils lzo pcre swig:host libass enca curl rtmpdump fontconfig fribidi gnutls tinyxml libjpeg-turbo libpng tiff freetype jasper libogg libcdio libmodplug faad2 flac libmpeg2 taglib libxml2 libxslt yajl sqlite libvorbis ffmpeg" PKG_PRIORITY="optional" PKG_SECTION="mediacenter" PKG_SHORTDESC="xbmc: XBMC Mediacenter" diff --git a/packages/mediacenter/xbmc-master/patches/xbmc-master-xbmc-master-999.80.02-PR4629.patch b/packages/mediacenter/xbmc-master/patches/xbmc-master-xbmc-master-999.80.02-PR4629.patch new file mode 100644 index 0000000000..25b47dfb29 --- /dev/null +++ b/packages/mediacenter/xbmc-master/patches/xbmc-master-xbmc-master-999.80.02-PR4629.patch @@ -0,0 +1,732 @@ +From 2dddb20e95a2b1bcfcbf013dcd85444e59c3a6c5 Mon Sep 17 00:00:00 2001 +From: Rainer Hochecker +Date: Thu, 1 May 2014 13:58:35 +0200 +Subject: [PATCH 1/3] remove libsamplerate and related dead code + +--- + configure.in | 4 - + .../BuildDependencies/scripts/libsamplerate_d.bat | 14 - + .../BuildDependencies/scripts/libsamplerate_d.txt | 3 - + project/VS2010Express/XBMC.vcxproj | 4 +- + project/VS2010Express/XBMC.vcxproj.filters | 8 +- + tools/depends/target/Makefile | 2 +- + tools/depends/target/libsamplerate/Makefile | 42 --- + xbmc/cores/AudioEngine/Utils/AEWAVLoader.cpp | 368 --------------------- + xbmc/cores/AudioEngine/Utils/AEWAVLoader.h | 79 ----- + xbmc/win32/Win32DelayedDllLoad.cpp | 6 - + 10 files changed, 3 insertions(+), 527 deletions(-) + delete mode 100644 project/BuildDependencies/scripts/libsamplerate_d.bat + delete mode 100644 project/BuildDependencies/scripts/libsamplerate_d.txt + delete mode 100644 tools/depends/target/libsamplerate/Makefile + delete mode 100644 xbmc/cores/AudioEngine/Utils/AEWAVLoader.cpp + delete mode 100644 xbmc/cores/AudioEngine/Utils/AEWAVLoader.h + +diff --git a/configure.in b/configure.in +index af674d8..33e7528 100644 +--- a/configure.in ++++ b/configure.in +@@ -1037,7 +1037,6 @@ AC_CHECK_HEADER([mpeg2dec/mpeg2convert.h],, AC_MSG_ERROR($missing_library), + AC_INCLUDES_DEFAULT() + [#include ]) + AC_CHECK_HEADER([jpeglib.h],, AC_MSG_ERROR($missing_library)) +-AC_CHECK_HEADER([samplerate.h],, AC_MSG_ERROR($missing_library)) + AC_CHECK_HEADER([ogg/ogg.h],, AC_MSG_ERROR($missing_library)) + AC_CHECK_HEADER([vorbis/vorbisfile.h],, AC_MSG_ERROR($missing_library)) + AC_CHECK_HEADER([libmodplug/modplug.h],, AC_MSG_ERROR($missing_library)) +@@ -1116,9 +1115,6 @@ PKG_CHECK_MODULES([PCRE], [libpcre], + [INCLUDES="$INCLUDES $PCRE_CFLAGS"; LIBS="$LIBS $PCRE_LIBS"]; \ + AC_DEFINE([HAVE_LIBPCRE],[1],["Define to 1 if libpcre is installed"]), + AC_MSG_ERROR($missing_library)) +-PKG_CHECK_MODULES([SAMPLERATE], [samplerate], +- [INCLUDES="$INCLUDES $SAMPLERATE_CFLAGS"; LIBS="$LIBS $SAMPLERATE_LIBS"], +- AC_MSG_ERROR($missing_library)) + PKG_CHECK_MODULES([FREETYPE2], [freetype2], + [INCLUDES="$INCLUDES $FREETYPE2_CFLAGS"; LIBS="$LIBS $FREETYPE2_LIBS"], + AC_MSG_ERROR($missing_library)) +diff --git a/project/BuildDependencies/scripts/libsamplerate_d.txt b/project/BuildDependencies/scripts/libsamplerate_d.txt +deleted file mode 100644 +index 6a0e2d3..0000000 +--- a/project/BuildDependencies/scripts/libsamplerate_d.txt ++++ /dev/null +@@ -1,3 +0,0 @@ +-; filename mirror of the file source of the file +-libsamplerate-vc100-0.1.7-lib.tar.bz2 http://mirrors.xbmc.org/build-deps/win32/ http://winkde.org/pub/kde/ports/win32/releases/stable/4.5.4/libsamplerate-vc100-0.1.7-lib.tar.bz2 +-libsamplerate-vc100-0.1.7-bin.tar.bz2 http://mirrors.xbmc.org/build-deps/win32/ http://winkde.org/pub/kde/ports/win32/releases/stable/4.5.4/libsamplerate-vc100-0.1.7-bin.tar.bz2 +\ No newline at end of file +diff --git a/project/VS2010Express/XBMC.vcxproj b/project/VS2010Express/XBMC.vcxproj +index fecf712..ef455c8 100644 +--- a/project/VS2010Express/XBMC.vcxproj ++++ b/project/VS2010Express/XBMC.vcxproj +@@ -316,7 +316,6 @@ + + + +- + + + +@@ -993,7 +992,6 @@ + + + +- + + + +@@ -2997,4 +2995,4 @@ + + + +- ++ +\ No newline at end of file +diff --git a/project/VS2010Express/XBMC.vcxproj.filters b/project/VS2010Express/XBMC.vcxproj.filters +index c7596ea..fcbe5e7 100644 +--- a/project/VS2010Express/XBMC.vcxproj.filters ++++ b/project/VS2010Express/XBMC.vcxproj.filters +@@ -2352,9 +2352,6 @@ + + cores\AudioEngine\Utils + +- +- cores\AudioEngine\Utils +- + + cores\AudioEngine\Utils + +@@ -5444,9 +5441,6 @@ + + cores\AudioEngine\Utils + +- +- cores\AudioEngine\Utils +- + + cores\AudioEngine\Utils + +@@ -6132,4 +6126,4 @@ + interfaces\swig + + +- ++ +\ No newline at end of file +diff --git a/tools/depends/target/Makefile b/tools/depends/target/Makefile +index 8368a24..3e02fc0 100644 +--- a/tools/depends/target/Makefile ++++ b/tools/depends/target/Makefile +@@ -10,7 +10,7 @@ DEPENDS = \ + openssl gmp nettle gnutls libssh2 curl \ + libjpeg-turbo tiff jasper libpng \ + libogg libvorbis libflac fribidi libmpeg2 \ +- libass libsamplerate \ ++ libass \ + libmodplug librtmp libxml2 yajl libmicrohttpd mysql libffi \ + python26 afpfs-ng libshairplay \ + libplist libcec libbluray boost tinyxml dummy-libxbmc \ +diff --git a/tools/depends/target/libsamplerate/Makefile b/tools/depends/target/libsamplerate/Makefile +deleted file mode 100644 +index 2f87beb..0000000 +--- a/tools/depends/target/libsamplerate/Makefile ++++ /dev/null +@@ -1,42 +0,0 @@ +-include ../../Makefile.include +-DEPS= ../../Makefile.include Makefile +- +-# lib name, version +-LIBNAME=libsamplerate +-VERSION=0.1.7 +-SOURCE=$(LIBNAME)-$(VERSION) +-ARCHIVE=$(SOURCE).tar.gz +- +-# configuration settings +-CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ +- cp -f $(CONFIG_SUB) $(CONFIG_GUESS) Cfg; \ +- ./configure --prefix=$(PREFIX) --disable-sndfile --disable-fftw --disable-shared +- +-LIBDYLIB=$(PLATFORM)/src/.libs/$(LIBNAME).a +- +-CLEAN_FILES=$(ARCHIVE) $(PLATFORM) +- +-all: .installed-$(PLATFORM) +- +-$(TARBALLS_LOCATION)/$(ARCHIVE): +- cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) +- +-$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +- rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) +- cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) +- cd $(PLATFORM); $(CONFIGURE) +- +-$(LIBDYLIB): $(PLATFORM) +- $(MAKE) -C $(PLATFORM) +- +-.installed-$(PLATFORM): $(LIBDYLIB) +- $(MAKE) -C $(PLATFORM) install +- touch $@ +- +-clean: +- $(MAKE) -C $(PLATFORM) clean +- rm -f .installed-$(PLATFORM) +- +-distclean:: +- rm -rf $(PLATFORM) .installed-$(PLATFORM) +- +diff --git a/xbmc/cores/AudioEngine/Utils/AEWAVLoader.cpp b/xbmc/cores/AudioEngine/Utils/AEWAVLoader.cpp +deleted file mode 100644 +index de9029b..0000000 +--- a/xbmc/cores/AudioEngine/Utils/AEWAVLoader.cpp ++++ /dev/null +@@ -1,368 +0,0 @@ +-/* +- * Copyright (C) 2010-2013 Team XBMC +- * http://xbmc.org +- * +- * This Program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This Program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with XBMC; see the file COPYING. If not, see +- * . +- * +- */ +- +-#include "AEWAVLoader.h" +- +- +-#include "system.h" +-#include "utils/log.h" +-#include "utils/EndianSwap.h" +-#include "filesystem/File.h" +-#include "URL.h" +-#include +- +-#include "AEConvert.h" +-#include "AEUtil.h" +-#include "AERemap.h" +- +-#ifdef TARGET_WINDOWS +-#pragma comment(lib, "libsamplerate-0.lib") +-#endif +- +-typedef struct +-{ +- char chunk_id[4]; +- uint32_t chunksize; +-} WAVE_CHUNK; +- +-CAEWAVLoader::CAEWAVLoader() : +- m_valid (false), +- m_sampleRate (0 ), +- m_outputSampleRate (0 ), +- m_frameCount (0 ), +- m_outputFrameCount (0 ), +- m_sampleCount (0 ), +- m_outputSampleCount (0 ), +- m_samples (NULL ), +- m_outputSamples (NULL ) +-{ +-} +- +-CAEWAVLoader::~CAEWAVLoader() +-{ +- UnLoad(); +-} +- +-bool CAEWAVLoader::Load(const std::string &filename) +-{ +- UnLoad(); +- +- m_filename = filename; +- +- XFILE::CFile file; +- if (!file.Open(m_filename)) +- { +- CLog::Log(LOGERROR, "CAEWAVLoader::Initialize - Failed to create loader: %s", m_filename.c_str()); +- return false; +- } +- +- struct __stat64 st; +- if (file.Stat(&st) < 0) +- { +- CLog::Log(LOGERROR, "CAEWAVLoader::Initialize - Failed to stat file: %s", m_filename.c_str()); +- return false; +- } +- +- bool isRIFF = false; +- bool isWAVE = false; +- bool isFMT = false; +- bool isPCM = false; +- bool isDATA = false; +- +- uint32_t sampleRate; +- uint32_t byteRate; +- uint16_t blockAlign; +- uint16_t bitsPerSample; +- +- WAVE_CHUNK chunk; +- while (file.Read(&chunk, sizeof(chunk)) == sizeof(chunk)) +- { +- chunk.chunksize = Endian_SwapLE32(chunk.chunksize); +- +- /* if its the RIFF header */ +- if (!isRIFF && memcmp(chunk.chunk_id, "RIFF", 4) == 0) +- { +- isRIFF = true; +- +- /* work around invalid chunksize, I have seen this in one file so far (shutter.wav) */ +- if (chunk.chunksize == st.st_size) +- chunk.chunksize -= 8; +- +- /* sanity check on the chunksize */ +- if (chunk.chunksize > st.st_size - 8) +- { +- CLog::Log(LOGERROR, "CAEWAVLoader::Initialize - Corrupt WAV header: %s", m_filename.c_str()); +- file.Close(); +- return false; +- } +- +- /* we only support WAVE files */ +- char format[4]; +- if (file.Read(&format, 4) != 4) +- break; +- isWAVE = memcmp(format, "WAVE", 4) == 0; +- if (!isWAVE) +- break; +- } +- /* if its the fmt section */ +- else if (!isFMT && memcmp(chunk.chunk_id, "fmt ", 4) == 0) +- { +- isFMT = true; +- if (chunk.chunksize < 16) +- break; +- uint16_t format; +- if (file.Read(&format, sizeof(format)) != sizeof(format)) +- break; +- format = Endian_SwapLE16(format); +- if (format != WAVE_FORMAT_PCM) +- break; +- +- uint16_t channelCount; +- if (file.Read(&channelCount , 2) != 2) +- break; +- if (file.Read(&sampleRate , 4) != 4) +- break; +- if (file.Read(&byteRate , 4) != 4) +- break; +- if (file.Read(&blockAlign , 2) != 2) +- break; +- if (file.Read(&bitsPerSample, 2) != 2) +- break; +- +- channelCount = Endian_SwapLE16(channelCount); +- /* TODO: support > 2 channel count */ +- if (channelCount > 2) +- break; +- +- static AEChannel layouts[][3] = { +- {AE_CH_FC, AE_CH_NULL}, +- {AE_CH_FL, AE_CH_FR, AE_CH_NULL} +- }; +- +- m_channels = layouts[channelCount - 1]; +- m_sampleRate = Endian_SwapLE32(sampleRate ); +- byteRate = Endian_SwapLE32(byteRate ); +- blockAlign = Endian_SwapLE16(blockAlign ); +- bitsPerSample = Endian_SwapLE16(bitsPerSample); +- isPCM = true; +- +- if (chunk.chunksize > 16) +- file.Seek(chunk.chunksize - 16, SEEK_CUR); +- } +- /* if we have the PCM info and its the DATA section */ +- else if (isPCM && !isDATA && memcmp(chunk.chunk_id, "data", 4) == 0) +- { +- unsigned int bytesPerSample = bitsPerSample >> 3; +- m_sampleCount = chunk.chunksize / bytesPerSample; +- m_frameCount = m_sampleCount / m_channels.Count(); +- isDATA = m_frameCount > 0; +- +- /* get the conversion function */ +- CAEConvert::AEConvertToFn convertFn; +- switch (bitsPerSample) +- { +- case 8 : convertFn = CAEConvert::ToFloat(AE_FMT_U8 ); break; +- case 16: convertFn = CAEConvert::ToFloat(AE_FMT_S16LE); break; +- case 32: convertFn = CAEConvert::ToFloat(AE_FMT_S32LE); break; +- default: +- CLog::Log(LOGERROR, "CAEWAVLoader::Initialize - Unsupported data format in wav: %s", m_filename.c_str()); +- file.Close(); +- return false; +- } +- +- /* read in each sample */ +- unsigned int size = bytesPerSample * m_sampleCount; +- m_samples = (float* )_aligned_malloc(sizeof(float) * m_sampleCount, 16); +- uint8_t *raw = (uint8_t *)_aligned_malloc(size, 16); +- if (file.Read(raw, size) != size) +- { +- CLog::Log(LOGERROR, "CAEWAVLoader::Initialize - WAV data shorter then expected: %s", m_filename.c_str()); +- _aligned_free(m_samples); +- _aligned_free(raw); +- m_samples = NULL; +- file.Close(); +- return false; +- } +- +- /* convert the samples to float */ +- convertFn(raw, m_sampleCount, m_samples); +- _aligned_free(raw); +- } +- else +- { +- /* skip any unknown sections */ +- file.Seek(chunk.chunksize, SEEK_CUR); +- } +- } +- +- if (!isRIFF || !isWAVE || !isFMT || !isPCM || !isDATA || m_sampleCount == 0) +- { +- CLog::Log(LOGERROR, "CAEWAVLoader::Initialize - Invalid, or un-supported WAV file: %s", m_filename.c_str()); +- file.Close(); +- return false; +- } +- +- /* close the file as we have the samples now */ +- file.Close(); +- +- m_outputChannels = m_channels; +- m_outputSampleRate = m_sampleRate; +- m_outputSamples = m_samples; +- m_outputSampleCount = m_sampleCount; +- m_outputFrameCount = m_frameCount; +- +- CLog::Log(LOGINFO, "CAEWAVLoader::Initialize - Sound Loaded: %s", m_filename.c_str()); +- m_valid = true; +- return true; +-} +- +-bool CAEWAVLoader::Initialize(unsigned int resampleRate, CAEChannelInfo channelLayout, enum AEStdChLayout stdChLayout/* = AE_CH_LAYOUT_INVALID */) +-{ +- if (!m_valid) +- { +- CLog::Log(LOGERROR, "CAEWAVLoader::Initialize - File has not been loaded"); +- return false; +- } +- +- DeInitialize(); +- +- /* if the sample rates do not match */ +- if (m_sampleRate != resampleRate) +- { +- unsigned int space = (unsigned int)((((float)m_sampleCount / (float)m_sampleRate) * (float)resampleRate) * 2.0f); +- SRC_DATA data; +- data.data_in = m_samples; +- data.input_frames = m_frameCount; +- data.data_out = (float*)_aligned_malloc(sizeof(float) * space, 16); +- data.output_frames = space / m_channels.Count(); +- data.src_ratio = (double)resampleRate / (double)m_sampleRate; +-#ifdef TARGET_DARWIN_IOS +- if (src_simple(&data, SRC_SINC_FASTEST, m_channels.Count()) != 0) +-#else +- if (src_simple(&data, SRC_SINC_MEDIUM_QUALITY, m_channels.Count()) != 0) +-#endif +- { +- CLog::Log(LOGERROR, "CAEWAVLoader::Initialize - Failed to resample audio: %s", m_filename.c_str()); +- _aligned_free(data.data_out); +- return false; +- } +- +- if (m_outputSamples != m_samples) +- _aligned_free(m_outputSamples); +- +- m_outputSamples = data.data_out; +- m_outputFrameCount = data.output_frames_gen; +- m_outputSampleCount = data.output_frames_gen * m_channels.Count(); +- m_outputSampleRate = resampleRate; +- } +- else +- { +- m_outputSamples = m_samples; +- m_outputFrameCount = m_frameCount; +- m_outputSampleCount = m_sampleCount; +- m_outputSampleRate = m_sampleRate; +- } +- +- /* if the channel layouts do not match */ +- if (m_channels != channelLayout) +- { +- CAERemap remap; +- if (!remap.Initialize(m_channels, channelLayout, false, false, stdChLayout)) +- return false; +- +- /* adjust the output format parameters */ +- m_outputSampleCount = m_outputFrameCount * channelLayout.Count(); +- m_outputChannels = channelLayout; +- +- float *remapped = (float*)_aligned_malloc(sizeof(float) * m_outputSampleCount, 16); +- remap.Remap(m_outputSamples, remapped, m_outputFrameCount); +- +- /* assign the remapped buffer */ +- if (m_outputSamples != m_samples) +- _aligned_free(m_outputSamples); +- m_outputSamples = remapped; +- } +- +- return true; +-} +- +-void CAEWAVLoader::UnLoad() +-{ +- DeInitialize(); +- +- _aligned_free(m_samples); +- m_samples = NULL; +- m_sampleCount = 0; +- m_frameCount = 0; +- m_channels.Reset(); +- +- m_outputSamples = NULL; +- m_outputSampleCount = 0; +- m_outputFrameCount = 0; +- m_outputChannels.Reset(); +-} +- +-void CAEWAVLoader::DeInitialize() +-{ +- /* only free m_outputSamples if it is a seperate buffer */ +- if (m_outputSamples != m_samples) +- _aligned_free(m_outputSamples); +- +- m_outputSamples = m_samples; +- m_outputSampleCount = m_sampleCount; +- m_outputFrameCount = m_frameCount; +- m_outputChannels = m_channels; +-} +- +-CAEChannelInfo CAEWAVLoader::GetChannelLayout() +-{ +- return m_outputChannels; +-} +- +-unsigned int CAEWAVLoader::GetSampleRate() +-{ +- return m_outputSampleRate; +-} +- +-unsigned int CAEWAVLoader::GetSampleCount() +-{ +- return m_outputSampleCount; +-} +- +-unsigned int CAEWAVLoader::GetFrameCount() +-{ +- return m_outputFrameCount; +-} +- +-float* CAEWAVLoader::GetSamples() +-{ +- if (!m_valid || m_outputSamples == NULL) +- return NULL; +- +- return m_outputSamples; +-} +- +-bool CAEWAVLoader::IsCompatible(const unsigned int sampleRate, const CAEChannelInfo &channelInfo) +-{ +- return ( +- m_outputSampleRate == sampleRate && +- m_outputChannels == channelInfo +- ); +-} +diff --git a/xbmc/cores/AudioEngine/Utils/AEWAVLoader.h b/xbmc/cores/AudioEngine/Utils/AEWAVLoader.h +deleted file mode 100644 +index e96bbba..0000000 +--- a/xbmc/cores/AudioEngine/Utils/AEWAVLoader.h ++++ /dev/null +@@ -1,79 +0,0 @@ +-#pragma once +-/* +- * Copyright (C) 2010-2013 Team XBMC +- * http://xbmc.org +- * +- * This Program is free software; you can redistribute it and/or modify +- * it under the terms of the GNU General Public License as published by +- * the Free Software Foundation; either version 2, or (at your option) +- * any later version. +- * +- * This Program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with XBMC; see the file COPYING. If not, see +- * . +- * +- */ +- +-#include "utils/StdString.h" +-#include "AEAudioFormat.h" +- +-class CAEWAVLoader +-{ +-public: +- CAEWAVLoader(); +- ~CAEWAVLoader(); +- +- /** +- * Load a WAV file into memory +- * @param filename The filename to load +- * @return true on success +- */ +- bool Load(const std::string &filename); +- +- /** +- * Unload and release the samples loaded by CAWEAVLoader::Load +- */ +- void UnLoad(); +- +- /** +- * Initialize the loaded file for the required output format +- * @param sampleRate The desired output sample rate +- * @param channelLayout The desired output channel layout +- * @param stdChLayout The channels that are actually used in the layout +- */ +- bool Initialize(unsigned int resampleRate, CAEChannelInfo channelLayout, enum AEStdChLayout stdChLayout = AE_CH_LAYOUT_INVALID); +- +- /** +- * DeInitialize the remapped/resampled output +- */ +- void DeInitialize(); +- +- /** +- * Returns if the current sample buffer is valid +- * @return true if the current sample buffer is valid +- */ +- bool IsValid() { return m_valid; } +- +- CAEChannelInfo GetChannelLayout(); +- unsigned int GetSampleRate(); +- unsigned int GetSampleCount(); +- unsigned int GetFrameCount(); +- float* GetSamples(); +- bool IsCompatible(const unsigned int sampleRate, const CAEChannelInfo &channelInfo); +- +-private: +- std::string m_filename; +- bool m_valid; +- +- CAEChannelInfo m_channels , m_outputChannels; +- unsigned int m_sampleRate , m_outputSampleRate; +- unsigned int m_frameCount , m_outputFrameCount; +- unsigned int m_sampleCount , m_outputSampleCount; +- float *m_samples , *m_outputSamples; +-}; +- +diff --git a/xbmc/win32/Win32DelayedDllLoad.cpp b/xbmc/win32/Win32DelayedDllLoad.cpp +index def089e..61bdbb2 100644 +--- a/xbmc/win32/Win32DelayedDllLoad.cpp ++++ b/xbmc/win32/Win32DelayedDllLoad.cpp +@@ -48,12 +48,6 @@ FARPROC WINAPI delayHookNotifyFunc (unsigned dliNotify, PDelayLoadInfo pdli) + HMODULE hMod = LoadLibraryEx(strDll.c_str(), 0, LOAD_WITH_ALTERED_SEARCH_PATH); + return (FARPROC)hMod; + } +- if (stricmp(pdli->szDll, "libsamplerate-0.dll") == 0) +- { +- std::string strDll = CSpecialProtocol::TranslatePath("special://xbmcbin/system/libsamplerate-0.dll"); +- HMODULE hMod = LoadLibraryEx(strDll.c_str(), 0, LOAD_WITH_ALTERED_SEARCH_PATH); +- return (FARPROC)hMod; +- } + if (stricmp(pdli->szDll, "dnssd.dll") == 0) + { + std::string strDll = CSpecialProtocol::TranslatePath("special://xbmcbin/system/dnssd.dll"); +-- +1.9.1 + + +From 9f54552f919ee1bbabae2d18e0c0fe393683623f Mon Sep 17 00:00:00 2001 +From: Rainer Hochecker +Date: Thu, 1 May 2014 16:03:21 +0200 +Subject: [PATCH 2/3] squash me + +--- + project/VS2010Express/XBMC.vcxproj | 2 +- + xbmc/cores/AudioEngine/Makefile.in | 1 - + 2 files changed, 1 insertion(+), 2 deletions(-) + +diff --git a/project/VS2010Express/XBMC.vcxproj b/project/VS2010Express/XBMC.vcxproj +index ef455c8..d85910b 100644 +--- a/project/VS2010Express/XBMC.vcxproj ++++ b/project/VS2010Express/XBMC.vcxproj +@@ -158,7 +158,7 @@ + libc;msvcrt;libcmt;msvcrtd;msvcprtd;%(IgnoreSpecificDefaultLibraries) + + +- libxslt.dll;dnssd.dll;dwmapi.dll;libmicrohttpd-5.dll;ssh.dll;sqlite3.dll;libsamplerate-0.dll;avcodec-55.dll;avfilter-4.dll;avformat-55.dll;avutil-52.dll;postproc-52.dll;swresample-0.dll;swscale-2.dll;%(DelayLoadDLLs) ++ libxslt.dll;dnssd.dll;dwmapi.dll;libmicrohttpd-5.dll;ssh.dll;sqlite3.dll;avcodec-55.dll;avfilter-4.dll;avformat-55.dll;avutil-52.dll;postproc-52.dll;swresample-0.dll;swscale-2.dll;%(DelayLoadDLLs) + $(OutDir)XBMC.pdb + + +diff --git a/xbmc/cores/AudioEngine/Makefile.in b/xbmc/cores/AudioEngine/Makefile.in +index b49c3cc..c219653 100644 +--- a/xbmc/cores/AudioEngine/Makefile.in ++++ b/xbmc/cores/AudioEngine/Makefile.in +@@ -60,7 +60,6 @@ SRCS += Utils/AEUtil.cpp + SRCS += Utils/AEStreamInfo.cpp + SRCS += Utils/AEPackIEC61937.cpp + SRCS += Utils/AEBitstreamPacker.cpp +-SRCS += Utils/AEWAVLoader.cpp + SRCS += Utils/AEELDParser.cpp + SRCS += Utils/AEDeviceInfo.cpp + SRCS += Utils/AELimiter.cpp +-- +1.9.1 + + +From ce4a9a5a3217ae2c294dfc1c158dd174bdef126c Mon Sep 17 00:00:00 2001 +From: Rainer Hochecker +Date: Fri, 2 May 2014 08:19:48 +0200 +Subject: [PATCH 3/3] update docs after removal of libsamplerare + +--- + docs/README.linux | 2 +- + docs/README.ubuntu | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/docs/README.linux b/docs/README.linux +index 627aeb1..844d3a3 100644 +--- a/docs/README.linux ++++ b/docs/README.linux +@@ -48,7 +48,7 @@ Build-Depends: autoconf, automake, autopoint, autotools-dev, cmake, curl, + libhal-storage-dev, libiso9660-dev, libjasper-dev, libjpeg-dev, libltdl-dev, liblzo2-dev, + libmad0-dev, libmicrohttpd-dev, libmodplug-dev, libmpcdec-dev, libmpeg2-4-dev, libmysqlclient-dev, + libnfs-dev, libogg-dev, libpcre3-dev, libplist-dev, libpng12-dev | libpng-dev, libpostproc-dev, +- libpulse-dev, librtmp-dev, libsamplerate-dev, libsdl-dev, libsdl-image1.2-dev, libsdl-mixer1.2-dev, ++ libpulse-dev, librtmp-dev, libsdl-dev, libsdl-image1.2-dev, libsdl-mixer1.2-dev, + libshairplay-dev, libsmbclient-dev, libsqlite3-dev, libssh-dev, libssl-dev, libswscale-dev, + libtag1-dev (>= 1.8), libtiff-dev, libtinyxml-dev, libtool, libudev-dev, libusb-dev, libva-dev, + libvdpau-dev, libvorbis-dev, libxinerama-dev, libxml2-dev, libxmu-dev, libxrandr-dev, libxslt1-dev, +diff --git a/docs/README.ubuntu b/docs/README.ubuntu +index 1c597d6..fe20abe 100644 +--- a/docs/README.ubuntu ++++ b/docs/README.ubuntu +@@ -73,7 +73,7 @@ Here is the magic command to get the build dependencies (used to compile the ver + + For Ubuntu (all versions >= 7.04): + +- $ sudo apt-get install automake bison build-essential cmake curl cvs default-jre fp-compiler gawk gdc gettext git-core gperf libasound2-dev libass-dev libboost-dev libboost-thread-dev libbz2-dev libcap-dev libcdio-dev libcurl3 libcurl4-gnutls-dev libdbus-1-dev libenca-dev libflac-dev libfontconfig-dev libfreetype6-dev libfribidi-dev libglew-dev libiso9660-dev libjasper-dev libjpeg-dev liblzo2-dev libmad0-dev libmicrohttpd-dev libmodplug-dev libmpeg2-4-dev libmpeg3-dev libmysqlclient-dev libnfs-dev libogg-dev libogg-dev libpcre3-dev libplist-dev libpng-dev libpulse-dev libsamplerate-dev libsdl-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsmbclient-dev libsqlite3-dev libssh-dev libssl-dev libtiff-dev libtinyxml-dev libtool libudev-dev libusb-dev libvdpau-dev libvorbisenc2 libxml2-dev libxmu-dev libxrandr-dev libxrender-dev libxslt1-dev libxt-dev libyajl-dev mesa-utils nasm pmount python-dev python-imaging python-sqlite swig unzip yasm zip zlib1g-dev ++ $ sudo apt-get install automake bison build-essential cmake curl cvs default-jre fp-compiler gawk gdc gettext git-core gperf libasound2-dev libass-dev libboost-dev libboost-thread-dev libbz2-dev libcap-dev libcdio-dev libcurl3 libcurl4-gnutls-dev libdbus-1-dev libenca-dev libflac-dev libfontconfig-dev libfreetype6-dev libfribidi-dev libglew-dev libiso9660-dev libjasper-dev libjpeg-dev liblzo2-dev libmad0-dev libmicrohttpd-dev libmodplug-dev libmpeg2-4-dev libmpeg3-dev libmysqlclient-dev libnfs-dev libogg-dev libogg-dev libpcre3-dev libplist-dev libpng-dev libpulse-dev libsdl-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsmbclient-dev libsqlite3-dev libssh-dev libssl-dev libtiff-dev libtinyxml-dev libtool libudev-dev libusb-dev libvdpau-dev libvorbisenc2 libxml2-dev libxmu-dev libxrandr-dev libxrender-dev libxslt1-dev libxt-dev libyajl-dev mesa-utils nasm pmount python-dev python-imaging python-sqlite swig unzip yasm zip zlib1g-dev + + For >= 10.10: + $ sudo apt-get install autopoint libltdl-dev +-- +1.9.1 +