/***************************************************************************** * dummy.c ***************************************************************************** * Copyright (C) 2001, 2002, 2004 VLC authors and VideoLAN * $Id$ * * Authors: Laurent Aimar * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ /***************************************************************************** * Preamble *****************************************************************************/ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include #include #include /***************************************************************************** * Module descriptor *****************************************************************************/ static int Open ( vlc_object_t * ); vlc_module_begin () set_description( N_("Dummy stream output") ) set_shortname( N_( "Dummy" )) set_capability( "sout access", 0 ) set_category( CAT_SOUT ) set_subcategory( SUBCAT_SOUT_ACO ) add_shortcut( "dummy" ) set_callbacks( Open, NULL ) vlc_module_end () /***************************************************************************** * Exported prototypes *****************************************************************************/ static ssize_t Write( sout_access_out_t *, block_t * ); /***************************************************************************** * Open: open the file *****************************************************************************/ static int Open( vlc_object_t *p_this ) { sout_access_out_t *p_access = (sout_access_out_t*)p_this; p_access->pf_write = Write; return VLC_SUCCESS; } /***************************************************************************** * Read: standard read on a file descriptor. *****************************************************************************/ static ssize_t Write( sout_access_out_t *p_access, block_t *p_buffer ) { size_t i_write = 0; block_t *b = p_buffer; while( b ) { i_write += b->i_buffer; b = b->p_next; } block_ChainRelease( p_buffer ); (void)p_access; return i_write; }