# Translation of gst-plugins-bad to French
# Copyright (C) 2003-2011 GStreamer core team
# This file is distributed under the same license as the gst-plugins-bad package.
#
# Claude Paroz <claude@2xlibre.net>, 2008-2011.
# Stéphane Aulery <lkppo@free.fr>, 2015.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.4.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2015-10-30 14:30+0200\n"
"PO-Revision-Date: 2015-04-26 19:24+0200\n"
"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

msgid "format wasn't negotiated before get function"
msgstr "Format non négocié avant l'appel de la fonction get"

msgid "default GStreamer sound events audiosink"
msgstr "sons par défaut audiosink des événements GStreamer"

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 "description des sons par défaut audiosink des événements GStreamer"

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 "videosink GStreamer par défaut"

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 "audiosrc GStreamer par défaut"

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 "videosrc GStreamer par défaut"

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 "aperçu GStreamer par défaut"

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 "description de l’aperçu GStreamer par défaut"

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

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

msgid "Could not read title information for DVD."
msgstr "Impossible de lire les informations de titre du DVD."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Impossible d'ouvrir le périphérique du DVD « %s »."

msgid "Failed to set PGC based seeking."
msgstr "Impossible de définir la recherche basée sur PGC."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Impossible de lire le DVD. Il se peut que le DVD soit chiffré et qu'aucune "
"bibliothèque de déchiffrement DVD ne soit disponible."

msgid "Could not read DVD."
msgstr "Impossible de lire le DVD."

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

msgid "Could not open sndfile stream for reading."
msgstr "Impossible d'ouvrir le fichier snd en lecture."

msgid "Could not establish connection to sndio"
msgstr "Impossible de se connecter à sndio"

msgid "Failed to query sndio capabilities"
msgstr "Impossible d’interroger les capacités sndio"

msgid "Could not configure sndio"
msgstr "Impossible de configurer sndio"

msgid "Could not start sndio"
msgstr "Impossible de démarrer sndio"

msgid "Internal data flow error."
msgstr "Erreur interne de flux de données."

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 "Erreur interne de flux de données."

msgid "Couldn't download fragments"
msgstr "Impossible de télécharger les fragments"

msgid "No file name specified for writing."
msgstr "Aucun nom de fichier indiqué pour l'écriture."

#, 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 "Impossible d'ouvrir le fichier « %s » pour l'écriture."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Le périphérique « %s » n'existe pas."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Impossible d'ouvrir le périphérique frontal « %s »."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Impossible d'obtenir les paramètres du périphérique frontal « %s »."

#, fuzzy, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr "Impossible d'obtenir les paramètres du périphérique frontal « %s »."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Impossible d'ouvrir le fichier « %s » en lecture."

msgid "Couldn't find DVB channel configuration file"
msgstr ""

#, c-format
msgid "Couldn't load DVB channel configuration file: %s"
msgstr ""

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 "Impossible d'écrire dans le fichier « %s »."
