Project import
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..bc1da15
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,125 @@
+#
+#    Copyright (c) 2010-2014 Nest, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the makefile for the ALSA User space library
+#
+
+
+include pre.mak
+
+PackageName		:= alsa-lib
+
+PackageExtension	:= tar.bz2
+PackageSeparator	:= -
+
+PackagePatchArgs	:= -p1
+
+PackageArchive		:= $(PackageName).$(PackageExtension)
+PackageSourceDir	:= $(PackageName)$(PackageSeparator)$(PackageVersion)/
+
+PackageBuildMakefile	= $(call GenerateBuildPaths,Makefile)
+
+CleanPaths		+= $(PackageLicenseFile)
+
+AlsaUserIncDir		:= /usr/include/alsa/
+AlsaUserLibDir		:= /usr/lib/
+ifeq ($(BUILD_FEATURE_SIMULATOR),1)
+AsoundConfigFile	:= asound_sim.conf
+DebugFlags		:= -g -O0
+AlsaPulseDir		:= /usr/lib/x86_64-linux-gnu/alsa-lib/
+else
+AsoundConfigFile	:= asound.conf
+DebugFlags		:=
+AlsaPulseDir		:=
+endif
+
+SOURCEDIRS                      = $(PackageSourceDir)
+$(PackageSourceDir)_RULE_TARGET = $(BuildDirectory)/configure
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(PackageSourceDir)/LICENSE: $(BuildDirectory)/source
+
+$(PackageLicenseFile): $(PackageSourceDir)/LICENSE
+	$(copy-result)
+
+# Extract the source from the archive and apply patches, if any.
+
+$(PackageSourceDir): $(PackageArchive) $(PackagePatchPaths)
+	$(expand-and-patch-package)
+
+# Prepare the sources.
+
+$(BuildDirectory)/source: | $(PackageSourceDir)
+	$(Verbose)touch $@
+
+# Patch the sources, if necessary.
+
+$(BuildDirectory)/patch: $(BuildDirectory)/source
+	$(Verbose)touch $@
+
+# Generate the package build makefile.
+
+# Configure the source for building.
+$(BuildDirectory)/configure: PATH := $(HostBinDir):$(PATH)
+
+$(BuildDirectory)/configure: $(BuildDirectory)/source | $(PackageSourceDir) $(BuildDirectory)
+	$(Verbose)cd $(BuildDirectory) && \
+	$(CURDIR)/$(PackageSourceDir)/configure \
+	CC="$(CC) $(DebugFlags)" CXX="$(CXX)" AR=$(AR) RANLIB=$(RANLIB) STRIP=$(STRIP) \
+	INSTALL="$(INSTALL) $(INSTALLFLAGS)" \
+	--build=$(HostTuple) \
+	--host=$(TargetTuple) \
+	--with-plugindir=$(AlsaPulseDir) \
+	--with-versioned=no \
+	--prefix=/usr \
+	--sysconfdir=/etc \
+	--localstatedir=/var \
+	--includedir=$(AlsaUserIncDir) \
+	--libdir=$(AlsaUserLibDir) \
+	--disable-rawmidi \
+	--disable-seq \
+	--disable-old-symbols \
+	--disable-python \
+	--disable-alisp
+	$(Verbose)touch $@
+
+# Build the source.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+$(BuildDirectory)/build: $(BuildDirectory)/configure
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) all
+	$(Verbose)touch $@
+
+# Stage the build to a temporary installation area.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+$(BuildDirectory)/stage: $(BuildDirectory)/build | $(ResultDirectory)
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) DESTDIR=$(ResultDirectory) install
+	$(Verbose)cp -f $(AsoundConfigFile) $(ResultDirectory)
+	$(Verbose)touch $@
+
+.PHONY: stage
+stage: $(BuildDirectory)/stage
+
+clean:
+	$(Verbose)$(RM) $(RMFLAGS) -r $(PackageSourceDir)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory)
+
+include post.mak
diff --git a/alsa-lib.tar.bz2 b/alsa-lib.tar.bz2
new file mode 100644
index 0000000..be32560
--- /dev/null
+++ b/alsa-lib.tar.bz2
Binary files differ
diff --git a/alsa-lib.url b/alsa-lib.url
new file mode 100644
index 0000000..92ea637
--- /dev/null
+++ b/alsa-lib.url
@@ -0,0 +1 @@
+ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.27.2.tar.bz2
diff --git a/alsa-lib.version b/alsa-lib.version
new file mode 100644
index 0000000..6ce29ad
--- /dev/null
+++ b/alsa-lib.version
@@ -0,0 +1 @@
+1.0.27.2
diff --git a/asound.conf b/asound.conf
new file mode 100644
index 0000000..4bc085f
--- /dev/null
+++ b/asound.conf
@@ -0,0 +1,40 @@
+pcm_slave.speaker_16khz_slave {
+	pcm "hw:0,0"
+	format S16_LE
+	channels 1
+	rate 16000
+	period_time 50000
+	buffer_time 100000
+}
+
+pcm.speaker_16khz {
+	type dmix
+	ipc_key 1000  # any unique value
+	ipc_key_add_uid true
+	slave speaker_16khz_slave
+}
+
+pcm_slave.speaker_any_format_slave {
+	pcm "speaker_16khz"
+}
+
+pcm.speaker_any_format {
+	type plug
+	slave speaker_any_format_slave
+}
+
+pcm_slave.mic_16khz_mono_slave {
+	pcm "hw:0,1"
+	format S16_LE
+	channels 1
+	rate 16000
+	period_time 50000
+	buffer_time 100000
+}
+
+pcm.mic_16khz_mono {
+	type dsnoop
+	ipc_key 2000  # any unique value
+	ipc_key_add_uid true
+	slave mic_16khz_mono_slave
+}
diff --git a/asound_sim.conf b/asound_sim.conf
new file mode 100644
index 0000000..460f94b
--- /dev/null
+++ b/asound_sim.conf
@@ -0,0 +1,2 @@
+pcm.speaker_16khz pcm.default
+pcm.mic_16khz_mono pcm.default