# German translations for gst-plugins-good 1.3.90
# Copyright (C) 2007 Free Software Foundation, Inc.
# This file is distributed under the same license as the gst-plugins-good package.
#
# PCM = PCM
# Line-in = Line-Eingang
# Line-out = Line-Ausgang
# Pipeline = Weiterleitung
# Stream = Strom
# mixer  = Mischer
# Christian Kirbach <christian.kirbach@gmail.com>, 2010, 2011, 2012, 2013, 2014.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2017-05-04 15:05+0300\n"
"PO-Revision-Date: 2016-02-22 23:42+0100\n"
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\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"
"X-Generator: Poedit 1.8.7\n"

msgid "Jack server not found"
msgstr "Jack-Server nicht gefunden"

msgid "Failed to decode JPEG image"
msgstr "Dekodieren des JPEG-Bildes schlug fehl"

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

msgid "Could not connect to server"
msgstr "Verbindung zum Server konnte nicht hergestellt werden"

msgid "No URL set."
msgstr "Keine Adresse festgelegt."

msgid "Could not resolve server name."
msgstr "Servername konnte nicht aufgelöst werden."

msgid "Could not establish connection to server."
msgstr "Es konnte keine Verbindung zum Server hergestellt werden."

msgid "Secure connection setup failed."
msgstr "Aufbau einer sichern Verbindung ist gescheitert."

msgid ""
"A network error occurred, or the server closed the connection unexpectedly."
msgstr ""
"Ein Netzwerkfehler ist aufgetreten, oder der Server schloss die Verbindung "
"unerwartet."

msgid "Server sent bad data."
msgstr "Server gab unerwartete Daten zurück."

msgid "Server does not support seeking."
msgstr "Suchlauf wird nicht vom Server unterstützt."

msgid "No or invalid input audio, AVI stream will be corrupt."
msgstr "Kein oder ungültiger Eingabeton, der AVI-Strom wird fehlerhaft sein."

msgid "This file contains no playable streams."
msgstr "Diese Datei enthält keine abspielbaren Ströme."

msgid "This file is invalid and cannot be played."
msgstr "Diese Datei ist ungültig und kann nicht wiedergegeben werden."

msgid "Cannot play stream because it is encrypted with PlayReady DRM."
msgstr ""
"Der Strom kann nicht wiedergegeben werden, weil er mit PlayReady DRM "
"verschlüsselt ist."

msgid "This file is corrupt and cannot be played."
msgstr "Diese Datei ist beschädigt und kann nicht wiedergegeben werden."

msgid "Invalid atom size."
msgstr "Ungültige Atom-Größe."

msgid "This file is incomplete and cannot be played."
msgstr "Diese Datei ist unvollständig und kann nicht wiedergegeben werden."

msgid "The video in this file might not play correctly."
msgstr "Das Video in dieser Datei wird vielleicht nicht korrekt wiedergegeben."

#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr ""
"Diese Datei enthält zu viele Ströme. Es werden nur die ersten %d "
"wiedergegeben"

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""
"Es wurde kein unterstützter Strom gefunden. Sie müssen vielleicht ein Plugin "
"zur RTSP-Erweiterung von GStreamer für »Real«-Medienströme installieren."

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 ""
"Es wurde kein unterstützter Strom gefunden. Sie müssen eventuell zusätzliche "
"Transport-Protokolle erlauben oder es fehlt vielleicht das richtige Plugin "
"zur RTSP-Erweiterung."

msgid ""
"Could not open audio device for playback. Device is being used by another "
"application."
msgstr ""
"Das Audio-Gerät konnte nicht zur Wiedergabe geöffnet werden. Das Gerät wird "
"von einer anderen Anwendung verwendet."

msgid ""
"Could not open audio device for playback. You don't have permission to open "
"the device."
msgstr ""
"Das Audio-Gerät konnte nicht zur Wiedergabe geöffnet werden. Sie haben nicht "
"die Berechtigungen zum Öffnen des Gerätes."

msgid "Could not open audio device for playback."
msgstr "Das Audio-Gerät konnte nicht zur Wiedergabe geöffnet werden. "

msgid ""
"Could not open audio device for playback. This version of the Open Sound "
"System is not supported by this element."
msgstr ""
"Das Audio-Gerät konnte nicht zur Wiedergabe geöffnet werden. Diese Version "
"des Open Sound System (OSS) wird nicht von diesem Element unterstützt."

msgid "Playback is not supported by this audio device."
msgstr "Wiedergabe wird von diesem Audio-Gerät nicht unterstützt."

msgid "Audio playback error."
msgstr "Fehler bei Audio-Wiedergabe."

msgid "Recording is not supported by this audio device."
msgstr "Aufnahme wird von diesem Audio-Gerät nicht unterstützt."

msgid "Error recording from audio device."
msgstr "Fehler beim Aufnehmen vom Audio-Gerät."

msgid ""
"Could not open audio device for recording. You don't have permission to open "
"the device."
msgstr ""
"Das Audio-Gerät konnte nicht zur Aufnahme geöffnet werden. Sie haben nicht "
"die Berechtigungen zum Öffnen des Gerätes."

msgid "Could not open audio device for recording."
msgstr "Das Audio-Gerät konnte nicht zur Aufnahme geöffnet werden. "

msgid "CoreAudio device not found"
msgstr "CoreAudio-Gerät nicht gefunden"

msgid "CoreAudio device could not be opened"
msgstr "CoreAudio-Gerät konnte nicht geöffnet werden"

msgid "Record Source"
msgstr "Aufnahmequelle"

msgid "Microphone"
msgstr "Mikrofon"

msgid "Line In"
msgstr "Line-Eingang"

msgid "Internal CD"
msgstr "Interne CD"

msgid "SPDIF In"
msgstr "SPDIF-Eingang"

msgid "AUX 1 In"
msgstr "AUX-Eingang 1"

msgid "AUX 2 In"
msgstr "AUX-Eingang 2"

msgid "Codec Loopback"
msgstr "Codec-Rückschleife"

msgid "SunVTS Loopback"
msgstr "SunVTS-Rückschleife"

msgid "Volume"
msgstr "Lautstärke"

msgid "Gain"
msgstr "Pegel"

msgid "Monitor"
msgstr "Monitor"

msgid "Built-in Speaker"
msgstr "Eingebauter Lautsprecher"

msgid "Headphone"
msgstr "Kopfhörer"

# Hier ist mir noch nichts Besseres eingefallen.
msgid "Line Out"
msgstr "Ausgang"

msgid "SPDIF Out"
msgstr "SPDIF-Ausgang"

msgid "AUX 1 Out"
msgstr "AUX-Ausgang 1"

msgid "AUX 2 Out"
msgstr "AUX-Ausgang 2"

#, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr "Fehler beim Lesen von %d Bytes von Gerät »%s«."

#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr ""
"Aufzählen möglicher Videoformate, mit denen Gerät »%s« arbeiten kann, schlug "
"fehl"

# »Geholt« ist auch noch nicht optimal, aber »abgebildet« geht auch nicht wirklich.
#, c-format
msgid "Could not map buffers from device '%s'"
msgstr "Die Puffer des Gerätes »%s« konnten nicht geholt werden."

#, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr "Der Treiber von Gerät »%s« unterstützt nicht die EA-Methode %d"

#, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr "Der Treiber von Gerät »%s« unterstützt keine bekannte EA-Methode"

#, c-format
msgid "Device '%s' is busy"
msgstr "Gerät »%s« ist belegt"

#, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr "Das Gerät »%s« kann nicht bei %dx%d aufnehmen"

#, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr "Das angegebene Format kann nicht vom Gerät »%s« ausgelesen werden"

#, c-format
msgid "Device '%s' does support non-contiguous planes"
msgstr "Gerät »%s« unterstützt getrennte Ebenen"

#, c-format
msgid "Could not get parameters on device '%s'"
msgstr "Parameter konnten nicht von Gerät »%s« ausgelesen werden"

msgid "Video device did not accept new frame rate setting."
msgstr ""
"Das Video-Eingabegerät akzeptierte nicht die neue Einstellung zur "
"Bildwiederholungsrate."

msgid "Video device did not provide output format."
msgstr "Das Video-Gerät gab kein Ausgabeformat an."

msgid "Video device returned invalid dimensions."
msgstr "Das Video-Gerät gab ungültige Abmessungen zurück."

#, fuzzy
msgid "Video device uses an unsupported interlacing method."
msgstr ""
"Video-Geräte verwendet eine nicht unterstützt Methode der "
"Zeilenverschachtelung."

#, fuzzy
msgid "Video device uses an unsupported pixel format."
msgstr "Das Video-Gerät verwendet ein nicht unterstütztes Pixelformat."

msgid "Failed to configure internal buffer pool."
msgstr "Einrichten des internen Puffer-Pools ist fehlgeschlagen."

msgid "Video device did not suggest any buffer size."
msgstr "Das Videogerät gab keine Puffer-Größe an."

msgid "No downstream pool to import from."
msgstr "Es gibt keinen Downstream-Pool, aus dem importiert werden kann."

#, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr ""
"Auslesen der Einstellungen von Empfänger »%d« auf Gerät »%s« schlug fehl."

#, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "Fehler beim Ermitteln der Funktionsmerkmale von Gerät »%s«."

#, c-format
msgid "Device '%s' is not a tuner."
msgstr "»%s« ist kein Empfänger."

#, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "Empfangen eines Funksignals auf Gerät »%s« schlug fehl."

#, c-format
msgid "Failed to set input %d on device %s."
msgstr "Festlegen der Eingabe »%d« des Geräts »%s« schlug fehl."

#, c-format
msgid "Failed to change mute state for device '%s'."
msgstr "Ändern des Stummzustands von Gerät »%s« schlug fehl."

msgid "Failed to allocated required memory."
msgstr "Anfordern des benötigen Arbeitsspeichers schlug fehl."

msgid "Failed to allocate required memory."
msgstr "Anfordern des benötigen Arbeitsspeichers schlug fehl."

#, c-format
msgid "Converter on device %s has no supported input format"
msgstr "Der Umwandler auf Gerät %s hat kein unterstütztes Eingabeformat"

#, c-format
msgid "Converter on device %s has no supported output format"
msgstr "Der Umwandler auf Gerät %s hat kein unterstütztes Ausgabeformat"

#, c-format
msgid "Encoder on device %s has no supported input format"
msgstr "Der Kodierer auf Gerät %s hat kein unterstütztes Eingabeformat"

#, c-format
msgid "Encoder on device %s has no supported output format"
msgstr "Der Kodierer auf Gerät %s hat kein unterstütztes Ausgabeformat"

msgid "Failed to start decoding thread."
msgstr "Beginn der Dekodierung des JPEG-Bildes schlug fehl"

msgid "Failed to process frame."
msgstr "Verarbeiten des Einzelbilds schlug fehl."

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""
"Fehler beim Bestimmen der Fähigkeiten des Geräts »%s«: Es ist kein »v4l2«-"
"Treiber. Überprüfen Sie, ob es ein »v4l1«-Treiber ist."

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr "Abfrage der Attribute der Eingabe »%d« im Gerät »%s« schlug fehl"

#, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr ""
"Auslesen der Einstellungen der Senderwahl »%d« auf Gerät »%s« schlug fehl."

#, c-format
msgid "Failed to query norm on device '%s'."
msgstr "Abfragen der Norm auf Gerät »%s« schlug fehl."

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr "Abfrage der Kontrollattribute auf Gerät »%s« schlug fehl."

#, c-format
msgid "Cannot identify device '%s'."
msgstr "Gerät »%s« kann nicht identifiziert werden."

#, c-format
msgid "This isn't a device '%s'."
msgstr "»%s« ist kein Gerät."

#, c-format
msgid "Could not open device '%s' for reading and writing."
msgstr "Gerät »%s« konnte nicht zum Lesen oder Schreiben geöffnet werden."

#, c-format
msgid "Device '%s' is not a capture device."
msgstr "»%s« ist kein Aufnahmegerät."

#, c-format
msgid "Device '%s' is not a output device."
msgstr "»%s« ist kein Wiedergabegerät."

#, c-format
msgid "Device '%s' is not a M2M device."
msgstr "Gerät »%s« ist kein M2M-Gerät."

#, c-format
msgid "Could not dup device '%s' for reading and writing."
msgstr "Gerät »%s« konnte nicht zum Lesen oder Schreiben geöffnet werden."

#, c-format
msgid "Failed to set norm for device '%s'."
msgstr "Festlegen der Norm auf Gerät »%s« schlug fehl."

#, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr "Auslesen der aktuellen Sendefrequenz des Geräts »%s« schlug fehl."

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr ""
"Festlegen der aktuellen Sendefrequenz des Geräts »%s« auf %lu Hz schlug fehl."

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr "Auslesen der aktuellen Signalstärke des Geräts »%s« schlug fehl."

#, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr "Auslesen des Wertes der Einstellung »%d« des Geräts »%s« schlug fehl."

#, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr ""
"Festlegen des Wertes »%d« der Einstellung »%d« des Geräts »%s« schlug fehl."

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr ""
"Auslesen der aktuellen Eingabe auf dem Gerät »%s« schlug fehl. Vielleicht "
"ist es ein Funkgerät."

#, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr ""
"Auslesen der aktuellen Ausgabe des Geräts »%s« schlug fehl. Vielleicht ist "
"es ein Funkgerät."

#, c-format
msgid "Failed to set output %d on device %s."
msgstr "Festlegen der Ausgabe »%d« des Geräts »%s« schlug fehl."

msgid "Changing resolution at runtime is not yet supported."
msgstr "Ein Wechsel der Auflösung zur Laufzeit wird noch nicht unterstützt."

# Taktgeber klingt gut.
msgid "Cannot operate without a clock"
msgstr "Es kann nicht ohne einen Taktgeber gearbeitet werden."

#~ msgid "Internal data stream error."
#~ msgstr "Interner Datenstromfehler."

#~ msgid "Internal data flow error."
#~ msgstr "Interner Datenstromfehler."

#~ msgid "Device '%s' does not support video capture"
#~ msgstr "Gerät »%s« unterstützt keine Videoaufnahme"

#~ msgid "Could not establish connection to sound server"
#~ msgstr "Es konnte keine Verbindung zum Audio-Server hergestellt werden"

#~ msgid "Failed to query sound server capabilities"
#~ msgstr "Abfrage der Fähigkeiten des Audio-Servers ist fehlgeschlagen"

#~ msgid "Bass"
#~ msgstr "Bass"

#~ msgid "Treble"
#~ msgstr "Höhen"

#~ msgid "Synth"
#~ msgstr "Synth"

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

#~ msgid "Speaker"
#~ msgstr "Lautsprecher"

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

#~ msgid "CD"
#~ msgstr "CD"

#~ msgid "Mixer"
#~ msgstr "Mischer"

#~ msgid "PCM-2"
#~ msgstr "PCM 2"

#~ msgid "Record"
#~ msgstr "Aufnahme"

#~ msgid "In-gain"
#~ msgstr "Eingangspegel"

#~ msgid "Out-gain"
#~ msgstr "Ausgangspegel"

#~ msgid "Line-1"
#~ msgstr "Eingang-1"

#~ msgid "Line-2"
#~ msgstr "Eingang-2"

#~ msgid "Line-3"
#~ msgstr "Eingang-3"

#~ msgid "Digital-1"
#~ msgstr "Digital-1"

#~ msgid "Digital-2"
#~ msgstr "Digital-2"

#~ msgid "Digital-3"
#~ msgstr "Digital-3"

# Mikrofon? Zweifelhaft. Eher Kopfhörer oder Telefon.
#~ msgid "Phone-in"
#~ msgstr "Mikrofoneingang"

# Ist hier Kopfhörer oder Telefon gemeint?
#~ msgid "Phone-out"
#~ msgstr "Mikrofonausgang"

#~ msgid "Video"
#~ msgstr "Video"

#~ msgid "Radio"
#~ msgstr "Radio"

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr "Das Audio-Gerät konnte nicht für das Mischpult geöffnet werden."

#~ msgid ""
#~ "Could not open audio device for mixer control handling. This version of "
#~ "the Open Sound System is not supported by this element."
#~ msgstr ""
#~ "Das Audio-Gerät konnte nicht für das Mischpult geöffnet werden. Diese "
#~ "Version des Open Sound System (OSS) wird nicht unterstützt."

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

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

#~ msgid "Rear"
#~ msgstr "AufnahmeRückseite"

#~ msgid "Headphones"
#~ msgstr "Kopfhörer"

#~ msgid "Center"
#~ msgstr "Mitte"

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

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

#~ msgid "Side"
#~ msgstr "Seite"

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

#~ msgid "3D Depth"
#~ msgstr "3D-Tiefe"

#~ msgid "3D Center"
#~ msgstr "3D-Mitte"

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

#~ msgid "Telephone"
#~ msgstr "Telefon"

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

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

#~ msgid "Record Gain"
#~ msgstr "Aufnahmepegel"

#~ msgid "Output Gain"
#~ msgstr "Ausgangspegel"

#~ msgid "Microphone Boost"
#~ msgstr "Mikrofonverstärkung"

#~ msgid "Diagnostic"
#~ msgstr "Zur Diagnose"

#~ msgid "Bass Boost"
#~ msgstr "Bassverstärkung"

#~ msgid "Playback Ports"
#~ msgstr "Wiedergabe-Ports"

#~ msgid "Input"
#~ msgstr "Eingang"

#~ msgid "Monitor Source"
#~ msgstr "Überwachungsquelle"

#~ msgid "Keyboard Beep"
#~ msgstr "Tastatur-Piepsen"

#~ msgid "Simulate Stereo"
#~ msgstr "Stereo simulieren"

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

#~ msgid "Surround Sound"
#~ msgstr "Surround-Audio"

#~ msgid "Microphone Gain"
#~ msgstr "Mikrofonpegel"

#~ msgid "Speaker Source"
#~ msgstr "Lautsprecherquelle"

#~ msgid "Microphone Source"
#~ msgstr "Mikrofonquelle"

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

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

#~ msgid "Stereo Mix"
#~ msgstr "Stereo-Mischpult"

#~ msgid "Mono Mix"
#~ msgstr "Mono-Mischpult"

#~ msgid "Input Mix"
#~ msgstr "Eingangs-Mischpult"

#~ msgid "Microphone 1"
#~ msgstr "Mikrofon 1"

#~ msgid "Microphone 2"
#~ msgstr "Mikrofon 2"

#~ msgid "Digital Out"
#~ msgstr "Digital-Ausgang"

#~ msgid "Digital In"
#~ msgstr "Digital-Eingang"

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

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

#~ msgid "Handset"
#~ msgstr "Hörer"

#~ msgid "Other"
#~ msgstr "Anderes"

#~ msgid "None"
#~ msgstr "Kein"

#~ msgid "On"
#~ msgstr "Aktiviert"

#~ msgid "Off"
#~ msgstr "Deaktiviert"

#~ msgid "Mute"
#~ msgstr "Stumm"

#~ msgid "Fast"
#~ msgstr "Schnell"

#~ msgid "Very Low"
#~ msgstr "Sehr niedrig"

#~ msgid "Low"
#~ msgstr "Niedrig"

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

#~ msgid "High"
#~ msgstr "Hoch"

#~ msgid "Very High"
#~ msgstr "Sehr hoch"

#~ msgid "Production"
#~ msgstr "Produktion"

#~ msgid "Front Panel Microphone"
#~ msgstr "Mikrofon am Vordereingang"

#~ msgid "Front Panel Line In"
#~ msgstr "Line-Eingang am Vordereingang"

#~ msgid "Front Panel Headphones"
#~ msgstr "Kopfhörer am Vordereingang"

#~ msgid "Front Panel Line Out"
#~ msgstr "Line-Ausgang am Vordereingang"

#~ msgid "Green Connector"
#~ msgstr "Grüner Stecker"

#~ msgid "Pink Connector"
#~ msgstr "Rosa Stecker"

#~ msgid "Blue Connector"
#~ msgstr "Blauer Stecker"

#~ msgid "White Connector"
#~ msgstr "Weißer Stecker"

#~ msgid "Black Connector"
#~ msgstr "Schwarzer Stecker"

#~ msgid "Gray Connector"
#~ msgstr "Grauer Stecker"

#~ msgid "Orange Connector"
#~ msgstr "Oranger Stecker"

#~ msgid "Red Connector"
#~ msgstr "Roter Stecker"

#~ msgid "Yellow Connector"
#~ msgstr "Gelber Stecker"

#~ msgid "Green Front Panel Connector"
#~ msgstr "Grüner Stecker am Vordereingang"

#~ msgid "Pink Front Panel Connector"
#~ msgstr "Rosa Stecker am Vordereingang"

#~ msgid "Blue Front Panel Connector"
#~ msgstr "Blauer Stecker am Vordereingang"

#~ msgid "White Front Panel Connector"
#~ msgstr "Weißer Stecker am Vordereingang"

#~ msgid "Black Front Panel Connector"
#~ msgstr "Schwarzer Stecker am Vordereingang"

#~ msgid "Gray Front Panel Connector"
#~ msgstr "Grauer Stecker am Vordereingang"

#~ msgid "Orange Front Panel Connector"
#~ msgstr "Oranger Stecker am Vordereingang"

#~ msgid "Red Front Panel Connector"
#~ msgstr "Roter Stecker am Vordereingang"

#~ msgid "Yellow Front Panel Connector"
#~ msgstr "Gelber Stecker am Vordereingang"

#~ msgid "Spread Output"
#~ msgstr "Ausgabe verstreuen"

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

#~ msgid "Virtual Mixer Input"
#~ msgstr "Eingang des virtuellen Mischpults"

#~ msgid "Virtual Mixer Output"
#~ msgstr "Ausgang des virtuellen Mischpults"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "Kanäle des virtuellen Mischpults"

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

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

# »Frame« sollten wir im Zusammenhang mit Videos vielleicht besser so belassen. Habe ich in gnome-subtitles auch so gemacht.
#~ msgid "Got unexpected frame size of %u instead of %u."
#~ msgstr "Unerwartete Frame-Größe von %u anstatt %u wurde erhalten."

#~ msgid "Error reading %d bytes on device '%s'."
#~ msgstr "Fehler beim Lesen von %d Bytes auf Gerät »%s«."

#~ msgid "Could not enqueue buffers in device '%s'."
#~ msgstr "Auf Gerät »%s« konnten keine Puffer eingereiht werden."

#~ msgid "Failed trying to get video frames from device '%s'."
#~ msgstr "Der Versuch Videobilder von Gerät »%s« auszulesen schlug fehl."

#~ msgid "Failed after %d tries. device %s. system error: %s"
#~ msgstr "%d Versuche sind fehlgeschlagen. Gerät »%s«. Systemfehler: %s"

#~ msgid ""
#~ "The buffer type is not supported, or the index is out of bounds, or no "
#~ "buffers have been allocated yet, or the userptr or length are invalid. "
#~ "device %s"
#~ msgstr ""
#~ "Der Puffertyp wird nicht unterstützt, der Index ist außerhalb seiner "
#~ "Grenzwerte, es sind bisher noch keine Puffer angefordert worden oder "
#~ "»userptr« oder die Länge sind ungültig. Gerät »%s«"

#~ msgid ""
#~ "Failed trying to get video frames from device '%s'. Not enough memory."
#~ msgstr ""
#~ "Der Versuch Videobilder von Gerät »%s« auszulesen schlug fehl. Nicht "
#~ "genug Arbeitsspeicher."

# Was ist ein Zeigerpuffer?
#, fuzzy
#~ msgid "insufficient memory to enqueue a user pointer buffer. device %s."
#~ msgstr ""
#~ "Ungenügend Arbeitsspeicher, um einen Zeigerpuffer eines Benutzers "
#~ "einzureihen. Gerät »%s«."

#~ msgid "No free buffers found in the pool at index %d."
#~ msgstr "Es wurden keine freien Puffer im Vorrat bei Index %d gefunden."

#~ msgid "Could not get buffers from device '%s'."
#~ msgstr "Die Puffer konnten nicht von Gerät »%s« ausgelesen werden."

#~ msgid "Could not get enough buffers from device '%s'."
#~ msgstr "Es konnten nicht genug Puffer von Gerät »%s« ausgelesen werden."
