# Swedish messages for gst-plugins-good.
# Copyright © 2007-2016 Free Software Foundation, Inc.
# This file is distributed under the same license as the gst-plugins-good package.
# Christian Rose <menthos@menthos.com>, 2004.
# Daniel Nylander <po@danielnylander.se>, 2007, 2008, 2009, 2010, 2011.
# Sebastian Rasmussen <sebras@gmail.com>, 2014, 2015, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-03-15 11:40+0200\n"
"PO-Revision-Date: 2016-02-20 16:13+0100\n"
"Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.7\n"

msgid "Jack server not found"
msgstr "Jack-server hittades ej"

msgid "Failed to decode JPEG image"
msgstr "Misslyckades med att avkoda JPEG-bild"

#. TRANSLATORS: 'song title' by 'artist name'
#, c-format
msgid "'%s' by '%s'"
msgstr "\"%s\" av \"%s\""

msgid "Could not connect to server"
msgstr "Kunde inte ansluta till servern"

msgid "No URL set."
msgstr "Ingen URL inställd."

msgid "Server does not support seeking."
msgstr "Servern stöder inte sökning/spolning."

msgid "Could not resolve server name."
msgstr "Kunde inte slå upp servernamnet."

msgid "Could not establish connection to server."
msgstr "Kunde inte etablera anslutning till servern."

msgid "Secure connection setup failed."
msgstr "Säker anslutning misslyckades."

msgid ""
"A network error occurred, or the server closed the connection unexpectedly."
msgstr "Ett nätverksfel inträffade eller servern stängde anslutningen oväntat."

msgid "Server sent bad data."
msgstr "Servern skickade felaktigt data."

msgid "Internal data stream error."
msgstr "Internt fel i dataström."

msgid "No or invalid input audio, AVI stream will be corrupt."
msgstr "Inget eller ogiltigt ingångsljud. AVI-strömmen kommer att skadas."

msgid "This file contains no playable streams."
msgstr "Den här filen innehåller inga uppspelningsbara strömmar."

msgid "This file is invalid and cannot be played."
msgstr "Den här filen är ogiltig och kan inte spelas upp."

msgid "Cannot play stream because it is encrypted with PlayReady DRM."
msgstr "Kan ej spela ström då den är krypterad med PlayReady DRM."

msgid "This file is corrupt and cannot be played."
msgstr "Den här filen är skadad och kan inte spelas upp."

msgid "Invalid atom size."
msgstr "Ogiltig atomstorlek."

msgid "This file is incomplete and cannot be played."
msgstr "Den här filen är inte fullständig och kan inte spelas upp."

msgid "The video in this file might not play correctly."
msgstr "Videon i den här filen kanske inte kan spelas upp korrekt."

#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr ""
"Den här filen innehåller för många strömmar. Spelar endast upp de första %d"

msgid "Internal data flow error."
msgstr "Internt fel i dataflöde."

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""
"Ingen ström som stöds hittades. Du kanske behöver installera en GStreamer-"
"insticksmodul för RTSP för Real Media-strömmar."

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 ""
"Ingen ström som stöds hittades. Du kanske behöver tillåta fler "
"transportprotokoll eller så saknar du kanske det rätta GStreamer-tillägget "
"för RTSP."

msgid ""
"Could not open audio device for playback. Device is being used by another "
"application."
msgstr ""
"Kunde inte öppna ljudenheten för uppspelning. Enheten används av ett annat "
"program."

msgid ""
"Could not open audio device for playback. You don't have permission to open "
"the device."
msgstr ""
"Kunde inte öppna ljudenheten för uppspelning. Du har inte behörighet att "
"öppna enheten."

msgid "Could not open audio device for playback."
msgstr "Kunde inte öppna ljudenheten för uppspelning."

msgid ""
"Could not open audio device for playback. This version of the Open Sound "
"System is not supported by this element."
msgstr ""
"Kunde inte öppna ljudenheten för uppspelning. Denna version av Open Sound "
"System stöds inte av detta element."

msgid "Playback is not supported by this audio device."
msgstr "Uppspelning stöds inte av denna ljudenhet."

msgid "Audio playback error."
msgstr "Fel vid ljuduppspelning."

msgid "Recording is not supported by this audio device."
msgstr "Inspelning stöds inte av denna ljudenhet."

msgid "Error recording from audio device."
msgstr "Fel vid inspelning från ljudenheten."

msgid ""
"Could not open audio device for recording. You don't have permission to open "
"the device."
msgstr ""
"Kunde inte öppna ljudenheten för inspelning. Du har inte behörighet att "
"öppna enheten."

msgid "Could not open audio device for recording."
msgstr "Kunde inte öppna ljudenheten för inspelning."

msgid "CoreAudio device not found"
msgstr "CoreAudio-enhet hittades inte"

msgid "CoreAudio device could not be opened"
msgstr "CoreAudio-enhet kunde inte öppnas"

msgid "Record Source"
msgstr "Inspelningskälla"

msgid "Microphone"
msgstr "Mikrofon"

msgid "Line In"
msgstr "Linje-In"

msgid "Internal CD"
msgstr "Intern cd-spelare"

msgid "SPDIF In"
msgstr "SPDIF In"

msgid "AUX 1 In"
msgstr "AUX 1 In"

msgid "AUX 2 In"
msgstr "AUX 2 In"

msgid "Codec Loopback"
msgstr "Omkodar-återkopplingsslinga"

msgid "SunVTS Loopback"
msgstr "SunVTS-återkopplingsslinga"

msgid "Volume"
msgstr "Volym"

msgid "Gain"
msgstr "Förstärk"

msgid "Monitor"
msgstr "Monitor"

msgid "Built-in Speaker"
msgstr "Inbyggd högtalare"

msgid "Headphone"
msgstr "Hörlur"

msgid "Line Out"
msgstr "Linje ut"

msgid "SPDIF Out"
msgstr "SPDIF ut"

msgid "AUX 1 Out"
msgstr "AUX 1 ut"

msgid "AUX 2 Out"
msgstr "AUX 2 ut"

#, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr "Fel vid läsning av %d byte från enheten \"%s\"."

#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr ""
"Misslyckades med att räkna upp möjliga videoformat som enheten \"%s\" kan "
"arbeta med"

#, c-format
msgid "Could not map buffers from device '%s'"
msgstr "Kunde inte mappa buffertar från enheten \"%s\"."

#, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr "Drivrutinen för enheten \"%s\" stöder inte IO-metod %d"

#, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr "Drivrutinen för enheten \"%s\" stöder inte någon känd IO-metod."

#, c-format
msgid "Device '%s' is busy"
msgstr "Enheten \"%s\" är upptagen"

#, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr "Enheten \"%s\" kan inte fånga i %dx%d"

#, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr "Enheten \"%s\" kan inte fånga i det angivna formatet"

#, c-format
msgid "Device '%s' does support non-contiguous planes"
msgstr "Enheten \"%s\" stöder inte icke-kontinuerliga plan"

#, c-format
msgid "Could not get parameters on device '%s'"
msgstr "Kunde inte få tag i parametrar på enheten \"%s\""

msgid "Video device did not accept new frame rate setting."
msgstr "Videoenheten accepterade inte ny inställning för bildfrekvens."

msgid "Video device did not provide output format."
msgstr "Videoenheten tillhandahöll inget utgångsformat."

msgid "Video device returned invalid dimensions."
msgstr "Videoenheten returnerade ogiltiga dimensioner."

msgid "Video devices uses an unsupported interlacing method."
msgstr "Videoenheter använder en sammanflätningsmetod som ej stöds."

msgid "Video devices uses an unsupported pixel format."
msgstr "Videoenheter använder ett pixel-format som ej stöds."

msgid "Failed to configure internal buffer pool."
msgstr "Misslyckades med att konfigurera intern buffert-pool."

msgid "Video device did not suggest any buffer size."
msgstr "Videoenheten föreslog inte ny buffertstorlek."

msgid "No downstream pool to import from."
msgstr "Ingen nedströms-pool att importera från."

#, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr ""
"Misslyckades med att få tag i inställningarna för mottagare %d på enheten "
"\"%s\"."

#, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "Fel vid läsning av förmågor för enheten \"%s\"."

#, c-format
msgid "Device '%s' is not a tuner."
msgstr "Enheten \"%s\" är ingen mottagare."

#, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "Kunde inte ställa in radioingång på enheten \"%s\"."

#, c-format
msgid "Failed to set input %d on device %s."
msgstr "Kunde inte ställa in ingång %d på enheten %s."

#, c-format
msgid "Failed to change mute state for device '%s'."
msgstr "Misslyckades med att ändra på ljudlös-läge för enheten \"%s\"."

msgid "Failed to allocated required memory."
msgstr "Misslyckades att allokera begärt minne."

msgid "Failed to allocate required memory."
msgstr "Misslyckades med att allokera begärt minne."

#, c-format
msgid "Converter on device %s has no supported input format"
msgstr "Konvertorn på enheten %s har inget ingångsformat som stöds"

#, c-format
msgid "Converter on device %s has no supported output format"
msgstr "Konvertorn på enheten %s har inget utgångsformat som stöds"

#, c-format
msgid "Encoder on device %s has no supported input format"
msgstr "Kodaren på enheten %s har inget ingångsformat som stöds"

#, c-format
msgid "Encoder on device %s has no supported output format"
msgstr "Kodaren på enheten %s har inget utgångsformat som stöds"

msgid "Failed to start decoding thread."
msgstr "Misslyckades med att starta avkodningstråd."

msgid "Failed to process frame."
msgstr "Misslyckades att behandla ram."

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""
"Fel vid läsning av förmågor för enheten \"%s\": Det är inte en v4l2-"
"drivrutin. Kontrollera om det är en v4l1-drivrutin."

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr "Misslyckades med att fråga efter attribut för ingång %d i enheten %s"

#, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr ""
"Misslyckades med att få tag i inställningen för mottagare %d på enheten \"%s"
"\"."

#, c-format
msgid "Failed to query norm on device '%s'."
msgstr "Misslyckades med att fråga efter norm på enheten \"%s\"."

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr "Misslyckades med att få tag på kontrollattributen på enheten \"%s\"."

#, c-format
msgid "Cannot identify device '%s'."
msgstr "Kunde inte identifiera enheten \"%s\"."

#, c-format
msgid "This isn't a device '%s'."
msgstr "Det här är inte en enhet \"%s\"."

#, c-format
msgid "Could not open device '%s' for reading and writing."
msgstr "Kunde inte öppna enheten \"%s\" för läsning och skrivning."

#, c-format
msgid "Device '%s' is not a capture device."
msgstr "Enheten \"%s\" är ingen fångstenhet."

#, c-format
msgid "Device '%s' is not a output device."
msgstr "Enheten \"%s\" är ingen utgångsenhet."

#, c-format
msgid "Device '%s' is not a M2M device."
msgstr "Enheten \"%s\" är ingen M2M-enhet."

#, c-format
msgid "Could not dup device '%s' for reading and writing."
msgstr "Kunde inte duplicera enheten \"%s\" för läsning och skrivning."

#, c-format
msgid "Failed to set norm for device '%s'."
msgstr "Misslyckades med att ställa in norm för enheten \"%s\"."

#, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr ""
"Misslyckades med att gå tag på aktuell mottagarfrekvens för enheten \"%s\"."

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr ""
"Misslyckades med att ställa in aktuell mottagarfrekvens för enheten \"%s\" "
"till %lu Hz."

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr "Misslyckades med att få tag på signalstyrka för enheten \"%s\"."

#, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr ""
"Misslyckades med att få tag på värdet för kontrollen %d på enheten \"%s\"."

#, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr "Kunde inte ställa in värdet %d för kontrollen %d på enheten \"%s\"."

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr ""
"Misslyckades med att få tag på aktuell ingång på enheten \"%s\". Kan vara en "
"radioenhet"

#, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr ""
"Misslyckades med att få tag på aktuell utgång på enheten \"%s\". Kan vara en "
"radioenhet"

#, c-format
msgid "Failed to set output %d on device %s."
msgstr "Misslyckades med att ställa in utgång %d på enheten %s."

msgid "Changing resolution at runtime is not yet supported."
msgstr "Ändring av upplösning vid körtid stöds inte än."

msgid "Cannot operate without a clock"
msgstr "Kan inte fungera utan en klocka"

#~ msgid "Device '%s' does not support video capture"
#~ msgstr "Enheten \"%s\" stöder inte videoinfångning."
