# translation of gst-plugins-bad-1.4.0.nl.po to Dutch
# translation of gst-plugins-bad to Dutch
# Copyright (C) 2004, 2007, 2008, 2009 Free Software Foundation, Inc.
#
# This file is distributed under the same license as the gst-plugins-bad package.
# Freek de Kruijf <f.de.kruijf@gmail.com>, 2007, 2008, 2009, 2011, 2013, 2014.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.4.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2015-06-24 22:59+0200\n"
"PO-Revision-Date: 2014-07-22 10:49+0200\n"
"Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.5\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"

msgid "format wasn't negotiated before get function"
msgstr "formaat is niet onderhandeld vóór get-functie"

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 "Kan de titelinformatie voor de DVD niet lezen."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Kan het DVD-apparaat '%s' niet openen."

msgid "Failed to set PGC based seeking."
msgstr "Het instellen van het zoeken op basis van PGC is mislukt."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Kon de dvd niet lezen. Dit kan zo zijn omdat de dvd versleuteld is en een "
"bibliotheek voor ontcijferen niet is geïnstalleerd"

msgid "Could not read DVD."
msgstr "Kon de dvd niet lezen."

msgid "This file contains no playable streams."
msgstr "Dit bestand bevat geen af te spelen streams."

msgid "Could not open sndfile stream for reading."
msgstr "Kan sndfile-stream niet openen om te lezen."

msgid "Could not establish connection to sndio"
msgstr "Kon geen verbinding opzetten naar sndio"

msgid "Failed to query sndio capabilities"
msgstr "Opvragen van de mogelijkheden van sndio is mislukt"

msgid "Could not configure sndio"
msgstr "Kon sndio niet instellen"

msgid "Could not start sndio"
msgstr "Kon sndio niet starten"

msgid "Internal data flow error."
msgstr "Interne fout met gegevensdoorvoer."

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""
"Gegenereerd bestand heeft een grotere voorlooptijd dan de duur van zijn "
"streams"

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr "Ontbrekend element '%s' - controleer uw installatie van GStreamer."

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""
"Locatie van bestand is op NUL gezet, stel het in op een geldige bestandsnaam"

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

msgid "Subpicture format was not configured before data flow"
msgstr ""
"Het format van de subafbeelding was niet ingesteld voor de gegevensstroom"

msgid "Failed to get fragment URL."
msgstr "Verkrijgen van de URL van het fragment is mislukt."

msgid "Internal data stream error."
msgstr "Interne fout in gegevensstroom."

msgid "Couldn't download fragments"
msgstr "Kan fragmenten niet downloaden"

msgid "No file name specified for writing."
msgstr "Geen bestandsnaam gespecificeerd voor de uitvoer."

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""
"Ingegeven bestandsnaam \"%s\" kan niet geconverteerd worden naar de codering "
"van een lokale bestandsnaam."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Kan bestand \"%s\" niet openen voor uitvoer."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Apparaat \"%s\" bestaat niet."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Kan het frontend-apparaat \"%s\" niet openen."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Kan de instellingen van het frontend-apparaat \"%s\" niet verkrijgen."

#, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr "Kan de afleversystemen van het frontend-apparaat \"%s\" niet opnoemen."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Kan bestand \"%s\" niet openen om te lezen."

msgid "Couldn't find DVB channel configuration file"
msgstr "Kon het instellingenbestand van het DVB-kanaal niet vinden"

#, c-format
msgid "Couldn't load DVB channel configuration file: %s"
msgstr "Kon het instellingenbestand \"%s\" van het DVB-kanaal niet laden"

msgid "DVB channel configuration file doesn't contain any channels"
msgstr "Het instellingenbestand van het DVB-kanaal bevat geen kanalen"

#, c-format
msgid "Couldn't find details for DVB channel %s"
msgstr "Kon de details voor het DVB-kanaal %s niet vinden"

#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "De URI van het manifest verkrijgen lukt niet"

#~ msgid "Could not write to file \"%s\"."
#~ msgstr "Kan niet in bestand \"%s\" schrijven."

#~ msgid "Internal clock error."
#~ msgstr "Interne fout met de klok."

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr "Kan het audio-apparaat niet openen voor de mixerbesturing."

#~ msgid ""
#~ "Could not open audio device for mixer control handling. This version of "
#~ "the Open Sound System is not supported by this element."
#~ msgstr ""
#~ "Kan het audio-apparaat niet openen voor de mixerbesturing. Deze versie "
#~ "van het Open Soundsysteem wordt niet ondersteund door dit element."

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

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

#~ msgid "Front"
#~ msgstr "Voorzijde"

#~ msgid "Rear"
#~ msgstr "Achterzijde"

#~ msgid "Headphones"
#~ msgstr "Hoofdtelefoon"

#~ msgid "Center"
#~ msgstr "Midden"

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

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

#~ msgid "Side"
#~ msgstr "Zijkant"

#~ msgid "Built-in Speaker"
#~ msgstr "Ingebouwde luidspreker"

#~ msgid "AUX 1 Out"
#~ msgstr "AUX 1-out"

#~ msgid "AUX 2 Out"
#~ msgstr "AUX 2-out"

#~ msgid "AUX Out"
#~ msgstr "AUX-out"

#~ msgid "Bass"
#~ msgstr "Lage tonen"

#~ msgid "Treble"
#~ msgstr "Hoge tonen"

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

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

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

#~ msgid "Telephone"
#~ msgstr "Telefoon"

#~ msgid "Microphone"
#~ msgstr "Microfoon"

#~ msgid "Line Out"
#~ msgstr "Line-out"

#~ msgid "Line In"
#~ msgstr "Line-in"

#~ msgid "Internal CD"
#~ msgstr "Interne cd"

#~ msgid "Video In"
#~ msgstr "Video-in"

#~ msgid "AUX 1 In"
#~ msgstr "AUX 1-in"

#~ msgid "AUX 2 In"
#~ msgstr "AUX 2-in"

#~ msgid "AUX In"
#~ msgstr "AUX-in"

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

#~ msgid "Record Gain"
#~ msgstr "Opnameversterking"

#~ msgid "Output Gain"
#~ msgstr "Uitgangversterking"

#~ msgid "Microphone Boost"
#~ msgstr "Microfoon-boost"

#~ msgid "Loopback"
#~ msgstr "Terugkoppeling"

#~ msgid "Diagnostic"
#~ msgstr "Diagnostiek"

#~ msgid "Bass Boost"
#~ msgstr "Lage tonen-boost"

#~ msgid "Playback Ports"
#~ msgstr "Afspeelpoorten"

#~ msgid "Input"
#~ msgstr "Invoer"

#~ msgid "Record Source"
#~ msgstr "Opnamebron"

#~ msgid "Monitor Source"
#~ msgstr "Monitorbron"

#~ msgid "Keyboard Beep"
#~ msgstr "Toetsenbordpiep"

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

#~ msgid "Simulate Stereo"
#~ msgstr "Stereo simuleren"

#~ msgid "Stereo"
#~ msgstr "Stereo"

#~ msgid "Surround Sound"
#~ msgstr "Surround geluid"

#~ msgid "Microphone Gain"
#~ msgstr "Microfoonversterking"

#~ msgid "Speaker Source"
#~ msgstr "Luidsprekerbron"

#~ msgid "Microphone Source"
#~ msgstr "Microfoonbron"

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

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

#~ msgid "Stereo Mix"
#~ msgstr "Stereo mix"

#~ msgid "Mono Mix"
#~ msgstr "Mono mix"

#~ msgid "Input Mix"
#~ msgstr "Invoer mix"

#~ msgid "SPDIF In"
#~ msgstr "SPDIF-in"

#~ msgid "SPDIF Out"
#~ msgstr "SPDIF-out"

#~ msgid "Microphone 1"
#~ msgstr "Microfoon 1"

#~ msgid "Microphone 2"
#~ msgstr "Microfoon 2"

#~ msgid "Digital Out"
#~ msgstr "Digitaal-out"

#~ msgid "Digital In"
#~ msgstr "Digitaal-in"

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

#~ msgid "Modem"
#~ msgstr "Modem"

#~ msgid "Handset"
#~ msgstr "Mobieltje"

#~ msgid "Other"
#~ msgstr "Overige"

#~ msgid "None"
#~ msgstr "Geen"

#~ msgid "On"
#~ msgstr "Aan"

#~ msgid "Off"
#~ msgstr "Uit"

#~ msgid "Mute"
#~ msgstr "Gedempt"

#~ msgid "Fast"
#~ msgstr "Snel"

#~ msgid "Very Low"
#~ msgstr "Zeer laag"

#~ msgid "Low"
#~ msgstr "Laag"

#~ msgid "Medium"
#~ msgstr "Gemiddeld"

#~ msgid "High"
#~ msgstr "Hoog"

#~ msgid "Very High"
#~ msgstr "Zeer hoog"

#~ msgid "Production"
#~ msgstr "Productie"

#~ msgid "Front Panel Microphone"
#~ msgstr "Microfoon in frontpaneel"

#~ msgid "Front Panel Line In"
#~ msgstr "Lijn-in in frontpaneel"

#~ msgid "Front Panel Headphones"
#~ msgstr "Hoofdtelefoon in frontpaneel"

#~ msgid "Front Panel Line Out"
#~ msgstr "Lijn-in in frontpaneel"

#~ msgid "Green Connector"
#~ msgstr "Groene connector"

#~ msgid "Pink Connector"
#~ msgstr "Roze connector"

#~ msgid "Blue Connector"
#~ msgstr "Blauwe connector"

#~ msgid "White Connector"
#~ msgstr "Witte connector"

#~ msgid "Black Connector"
#~ msgstr "Zwarte connector"

#~ msgid "Gray Connector"
#~ msgstr "Grijze connector"

#~ msgid "Orange Connector"
#~ msgstr "Oranje connector"

#~ msgid "Red Connector"
#~ msgstr "Rode connector"

#~ msgid "Yellow Connector"
#~ msgstr "Gele connector"

#~ msgid "Green Front Panel Connector"
#~ msgstr "Groene connector in frontpaneel"

#~ msgid "Pink Front Panel Connector"
#~ msgstr "Roze connector in frontpaneel"

#~ msgid "Blue Front Panel Connector"
#~ msgstr "Blauwe connector in frontpaneel"

#~ msgid "White Front Panel Connector"
#~ msgstr "Witte connector in frontpaneel"

#~ msgid "Black Front Panel Connector"
#~ msgstr "Zwarte connector in frontpaneel"

#~ msgid "Gray Front Panel Connector"
#~ msgstr "Grijze connector in frontpaneel"

#~ msgid "Orange Front Panel Connector"
#~ msgstr "Oranje connector in frontpaneel"

#~ msgid "Red Front Panel Connector"
#~ msgstr "Rode connector in frontpaneel"

#~ msgid "Yellow Front Panel Connector"
#~ msgstr "Gele connector in frontpaneel"

#~ msgid "Spread Output"
#~ msgstr "Spread Output"

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

#~ msgid "Virtual Mixer Input"
#~ msgstr "Virtuele mixer-invoer"

#~ msgid "Virtual Mixer Output"
#~ msgstr "Virtuele mixer-uitvoer"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "Virtuele mixer-kanalen"

#~ msgid "%s Function"
#~ msgstr "%s-functie"

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

#~ msgid ""
#~ "Could not open audio device for playback. Device is being used by another "
#~ "application."
#~ msgstr ""
#~ "Kan het audio-apparaat niet openen voor afspelen. Apparaat is in gebruik "
#~ "bij een andere applicatie."

#~ msgid ""
#~ "Could not open audio device for playback. You don't have permission to "
#~ "open the device."
#~ msgstr ""
#~ "Kan het audio-apparaat niet openen voor afspelen. U hebt geen toestemming "
#~ "om het apparaat te openen."

#~ msgid "Could not open audio device for playback."
#~ msgstr "Kan het audio-apparaat niet openen voor afspelen."

#~ msgid ""
#~ "Could not open audio device for playback. This version of the Open Sound "
#~ "System is not supported by this element."
#~ msgstr ""
#~ "Kan het audio-apparaat niet openen voor afspelen. Deze versie van het "
#~ "Open Soundsysteem wordt niet ondersteund door dit element."

#~ msgid "Playback is not supported by this audio device."
#~ msgstr "Afspelen wordt door dit audio-apparaat niet ondersteund."

#~ msgid "Audio playback error."
#~ msgstr "Fout bij audio-afspelen."

#~ msgid "Recording is not supported by this audio device."
#~ msgstr "Opnemen wordt door dit audio-apparaat niet ondersteund."

#~ msgid "Error recording from audio device."
#~ msgstr "Fout bij opnemen met dit audio-apparaat."
