# translation of gst-plugins-good-0.10.26.2.po to Español
# spanish translation for gst-plugins-good
# This file is put in the public domain.
# Jorge González González <aloriel@gmail.com>, 2007, 2008, 2009, 2010, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.26.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2013-07-11 20:03+0100\n"
"PO-Revision-Date: 2011-02-12 18:30+0100\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"
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. TRANSLATORS: 'song title' by 'artist name'
#, c-format
msgid "'%s' by '%s'"
msgstr "«%s» por «%s»"

msgid "Failed to decode JPEG image"
msgstr "Falló al decodificar la imagen JPEG"

msgid "Could not connect to server"
msgstr "No se pudo conectar con el servidor"

msgid "Server does not support seeking."
msgstr "El servidor no soporta la búsqueda."

msgid "Could not resolve server name."
msgstr "No se pudo resolver el nombre del servidor."

msgid "Could not establish connection to server."
msgstr "No se pudo establecer la conexión con el servidor."

msgid "Secure connection setup failed."
msgstr "Falló la configuración de la conexión segura."

msgid ""
"A network error occured, or the server closed the connection unexpectedly."
msgstr ""
"Ocurrió un error de red o el servidor cerró la conexión de forma inesperada."

msgid "Server sent bad data."
msgstr "El servidor envió datos erróneos."

msgid "No URL set."
msgstr "No existe un URL establecido."

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

msgid "No or invalid input audio, AVI stream will be corrupt."
msgstr "El audio no existe o no es válido, el flujo AVI estará corrupto."

msgid "This file contains no playable streams."
msgstr "Este archivo no contiene flujos reproducibles."

msgid "This file is invalid and cannot be played."
msgstr "Este archivo no es válido y no se puede reproducir."

msgid "This file is corrupt and cannot be played."
msgstr "Este archivo está corrupto y no se puede reproducir."

msgid "Invalid atom size."
msgstr "El tamaño atom no es válido."

msgid "This file is incomplete and cannot be played."
msgstr "Este archivo está incompleto y no se puede reproducir."

msgid "The video in this file might not play correctly."
msgstr ""
"Puede que el vídeo en este archivo no se pueda reproducir correctamente."

#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr ""
"Este archivo contiene demasiados flujos. Sólo se reproducirá el primer %d"

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""
"No se encontró un flujo soportado. Puede que necesite instalar una extensión "
"RTSP de GStreamer para los formatos de flujo Real."

msgid ""
"No supported stream was found. You might need to allow more transport "
"protocols or may otherwise be missing the right GStreamer RTSP extension "
"plugin."
msgstr ""
"No se encontró un flujo soportado. Puede que necesite permitir más "
"protocolos de transporte o de otra forma puede que le falte la extensión "
"correcta de RTSP de GStreamer."

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

msgid ""
"Could not open audio device for playback. Device is being used by another "
"application."
msgstr ""
"No se pudo abrir el dispositivo 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 permisos "
"para abrir el dispositivo."

msgid "Could not open audio device for playback."
msgstr "No se pudo abrir el dispositivo para reproducir."

msgid ""
"Could not open audio device for recording. You don't have permission to open "
"the device."
msgstr ""
"No se pudo abrir el dispositivo de sonido para grabar. No tiene permisos "
"para abrir el dispositivo."

msgid "Could not open audio device for recording."
msgstr "No se pudo abrir el dispositivo para grabar."

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 de sonido para su gestión por el control de "
"mezclado. Este elemento no soporta esta versión del Sistema de sonido "
"abierto (OSS)."

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

msgid "Audio playback error."
msgstr "Error de reproducción de sonido."

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

msgid "Error recording from audio device."
msgstr "Error al grabar del dispositivo de sonido."

msgid "Volume"
msgstr "Volumen"

msgid "Gain"
msgstr "Ganancia"

msgid "Monitor"
msgstr "Monitor"

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

msgid "Headphone"
msgstr "Auriculares"

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

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

msgid "AUX 1 Out"
msgstr "Salida AUX 1"

msgid "AUX 2 Out"
msgstr "Salida AUX 2"

#, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr "Error al leer %d bytes del dispositivo «%s»."

#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr ""
"Falló al enumerar los posibles formatos de vídeo con los que el dispositivo "
"«%s» puede trabajar"

#, c-format
msgid "Could not map buffers from device '%s'"
msgstr "No se pudieron mapear los búferes del dispositivo «%s»"

#, fuzzy, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr ""
"El controlador del dispositivo «%s» no soporta ningún método de captura "
"conocido."

#, fuzzy, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr ""
"El controlador del dispositivo «%s» no soporta ningún método de captura "
"conocido."

#, fuzzy, c-format
msgid "Device '%s' does not support video capture"
msgstr "El dispositivo «%s» no es un dispositivo de salida."

#, fuzzy, c-format
msgid "Device '%s' is busy"
msgstr "El dispositivo «%s» no es un dispositivo de salida."

#, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr "El dispositivo «%s» no puede capturar a %dx%d"

#, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr "El dispositivo «%s» no puede capturar en el formato especificado"

#, c-format
msgid "Could not get parameters on device '%s'"
msgstr "No se pudieron obtener los parámetros para el dispositivo «%s»"

#, fuzzy
msgid "Video device did not accept new frame rate setting."
msgstr ""
"El dispositivo de entrada de vídeo no aceptó el ajuste de la nueva tasa de "
"fotogramas."

msgid "Video device could not create buffer pool."
msgstr ""

#, fuzzy, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr ""
"Falló al obtener la posición del sintonizador %d en el dispositivo «%s»."

#, fuzzy, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "Error al leer %d bytes del dispositivo «%s»."

#, fuzzy, c-format
msgid "Device '%s' is not a tuner."
msgstr "El dispositivo «%s» no es un dispositivo de salida."

#, fuzzy, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "Falló al establecer la entrada %d en el dispositivo %s."

#, c-format
msgid "Failed to set input %d on device %s."
msgstr "Falló al establecer la entrada %d en el dispositivo %s."

#, fuzzy, c-format
msgid "Failed to change mute state for device '%s'."
msgstr "Falló al obtener la potencia de la señal para el dispositivo «%s»."

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""
"Error al obtener las capacidades del dispositivo «%s»: No es un controlador "
"para v4l2. Compruebe si es un controlador para v4l1."

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr "Falló al consultar los atributos de la entrada %d en el dispositivo %s"

#, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr ""
"Falló al obtener la posición del sintonizador %d en el dispositivo «%s»."

#, c-format
msgid "Failed to query norm on device '%s'."
msgstr "Falló al consultar la norma para el dispositivo «%s»."

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr "Falló al obtener los atributos de control en el dispositivo «%s»."

#, c-format
msgid "Cannot identify device '%s'."
msgstr "No se puede identificar el dispositivo «%s»."

#, c-format
msgid "This isn't a device '%s'."
msgstr "Esto no es un dispositivo «%s»."

#, c-format
msgid "Could not open device '%s' for reading and writing."
msgstr "No se pudo abrir el dispositivo «%s» para lectura y escritura."

#, c-format
msgid "Device '%s' is not a capture device."
msgstr "El dispositivo «%s» no es un dispositivo de captura."

#, c-format
msgid "Device '%s' is not a output device."
msgstr "El dispositivo «%s» no es un dispositivo de salida."

#, c-format
msgid "Failed to set norm for device '%s'."
msgstr "Falló al establecer la norma para el dispositivo «%s»."

#, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr ""
"Falló al obtener la frecuencia actual del sintonizador para el dispositivo "
"«%s»."

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr ""
"Falló al establecer la frecuencia actual del sintonizador para el "
"dispositivo «%s» a %lu Hz."

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr "Falló al obtener la potencia de la señal para el dispositivo «%s»."

#, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr "Falló al obtener el valor para el control %d del dispositivo «%s»."

#, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr ""
"Falló al establecer el valor %ds para el control %d del dispositivo «%s»."

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr ""
"Falló al obtener la entrada actual en el dispositivo «%s». Quizá sea un "
"dispositivo de radio."

#, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr ""
"Falló al obtener la salida actual en el dispositivo «%s». Quizá sea un "
"dispositivo de radio."

#, c-format
msgid "Failed to set output %d on device %s."
msgstr "Falló al establecer la salida %d en el dispositivo %s."

msgid "Changing resolution at runtime is not yet supported."
msgstr "El cambio de resolución durante la reproducción aún no está soportado."

msgid "Cannot operate without a clock"
msgstr "No se puede operar sin reloj"

#~ msgid "Got unexpected frame size of %u instead of %u."
#~ msgstr "Se obtuvo un tamaño de cuadro inesperado %u en lugar de %u."

#~ msgid "Failed trying to get video frames from device '%s'."
#~ msgstr "Falló al intentar obtener cuadros de vídeo del dispositivo «%s»."

#~ msgid "Failed after %d tries. device %s. system error: %s"
#~ msgstr "Falló después de %d intentos. Dispositivo %s. Error del sistema: %s"

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

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

#~ msgid "Synth"
#~ msgstr "Sintetizador"

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

#~ msgid "Speaker"
#~ msgstr "Altavoz"

#~ msgid "Line-in"
#~ msgstr "Línea de entrada"

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

#~ msgid "CD"
#~ msgstr "CD"

#~ msgid "Mixer"
#~ msgstr "Mezclador"

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

#~ msgid "Record"
#~ msgstr "Grabación"

#~ msgid "In-gain"
#~ msgstr "Ganancia de entrada"

#~ msgid "Out-gain"
#~ msgstr "Ganancia de salida"

#~ msgid "Line-1"
#~ msgstr "Línea-1"

#~ msgid "Line-2"
#~ msgstr "Línea-2"

#~ msgid "Line-3"
#~ msgstr "Línea-3"

#~ msgid "Digital-1"
#~ msgstr "Digital-1"

#~ msgid "Digital-2"
#~ msgstr "Digital-2"

#~ msgid "Digital-3"
#~ msgstr "Digital-3"

#~ msgid "Phone-in"
#~ msgstr "Entrada de teléfono"

#~ msgid "Phone-out"
#~ msgstr "Salida de teléfono"

#~ msgid "Video"
#~ msgstr "Vídeo"

#~ msgid "Radio"
#~ msgstr "Radio"

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr ""
#~ "No se pudo abrir el dispositivo de sonido para su gestión por el control "
#~ "de mezclado."

#~ 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 de sonido para su gestión por el control "
#~ "de mezclado. Este elemento no soporta esta versión del Sistema de sonido "
#~ "abierto (OSS)."

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

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

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

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

#~ msgid "Center"
#~ msgstr "Centro"

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

#~ msgid "Surround"
#~ msgstr "Envolvente"

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

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

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

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

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

#~ msgid "Telephone"
#~ msgstr "Teléfono"

#~ 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 AUX 1"

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

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

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

#~ msgid "Output Gain"
#~ msgstr "Ganancia de salida"

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

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

#~ msgid "Diagnostic"
#~ msgstr "Diagnó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 "Monitor de origen"

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

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

#~ msgid "Stereo"
#~ msgstr "Estéreo"

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

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

#~ msgid "Speaker Source"
#~ msgstr "Altavoz de origen"

#~ msgid "Microphone Source"
#~ msgstr "Micrófono de origen"

#~ 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 "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 "Mó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 "Micrófono del panel frontal"

#~ msgid "Front Panel Line In"
#~ msgstr "Entrada del panel frontal"

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

#~ msgid "Front Panel Line Out"
#~ msgstr "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 %d Function"
#~ msgstr "Función %s %d"

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

#~ msgid "Error reading %d bytes on device '%s'."
#~ msgstr "Error al leer %d bytes del dispositivo «%s»."

#~ msgid "Could not enqueue buffers in device '%s'."
#~ msgstr "No se pueden encolar los búferes en el dispositivo «%s»."

#~ msgid "Could not establish connection to sound server"
#~ msgstr "No se pudo establecer la conexión con el servidor de sonido"

#~ msgid "Failed to query sound server capabilities"
#~ msgstr "Falló al preguntar al servidor de sonido sus capacidades"

#~ msgid ""
#~ "The buffer type is not supported, or the index is out of bounds, or no "
#~ "buffers have been allocated yet, or the userptr or length are invalid. "
#~ "device %s"
#~ msgstr ""
#~ "El tipo de búfer no está soportado o el índice está fuera de los límites "
#~ "o no se han registrado búferes todavía o la longitud o el userptr son "
#~ "inválidos. Dispositivo %s"

#~ msgid ""
#~ "Failed trying to get video frames from device '%s'. Not enough memory."
#~ msgstr ""
#~ "Falló al intentar obtener cuadros de vídeo del dispositivo «%s». No hay "
#~ "memoria suficiente."

#~ msgid "insufficient memory to enqueue a user pointer buffer. device %s."
#~ msgstr ""
#~ "Memoria insuficiente para encolar un búfer puntero de usuario. "
#~ "Dispositivo %s."

#~ msgid "No free buffers found in the pool at index %d."
#~ msgstr "No se encontraron búferes libres en el índice %d del «pool»."

#~ msgid "Could not get buffers from device '%s'."
#~ msgstr "No se pudieron obtener búferes del dispositivo «%s»."

#~ msgid "Could not get enough buffers from device '%s'."
#~ msgstr "No se pudieron obtener búferes suficientes del dispositivo «%s»."

#~ msgid "Error starting streaming capture from device '%s'."
#~ msgstr "Error al iniciar el flujo de captura del dispositivo «%s»."

#~ msgid "Error stopping streaming capture from device '%s'."
#~ msgstr "Error al parar el flujo de captura del dispositivo «%s»."

#~ msgid "Failed getting controls attributes on device '%s.'"
#~ msgstr "Falló al obtener los atributos de control en el dispositivo «%s»."

#~ msgid "Could not read from CD."
#~ msgstr "No se pudo leer del CD."

#~ msgid "Disc is not an Audio CD."
#~ msgstr "El disco no es un CD de sonido."

#~ msgid "This file is encrypted and cannot be played."
#~ msgstr "Este archivo está cifrado y no se puede reproducir."
