# 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: 2016-06-09 11:24+0300\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"

#, fuzzy
msgid "Could not read from CD."
msgstr "Could not write to file \"%s\"."

msgid "Could not open CD device for reading."
msgstr "Could not open CD device for reading."

#, fuzzy
msgid "Disc is not an Audio CD."
msgstr "Device is not open."

msgid "Could not open DVD"
msgstr ""

#, fuzzy, c-format
msgid "Could not open DVD title %d"
msgstr "Could not close vfs file \"%s\"."

#, c-format
msgid "Failed to go to chapter %d of DVD title %d"
msgstr ""

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
msgstr ""

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""

#, fuzzy
msgid "Could not read DVD."
msgstr "Could not write to file \"%s\"."

msgid ""
"Failed to configure LAME mp3 audio encoder. Check your encoding parameters."
msgstr ""

#, c-format
msgid ""
"The requested bitrate %d kbit/s for property '%s' is not allowed. The "
"bitrate was changed to %d kbit/s."
msgstr ""

msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
msgstr ""

msgid "This stream contains no data."
msgstr ""

msgid "Internal data stream error."
msgstr ""

#, fuzzy
#~ msgid "Could not read title information for DVD."
#~ msgstr "Could not write to file \"%s\"."

#, fuzzy
#~ msgid "Failed to open DVD device '%s'."
#~ msgstr "Could not close vfs file \"%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 "No or invalid input audio, AVI stream will be corrupt."
#~ msgstr "No or invalid input audio, AVI stream will be corrupt."

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

#~ 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 close audio device \"%s\"."
#~ msgstr "Could not close audio device \"%s\"."

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

#~ 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 "Could not write to device \"%s\"."
#~ msgstr "Could not write to 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 "Volume"
#~ msgstr "Volume"

#~ 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 "Microphone"
#~ msgstr "Microphone"

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

#~ msgid "Monitor"
#~ msgstr "Monitor"

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

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

#, fuzzy
#~ msgid "Your OSS device doesn't support mono or stereo."
#~ msgstr "Your oss device could not be probed correctly"

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

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

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

#~ msgid "Device \"%s\" is not a capture device."
#~ msgstr "Device \"%s\" is not a capture device."

#~ msgid "Could not get buffers from device \"%s\"."
#~ msgstr "Could not get buffers from device \"%s\"."

#~ msgid "Could not get enough buffers from device \"%s\"."
#~ msgstr "Could not get enough buffers from device \"%s\"."
