[commit] r13971 - freeswitch/trunk/contrib/jmesquita/mod_khomp
Author: raulfragoso Date: Thu Jun 25 22:28:46 2009 New Revision: 13971 Log: Initial implementation for audio buffers Modified: freeswitch/trunk/contrib/jmesquita/mod_khomp/mod_khomp.cpp Modified: freeswitch/trunk/contrib/jmesquita/mod_khomp/mod_khomp.cpp ============================================================================== --- freeswitch/trunk/contrib/jmesquita/mod_khomp/mod_khomp.cpp (original) +++ freeswitch/trunk/contrib/jmesquita/mod_khomp/mod_khomp.cpp Thu Jun 25 22:28:46 2009 @@ -131,9 +131,10 @@ static void printLinks(switch_stream_handle_t* stream, unsigned int device, unsigned int link); static void printChannels(switch_stream_handle_t* stream, unsigned int device, unsigned int link); /* Handles callbacks and events from the boards */ -static int32 Kstdcall EventCallBack(int32 obj, K3L_EVENT * e); +static int32 Kstdcall khomp_event_callback(int32 obj, K3L_EVENT * e); KLibraryStatus khomp_channel_from_event(unsigned int KDeviceId, unsigned int KChannel, K3L_EVENT * event); - +/* Callback for receiving audio buffers from the boards */ +static void Kstdcall khomp_audio_listener (int32 deviceid, int32 mixer, byte * read_buffer, int32 read_size); /* Will init part of our private structure and setup all the read/write buffers */ @@ -658,6 +659,9 @@ Spawn our k3l global var that will be used along the module for sending info to the boards */ + k3lSetGlobalParam (klpResetFwOnStartup, 1); + k3lSetGlobalParam (klpDisableInternalVoIP, 1); + k3l = new K3LAPI(); /* Start the API and connect to KServer */ @@ -670,7 +674,8 @@ } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "K3L started.\n"); - k3lRegisterEventHandler( EventCallBack ); + k3lRegisterEventHandler( khomp_event_callback ); + k3lRegisterAudioListener (NULL, khomp_audio_listener); /* Add all the specific API functions */ SWITCH_ADD_API(api_interface, "khomp", "Khomp Menu", khomp, KHOMP_SYNTAX); @@ -1104,7 +1109,7 @@ } -static int32 Kstdcall EventCallBack(int32 obj, K3L_EVENT * e) +static int32 Kstdcall khomp_event_callback(int32 obj, K3L_EVENT * e) { /* TODO: How do we make sure channels inside FreeSWITCH only change to valid states on K3L? */ switch(e->Code) @@ -1272,6 +1277,11 @@ } +static void Kstdcall khomp_audio_listener (int32 deviceid, int32 mixer, byte * read_buffer, int32 read_size) +{ + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "New audio buffer for deviceid %d, mixer %d, with size %d\n", deviceid, mixer, read_size); +} + /* For Emacs: * Local Variables: * mode:c
participants (1)
-
FreeSWITCH SVN