# 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: 2017-02-23 15:16+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 "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 ""
"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."

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

#, fuzzy
msgid "Video device 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 "Internal data stream error."
#~ msgstr "Internt fel i dataström."

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

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