Skip to content

Commit

Permalink
New audio code
Browse files Browse the repository at this point in the history
These changes bring in a bunch of audio fixes, including a new audio
front/back driver model for QEMU 1.4. The following was addressed:
- General quest instability
- Performance issues with capture and playback (there were a lot
  of unneeded world switches due to v4v API)
- Security cleanup (the old code had known buffer overflow attacks
  and handle rewrite attack vulnerabilities)
- Added error validation (the old code had little to no error checks)
- Bugs with amixer patch. The patch was moved to the audio helper removing
  the need to patch ALSA. This was a relatively easy thing to do as the
  audio helper and amixer have to do the same kind of tasks
- Changes to init script (the old init script over-wrote the ALSA state
  on reboot, so settings in the UIVM would roll-back on each reboot)
- Patch queue cleanup
- Recipe cleanup
- SELinux work to support init script

OXT-133: Qemu 1.4 crash during tools install
OXT-220: Qemu 1.4: sometimes the VM volume defaults to 0
OXT-234: amixer patch
OXT-189: Mic mute not working
OXT-196: Audio on Dell Latitude E6540
OXT-195: Audio on HP 2570p
OXT-194: Audio Capture Setting not working

Singed-off-by: Rian Quinn <[email protected]>
  • Loading branch information
rianquinn committed Apr 11, 2015
1 parent 619ed7b commit 850fffd
Show file tree
Hide file tree
Showing 19 changed files with 3,935 additions and 1,077 deletions.
10 changes: 3 additions & 7 deletions audio_helper/configure.in
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ dnl
dnl
dnl
AC_PREREQ(2.13)
AC_INIT(src/audio_helper.c)
AC_INIT(src/main.c)

AC_PROG_CC
AC_PROG_CPP
Expand All @@ -31,15 +31,13 @@ AUDIO_HELPER_MAJOR_VERSION=`cat $srcdir/version-major`
AUDIO_HELPER_MINOR_VERSION=`cat $srcdir/version-minor`
AUDIO_HELPER_MICRO_VERSION=`cat $srcdir/version-micro`


AUDIO_HELPER_VERSION=$XBLANKER_MAJOR_VERSION.$XBLANKER_MINOR_VERSION.$XBLANKER_MICRO_VERSION
AUDIO_HELPER_VERSION=$AUDIO_HELPER_MAJOR_VERSION.$AUDIO_HELPER_MINOR_VERSION.$AUDIO_HELPER_MICRO_VERSION

AC_SUBST(AUDIO_HELPER_MAJOR_VERSION)
AC_SUBST(AUDIO_HELPER_MINOR_VERSION)
AC_SUBST(AUDIO_HELPER_MICRO_VERSION)
AC_SUBST(AUDIO_HELPER_VERSION)


VERSION=$AUDIO_HELPER_VERSION
PACKAGE=audio_helper

Expand Down Expand Up @@ -91,11 +89,9 @@ CPPFLAGS="${ORIG_CPPFLAGS}"

if test "x$have_libv4v" = "xfalse"; then
AC_MSG_ERROR([
*** libv4v is required.
*** libv4v is required.
])
fi

AC_OUTPUT([Makefile
src/Makefile])


17 changes: 6 additions & 11 deletions audio_helper/src/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -18,40 +18,38 @@

#
# Copyright (c) 2012 Citrix Systems, Inc.
#
#
# 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 of the License, 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 this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#


CPROTO=cproto

noinst_HEADERS=project.h prototypes.h

bin_PROGRAMS = audio_helper

SRCS=audio_helper.c version.c
SRCS=main.c version.c openxtalsa.c openxtdebug.c openxtmixerctl.c openxtv4v.c openxtvmaudio.c unittest.c
audio_helper_SOURCES = ${SRCS}
audio_helper_LDADD = -lxenstore -lv4v -lrt -lasound -ldl -lm
audio_helper_LDADD = -lv4v -lasound -lm

AM_CFLAGS=-g

audio_helper_LDFLAGS =
audio_helper_LDFLAGS =

BUILT_SOURCES = version.h


VFD=${srcdir}/..
VF=${shell cat ${VFD}/version-files}
VFS=${VF:%=${VFD}/%}
Expand All @@ -64,8 +62,6 @@ protos:
${CPROTO} -v ${INCLUDES} ${SRCS} > prototypes.tmp
mv -f prototypes.tmp prototypes.h



version.h: $(VFD)/version-files $(VFD)/version-major \
$(VFD)/version-minor $(VFD)/version-micro \
$(VFD)/version-md5sums ${VFS} Makefile
Expand All @@ -76,4 +72,3 @@ version.h: $(VFD)/version-files $(VFD)/version-major \
echo "#define VERSION \"audio_helper Version ${VNUM}\"" > version.h; \
echo ${VNUM} > version-num; \
fi

Loading

0 comments on commit 850fffd

Please sign in to comment.