From daa7ebf69e0af170a6185ab0fa97d55da2919118 Mon Sep 17 00:00:00 2001 From: smorlat Date: Wed, 25 Mar 2009 13:12:49 +0000 Subject: [PATCH] added MSVoidSink git-svn-id: svn+ssh://svn.savannah.nongnu.org/linphone/trunk@369 3f6dc0c8-ddfe-455d-9043-3cd528dc4637 --- .../include/mediastreamer2/allfilters.h | 3 +- linphone/mediastreamer2/src/Makefile.am | 3 +- linphone/mediastreamer2/src/void.c | 61 +++++++++++++++++++ 3 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 linphone/mediastreamer2/src/void.c diff --git a/linphone/mediastreamer2/include/mediastreamer2/allfilters.h b/linphone/mediastreamer2/include/mediastreamer2/allfilters.h index 25d04967b..58dfb01c1 100644 --- a/linphone/mediastreamer2/include/mediastreamer2/allfilters.h +++ b/linphone/mediastreamer2/include/mediastreamer2/allfilters.h @@ -81,7 +81,8 @@ typedef enum MSFilterId{ MS_H263_OLD_ENC_ID, MS_MIRE_ID, MS_VFW_ID, - MS_ICE_ID + MS_ICE_ID, + MS_VOID_SINK_ID } MSFilterId; diff --git a/linphone/mediastreamer2/src/Makefile.am b/linphone/mediastreamer2/src/Makefile.am index 6d4e07b60..376d1ad98 100644 --- a/linphone/mediastreamer2/src/Makefile.am +++ b/linphone/mediastreamer2/src/Makefile.am @@ -30,7 +30,8 @@ libmediastreamer_la_SOURCES= mscommon.c \ g711common.h \ msvolume.c \ mswebcam.c \ - mtu.c + mtu.c \ + void.c libmediastreamer_la_SOURCES+=audiostream.c diff --git a/linphone/mediastreamer2/src/void.c b/linphone/mediastreamer2/src/void.c new file mode 100644 index 000000000..b785667ce --- /dev/null +++ b/linphone/mediastreamer2/src/void.c @@ -0,0 +1,61 @@ +/* +mediastreamer2 library - modular sound and video processing and streaming +Copyright (C) 2006 Simon MORLAT (simon.morlat@linphone.org) + +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. +*/ + +#include "mediastreamer2/msfilter.h" + + +static void void_sink_process(MSFilter *f){ + mblk_t *im; + while((im=ms_queue_get(f->inputs[0]))!=NULL){ + freemsg(im); + } +} + +#ifdef _MSC_VER + +MSFilterDesc ms_void_sink_desc={ + MS_TEE_ID, + "MSVoidSink", + N_("A filter that trashes its input (useful for terminating some graphs)."), + MS_FILTER_OTHER, + NULL, + 1, + 0, + NULL, + NULL, + void_sink_process, + NULL, + NULL +}; + +#else + +MSFilterDesc ms_void_sink_desc={ + .id=MS_TEE_ID, + .name="MSVoidSink", + .text=N_("A filter that trashes its input (useful for terminating some graphs)."), + .category=MS_FILTER_OTHER, + .ninputs=1, + .noutputs=0, + .process=void_sink_process, +}; + +#endif + +MS_FILTER_DESC_EXPORT(ms_void_sink_desc)