# 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: 2012-09-17 16:41+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"

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

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

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

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 "No URL set."
msgstr "No s'ha indicat cap URL."

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 "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 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 ""
"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 "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 ""
"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 "Cannot identify device '%s'."
msgstr "No es pot identificar 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 "Microphone"
#~ msgstr "Micròfon"

#~ 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 "Line In"
#~ msgstr "Línia d'entrada"

#~ msgid "Internal CD"
#~ msgstr "CD intern"

#~ 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 "Guany d'enregistrament"

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

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

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

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

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

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

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

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

#~ 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 "SPDIF In"
#~ msgstr "Entrada SPDIF"

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