I tried to select the most important msg_errs. If I missed your favourite, feel free to add it.
Feedback on the wording and the placement of the interaction calls is strongly welcomed.
For the records: I'm using some general topics for most of the dialogues to produce less work for the translators. The current ones go like this:
"Audio output failed", "Network interaction failed", "Streaming / Transcoding failed", "Audio filtering failed", "File reading failed", "Playback failure"
More to come.
#include "info.h" /* headers for meta info retrieval */
#include <vlc_playlist.h> /* Has to come *after* cdda.h */
#include "vlc_keys.h"
+#include <vlc_interaction.h>
#include <cdio/cdio.h>
#include <cdio/logging.h>
{
msg_Err( p_access, "cannot get a new block of size: %i",
i_blocks * CDIO_CD_FRAMESIZE_RAW );
+ intf_UserFatal( p_access, VLC_FALSE, _("CD reading failed"),
+ _("VLC could not get a new block of size: %i."),
+ i_blocks * CDIO_CD_FRAMESIZE_RAW );
return NULL;
}
#include <vlc/vlc.h>
#include <vlc/input.h>
#include <vlc/vout.h>
+#include <vlc_interaction.h>
#include "common.h"
#include "filter.h"
{
msg_Err( p_this, "can't use device: %s, unsupported device type",
devicename.c_str() );
+ intf_UserFatal( p_vout, VLC_FALSE, _("Capturing failed"),
+ _("VLC cannot use the device \"%s\", because its device "
+ "type is not supported.") );
return VLC_EGENERIC;
}
else {
/* capture device */
msg_Err( p_this, "capture device '%s' does not support required parameters !", devicename.c_str() );
+ intf_UserFatal( p_this, VLC_FALSE, _("Capturing failed"),
+ _("The capture device \"%s\" does not support the "
+ "required parameters."), devicename.c_str() );
p_device_filter->Release();
return VLC_EGENERIC;
}
*****************************************************************************/
#include <vlc/vlc.h>
#include <vlc/input.h>
+#include <vlc_interaction.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
{
msg_Err( p_access, "the DVB input old syntax is deprecated, use vlc "
"-p dvb to see an explanation of the new syntax" );
+ intf_UserFatal( p_access, VLC_TRUE, _("Input syntax is deprecated"),
+ _("The given syntax is deprecated. Run \"vlc -p dvb\" to see an " \
+ "explanation of the new syntax.") );
free( psz_dup );
return VLC_EGENERIC;
}
else
{
msg_Err( p_access, "illegal polarization %c", *psz_parser );
+ intf_UserFatal( p_access, VLC_FALSE, _("Illegal Polarization"),
+ _("The provided polarization \"%c\" is not valid."),
+ *psz_parser );
free( psz_dup );
return VLC_EGENERIC;
}
#include <vlc/vlc.h>
#include <vlc/input.h>
+#include <vlc_interaction.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
if( dvdnav_title_play( p_sys->dvdnav, 1 ) != DVDNAV_STATUS_OK )
{
msg_Err( p_demux, "cannot set title (can't decrypt DVD?)" );
+ intf_UserFatal( p_demux, VLC_FALSE, _("Playback failure"),
+ _("VLC cannot set the DVD's title. It possibly "
+ "cannot decrypt the entire disk.") );
dvdnav_close( p_sys->dvdnav );
free( p_sys );
return VLC_EGENERIC;
/*****************************************************************************
* dvdread.c : DvdRead input module for vlc
*****************************************************************************
- * Copyright (C) 2001-2004 the VideoLAN team
+ * Copyright (C) 2001-2006 the VideoLAN team
* $Id$
*
- * Authors: St�hane Borel <stef@via.ecp.fr>
+ * Authors: Stéphane Borel <stef@via.ecp.fr>
* Gildas Bazin <gbazin@videolan.org>
*
* This program is free software; you can redistribute it and/or modify
#include <vlc/vlc.h>
#include <vlc/input.h>
+#include <vlc_interaction.h>
#include "iso_lang.h"
if( !(p_dvdread = DVDOpen( psz_name )) )
{
msg_Err( p_demux, "DVDRead cannot open source: %s", psz_name );
+ intf_UserFatal( p_demux, VLC_FALSE, _("Playback failure"),
+ _("DVDRead could not open disk \"%s\"."), psz_name );
free( psz_name );
return VLC_EGENERIC;
}
1, p_buffer ) != 1 )
{
msg_Err( p_demux, "read failed for block %d", p_sys->i_next_vobu );
+ intf_UserWarn( p_demux, _("Playback failure"),
+ _("DVDRead could not read block %d."),
+ p_sys->i_next_vobu );
return -1;
}
{
msg_Err( p_demux, "read failed for %d/%d blocks at 0x%02x",
i_read, i_blocks_once, p_sys->i_cur_block );
+ intf_UserFatal( p_demux, VLC_FALSE, _("Playback failure"),
+ _("DVDRead could not read %d/%d blocks at 0x%02x."),
+ i_read, i_blocks_once, p_sys->i_cur_block );
return -1;
}
*****************************************************************************/
#include <vlc/vlc.h>
#include <vlc/input.h>
+#include <vlc_interaction.h>
#include <stdlib.h>
#include <string.h>
else
{
msg_Err( p_access, "unknown file type for `%s'", psz_name );
+ intf_UserFatal( p_access, VLC_FALSE, _("File reading failed"),
+ _("\"%s\"'s file type is unknown."),
+ psz_name );
free( psz_name );
return VLC_EGENERIC;
}
if( i_ret < 0 )
{
if( errno != EINTR && errno != EAGAIN )
+ {
msg_Err( p_access, "read failed (%s)", strerror(errno) );
+ intf_UserFatal( p_access, VLC_FALSE, _("File reading failed"),
+ _("VLC could not read file \"%s\"."),
+ strerror(errno) );
+ }
/* Delay a bit to avoid consuming all the CPU. This is particularly
* useful when reading from an unconnected FIFO. */
if( p_access->info.i_size < p_access->info.i_pos )
{
msg_Err( p_access, "seeking too far" );
+ intf_UserFatal( p_access, VLC_FALSE, _("File reading failed"),
+ _("VLC seeked in the file too far. This usually means "
+ "that your file is broken and therefore cannot be "
+ "played." ) );
p_access->info.i_pos = p_access->info.i_size;
}
else if( p_access->info.i_pos < 0 )
if ( !p_sys->fd )
{
msg_Err( p_access, "cannot open file %s", psz_name );
+ intf_UserFatal( p_access, VLC_FALSE, _("File reading failed"),
+ _("VLC could not open file \"%s\"."), psz_name );
return VLC_EGENERIC;
}
{
msg_Err( p_access, "cannot open file %s (%s)", psz_name,
strerror(errno) );
+ intf_UserFatal( p_access, VLC_FALSE, _("File reading failed"),
+ _("VLC could not open file \"%s\" (%s)."),
+ psz_name, strerror(errno) );
return VLC_EGENERIC;
}
#include <vlc/vlc.h>
#include <vlc/input.h>
+#include <vlc_interaction.h>
#include "network.h"
#include "vlc_url.h"
if( fd < 0 )
{
msg_Err( p_access, "failed to connect with server" );
+ intf_UserFatal( p_access, VLC_FALSE, _("Network interaction failed"),
+ _("VLC could not connect with the given server.") );
return -1;
}
if( i_answer / 100 != 2 )
{
msg_Err( p_access, "connection rejected" );
+ intf_UserFatal( p_access, VLC_FALSE, _("Network interaction failed"),
+ _("VLC's connection to the given server was rejected.") );
return -1;
}
if( i_answer / 100 != 2 )
{
msg_Err( p_access, "account rejected" );
+ intf_UserFatal( p_access, VLC_FALSE,
+ _("Network interaction failed"),
+ _("Your account was rejected.") );
return -1;
}
msg_Dbg( p_access, "account accepted" );
default:
msg_Err( p_access, "password rejected" );
+ intf_UserFatal( p_access, VLC_FALSE,
+ _("Network interaction failed"),
+ _("Your password was rejected.") );
return -1;
}
break;
default:
msg_Err( p_access, "user rejected" );
+ intf_UserFatal( p_access, VLC_FALSE,
+ _("Network interaction failed"),
+ _("Your connection attemp to the server was rejected.") );
return -1;
}
*****************************************************************************/
#include <vlc/vlc.h>
#include <vlc/input.h>
+#include <vlc_interaction.h>
#include "network.h"
#include "rtsp.h"
if( p_sys->fd < 0 )
{
msg_Err( p_access, "cannot connect to %s:%d", psz_server, i_port );
+ intf_UserFatal( p_access, VLC_FALSE, _("Connection failed"),
+ _("VLC could not connect to \"%s:%d\"."), psz_server, i_port );
return VLC_EGENERIC;
}
msg_Err( p_access, "rtsp session can not be established" );
+ intf_UserFatal( p_access, VLC_FALSE, _("Session failed"),
+ _("The requested RTSP session could not be established.") );
goto error;
}
#include <vlc/vlc.h>
#include <vlc/aout.h>
+#include <vlc_interaction.h>
#include "aout_internal.h"
if( (psz_device = config_GetPsz( p_aout, "alsadev" )) == NULL )
{
msg_Err( p_aout, "no audio device given (maybe \"default\" ?)" );
+ intf_UserFatal( p_aout, VLC_FALSE, _("No Audio Device"),
+ _("No audio device name was given. You might want to " \
+ "enter \"default\".") );
free( p_sys );
return VLC_EGENERIC;
}
{
msg_Err( p_aout, "cannot open ALSA device `%s' (%s)",
psz_iec_device, snd_strerror( i_snd_rc ) );
+ intf_UserFatal( p_aout, VLC_FALSE, _("Audio output failed"),
+ _("VLC could not open the ALSA device \"%s\" (%s)."),
+ psz_iec_device, snd_strerror( i_snd_rc ) );
free( p_sys );
free( psz_device );
return VLC_EGENERIC;
SND_PCM_STREAM_PLAYBACK, SND_PCM_NONBLOCK ) ) == -EBUSY )
{
if( i ) msleep( 100000 /* 100ms */ );
- else msg_Err( p_aout, "audio device: %s is already in use",
+ else
+ {
+ msg_Err( p_aout, "audio device: %s is already in use",
psz_device );
+ intf_UserFatal( p_aout, VLC_FALSE, _("Audio output failed"),
+ _("The audio device \"%s\" is already in use."),
+ psz_device );
+ }
continue;
}
break;
{
msg_Err( p_aout, "cannot open ALSA device `%s' (%s)",
psz_device, snd_strerror( i_snd_rc ) );
+ intf_UserFatal( p_aout, VLC_FALSE, _("Audio output failed"),
+ _("VLC could not open the ALSA device \"%s\" (%s)."),
+ psz_device, snd_strerror( i_snd_rc ) );
free( p_sys );
free( psz_device );
return VLC_EGENERIC;
#include <vlc/vlc.h>
#include <vlc/aout.h>
+#include <vlc_interaction.h>
#include "aout_internal.h"
if( p_sys->i_hog_pid != -1 && p_sys->i_hog_pid != getpid() )
{
msg_Err( p_aout, "Selected audio device is exclusively in use by another program." );
+ intf_UserFatal( p_aout, VLC_FALSE, _("Audio output failed"),
+ _("The selected audio output device is exclusively in "
+ "use by another program.") );
goto error;
}
{
p_aout->output.output.i_physical_channels = AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT;
msg_Err( p_aout, "You should configure your speaker layout with Audio Midi Setup Utility in /Applications/Utilities. Now using Stereo mode." );
+ intf_UserFatal( p_aout, VLC_FALSE, _("Audio device is not configured"),
+ _("You should configure your speaker layout with "
+ "the \"Audio Midi Setup Utility\" in /Applications/"
+ "Utilities. Stereo mode is being used now.") );
}
}
if( layout ) free( layout );
#include <vlc/aout.h>
#include <vlc/sout.h>
#include <vlc/decoder.h>
+#include <vlc_interaction.h>
/* ffmpeg header */
#define HAVE_MMX 1
if( p_enc->fmt_out.i_cat == VIDEO_ES && i_cat != VIDEO_ES )
{
msg_Err( p_enc, "\"%s\" is not a video encoder", psz_namecodec );
+ intf_UserFatal( p_enc, VLC_FALSE, _("Streaming / Transcoding failed"),
+ _("\"%s\" is no video encoder."), psz_namecodec );
return VLC_EGENERIC;
}
if( p_enc->fmt_out.i_cat == AUDIO_ES && i_cat != AUDIO_ES )
{
msg_Err( p_enc, "\"%s\" is not an audio encoder", psz_namecodec );
+ intf_UserFatal( p_enc, VLC_FALSE, _("Streaming / Transcoding failed"),
+ _("\"%s\" is no audio encoder."), psz_namecodec );
return VLC_EGENERIC;
}
if( !p_codec )
{
msg_Err( p_enc, "cannot find encoder %s", psz_namecodec );
+ intf_UserFatal( p_enc, VLC_FALSE, _("Streaming / Transcoding failed"),
+ _("VLC could not find encoder \"%s\"."), psz_namecodec );
return VLC_EGENERIC;
}
{
vlc_mutex_unlock( lockval.p_address );
msg_Err( p_enc, "cannot open encoder" );
+ intf_UserFatal( p_enc, VLC_FALSE, _("Streaming / Transcoding failed"),
+ _("VLC could not open the encoder.") );
free( p_sys );
return VLC_EGENERIC;
}
else
{
msg_Err( p_enc, "cannot open encoder" );
+ intf_UserFatal( p_enc, VLC_FALSE, _("Streaming / Transcoding failed"),
+ _("VLC could not open the encoder.") );
free( p_sys );
return VLC_EGENERIC;
}
#include <vlc/vlc.h>
#include <vlc/input.h>
+#include <vlc_interaction.h>
#include "vlc_meta.h"
if( DemuxInit( p_demux ) )
{
msg_Err( p_demux, "failed to load the new header" );
+ intf_UserFatal( p_demux, VLC_FALSE, _("Could not demux ASF stream"),
+ _("VLC failed to load the ASF header.") );
return 0;
}
continue;
#include <vlc/vlc.h>
#include <vlc/input.h>
#include <vlc/sout.h>
+#include <vlc_interaction.h>
/*****************************************************************************
* Module descriptor
{
msg_Err( p_stream, "no suitable sout access module for `%s/%s://%s'",
psz_access, psz_mux, psz_dst );
+ intf_UserFatal( p_stream, VLC_FALSE,
+ _("Streaming / Transcoding failed"),
+ _("There is no suitable stream-output access module for \"%s/%s://%s\"."),
+ psz_access,
+ psz_mux, psz_dst );
return( NULL );
}
{
msg_Err( p_stream, "no suitable sout mux module for `%s/%s://%s'",
psz_access, psz_mux, psz_dst );
+ intf_UserFatal( p_stream, VLC_FALSE,
+ _("Streaming / Transcoding failed"),
+ _("There is no suitable stream-output access module "\
+ "for \"%s/%s://%s\"."),
+ psz_access, psz_mux, psz_dst );
sout_AccessOutDelete( p_access );
return( NULL );
}
#include <vlc/vlc.h>
#include <vlc/vout.h>
+#include <vlc_interaction.h>
#include "filter_common.h"
if( p_vout->p_sys->p_vout == NULL )
{
msg_Err( p_vout, "failed to create vout" );
+ intf_UserFatal( p_vout, VLC_FALSE, _("Cropping failed"),
+ _("VLC could not open the video output module.") );
return VLC_EGENERIC;
}
if( p_vout->p_sys->p_vout == NULL )
{
msg_Err( p_vout, "failed to create vout" );
+ intf_UserFatal( p_vout, VLC_FALSE, _("Cropping failed"),
+ _("VLC could not open the video output module.") );
return VLC_EGENERIC;
}
/*****************************************************************************
* filters.c : audio output filters management
*****************************************************************************
- * Copyright (C) 2002-2004 the VideoLAN team
+ * Copyright (C) 2002-2006 the VideoLAN team
* $Id$
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
#include <string.h>
#include <vlc/vlc.h>
+#include <vlc_interaction.h>
#ifdef HAVE_ALLOCA_H
# include <alloca.h>
if( *pi_nb_filters + 1 > AOUT_MAX_FILTERS )
{
msg_Err( p_aout, "max filter reached (%d)", AOUT_MAX_FILTERS );
+ intf_UserFatal( p_aout, VLC_FALSE, _("Audio filtering failed"),
+ _("The maximum number of filters (%d) was reached."),
+ AOUT_MAX_FILTERS );
return -1;
}
{
ReleaseFilter( pp_filters[0] );
msg_Err( p_aout, "max filter reached (%d)", AOUT_MAX_FILTERS );
+ intf_UserFatal( p_aout, VLC_FALSE, _("Audio filtering failed"),
+ _("The maximum number of filters (%d) was reached."),
+ AOUT_MAX_FILTERS );
return -1;
}
pp_filters[1] = FindFilter( p_aout, &pp_filters[0]->output,
{
ReleaseFilter( pp_filters[0] );
msg_Err( p_aout, "max filter reached (%d)", AOUT_MAX_FILTERS );
+ intf_UserFatal( p_aout, VLC_FALSE, _("Audio filtering failed"),
+ _("The maximum number of filters (%d) was reached."),
+ AOUT_MAX_FILTERS );
return -1;
}
pp_filters[1] = FindFilter( p_aout, &pp_filters[0]->output,
#include <vlc/decoder.h>
#include <vlc/vout.h>
#include <vlc/input.h>
+#include <vlc_interaction.h>
#include "stream_output.h"
#include "input_internal.h"
if( p_dec == NULL )
{
msg_Err( p_input, "could not create packetizer" );
+ intf_UserFatal( p_input, VLC_FALSE, _("Streaming / Transcoding failed"),
+ _("VLC could not open the packetizer module.") );
return NULL;
}
}
if( p_dec == NULL )
{
msg_Err( p_input, "could not create decoder" );
+ intf_UserFatal( p_input, VLC_FALSE, _("Streaming / Transcoding failed"),
+ _("VLC could not open the decoder module.") );
return NULL;
}
}
msg_Err( p_dec, "no suitable decoder module for fourcc `%4.4s'.\n"
"VLC probably does not support this sound or video format.",
(char*)&p_dec->fmt_in.i_codec );
+ intf_UserFatal( p_dec, VLC_FALSE, _("No suitable decoder module "
+ "for FOURCC \"4.4s\" found"), _("VLC probably does not support this "
+ "audio or video format. Regrettably, there is no way for you to "
+ "fix this.") );
DeleteDecoder( p_dec );
vlc_object_destroy( p_dec );