# Catalan translation of gst-plugins-good
# Copyright © 2005 Free Software Foundation, Inc.
# This file is put in the public domain.
# Jordi Mallach <jordi@sindominio.net>, 2005.
# Jordi Estrada <jordi.estrada@yamaha-motor.es>, 2011.
# Gil Forcada <gforcada@gnome.org>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.28.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2014-02-08 12:24+0100\n"
"PO-Revision-Date: 2012-01-01 14:19+0100\n"
"Last-Translator: Gil Forcada <gforcada@gnome.org>\n"
"Language-Team: Catalan <ca@dodds.net>\n"
"Language: ca\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 "Jack server not found"
msgstr ""

msgid "Failed to decode JPEG image"
msgstr "Ha fallat en descodificar la imatge JPEG"

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

msgid "Could not connect to server"
msgstr "No s'ha pogut connectar al servidor"

msgid "No URL set."
msgstr "No s'ha indicat cap URL."

msgid "Server does not support seeking."
msgstr "El servidor no ademet les cerques."

msgid "Could not resolve server name."
msgstr "No s'ha pogut resoldre el nom del servidor."

msgid "Could not establish connection to server."
msgstr "No s'ha pogut establir la connexió al servidor."

msgid "Secure connection setup failed."
msgstr "Ha fallat la configuració de connexió segura."

msgid ""
"A network error occured, or the server closed the connection unexpectedly."
msgstr ""
"S'ha produït un error de xarxa, o el servidor ha tancat la connexió "
"inesperadament."

msgid "Server sent bad data."
msgstr "El servidor ha enviat dades errònies."

msgid "Internal data stream error."
msgstr "S'ha produït un error intern de flux de dades."

msgid "No or invalid input audio, AVI stream will be corrupt."
msgstr "Manca o no és vàlida l'entrada d'àudio, el flux AVI estarà malmès."

msgid "This file contains no playable streams."
msgstr "Aquest fitxer no conté cap flux reproduïble."

msgid "This file is invalid and cannot be played."
msgstr "Aquest fitxer no és vàlid i no es pot reproduir."

msgid "Cannot play stream because it is encrypted with PlayReady DRM."
msgstr ""

msgid "This file is corrupt and cannot be played."
msgstr "Aquest fitxer està malmès i no es pot reproduir."

msgid "Invalid atom size."
msgstr "La mida de l'àtom no és vàlida."

msgid "This file is incomplete and cannot be played."
msgstr "Aquest fitxer no està complet i no es pot reproduir."

msgid "The video in this file might not play correctly."
msgstr "El vídeo en aquest fitxer podria no reproduir-se correctament."

#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr ""
"Aquest fitxer conté massa fluxos. Només s'estan reproduint els primers %d"

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""
"No s'ha trobat cap flux compatible. Podríeu necessitar instal·lar un "
"connector d'extensió RTSP del GStreamer per a fluxos de multimèdia 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 s'ha trobat cap flux compatible. Podríeu necessitar permetre més "
"protocols de transport o bé potser manca el connector d'extensió RTSP del "
"GStreamer correcte."

msgid "Internal data flow error."
msgstr "S'ha produït un error intern de flux de dades."

msgid ""
"Could not open audio device for playback. Device is being used by another "
"application."
msgstr ""
"No s'ha pogut obrir el dispositiu d'àudio per a la reproducció. Una altra "
"aplicació està utilitzant el dispositiu."

msgid ""
"Could not open audio device for playback. You don't have permission to open "
"the device."
msgstr ""
"No s'ha pogut obrir el dispositiu d'àudio per a la reproducció. No teniu "
"permís per obrir el dispositiu."

msgid "Could not open audio device for playback."
msgstr "No s'ha pogut obrir el dispositiu d'àudio per a la reproducció."

msgid ""
"Could not open audio device for playback. This version of the Open Sound "
"System is not supported by this element."
msgstr ""
"No s'ha pogut obrir el dispositiu d'àudio per a la reproducció. Aquesta "
"versió de l'Open Sound System no és compatible amb aquest element."

msgid "Playback is not supported by this audio device."
msgstr "Aquest dispositiu d'àudio no permet la reproducció."

msgid "Audio playback error."
msgstr "S'ha produït un error al reproduir l'àudio."

msgid "Recording is not supported by this audio device."
msgstr "Aquest dispositiu d'àudio no permet l'enregistrament."

msgid "Error recording from audio device."
msgstr "S'ha produït un error a l'enregistrar des del dispositiu d'àudio."

msgid ""
"Could not open audio device for recording. You don't have permission to open "
"the device."
msgstr ""
"No s'ha pogut obrir el dispositiu d'àudio per a l'enregistrament. No teniu "
"permís per obrir el dispositiu."

msgid "Could not open audio device for recording."
msgstr "No s'ha pogut obrir el dispositiu d'àudio per a l'enregistrament."

msgid "Record Source"
msgstr "Font d'enregistrament"

msgid "Microphone"
msgstr "Micròfon"

msgid "Line In"
msgstr "Línia d'entrada"

msgid "Internal CD"
msgstr "CD intern"

msgid "SPDIF In"
msgstr "Entrada SPDIF"

msgid "AUX 1 In"
msgstr "Entrada AUX 1"

msgid "AUX 2 In"
msgstr "Entrada AUX 2"

#, fuzzy
msgid "Codec Loopback"
msgstr "Bucle local"

#, fuzzy
msgid "SunVTS Loopback"
msgstr "Bucle local"

msgid "Volume"
msgstr "Volum"

msgid "Gain"
msgstr "Guany"

msgid "Monitor"
msgstr "Monitor"

msgid "Built-in Speaker"
msgstr "Altaveu incorporat"

msgid "Headphone"
msgstr "Auriculars"

msgid "Line Out"
msgstr "Línia de sortida"

msgid "SPDIF Out"
msgstr "Sortida SPDIF"

msgid "AUX 1 Out"
msgstr "Sortida AUX 1"

msgid "AUX 2 Out"
msgstr "Sortida AUX 2"

#, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr "S'ha produït un error al llegir %d bytes des del dispositiu «%s»."

#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr ""

#, c-format
msgid "Could not map buffers from device '%s'"
msgstr "No s'han pogut mapejar les memòries intermèdies del dispositiu «%s»"

#, fuzzy, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr ""
"El controlador del dispositiu «%s» no és compatible amb cap mètode de "
"captura conegut."

#, fuzzy, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr ""
"El controlador del dispositiu «%s» no és compatible amb cap mètode de "
"captura conegut."

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

#, c-format
msgid "Device '%s' is busy"
msgstr ""

#, fuzzy, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr "El dispositiu «%s» no és un dispositiu de captura."

#, fuzzy, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr "El dispositiu «%s» no és un dispositiu de captura."

#, c-format
msgid "Could not get parameters on device '%s'"
msgstr "No s'han pogut obtenir els paràmetres del dispositiu «%s»"

#, fuzzy
msgid "Video device did not accept new frame rate setting."
msgstr ""
"El dispositiu d'entrada de vídeo no ha acceptat el paràmetre nou de "
"fotogrames per segon."

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

#, fuzzy, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr ""
"No s'han pogut obtenir els paràmetres del sintonitzador %d en el dispositiu "
"«%s»."

#, fuzzy, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "S'ha produït un error al llegir %d bytes des del dispositiu «%s»."

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

#, fuzzy, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "No s'ha pogut establir l'entrada %d en el dispositiu %s."

#, c-format
msgid "Failed to set input %d on device %s."
msgstr "No s'ha pogut establir l'entrada %d en el dispositiu %s."

#, fuzzy, c-format
msgid "Failed to change mute state for device '%s'."
msgstr "No s'ha pogut obtenir la intensitat del senyal per al dispositiu «%s»."

#, c-format
msgid "Cannot identify device '%s'."
msgstr "No es pot identificar el dispositiu «%s»."

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""
"S'ha produït un error en obtenir les capacitats del dispositiu «%s»: no és "
"un controlador v4l2. Comproveu si és un controlador v4l1."

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr ""
"S'ha produït un error en consultar els atributs de l'entrada %d en el "
"dispositiu %s"

#, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr ""
"No s'han pogut obtenir els paràmetres del sintonitzador %d en el dispositiu "
"«%s»."

#, c-format
msgid "Failed to query norm on device '%s'."
msgstr "S'ha produït un error en consultar la norma en el dispositiu «%s»."

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr ""
"No s'ha pogut obtenir els atributs dels controls en el dispositiu «%s»."

#, c-format
msgid "This isn't a device '%s'."
msgstr "Això no és un dispositiu «%s»."

#, c-format
msgid "Could not open device '%s' for reading and writing."
msgstr "No s'ha pogut obrir el dispositiu «%s» per a lectura i l'escriptura."

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

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

#, c-format
msgid "Failed to set norm for device '%s'."
msgstr "No s'ha pogut establir la norma per al dispositiu «%s»."

#, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr ""
"No s'ha pogut obtenir la freqüència actual del sintonitzador per al "
"dispositiu «%s»."

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr ""
"No s'ha pogut establir la freqüència actual del sintonitzador per al "
"dispositiu «%s» a %lu Hz."

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr "No s'ha pogut obtenir la intensitat del senyal per al dispositiu «%s»."

#, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr ""
"No s'ha pogut obtenir el valor per al control %d en el dispositiu «%s»."

#, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr ""
"No s'ha pogut establir el valor %d per al control %d en el dispositiu «%s»."

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr ""
"No s'ha pogut obtenir l'entrada actual en el dispositiu «%s». Potser és un "
"dispositiu de ràdio"

#, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr ""
"No s'ha pogut obtenir la sortida actual en el dispositiu «%s». Potser és un "
"dispositiu de ràdio"

#, c-format
msgid "Failed to set output %d on device %s."
msgstr "No s'ha pogut establir la sortida %d en el dispositiu %s."

msgid "Changing resolution at runtime is not yet supported."
msgstr "Encara no es permet el canvi de la resolució en temps d'execució."

msgid "Cannot operate without a clock"
msgstr "No es pot operar sense un rellotge"

#~ msgid "Got unexpected frame size of %u instead of %u."
#~ msgstr "S'ha obtingut una mida de fotograma inesperada de %u en lloc de %u."

#~ msgid "Failed trying to get video frames from device '%s'."
#~ msgstr ""
#~ "S'ha produït un error en provar d'obtenir fotogrames de vídeo des del "
#~ "dispositiu «%s»."

#~ msgid "Failed after %d tries. device %s. system error: %s"
#~ msgstr ""
#~ "Ha fallat després de %d intents. Dispositiu %s. Error de sistema: %s"

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

#~ msgid "Treble"
#~ msgstr "Aguts"

#~ msgid "Synth"
#~ msgstr "Sintetitzador"

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

#~ msgid "Speaker"
#~ msgstr "Altaveu"

#~ msgid "Line-in"
#~ msgstr "Línia d'entrada"

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

#~ msgid "Mixer"
#~ msgstr "Mesclador"

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

#~ msgid "Record"
#~ msgstr "Enregistrament"

#~ msgid "In-gain"
#~ msgstr "Guany d'entrada"

#~ msgid "Out-gain"
#~ msgstr "Guany de sortida"

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

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

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

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

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

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

#~ msgid "Phone-in"
#~ msgstr "Entrada del telèfon"

#~ msgid "Phone-out"
#~ msgstr "Sortida del telèfon"

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

#~ msgid "Radio"
#~ msgstr "Ràdio"

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr ""
#~ "No s'ha pogut obrir el dispositiu d'àudio per a la gestió del control del "
#~ "mesclador."

#~ 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 s'ha pogut obrir el dispositiu d'àudio per a la gestió del control del "
#~ "mesclador. Aquesta versió de l'Open Sound System no és compatible amb "
#~ "aquest element."

#~ msgid "Master"
#~ msgstr "Mestre"

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

#~ msgid "Rear"
#~ msgstr "Posterior"

#~ msgid "Headphones"
#~ msgstr "Auriculars"

#~ msgid "Center"
#~ msgstr "Central"

#~ msgid "LFE"
#~ msgstr "LFE (efectes de baixa freqüència)"

#~ msgid "Surround"
#~ msgstr "So envoltant"

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

#~ msgid "AUX Out"
#~ msgstr "Sortida AUX"

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

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

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

#~ msgid "Telephone"
#~ msgstr "Telèfon"

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

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

#~ msgid "Record Gain"
#~ msgstr "Guany d'enregistrament"

#~ msgid "Output Gain"
#~ msgstr "Guany de sortida"

#~ msgid "Microphone Boost"
#~ msgstr "Amplificació del micròfon"

#~ msgid "Diagnostic"
#~ msgstr "Diagnòstic"

#~ msgid "Bass Boost"
#~ msgstr "Amplificació dels baixos"

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

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

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

#~ msgid "Keyboard Beep"
#~ msgstr "So del teclat"

#~ msgid "Simulate Stereo"
#~ msgstr "Estèreo simulat"

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

#~ msgid "Surround Sound"
#~ msgstr "So envoltant"

#~ msgid "Microphone Gain"
#~ msgstr "Guany del micròfon"

#~ msgid "Speaker Source"
#~ msgstr "Font de l'altaveu"

#~ msgid "Microphone Source"
#~ msgstr "Font del micròfon"

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

#~ msgid "Center / LFE"
#~ msgstr "Centre / LFE (efectes de baixa freqüència)"

#~ msgid "Stereo Mix"
#~ msgstr "Mescla estèreo"

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

#~ msgid "Input Mix"
#~ msgstr "Mescla d'entrada"

#~ msgid "Microphone 1"
#~ msgstr "Micròfon 1"

#~ msgid "Microphone 2"
#~ msgstr "Micròfon 2"

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

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

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

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

#~ msgid "Handset"
#~ msgstr "Comandament a distància"

#~ msgid "Other"
#~ msgstr "Altres"

#~ msgid "None"
#~ msgstr "Cap"

#~ msgid "On"
#~ msgstr "Encès"

#~ msgid "Off"
#~ msgstr "Apagat"

#~ msgid "Mute"
#~ msgstr "Silenci"

#~ msgid "Fast"
#~ msgstr "Ràpid"

#~ msgid "Very Low"
#~ msgstr "Molt baixa"

#~ msgid "Low"
#~ msgstr "Baixa"

#~ msgid "Medium"
#~ msgstr "Mitjana"

#~ msgid "High"
#~ msgstr "Alta"

#~ msgid "Very High"
#~ msgstr "Molt alta"

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

#~ msgid "Front Panel Microphone"
#~ msgstr "Micròfon del quadre frontal"

#~ msgid "Front Panel Line In"
#~ msgstr "Línia d'entrada del quadre frontal"

#~ msgid "Front Panel Headphones"
#~ msgstr "Auriculars del quadre frontal"

#~ msgid "Front Panel Line Out"
#~ msgstr "Línia de sortida del quadre frontal"

#~ msgid "Green Connector"
#~ msgstr "Connector verd"

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

#~ msgid "Blue Connector"
#~ msgstr "Connector blau"

#~ msgid "White Connector"
#~ msgstr "Connector blanc"

#~ msgid "Black Connector"
#~ msgstr "Connector negre"

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

#~ msgid "Orange Connector"
#~ msgstr "Connector taronja"

#~ msgid "Red Connector"
#~ msgstr "Connector vermell"

#~ msgid "Yellow Connector"
#~ msgstr "Connector groc"

#~ msgid "Green Front Panel Connector"
#~ msgstr "Connector verd del quadre frontal"

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

#~ msgid "Blue Front Panel Connector"
#~ msgstr "Connector blau del quadre frontal"

#~ msgid "White Front Panel Connector"
#~ msgstr "Connector blanc del quadre frontal"

#~ msgid "Black Front Panel Connector"
#~ msgstr "Connector negre del quadre frontal"

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

#~ msgid "Orange Front Panel Connector"
#~ msgstr "Connector taronja del quadre frontal"

#~ msgid "Red Front Panel Connector"
#~ msgstr "Connector vermell del quadre frontal"

#~ msgid "Yellow Front Panel Connector"
#~ msgstr "Connector groc del quadre frontal"

#~ msgid "Spread Output"
#~ msgstr "Sortida de propagació"

#~ msgid "Downmix"
#~ msgstr "Downmix"

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

#~ msgid "Virtual Mixer Output"
#~ msgstr "Sortida del mesclador virtual"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "Canals del mesclador virtual"

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

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

#~ msgid "Could not establish connection to sound server"
#~ msgstr "No s'ha pogut establir la connexió al servidor de so"

#~ msgid "Failed to query sound server capabilities"
#~ msgstr "Ha fallat en consultar les capacitats del servidor de so"

#~ msgid "Error reading %d bytes on device '%s'."
#~ msgstr "S'ha produït un error al llegir %d bytes en el dispositiu «%s»."

#~ msgid "Could not enqueue buffers in device '%s'."
#~ msgstr ""
#~ "No s'han pogut enviar a la cua les memòries intermèdies en el dispositiu "
#~ "«%s»."

#~ msgid "Describes the selected input element."
#~ msgstr "Descriu l'element d'entrada seleccionat."

#~ msgid "Describes the selected output element for Audio/Video Conferencing."
#~ msgstr ""
#~ "Descriu l'element de sortida seleccionat per a les conferències d'àudio/"
#~ "vídeo."

#~ msgid "Describes the selected output element for Music and Movies."
#~ msgstr ""
#~ "Descriu l'element de sortida seleccionat per a la música i les "
#~ "pel·lícules."

#~ msgid "Describes the selected output element."
#~ msgstr "Descriu l'element de sortida seleccionat."

#~ msgid "GStreamer audiosink for Audio/Video Conferencing"
#~ msgstr "L'audiosink del GStreamer per a les conferències d'àudio/vídeo"

#~ msgid "GStreamer audiosink for Music and Movies"
#~ msgstr "L'audiosink del GStreamer per a la música i les pel·lícules"

#~ msgid ""
#~ "GStreamer can play audio using any number of output elements. Some "
#~ "possible choices are osssink, esdsink and alsasink. The audiosink can be "
#~ "a partial pipeline instead of just one element."
#~ msgstr ""
#~ "El GStreamer pot reproduir l'àudio utilitzant qualsevol nombre d'elements "
#~ "de sortida. Algunes opcions possibles són l'osssink, l'esdsink i "
#~ "l'alsasink. L'audiosink pot ser un conducte parcial en lloc d'un sol "
#~ "element."

#~ 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 ""
#~ "El GStreamer pot reproduir el vídeo utilitzant qualsevol nombre "
#~ "d'elements de sortida. Algunes opcions possibles són el xvimagesink, el "
#~ "ximagesink, el sdlvideosink i l'aasink. El videosink pot ser un conducte "
#~ "parcial en lloc d'un sol element."

#~ msgid ""
#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
#~ "stream in video frames. Default is goom but more visualization plugins "
#~ "will be ported soon. The visualization plugin can be a partial pipeline "
#~ "instead of just one element."
#~ msgstr ""
#~ "El GStreamer pot posar els connectors de visualització en un conducte per "
#~ "transformar el flux d'àudio en els fotogrames del vídeo. Per defecte és "
#~ "el goom però aviat s'importaran més connectors de visualització. El "
#~ "connector de visualització pot ser un conducte parcial en lloc d'un sol "
#~ "element."

#~ msgid ""
#~ "GStreamer can record audio using any number of input elements. Some "
#~ "possible choices are osssrc, esdsrc and alsasrc. The audio source can be "
#~ "a partial pipeline instead of just one element."
#~ msgstr ""
#~ "El GStreamer pot enregistrar l'àudio utilitzant qualsevol nombre "
#~ "d'elements d'entrada. Algunes opcions possibles són l'osssrc, l'esdsrc i "
#~ "l'alsasrc. La font d'àudio pot ser un conducte parcial en lloc d'un sol "
#~ "element."

#~ msgid ""
#~ "GStreamer can record video from any number of input elements. Some "
#~ "possible choices are v4lsrc and videotestsrc. The video source can be a "
#~ "partial pipeline instead of just one element."
#~ msgstr ""
#~ "El GStreamer pot enregistrar el vídeo de qualsevol nombre d'elements "
#~ "d'entrada. Algunes opcions possibles són el v4lsrc i el videotestsrc. La "
#~ "font del vídeo pot ser un conducte parcial en lloc d'un sol element."

#~ msgid "default GStreamer audio source"
#~ msgstr "font d'àudio del GStreamer per defecte"

#~ msgid "default GStreamer audiosink"
#~ msgstr "audiosink del GStreamer per defecte"

#~ msgid "default GStreamer video source"
#~ msgstr "font de vídeo del GStreamer per defecte"

#~ msgid "default GStreamer videosink"
#~ msgstr "videosink del GStreamer per defecte"

#~ msgid "default GStreamer visualization plugin"
#~ msgstr "connector de visualització del GStreamer per defecte"

#~ msgid "description for GStreamer audiosink for Audio/Video Conferencing"
#~ msgstr ""
#~ "descripció de l'audiosink del GStreamer per a les conferències d'àudio/"
#~ "vídeo"

#~ msgid "description for GStreamer audiosink for Music and Movies"
#~ msgstr ""
#~ "descripció de l'audiosink del GStreamer per a la música i les pel·lícules"

#~ msgid "description for default GStreamer audiosink"
#~ msgstr "descripció de l'audiosink del GStreamer per defecte"

#~ msgid "description for default GStreamer audiosrc"
#~ msgstr "descripció de l'audiosrc del GStreamer per defecte"
