# translation of gst-plugins-bad-0.10.21.2.po to Español
# spanish translation for gst-plugins-bad
# This file is put in the public domain.
# Jorge González <jorgegonz@svn.gnome.org>, 2007, 2008, 2009, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2015-12-14 19:23+0100\n"
"PO-Revision-Date: 2011-10-02 15:47+0200\n"
"Last-Translator: Jorge González González <aloriel@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"

msgid "format wasn't negotiated before get function"
msgstr ""

msgid "default GStreamer sound events audiosink"
msgstr ""

msgid ""
"GStreamer can play audio using any number of output elements. Some possible "
"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
"pipeline instead of just one element."
msgstr ""

msgid "description for default GStreamer sound events audiosink"
msgstr ""

msgid "Describes the selected audiosink element."
msgstr ""

msgid "default GStreamer audiosink for Audio/Video Conferencing"
msgstr ""

msgid ""
"description for default GStreamer audiosink for Audio/Video Conferencing"
msgstr ""

msgid "default GStreamer audiosink for Music and Movies"
msgstr ""

msgid "description for default GStreamer audiosink for Music and Movies"
msgstr ""

msgid "default GStreamer videosink"
msgstr ""

msgid ""
"GStreamer can play video using any number of output elements. Some possible "
"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
"can be a partial pipeline instead of just one element."
msgstr ""

msgid "description for default GStreamer videosink"
msgstr ""

msgid "Describes the selected videosink element."
msgstr ""

msgid "default GStreamer audiosrc"
msgstr ""

msgid ""
"GStreamer can record audio using any number of input elements. Some possible "
"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
"pipeline instead of just one element."
msgstr ""

msgid "description for default GStreamer audiosrc"
msgstr ""

msgid "Describes the selected audiosrc element."
msgstr ""

msgid "default GStreamer videosrc"
msgstr ""

msgid ""
"GStreamer can record video from any number of input elements. Some possible "
"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
"partial pipeline instead of just one element."
msgstr ""

msgid "description for default GStreamer videosrc"
msgstr ""

msgid "Describes the selected videosrc element."
msgstr ""

msgid "default GStreamer visualization"
msgstr ""

msgid ""
"GStreamer can put visualization plugins in a pipeline to transform audio "
"streams in video frames. Some possible choices are goom, goom2k1 and "
"synaesthesia. The visualization plugin can be a partial pipeline instead of "
"just one element."
msgstr ""

msgid "description for default GStreamer visualization"
msgstr ""

msgid "Describes the selected visualization element."
msgstr ""

msgid "OpenCV failed to load template image"
msgstr ""

msgid "Could not read title information for DVD."
msgstr "No se pudo leer la información del título para el DVD."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Falló abrir el dispositivo DVD «%s»."

msgid "Failed to set PGC based seeking."
msgstr "Falló al establecer la búsqueda basada en PGC."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"No se pudo leer el DVD. Puede ser debido a que el DVD está cifrado y la "
"biblioteca de descifrado del DVD no está instalada."

msgid "Could not read DVD."
msgstr "No se pudo leer el DVD."

msgid "This file contains no playable streams."
msgstr ""

#, fuzzy
msgid "Could not open sndfile stream for reading."
msgstr "No se pudo abrir el archivo «%s» para leer."

msgid "Could not establish connection to sndio"
msgstr ""

msgid "Failed to query sndio capabilities"
msgstr ""

#, fuzzy
msgid "Could not configure sndio"
msgstr "No se pudo abrir el archivo «%s» para leer."

#, fuzzy
msgid "Could not start sndio"
msgstr "No se pudo leer el DVD."

msgid "Internal data flow error."
msgstr "Error en el flujo de datos interno."

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr ""

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""

msgid "Digitalzoom element couldn't be created"
msgstr ""

msgid "Subpicture format was not configured before data flow"
msgstr ""

msgid "Failed to get fragment URL."
msgstr ""

msgid "Internal data stream error."
msgstr "Error en el flujo de datos interno."

msgid "Couldn't download fragments"
msgstr ""

msgid "No file name specified for writing."
msgstr "No se especificó un nombre de archivo para su escritura."

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "No se pudo abrir el archivo «%s» para escribir."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "El dispositivo «%s» no existe."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "No se pudo abrir el dispositivo frontend «%s»."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "No se pudieron obtener los ajustes del dispositivo frontend «%s»."

#, fuzzy, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr "No se pudieron obtener los ajustes del dispositivo frontend «%s»."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "No se pudo abrir el archivo «%s» para leer."

#, fuzzy
msgid "Couldn't find DVB channel configuration file"
msgstr "Configuración del canal del mezclador virtual"

#, fuzzy, c-format
msgid "Couldn't load DVB channel configuration file: %s"
msgstr "Configuración del canal del mezclador virtual"

msgid "DVB channel configuration file doesn't contain any channels"
msgstr ""

#, c-format
msgid "Couldn't find details for DVB channel %s"
msgstr ""

#~ msgid "Could not write to file \"%s\"."
#~ msgstr "No se pudo escribir en el archivo «%s»."

#~ msgid "Internal clock error."
#~ msgstr "Error en el reloj interno."

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr ""
#~ "No se pudo abrir el dispositivo de sonido para manejar el control del "
#~ "mezclador."

#~ msgid ""
#~ "Could not open audio device for mixer control handling. This version of "
#~ "the Open Sound System is not supported by this element."
#~ msgstr ""
#~ "No se pudo abrir el dispositivo para manejar el control del mezclador. "
#~ "Este elemento no soporta esta versión del Open Sound System."

#~ msgid "Volume"
#~ msgstr "Volumen"

#~ msgid "Master"
#~ msgstr "Maestro"

#~ msgid "Front"
#~ msgstr "Frontal"

#~ msgid "Rear"
#~ msgstr "Trasero"

#~ msgid "Headphones"
#~ msgstr "Auriculares"

#~ msgid "Center"
#~ msgstr "Centrado"

#~ msgid "LFE"
#~ msgstr "LFE"

#~ msgid "Surround"
#~ msgstr "Sonido envolvente"

#~ msgid "Side"
#~ msgstr "Lateral"

#~ msgid "Built-in Speaker"
#~ msgstr "Altavoz integrado"

#~ msgid "AUX 1 Out"
#~ msgstr "Salida auxiliar 1"

#~ msgid "AUX 2 Out"
#~ msgstr "Salida auxiliar 2"

#~ msgid "AUX Out"
#~ msgstr "Salida auxiliar"

#~ msgid "Bass"
#~ msgstr "Bajos"

#~ msgid "Treble"
#~ msgstr "Agudos"

#~ msgid "3D Depth"
#~ msgstr "Profundidad 3D"

#~ msgid "3D Center"
#~ msgstr "Centro 3D"

#~ msgid "3D Enhance"
#~ msgstr "Mejora 3D"

#~ msgid "Telephone"
#~ msgstr "Teléfono"

#~ msgid "Microphone"
#~ msgstr "Micrófono"

#~ msgid "Line Out"
#~ msgstr "Línea de salida"

#~ msgid "Line In"
#~ msgstr "Línea de entrada"

#~ msgid "Internal CD"
#~ msgstr "CD interno"

#~ msgid "Video In"
#~ msgstr "Entrada de vídeo"

#~ msgid "AUX 1 In"
#~ msgstr "Entrada auxiliar 1"

#~ msgid "AUX 2 In"
#~ msgstr "Entrada auxiliar 2"

#~ msgid "AUX In"
#~ msgstr "Entrada auxiliar"

#~ msgid "PCM"
#~ msgstr "PCM"

#~ msgid "Record Gain"
#~ msgstr "Ganancia de grabación"

#~ msgid "Output Gain"
#~ msgstr "Salida de grabación"

#~ msgid "Microphone Boost"
#~ msgstr "Aumento del micrófono"

#~ msgid "Loopback"
#~ msgstr "Bucle local"

#~ msgid "Diagnostic"
#~ msgstr "Diagnóstico"

#~ msgid "Bass Boost"
#~ msgstr "Aumento de bajos"

#~ msgid "Playback Ports"
#~ msgstr "Puertos de reproducción"

#~ msgid "Input"
#~ msgstr "Entrada"

#~ msgid "Record Source"
#~ msgstr "Origen de la grabación"

#~ msgid "Monitor Source"
#~ msgstr "Origen del monitor"

#~ msgid "Keyboard Beep"
#~ msgstr "Pitido del teclado"

#~ msgid "Monitor"
#~ msgstr "Monitor"

#~ msgid "Simulate Stereo"
#~ msgstr "Simular estéreo"

#~ msgid "Stereo"
#~ msgstr "Estéreo"

#~ msgid "Surround Sound"
#~ msgstr "Sonido envolvente"

#~ msgid "Microphone Gain"
#~ msgstr "Ganancia del micrófono"

#~ msgid "Speaker Source"
#~ msgstr "Origen de los altavoces"

#~ msgid "Microphone Source"
#~ msgstr "Origen del micrófono"

#~ msgid "Jack"
#~ msgstr "Jack"

#~ msgid "Center / LFE"
#~ msgstr "Centrado / LFE"

#~ msgid "Stereo Mix"
#~ msgstr "Mezclador estéreo"

#~ msgid "Mono Mix"
#~ msgstr "Mezclador mono"

#~ msgid "Input Mix"
#~ msgstr "Mezclador de entrada"

#~ msgid "SPDIF In"
#~ msgstr "Entrada S/PDIF"

#~ msgid "SPDIF Out"
#~ msgstr "Salida S/PDIF"

#~ msgid "Microphone 1"
#~ msgstr "Micrófono 1"

#~ msgid "Microphone 2"
#~ msgstr "Micrófono 2"

#~ msgid "Digital Out"
#~ msgstr "Salida digital"

#~ msgid "Digital In"
#~ msgstr "Entrada digital"

#~ msgid "HDMI"
#~ msgstr "HDMI"

#~ msgid "Modem"
#~ msgstr "Módem"

#~ msgid "Handset"
#~ msgstr "Auriculares"

#~ msgid "Other"
#~ msgstr "Otro"

#~ msgid "None"
#~ msgstr "Ninguno"

#~ msgid "On"
#~ msgstr "Encendido"

#~ msgid "Off"
#~ msgstr "Apagado"

#~ msgid "Mute"
#~ msgstr "Silenciar"

#~ msgid "Fast"
#~ msgstr "Rápido"

#~ msgid "Very Low"
#~ msgstr "Muy bajo"

#~ msgid "Low"
#~ msgstr "Bajo"

#~ msgid "Medium"
#~ msgstr "Medio"

#~ msgid "High"
#~ msgstr "Alto"

#~ msgid "Very High"
#~ msgstr "Muy alto"

#~ msgid "Production"
#~ msgstr "Producción"

#~ msgid "Front Panel Microphone"
#~ msgstr "Micrófono del panel frontal"

#~ msgid "Front Panel Line In"
#~ msgstr "Línea de entrada del panel frontal"

#~ msgid "Front Panel Headphones"
#~ msgstr "Auriculares del panel frontal"

#~ msgid "Front Panel Line Out"
#~ msgstr "Línea de salida del panel frontal"

#~ msgid "Green Connector"
#~ msgstr "Conector verde"

#~ msgid "Pink Connector"
#~ msgstr "Conector rosa"

#~ msgid "Blue Connector"
#~ msgstr "Conector azul"

#~ msgid "White Connector"
#~ msgstr "Conector blanco"

#~ msgid "Black Connector"
#~ msgstr "Conector negro"

#~ msgid "Gray Connector"
#~ msgstr "Conector gris"

#~ msgid "Orange Connector"
#~ msgstr "Conector naranja"

#~ msgid "Red Connector"
#~ msgstr "Conector rojo"

#~ msgid "Yellow Connector"
#~ msgstr "Conector amarillo"

#~ msgid "Green Front Panel Connector"
#~ msgstr "Conector verde del panel frontal"

#~ msgid "Pink Front Panel Connector"
#~ msgstr "Conector rosa del panel frontal"

#~ msgid "Blue Front Panel Connector"
#~ msgstr "Conector azul del panel frontal"

#~ msgid "White Front Panel Connector"
#~ msgstr "Conector blanco del panel frontal"

#~ msgid "Black Front Panel Connector"
#~ msgstr "Conector negro del panel frontal"

#~ msgid "Gray Front Panel Connector"
#~ msgstr "Conector gris del panel frontal"

#~ msgid "Orange Front Panel Connector"
#~ msgstr "Conector naranja del panel frontal"

#~ msgid "Red Front Panel Connector"
#~ msgstr "Conector rojo del panel frontal"

#~ msgid "Yellow Front Panel Connector"
#~ msgstr "Conector amarillo del panel frontal"

#~ msgid "Spread Output"
#~ msgstr "Expandir salida"

#~ msgid "Downmix"
#~ msgstr "Reducción de canales"

#~ msgid "Virtual Mixer Input"
#~ msgstr "Entrada del mezclador virtual"

#~ msgid "Virtual Mixer Output"
#~ msgstr "Salida del mezclador virtual"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "Canales del mezclador virtual"

#~ msgid "%s Function"
#~ msgstr "Función %s"

#~ msgid "%s %d"
#~ msgstr "%s %d"

#~ msgid ""
#~ "Could not open audio device for playback. Device is being used by another "
#~ "application."
#~ msgstr ""
#~ "No se pudo abrir el dispositivo de sonido para reproducir. Otra "
#~ "aplicación está usando el dispositivo."

#~ msgid ""
#~ "Could not open audio device for playback. You don't have permission to "
#~ "open the device."
#~ msgstr ""
#~ "No se pudo abrir el dispositivo de sonido para reproducir. No tiene "
#~ "permiso para abrir el dispositivo."

#~ msgid "Could not open audio device for playback."
#~ msgstr "No se pudo abrir el dispositivo de sonido para reproducción."

#~ msgid ""
#~ "Could not open audio device for playback. This version of the Open Sound "
#~ "System is not supported by this element."
#~ msgstr ""
#~ "No se pudo abrir el dispositivo para reproducir. Este elemento no soporta "
#~ "esta versión del Open Sound System."

#~ msgid "Playback is not supported by this audio device."
#~ msgstr "Este dispositivo de sonido no soporta reproducción."

#~ msgid "Audio playback error."
#~ msgstr "Error en la reproducción del sonido."

#~ msgid "Recording is not supported by this audio device."
#~ msgstr "Este dispositivo de sonido no soporta grabación."

#~ msgid "Error recording from audio device."
#~ msgstr "Error al grabar desde el dispositivo de sonido."

#~ msgid "PCM 1"
#~ msgstr "PCM 1"

#~ msgid "PCM 2"
#~ msgstr "PCM 2"

#~ msgid "PCM 3"
#~ msgstr "PCM 3"

#~ msgid "PCM 4"
#~ msgstr "PCM 4"

#~ msgid "Green connector function"
#~ msgstr "Función del conector verde"

#~ msgid "Green front panel connector function"
#~ msgstr "Función del conector verde del panel frontal"

#~ msgid "Pink connector function"
#~ msgstr "Función del conector rosa"

#~ msgid "Pink front panel connector function"
#~ msgstr "Función del conector rosa del panel frontal"

#~ msgid "Blue connector function"
#~ msgstr "Función del conector azul"

#~ msgid "Blue front panel connector function"
#~ msgstr "Función del conector azul del panel frontal"

#~ msgid "Orange connector function"
#~ msgstr "Función del conector naranja"

#~ msgid "Orange front panel connector function"
#~ msgstr "Función del conector naranja del panel frontal"

#~ msgid "Black connector function"
#~ msgstr "Función del conector negro"

#~ msgid "Black front panel connector function"
#~ msgstr "Función del conector negro del panel frontal"

#~ msgid "Gray connector function"
#~ msgstr "Función del conector gris"

#~ msgid "Gray front panel connector function"
#~ msgstr "Función del conector gris del panel frontal"

#~ msgid "White connector function"
#~ msgstr "Función del conector blanco"

#~ msgid "White front panel connector function"
#~ msgstr "Función del conector blanco del panel frontal"

#~ msgid "Red connector function"
#~ msgstr "Función del conector rojo"

#~ msgid "Red front panel connector function"
#~ msgstr "Función del conector rojo del panel frontal"

#~ msgid "Yellow connector function"
#~ msgstr "Función del conector amarillo"

#~ msgid "Yellow front panel connector function"
#~ msgstr "Función del conector amarillo del panel frontal"

#~ msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
#~ msgstr ""
#~ "Falló al configurar el codificador TwoLAME. Compruebe sus parámetros de "
#~ "codificación."

#~ msgid ""
#~ "The requested bitrate %d kbit/s for property '%s' is not allowed. The "
#~ "bitrate was changed to %d kbit/s."
#~ msgstr ""
#~ "La tasa de bits %d kbps solicitada para la propiedad «%s» no está "
#~ "permitida. La tasa de bits se cambió a %d kbps."
