Skip to content

Instantly share code, notes, and snippets.

@bklang
Created November 3, 2010 15:18
Show Gist options
  • Save bklang/661206 to your computer and use it in GitHub Desktop.
Save bklang/661206 to your computer and use it in GitHub Desktop.
AppKonference diff for Asterisk 1.8
Index: konference/conference.c
===================================================================
--- konference/conference.c (revision 52)
+++ konference/conference.c (working copy)
@@ -1213,7 +1213,7 @@
#endif
ast_rwlock_unlock( &conf->lock );
- DEBUG("removed member from conference, name => %s, remaining => %d\n", member->conf_name, membercount) ;
+ DEBUG("removed member from conference, name => %s, remaining => %d\n", conf->name, membercount) ;
// remove member from channel table
if ( member->bucket != NULL )
@@ -1221,7 +1221,7 @@
AST_LIST_LOCK (member->bucket ) ;
AST_LIST_REMOVE (member->bucket, member, hash_entry) ;
AST_LIST_UNLOCK (member->bucket ) ;
- DEBUG("Removed %s from the channel table, bucket => %ld\n", member->chan->name, member->bucket - channel_table) ;
+ DEBUG("Removed %s from the channel table, bucket => %d\n", member->chan->name, member->bucket - channel_table) ;
}
// output to manager...
@@ -1245,8 +1245,8 @@
member->id,
member->flags,
member->chan->name,
- member->chan->cid.cid_num ? member->chan->cid.cid_num : "unknown",
- member->chan->cid.cid_name ? member->chan->cid.cid_name: "unknown",
+ member->chan->caller.id.number.str ? member->chan->caller.id.number.str : "unknown",
+ member->chan->caller.id.name.str ? member->chan->caller.id.name.str: "unknown",
tt,
moderators,
membercount
@@ -1469,8 +1469,8 @@
conf->name,
member->id,
member->chan->name,
- member->chan->cid.cid_num ? member->chan->cid.cid_num : "unknown",
- member->chan->cid.cid_name ? member->chan->cid.cid_name : "unknown",
+ member->chan->caller.id.number.str ? member->chan->caller.id.number.str : "unknown",
+ member->chan->caller.id.name.str ? member->chan->caller.id.name.str : "unknown",
member->mute_audio ? "YES" : "NO",
#ifdef VIDEO
member->mute_video ? "YES" : "NO",
@@ -2081,9 +2081,11 @@
member != NULL ;
member = member->next )
{
+#if ( SILDET == 2 )
// If a member connects via telephone, they don't have video
if ( member->via_telephone )
continue;
+#endif
// We check for no VAD switching, video-muted or camera disabled
// If yes, this member will not be considered as a candidate for switching
Index: konference/member.c
===================================================================
--- konference/member.c (revision 52)
+++ konference/member.c (working copy)
@@ -49,7 +49,7 @@
if (member->dtmf_switch)
{
ast_mutex_lock( &member->lock ) ;
- switch (f->subclass) {
+ switch (f->subclass.integer) {
case '0' :member->req_id=0;
break;
case '1' :member->req_id=1;
@@ -107,9 +107,9 @@
member->type,
member->chan->uniqueid,
member->chan->name,
- member->chan->cid.cid_num ? member->chan->cid.cid_num : "unknown",
- member->chan->cid.cid_name ? member->chan->cid.cid_name : "unknown",
- f->subclass,
+ member->chan->caller.id.number.str ? member->chan->caller.id.number.str : "unknown",
+ member->chan->caller.id.name.str ? member->chan->caller.id.name.str : "unknown",
+ f->subclass.integer,
conf->membercount,
member->flags,
member->mute_audio
@@ -204,16 +204,16 @@
//
// make sure we have a valid dsp and frame type
//
if (
member->dsp != NULL
#ifndef AC_USE_G722
- && f->subclass == AST_FORMAT_SLINEAR
+ && f->subclass.integer == AST_FORMAT_SLINEAR
#else
- && f->subclass == AST_FORMAT_SLINEAR16
+ && f->subclass.integer == AST_FORMAT_SLINEAR16
#endif
&& f->datalen == AST_CONF_FRAME_DATA_SIZE
)
{
// send the frame to the preprocessor
int spx_ret;
spx_ret = speex_preprocess( member->dsp, CASTDATA2PTR(f->data, void), NULL );
@@ -233,9 +235,11 @@
manager_event(
EVENT_FLAG_CALL,
"ConferenceState",
+ "ConferenceName: %s\r\n"
"Channel: %s\r\n"
"Flags: %s\r\n"
"State: %s\r\n",
+ conf->name,
member->chan->name,
member->flags,
"silent"
@@ -254,9 +258,11 @@
manager_event(
EVENT_FLAG_CALL,
"ConferenceState",
+ "ConferenceName: %s\r\n"
"Channel: %s\r\n"
"Flags: %s\r\n"
"State: %s\r\n",
+ conf->name,
member->chan->name,
member->flags,
"speaking"
@@ -288,7 +294,7 @@
#endif
else if (
f->frametype == AST_FRAME_CONTROL
- && f->subclass == AST_CONTROL_HANGUP
+ && f->subclass.integer == AST_CONTROL_HANGUP
)
{
// hangup received
@@ -303,7 +309,7 @@
#ifdef VIDEO
else if (
f->frametype == AST_FRAME_CONTROL
- && f->subclass == AST_CONTROL_VIDUPDATE
+ && f->subclass.integer == AST_CONTROL_VIDUPDATE
)
{
// say we have switched to cause a FIR to
@@ -761,8 +767,8 @@
member->id,
member->flags,
member->chan->name,
- member->chan->cid.cid_num ? member->chan->cid.cid_num : "unknown",
- member->chan->cid.cid_name ? member->chan->cid.cid_name: "unknown",
+ member->chan->caller.id.number.str ? member->chan->caller.id.number.str : "unknown",
+ member->chan->caller.id.name.str ? member->chan->caller.id.name.str: "unknown",
conf->stats.moderators,
conf->membercount
) ;
@@ -2129,7 +2135,7 @@
while( ( sfr = ast_smoother_read( member->inSmoother ) ) ){
++i;
-DEBUG("\treading new frame [%d] from smoother, inFramesCount[%d], \n\tsfr->frametype -> %d , sfr->subclass -> %d , sfr->datalen => %d sfr->samples => %d\n", i , member->inFramesCount , sfr->frametype, sfr->subclass, sfr->datalen, sfr->samples) ;
+DEBUG("\treading new frame [%d] from smoother, inFramesCount[%d], \n\tsfr->frametype -> %d , sfr->subclass.integer -> %d , sfr->datalen => %d sfr->samples => %d\n", i , member->inFramesCount , sfr->frametype, sfr->subclass.integer, sfr->datalen, sfr->samples) ;
DEBUG("SMOOTH:Reading frame from inSmoother, i=>%d, timestamp => %ld.%ld\n",i, sfr->delivery.tv_sec, sfr->delivery.tv_usec);
conf_frame* cfr = create_conf_frame( member, member->inFrames, sfr ) ;
if ( cfr == NULL )
@@ -2763,10 +2769,10 @@
return -1;
}
if (!s->format) {
- s->format = f->subclass;
+ s->format = f->subclass.integer;
s->samples=0;
- } else if (s->format != f->subclass) {
- ast_log(LOG_WARNING, "Packer was working on %d format frames, now trying to feed %d?\n", s->format, f->subclass);
+ } else if (s->format != f->subclass.integer) {
+ ast_log(LOG_WARNING, "Packer was working on %d format frames, now trying to feed %d?\n", s->format, f->subclass.integer);
return -1;
}
if (s->len + f->datalen > PACKER_SIZE) {
@@ -2815,7 +2821,7 @@
len = s->len;
/* Make frame */
s->f.frametype = AST_FRAME_VOICE;
- s->f.subclass = s->format;
+ s->f.subclass.integer = s->format;
SETDATA2PTR(s->f.data, s->framedata + AST_FRIENDLY_OFFSET);
s->f.offset = AST_FRIENDLY_OFFSET;
s->f.datalen = len;
@@ -3029,7 +3035,7 @@
// short-cut pointer to the ast_frame
qf = frame->fr ;
- if ( (qf->subclass == member->write_format) && (member->listen_volume == 0) )
+ if ( (qf->subclass.integer == member->write_format) && (member->listen_volume == 0) )
{
// frame is already in correct format, so just queue it
@@ -3377,8 +3383,11 @@
{
if ( member == NULL )
return 0;
-
+#if ( SILDET == 2 )
return !member->no_camera && !member->mute_video && !member->via_telephone;
+#else
+ return !member->no_camera && !member->mute_video;
+#endif
}
// Member start and stop video methods
Index: konference/frame.c
===================================================================
--- konference/frame.c (revision 52)
+++ konference/frame.c (working copy)
@@ -398,9 +398,9 @@
// the normal translation would free it anyway, so
// we'll just pretend we free'd and malloc'd a new one.
#ifndef AC_USE_G722
- if ( fr->subclass == AST_FORMAT_SLINEAR )
+ if ( fr->subclass.integer == AST_FORMAT_SLINEAR )
#else
- if ( fr->subclass == AST_FORMAT_SLINEAR16 )
+ if ( fr->subclass.integer == AST_FORMAT_SLINEAR16 )
#endif
return fr ;
@@ -433,9 +433,9 @@
// if the frame is not slinear, return an error
#ifndef AC_USE_G722
- if ( fr->subclass != AST_FORMAT_SLINEAR )
+ if ( fr->subclass.integer != AST_FORMAT_SLINEAR )
#else
- if ( fr->subclass != AST_FORMAT_SLINEAR16 )
+ if ( fr->subclass.integer != AST_FORMAT_SLINEAR16 )
#endif
{
ast_log( LOG_ERROR, "unable to translate non-slinear frame\n" ) ;
@@ -647,9 +647,9 @@
f->frametype = AST_FRAME_VOICE ;
#ifndef AC_USE_G722
- f->subclass = AST_FORMAT_SLINEAR ;
+ f->subclass.integer = AST_FORMAT_SLINEAR ;
#else
- f->subclass = AST_FORMAT_SLINEAR16 ;
+ f->subclass.integer = AST_FORMAT_SLINEAR16 ;
#endif
f->samples = AST_CONF_BLOCK_SAMPLES ;
f->offset = AST_FRIENDLY_OFFSET ;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment