# English (British) translation.
# Copyright (C) 2004 Free Software Foundation, Inc.
# Gareth Owen <gowen72@yahoo.com>, 2004.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins 0.8.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2014-02-08 12:24+0100\n"
"PO-Revision-Date: 2004-04-26 10:41-0400\n"
"Last-Translator: Gareth Owen <gowen72@yahoo.com>\n"
"Language-Team: English (British) <en_gb@li.org>\n"
"Language: en_GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

msgid "Jack server not found"
msgstr ""

msgid "Failed to decode JPEG image"
msgstr ""

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

#, fuzzy
msgid "Could not connect to server"
msgstr "Could not close control device \"%s\"."

msgid "No URL set."
msgstr ""

#, fuzzy
msgid "Server does not support seeking."
msgstr "Your oss device could not be probed correctly"

#, fuzzy
msgid "Could not resolve server name."
msgstr "Could not close control device \"%s\"."

#, fuzzy
msgid "Could not establish connection to server."
msgstr "Could not close control device \"%s\"."

msgid "Secure connection setup failed."
msgstr ""

msgid ""
"A network error occured, or the server closed the connection unexpectedly."
msgstr ""

msgid "Server sent bad data."
msgstr ""

msgid "Internal data stream error."
msgstr ""

msgid "No or invalid input audio, AVI stream will be corrupt."
msgstr "No or invalid input audio, AVI stream will be corrupt."

msgid "This file contains no playable streams."
msgstr ""

msgid "This file is invalid and cannot be played."
msgstr ""

msgid "Cannot play stream because it is encrypted with PlayReady DRM."
msgstr ""

msgid "This file is corrupt and cannot be played."
msgstr ""

msgid "Invalid atom size."
msgstr ""

msgid "This file is incomplete and cannot be played."
msgstr ""

msgid "The video in this file might not play correctly."
msgstr ""

#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr ""

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""

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

msgid "Internal data flow error."
msgstr ""

msgid ""
"Could not open audio device for playback. Device is being used by another "
"application."
msgstr ""

msgid ""
"Could not open audio device for playback. You don't have permission to open "
"the device."
msgstr ""

#, fuzzy
msgid "Could not open audio device for playback."
msgstr "Could not open audio device \"%s\" for writing."

msgid ""
"Could not open audio device for playback. This version of the Open Sound "
"System is not supported by this element."
msgstr ""

msgid "Playback is not supported by this audio device."
msgstr ""

msgid "Audio playback error."
msgstr ""

msgid "Recording is not supported by this audio device."
msgstr ""

msgid "Error recording from audio device."
msgstr ""

msgid ""
"Could not open audio device for recording. You don't have permission to open "
"the device."
msgstr ""

#, fuzzy
msgid "Could not open audio device for recording."
msgstr "Could not open CD device for reading."

#, fuzzy
msgid "Record Source"
msgstr "Record"

msgid "Microphone"
msgstr "Microphone"

#, fuzzy
msgid "Line In"
msgstr "Line-in"

msgid "Internal CD"
msgstr ""

msgid "SPDIF In"
msgstr ""

msgid "AUX 1 In"
msgstr ""

msgid "AUX 2 In"
msgstr ""

msgid "Codec Loopback"
msgstr ""

msgid "SunVTS Loopback"
msgstr ""

msgid "Volume"
msgstr "Volume"

msgid "Gain"
msgstr ""

msgid "Monitor"
msgstr "Monitor"

#, fuzzy
msgid "Built-in Speaker"
msgstr "Speaker"

msgid "Headphone"
msgstr ""

msgid "Line Out"
msgstr ""

msgid "SPDIF Out"
msgstr ""

msgid "AUX 1 Out"
msgstr ""

msgid "AUX 2 Out"
msgstr ""

#, fuzzy, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr "Could not get buffers from device \"%s\"."

#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr ""

#, fuzzy, c-format
msgid "Could not map buffers from device '%s'"
msgstr "Could not get buffers from device \"%s\"."

#, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr ""

#, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr ""

#, fuzzy, c-format
msgid "Device '%s' does not support video capture"
msgstr "Device \"%s\" is not a capture device."

#, fuzzy, c-format
msgid "Device '%s' is busy"
msgstr "Device \"%s\" is not a capture device."

#, fuzzy, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr "Device \"%s\" is not a capture device."

#, fuzzy, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr "Device \"%s\" is not a capture device."

#, fuzzy, c-format
msgid "Could not get parameters on device '%s'"
msgstr "Could not get buffers from device \"%s\"."

msgid "Video device did not accept new frame rate setting."
msgstr ""

msgid "Video device could not create buffer pool."
msgstr ""

#, fuzzy, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr "Could not get enough buffers from device \"%s\"."

#, fuzzy, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "Could not get buffers from device \"%s\"."

#, fuzzy, c-format
msgid "Device '%s' is not a tuner."
msgstr "Device \"%s\" is not a capture device."

#, fuzzy, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "Could not close audio device \"%s\"."

#, fuzzy, c-format
msgid "Failed to set input %d on device %s."
msgstr "Could not close audio device \"%s\"."

#, fuzzy, c-format
msgid "Failed to change mute state for device '%s'."
msgstr "Could not get buffers from device \"%s\"."

#, fuzzy, c-format
msgid "Cannot identify device '%s'."
msgstr "Could not write to device \"%s\"."

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr ""

#, fuzzy, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr "Could not get enough buffers from device \"%s\"."

#, c-format
msgid "Failed to query norm on device '%s'."
msgstr ""

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr ""

#, c-format
msgid "This isn't a device '%s'."
msgstr ""

#, fuzzy, c-format
msgid "Could not open device '%s' for reading and writing."
msgstr "Could not open device \"%s\" for reading and writing."

#, fuzzy, c-format
msgid "Device '%s' is not a capture device."
msgstr "Device \"%s\" is not a capture device."

#, fuzzy, c-format
msgid "Device '%s' is not a output device."
msgstr "Device \"%s\" is not a capture device."

#, fuzzy, c-format
msgid "Failed to set norm for device '%s'."
msgstr "Could not get buffers from device \"%s\"."

#, fuzzy, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr "Could not get enough buffers from device \"%s\"."

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr ""

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr ""

#, fuzzy, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr "Could not close control device \"%s\"."

#, fuzzy, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr "Could not close control device \"%s\"."

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr ""

#, fuzzy, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr "Could not get enough buffers from device \"%s\"."

#, fuzzy, c-format
msgid "Failed to set output %d on device %s."
msgstr "Could not close audio device \"%s\"."

msgid "Changing resolution at runtime is not yet supported."
msgstr ""

msgid "Cannot operate without a clock"
msgstr ""

#, fuzzy
#~ msgid "Failed trying to get video frames from device '%s'."
#~ msgstr "Could not get enough buffers from device \"%s\"."

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

#~ msgid "Treble"
#~ msgstr "Treble"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#~ msgid "Phone-in"
#~ msgstr "Phone-in"

#~ msgid "Phone-out"
#~ msgstr "Phone-out"

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

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

#, fuzzy
#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr "Could not open audio device \"%s\" for writing."

#, fuzzy
#~ msgid "Rear"
#~ msgstr "Record"

#, fuzzy
#~ msgid "Side"
#~ msgstr "Video"

#, fuzzy
#~ msgid "Video In"
#~ msgstr "Video"

#, fuzzy
#~ msgid "Record Gain"
#~ msgstr "Record"

#, fuzzy
#~ msgid "Output Gain"
#~ msgstr "Out-gain"

#, fuzzy
#~ msgid "Microphone Boost"
#~ msgstr "Microphone"

#, fuzzy
#~ msgid "Monitor Source"
#~ msgstr "Monitor"

#, fuzzy
#~ msgid "Microphone Gain"
#~ msgstr "Microphone"

#, fuzzy
#~ msgid "Speaker Source"
#~ msgstr "Speaker"

#, fuzzy
#~ msgid "Microphone Source"
#~ msgstr "Microphone"

#, fuzzy
#~ msgid "Microphone 1"
#~ msgstr "Microphone"

#, fuzzy
#~ msgid "Microphone 2"
#~ msgstr "Microphone"

#, fuzzy
#~ msgid "Digital Out"
#~ msgstr "Digital-1"

#, fuzzy
#~ msgid "Digital In"
#~ msgstr "Digital-1"

#, fuzzy
#~ msgid "Front Panel Microphone"
#~ msgstr "Microphone"

#, fuzzy
#~ msgid "Could not enqueue buffers in device '%s'."
#~ msgstr "Could not get buffers from device \"%s\"."

#~ msgid "Could not open file \"%s\" for writing."
#~ msgstr "Could not open file \"%s\" for writing."

#~ msgid "Error closing file \"%s\"."
#~ msgstr "Error closing file \"%s\"."

#~ msgid "Could not open file \"%s\" for reading."
#~ msgstr "Could not open file \"%s\" for reading."

#~ msgid "No filename specified."
#~ msgstr "No filename specified."

#~ msgid "Could not write to file \"%s\"."
#~ msgstr "Could not write to file \"%s\"."

#~ msgid "Could not open control device \"%s\" for writing."
#~ msgstr "Could not open control device \"%s\" for writing."

#~ msgid "Could not configure audio device \"%s\"."
#~ msgstr "Could not configure audio device \"%s\"."

#~ msgid "Could not set audio device \"%s\" to %d Hz."
#~ msgstr "Could not set audio device \"%s\" to %d Hz."

#~ msgid "Could not open video device \"%s\" for writing."
#~ msgstr "Could not open video device \"%s\" for writing."

#~ msgid "Could not close video device \"%s\"."
#~ msgstr "Could not close video device \"%s\"."

#~ msgid "OSS device \"%s\" is already in use by another program."
#~ msgstr "OSS device \"%s\" is already in use by another program."

#~ msgid "Could not access device \"%s\", check its permissions."
#~ msgstr "Could not access device \"%s\", check its permissions."

#~ msgid "Device \"%s\" does not exist."
#~ msgstr "Device \"%s\" does not exist."

#~ msgid "Could not open device \"%s\" for writing."
#~ msgstr "Could not open device \"%s\" for writing."

#~ msgid "Could not open device \"%s\" for reading."
#~ msgstr "Could not open device \"%s\" for reading."

#, fuzzy
#~ msgid "Your OSS device could not be probed correctly"
#~ msgstr "Your oss device could not be probed correctly"

#~ msgid "Could not open vfs file \"%s\" for reading."
#~ msgstr "Could not open vfs file \"%s\" for reading."

#, fuzzy
#~ msgid "No filename given."
#~ msgstr "No filename given"

#, fuzzy
#~ msgid "Could not open vfs file \"%s\" for writing: %s."
#~ msgstr "Could not open vfs file \"%s\" for writing."

#~ msgid "No filename given"
#~ msgstr "No filename given"

#~ msgid "Could not close vfs file \"%s\"."
#~ msgstr "Could not close vfs file \"%s\"."

#~ msgid "No device specified."
#~ msgstr "No device specified."

#~ msgid "Device is not open."
#~ msgstr "Device is not open."

#~ msgid "Device is open."
#~ msgstr "Device is open."
