Update of /cvsroot/playerstage/code/player/server/drivers/audio
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25068
Modified Files:
Makefile.am
Added Files:
alsa.cc alsa.h
Log Message:
Adding skeleton ALSA driver
--- NEW FILE: alsa.h ---
/*
* Player - One Hell of a Robot Server
* Copyright (C) 2003
* Brian Gerkey
*
*
* 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
*
*/
////////////////////////////////////////////////////////////////////////////////
// The class for the driver
class Alsa : public Driver
{
public:
Alsa (ConfigFile* cf, int section);
virtual int Setup (void);
virtual int Shutdown (void);
virtual int ProcessMessage (MessageQueue *resp_queue,
player_msghdr *hdr, void *data);
private:
virtual void Main (void);
// Driver options
bool block;
};
Index: Makefile.am
===================================================================
RCS file: /cvsroot/playerstage/code/player/server/drivers/audio/Makefile.am,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Makefile.am 2 May 2006 11:40:33 -0000 1.2
--- Makefile.am 1 Jun 2006 20:16:33 -0000 1.3
***************
*** 1 ****
! noinst_LIBRARIES =
\ No newline at end of file
--- 1,9 ----
! noinst_LTLIBRARIES =
!
! if INCLUDE_ALSA
! noinst_LTLIBRARIES += libalsa.la
! endif
!
! AM_CPPFLAGS = -Wall -I$(top_srcdir)
!
! libalsa_la_SOURCES = alsa.cc
--- NEW FILE: alsa.cc ---
/*
* Player - One Hell of a Robot Server
* Copyright (C) 2003
* Brian Gerkey
*
*
* 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
*
*/
/*
* A driver to provide access to the ALSA sound system.
*/
#include <libplayercore/playercore.h>
#include "alsa.h"
#include <alsa/asoundlib.h>
// Initialisation function
Driver* Alsa_Init (ConfigFile* cf, int section)
{
return reinterpret_cast<Driver*> (new Alsa (cf, section));
}
// Register function
void Alsa_Register (DriverTable* table)
{
table->AddDriver("alsa", Alsa_Init);
}
////////////////////////////////////////////////////////////////////////////////
// Driver management
////////////////////////////////////////////////////////////////////////////////
// Constructor. Retrieve options from the configuration file and do any
// pre-Setup() setup.
Alsa::Alsa (ConfigFile* cf, int section)
: Driver (cf, section, false, PLAYER_MSGQUEUE_DEFAULT_MAXLEN,
PLAYER_AUDIO_CODE)
{
// Read the config file options
block = cf->ReadBool (section, "block", false);
return;
}
// Set up the device. Return 0 if things go well, and -1 otherwise.
int Alsa::Setup (void)
{
StartThread ();
printf ("Alsa driver initialised\n");
return 0;
}
// Shutdown the device
int Alsa::Shutdown (void)
{
printf ("Alsa driver shutting down\n");
StopThread ();
return 0;
}
////////////////////////////////////////////////////////////////////////////////
// Thread stuff
////////////////////////////////////////////////////////////////////////////////
void Alsa::Main (void)
{
while (1)
{
pthread_testcancel ();
// Handle pending messages
if (!InQueue->Empty ())
{
ProcessMessages ();
}
}
}
////////////////////////////////////////////////////////////////////////////////
// Message handling
////////////////////////////////////////////////////////////////////////////////
int Alsa::ProcessMessage (MessageQueue *resp_queue, player_msghdr *hdr, void
*data)
{
return 0;
}
-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit