X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fdemux%2Fdemuxdump.c;h=cd95cdc3e260500c87eced39f5ed9947e3cf10f2;hb=381646bbb8c15d32a4c5975dbe1ce5ec0c269683;hp=98154bacf33e0749015134bed27439a3fb4400d2;hpb=61c73831d2dcd4e374f34ce0c4fdd9d0b4e7efa9;p=vlc diff --git a/modules/demux/demuxdump.c b/modules/demux/demuxdump.c index 98154bacf3..cd95cdc3e2 100644 --- a/modules/demux/demuxdump.c +++ b/modules/demux/demuxdump.c @@ -1,7 +1,7 @@ /***************************************************************************** * demuxdump.c : Pseudo demux module for vlc (dump raw stream) ***************************************************************************** - * Copyright (C) 2001-2004 VideoLAN + * Copyright (C) 2001-2004 the VideoLAN team * $Id$ * * Authors: Laurent Aimar @@ -18,38 +18,44 @@ * * 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, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ /***************************************************************************** * Preamble *****************************************************************************/ -#include /* malloc(), free() */ -#include /* strdup() */ #include +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + #include -#include +#include +#include /***************************************************************************** * Module descriptor *****************************************************************************/ -#define FILE_TEXT N_("Filename of dump") +#define FILE_TEXT N_("Dump filename") #define FILE_LONGTEXT N_( \ - "Specify a file name to which the raw stream will be dumped." ) -#define APPEND_TEXT N_("Append") + "Name of the file to which the raw stream will be dumped." ) +#define APPEND_TEXT N_("Append to existing file") #define APPEND_LONGTEXT N_( \ - "If the file exists and this option is selected, the existing file " \ - "will not be overwritten." ) + "If the file already exists, it will not be overwritten." ) static int Open( vlc_object_t * ); static void Close ( vlc_object_t * ); vlc_module_begin(); - set_description( _("Filedump demuxer") ); + set_shortname("Dump"); + set_category( CAT_INPUT ); + set_subcategory( SUBCAT_INPUT_DEMUX ); + set_description( _("File dumper") ); set_capability( "demux2", 0 ); add_file( "demuxdump-file", "stream-demux.dump", NULL, FILE_TEXT, FILE_LONGTEXT, VLC_FALSE ); + change_unsafe(); add_bool( "demuxdump-append", 0, NULL, APPEND_TEXT, APPEND_LONGTEXT, VLC_FALSE ); set_callbacks( Open, Close ); @@ -85,12 +91,12 @@ static int Open( vlc_object_t * p_this ) { demux_t *p_demux = (demux_t*)p_this; demux_sys_t *p_sys; - char *psz_mode; + const char *psz_mode; vlc_value_t val; vlc_bool_t b_append; /* Accept only if forced */ - if( strcasecmp( p_demux->psz_demux, "dump" ) ) + if( !p_demux->b_force ) return VLC_EGENERIC; var_Create( p_demux, "demuxdump-append", VLC_VAR_BOOL|VLC_VAR_DOINHERIT ); @@ -118,7 +124,7 @@ static int Open( vlc_object_t * p_this ) msg_Info( p_demux, "dumping raw stream to standard output" ); p_sys->p_file = stdout; } - else if( ( p_sys->p_file = fopen( p_sys->psz_file, psz_mode ) ) == NULL ) + else if( ( p_sys->p_file = utf8_fopen( p_sys->psz_file, psz_mode ) ) == NULL ) { msg_Err( p_demux, "cannot create `%s' for writing", p_sys->psz_file ); @@ -170,7 +176,7 @@ static int Demux( demux_t *p_demux ) i_data = fwrite( p_sys->buffer, 1, i_data, p_sys->p_file ); - if( i_data < 0 ) + if( i_data == 0 ) { msg_Err( p_demux, "failed to write data" ); return -1;