# 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.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2015-10-30 14:27+0200\n"
"PO-Revision-Date: 2015-10-21 00:14+0200\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.5\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 "Server does not support seeking."
msgstr "Suchlauf wird nicht vom Server unterstützt."

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 "Internal data stream error."
msgstr "Interner Datenstromfehler."

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 "Internal data flow error."
msgstr "Interner Datenstromfehler."

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

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

msgid "Video devices 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 "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."
