# 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-11-29 15:49+0200\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 "failed to draw pattern"
msgstr ""

msgid "A GL error occured"
msgstr ""

msgid "format wasn't negotiated before get function"
msgstr ""

msgid "OpenCV failed to load template image"
msgstr ""

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

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

#, fuzzy
msgid "Could not open sndfile stream for reading."
msgstr "Could not open file \"%s\" for reading."

msgid "Could not establish connection to sndio"
msgstr ""

msgid "Failed to query sndio capabilities"
msgstr ""

#, fuzzy
msgid "Could not configure sndio"
msgstr "Could not configure audio device \"%s\"."

#, fuzzy
msgid "Could not start sndio"
msgstr "Could not write to file \"%s\"."

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr ""

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""

msgid "Digitalzoom element couldn't be created"
msgstr ""

msgid "Subpicture format was not configured before data flow"
msgstr ""

msgid "Failed to get fragment URL."
msgstr ""

msgid "Couldn't download fragments"
msgstr ""

msgid "Internal data stream error."
msgstr ""

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

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""

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

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

#, fuzzy, c-format
msgid "Cannot enumerate delivery systems 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 "Couldn't find channel configuration file"
msgstr ""

#, c-format
msgid "Couldn't load channel configuration file: '%s'"
msgstr ""

#, c-format
msgid "Couldn't find details for channel '%s'"
msgstr ""

#, c-format
msgid "No properties for channel '%s'"
msgstr ""

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

#, c-format
msgid "Couldn't find channel configuration file: '%s'"
msgstr ""

msgid "Channel configuration file doesn't contain any channels"
msgstr ""

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

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