# 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: 2014-12-18 12:07+0100\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 "Internal data stream error."
msgstr "Interne fout in gegevensstroom."

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 instea 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 "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 "Couldn't get the Manifest's URI"
msgstr "De URI van het manifest verkrijgen lukt niet"

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

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

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 "Subpicture format was not configured before data flow"
msgstr ""
"Het format van de subafbeelding was niet ingesteld voor de gegevensstroom"

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 "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."
