# 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-09-18 19:27+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 couldn'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."
