# 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-11-29 15:32+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 "Corrupted HTTP response."
msgstr ""

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

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