# 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: 2012-02-17 10:41+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"

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

#, fuzzy, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Could not close control device \"%s\"."

msgid "Failed to set PGC based seeking."
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\"."

#, fuzzy
msgid "No file name specified for writing."
msgstr "No filename specified."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Could not open file \"%s\" for writing."

msgid "Internal data stream error."
msgstr ""

#, c-format
msgid "Could not write to file \"%s\"."
msgstr "Could not write to file \"%s\"."

msgid "Internal data flow error."
msgstr ""

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Device \"%s\" does not exist."

#, fuzzy, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Could not close control device \"%s\"."

#, fuzzy, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Could not get enough buffers from device \"%s\"."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Could not open file \"%s\" for reading."

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

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

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

#~ msgid "Could not get buffers from device \"%s\"."
#~ msgstr "Could not get buffers from device \"%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 close audio device \"%s\"."
#~ msgstr "Could not close audio 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 "Error closing file \"%s\"."
#~ msgstr "Error closing file \"%s\"."

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

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

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

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

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

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

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

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

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

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

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

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

#, 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 "Device is not open."
#~ msgstr "Device is not open."

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