# translation of gst-plugins-good-1.0.3.po to Turkish
# This file is put in the public domain.
# This file is distributed under the same license as the gst-plugins-good package.
# Server Acim <serveracim@gmail.com>, 2010.
# Server Acim <serveracim@gmail.com>, 2011.
# Server Acim <serveracim@gmail.com>, 2013, 2015.
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 1.4.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-11-01 17:46+0200\n"
"PO-Revision-Date: 2015-01-10 21:07+0100\n"
"Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 1.5\n"

msgid "Jack server not found"
msgstr "Jack sunucusu bulunamadı"

msgid "Failed to decode JPEG image"
msgstr "JPEG görüntüsünü çözümlenemedi"

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

msgid "Could not connect to server"
msgstr "Sunucuya bağlanamıyor"

msgid "No URL set."
msgstr "Hiç bir URL ayarlanmamış."

msgid "Server does not support seeking."
msgstr "Sunucu aramayı desteklemiyor."

msgid "Could not resolve server name."
msgstr "Sunucu adı çözümlenemiyor."

msgid "Could not establish connection to server."
msgstr "Sunucuyla bağlantı kurulumayor."

msgid "Secure connection setup failed."
msgstr "Güvenli bağlantı ayarı yapılamadı."

#, fuzzy
msgid ""
"A network error occurred, or the server closed the connection unexpectedly."
msgstr ""
"Bir ağ hatası meydana geldi, veya sunucu bağlantıyı beklenmeyen bir şekilde "
"kesti."

msgid "Server sent bad data."
msgstr "Sunucu yetersiz veri gönderdi."

msgid "No or invalid input audio, AVI stream will be corrupt."
msgstr "Geçerli bir ses girişi bulunamadı. AVI akışı kesilecek."

msgid "This file contains no playable streams."
msgstr "Dosya çalınabilir akışlar içermiyor."

msgid "This file is invalid and cannot be played."
msgstr "Bu dosya geçersiz ve oynatılamaz."

msgid "Cannot play stream because it is encrypted with PlayReady DRM."
msgstr "Akış çalınamadı çünkü PlayReady DRM ile şifrelenmiş."

msgid "This file is corrupt and cannot be played."
msgstr "Bu dosya bozuk ve oynatılamaz."

msgid "Invalid atom size."
msgstr "Geçersiz atom boyutu"

msgid "This file is incomplete and cannot be played."
msgstr "Dosya eksik ve oynatılamaz."

msgid "The video in this file might not play correctly."
msgstr "Bu dosyadaki vidyo doğru oynatılamıyabilir."

#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr "Bu dosya çok fazla akış içeriyor. Sadece ilki oynatılıyor %d"

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""
"Desteklenen bir akış bulunamadı. Real Media akışları için bir GStreamer RTSP "
"uzantı eklentisi kurmalısınız."

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 ""
"Desteklenen akış bulunamadı. Daha fazla aktarım protokolüne izin vermeniz "
"veya doğru GStreamer RTSP uzantı eklentisine onay vermeniz gerekebilir."

msgid ""
"Could not open audio device for playback. Device is being used by another "
"application."
msgstr ""
"Çalmak için ses aygıtı açılamıyor. Aygıt başka bir uygulama tarafından "
"kullanılıyor."

msgid ""
"Could not open audio device for playback. You don't have permission to open "
"the device."
msgstr "Çalmak için ses aygıtı açılamıyor. Aygıtı açma izniniz bulunmuyor."

msgid "Could not open audio device for playback."
msgstr "Çalmak için ses aygıtı açılamıyor."

msgid ""
"Could not open audio device for playback. This version of the Open Sound "
"System is not supported by this element."
msgstr ""
"Çalma için ses aygıtı açılamıyor. Açık Ses Sistemi'nin bu sürümü, bu öğeyi "
"desteklemiyor."

msgid "Playback is not supported by this audio device."
msgstr "Bu ses aygıtı çalmayı desteklemiyor."

msgid "Audio playback error."
msgstr "Ses çalma hatası."

msgid "Recording is not supported by this audio device."
msgstr "Bu ses aygıtı kaydetmeyi desteklemiyor."

msgid "Error recording from audio device."
msgstr "Ses aygıtından kaydetmekte hata."

msgid ""
"Could not open audio device for recording. You don't have permission to open "
"the device."
msgstr "Kayıt için aygıtı açamıyor. Aygıtı açmak için yetkiniz yok."

msgid "Could not open audio device for recording."
msgstr "Aygıtı kayıt için açamıyor."

msgid "CoreAudio device not found"
msgstr ""

msgid "CoreAudio device could not be opened"
msgstr ""

msgid "Record Source"
msgstr "Kayıt Kaynağı"

msgid "Microphone"
msgstr "Mikrofon"

msgid "Line In"
msgstr "Hat Girişi"

msgid "Internal CD"
msgstr "Dahili CD"

msgid "SPDIF In"
msgstr "SPDIF Girişi"

msgid "AUX 1 In"
msgstr "AUX 1 Giriş"

msgid "AUX 2 In"
msgstr "AUX 2 Giriş"

msgid "Codec Loopback"
msgstr "Kodek Geridönüşü"

msgid "SunVTS Loopback"
msgstr "SunVTS Geridönüşü"

msgid "Volume"
msgstr "Ses Girişi"

msgid "Gain"
msgstr "Kazanç"

msgid "Monitor"
msgstr "Hoparlör"

msgid "Built-in Speaker"
msgstr "Varsayılan Hoparlör"

msgid "Headphone"
msgstr "Kulaklık"

msgid "Line Out"
msgstr "Hat Çıkışı"

msgid "SPDIF Out"
msgstr "SPDIF Çıkış"

msgid "AUX 1 Out"
msgstr "AUX 1 Çıkış"

msgid "AUX 2 Out"
msgstr "AUX 2 Çıkış"

#, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr "%d bayt bilgili '%s' aygıtından okumada hata."

#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr "Aygıtın '%s' birlikte çalışabileceği vidyo kiplerini sıralamada hata"

#, c-format
msgid "Could not map buffers from device '%s'"
msgstr "Aygıttan '%s' bellekler eşlenemiyor"

#, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr "Bu aygıtın sürücüsü '%s' IO yöntemini desteklemiyor %d"

#, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr ""
"Bu aygıtın sürücüsü '%s' bilinen IO yöntemlerinden herhangi birisini "
"desteklemiyor."

#, c-format
msgid "Device '%s' is busy"
msgstr "Aygıt '%s' meşgul"

#, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr "Aygıt '%s' görüntü yakalayamadı%dx%d"

#, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr "Aygıt '%s' belirtilen kipte görüntü yakalayamadı"

#, c-format
msgid "Device '%s' does support non-contiguous planes"
msgstr "Aygıt '%s' bitişik olmayan düzlemleri desteklemiyor"

#, c-format
msgid "Could not get parameters on device '%s'"
msgstr "Değiştirgeler aygıttan '%s' alınamıyor"

msgid "Video device did not accept new frame rate setting."
msgstr "Vidyo aygıtı yeni çerçeve oranı ayarlarını kabul etmedi."

msgid "Video device did not provide output format."
msgstr "Video aygıtı çıktı biçimini sağlamadı."

msgid "Video device returned invalid dimensions."
msgstr "Video aygıtı geçersiz boyutlar döndü."

msgid "Video devices uses an unsupported interlacing method."
msgstr "Video aygıtları desteklenmeyen bir birbirine geçme yöntemi kullanıyor."

msgid "Video devices uses an unsupported pixel format."
msgstr "Video aygıtları desteklenmeyen bir piksel biçimini kullanıyor."

msgid "Failed to configure internal buffer pool."
msgstr "İç tampon bellek havuzu yapılandırılamıyor."

msgid "Video device did not suggest any buffer size."
msgstr "Video aygıtı herhangi bir tampon bellek boyutu önermedi."

msgid "No downstream pool to import from."
msgstr "İçeri aktarılacak akıntı havuzu yok."

#, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr "İstasyon ayarlarını bulma işlemi %d şu aygıtta '%s' başarılamadı."

#, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "Bu aygıt için kapasite bilgisi alınamadı '%s'."

#, c-format
msgid "Device '%s' is not a tuner."
msgstr "Aygıt '%s' bir radyo değil."

#, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "Radyo giriş değeri şu aygıtta '%s' ayarlanamadı."

#, c-format
msgid "Failed to set input %d on device %s."
msgstr "Giriş değeri olarak bu %d şu aygıtta %s ayarlanamadı."

#, c-format
msgid "Failed to change mute state for device '%s'."
msgstr "Aygıt '%s' susturulmaya ayarlanamadı."

msgid "Failed to allocated required memory."
msgstr "Gerekli bellek ayrılamadı."

msgid "Failed to allocate required memory."
msgstr "Gerekli bellek ayrılamıyor."

#, c-format
msgid "Converter on device %s has no supported input format"
msgstr "Aygıt %s üzerindeki dönüştürücü girdi biçimini desteklemiyor"

#, c-format
msgid "Converter on device %s has no supported output format"
msgstr "Aygıt %s üzerindeki dönüştürücü çıktı biçimini desteklemiyor"

#, c-format
msgid "Encoder on device %s has no supported input format"
msgstr "Aygıt %s üzerindeki kodlayıcı girdi biçimini deskteklemiyor"

#, c-format
msgid "Encoder on device %s has no supported output format"
msgstr "Aygıt %s üzerindeki kodlayıcı çıktı biçimini deskteklemiyor"

msgid "Failed to start decoding thread."
msgstr "Çözme işi başlaması başarısız."

msgid "Failed to process frame."
msgstr "İşlem çerçevesi başarısız."

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""
"Şu aygıtın '%s' özelliklerini almada hata: O bir v4l2 sürücüsü değil. Onun "
"bir v4l1 sürücüsü olup olmadığını denetleyin."

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr "Giriş davranışları sorgusu %d şu aygıtta %s başarılamadı"

#, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr "Radyo istasyonu ayarlarını bulma %d şu aygıtta '%s' başarılamadı."

#, c-format
msgid "Failed to query norm on device '%s'."
msgstr "Şu aygıtta '%s' sorgu normuna erişilemedi."

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr "Denetim davranışları şu aygıtta '%s' bulunamadı."

#, c-format
msgid "Cannot identify device '%s'."
msgstr "Aygıt tanımlanamıyor '%s'."

#, c-format
msgid "This isn't a device '%s'."
msgstr "Bu bir aygıt değil'%s'."

#, c-format
msgid "Could not open device '%s' for reading and writing."
msgstr "Şu aygıtı '%s' okuma ve yazma için açamıyor."

#, c-format
msgid "Device '%s' is not a capture device."
msgstr "Aygıt '%s' bir yakalama aygıtı değil."

#, c-format
msgid "Device '%s' is not a output device."
msgstr "Aygıt '%s' bir çıkış aygıtı değil."

#, c-format
msgid "Device '%s' is not a M2M device."
msgstr "Aygıt '%s' bir M2M aygıtı değil."

#, c-format
msgid "Could not dup device '%s' for reading and writing."
msgstr "Okuma ve yazma için '%s' aygıtı kopyalanamadı."

#, c-format
msgid "Failed to set norm for device '%s'."
msgstr "Aygıt için '%s' norm değerleri ayarlanamadı."

#, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr "Aygıt için '%s' radyo frekansları ayarlanamadı."

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr "Aygıt için '%s' radyo frekansı %lu Hz için yapılamadı."

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr "Aygıt için '%s' güçlü sinyal alımı gerçekleşemedi."

#, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr "Denetim değeri şuna %d bu aygıtta '%s' ayarlanamadı."

#, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr "Değer %d denetim için %d şu aygıtta '%s' ayarlanamadı."

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr ""
"Şu aygıtta '%s' geçerli giriş elde edilemedi. O bir radyo aygıtı olabilir."

#, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr ""
"Şu aygıtta '%s' geçerli giriş elde edilemedi. O bir radyo aygıtı olabilir."

#, c-format
msgid "Failed to set output %d on device %s."
msgstr "Çıkış değeri olarak %d şu aygıtta %s elde edilemedi."

msgid "Changing resolution at runtime is not yet supported."
msgstr "Çalışırken çözünürlüğü değiştirmek henüz desteklenmiyor."

msgid "Cannot operate without a clock"
msgstr "Saat olmadan çalışamaz"

#~ msgid "Internal data stream error."
#~ msgstr "İç veri akım hatası."

#~ msgid "Internal data flow error."
#~ msgstr "İç veri akış hatası."

#~ msgid "Device '%s' does not support video capture"
#~ msgstr "Aygıt '%s' video yakalamayı desteklemiyor"

#~ msgid "Could not establish connection to sound server"
#~ msgstr "Ses sunucusuyla bağlantı kurulumayor"

#~ msgid "Failed to query sound server capabilities"
#~ msgstr "Ses sunucusu olanakları sorgulanamadı"

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

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

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

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

#~ msgid "Speaker"
#~ msgstr "Hoparlör"

#~ msgid "Line-in"
#~ msgstr "Hat girişi"

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

#~ msgid "Mixer"
#~ msgstr "Karıştırıcı"

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

#~ msgid "Record"
#~ msgstr "Kayıt"

#~ msgid "In-gain"
#~ msgstr "Kazanç-girişi"

#~ msgid "Out-gain"
#~ msgstr "Kazanç-çıkışı"

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

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

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

#~ msgid "Digital-1"
#~ msgstr "Sayısal-1"

#~ msgid "Digital-2"
#~ msgstr "Sayısal-2"

#~ msgid "Digital-3"
#~ msgstr "Sayısal-3"

#~ msgid "Phone-in"
#~ msgstr "Fono-giriş"

#~ msgid "Phone-out"
#~ msgstr "Fono-çıkış"

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

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

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr "Mikser denetimi için ses aygıtı açılamıyor."

#~ msgid ""
#~ "Could not open audio device for mixer control handling. This version of "
#~ "the Open Sound System is not supported by this element."
#~ msgstr ""
#~ "Mikser denetimi için ses aygıtı açılamıyor. Açık Ses Sisteminin bu "
#~ "sürümü, bu öğeyi desteklemiyor."

#~ msgid "Master"
#~ msgstr "Master"

#~ msgid "Front"
#~ msgstr "Ön"

#~ msgid "Rear"
#~ msgstr "Arka"

#~ msgid "Headphones"
#~ msgstr "Kulaklıklar"

#~ msgid "Center"
#~ msgstr "Merkez"

#~ msgid "LFE"
#~ msgstr "LFE"

#~ msgid "Surround"
#~ msgstr "Surround"

#~ msgid "Side"
#~ msgstr "Yan"

#~ msgid "AUX Out"
#~ msgstr "AUX Çıkış"

#~ msgid "3D Depth"
#~ msgstr "3D Derinlik"

#~ msgid "3D Center"
#~ msgstr "3D Merkez"

#~ msgid "3D Enhance"
#~ msgstr "3D Genişlik"

#~ msgid "Telephone"
#~ msgstr "Telefon"

#~ msgid "Video In"
#~ msgstr "Vidyo Girişi"

#~ msgid "AUX In"
#~ msgstr "AUX Giriş"

#~ msgid "Record Gain"
#~ msgstr "Kayıt Kazancı"

#~ msgid "Output Gain"
#~ msgstr "Çıkış Kazancı"

#~ msgid "Microphone Boost"
#~ msgstr "Mikrofon Seviye Yükseltme"

#~ msgid "Diagnostic"
#~ msgstr "Ayarlar"

#~ msgid "Bass Boost"
#~ msgstr "Bass Arttırım"

#~ msgid "Playback Ports"
#~ msgstr "Çalma Portları"

#~ msgid "Input"
#~ msgstr "Giriş"

#~ msgid "Monitor Source"
#~ msgstr "Hoparlör Kaynağı"

#~ msgid "Keyboard Beep"
#~ msgstr "Klavye Biplemesi"

#~ msgid "Simulate Stereo"
#~ msgstr "Stereo Simülasyonu"

#~ msgid "Stereo"
#~ msgstr "Stereo"

#~ msgid "Surround Sound"
#~ msgstr "Surround Sesi"

#~ msgid "Microphone Gain"
#~ msgstr "Mikrofon Kazancı"

#~ msgid "Speaker Source"
#~ msgstr "Hoparlör Kaynağı"

#~ msgid "Microphone Source"
#~ msgstr "Mikrofon Kaynağı"

#~ msgid "Jack"
#~ msgstr "Jack"

#~ msgid "Center / LFE"
#~ msgstr "Merkez / LFE"

#~ msgid "Stereo Mix"
#~ msgstr "Stereo Mix"

#~ msgid "Mono Mix"
#~ msgstr "Mono Mix"

#~ msgid "Input Mix"
#~ msgstr "Giriş Mix"

#~ msgid "Microphone 1"
#~ msgstr "Mikrofon 1"

#~ msgid "Microphone 2"
#~ msgstr "Mikrofon 2"

#~ msgid "Digital Out"
#~ msgstr "Sayısal Çıkış"

#~ msgid "Digital In"
#~ msgstr "Sayısal Giriş"

#~ msgid "HDMI"
#~ msgstr "HDMI"

#~ msgid "Modem"
#~ msgstr "Modem"

#~ msgid "Handset"
#~ msgstr "Ahize"

#~ msgid "Other"
#~ msgstr "Diğer"

#~ msgid "None"
#~ msgstr "Hiçbiri"

#~ msgid "On"
#~ msgstr "Açık"

#~ msgid "Off"
#~ msgstr "Kapalı"

#~ msgid "Mute"
#~ msgstr "Sustulurmuş"

#~ msgid "Fast"
#~ msgstr "Hızlı"

#~ msgid "Very Low"
#~ msgstr "Çok Kalın"

#~ msgid "Low"
#~ msgstr "D"

#~ msgid "Medium"
#~ msgstr "Orta"

#~ msgid "High"
#~ msgstr "Tiz"

#~ msgid "Very High"
#~ msgstr "Çok Tiz"

#~ msgid "Production"
#~ msgstr "Yapım"

#~ msgid "Front Panel Microphone"
#~ msgstr "Ön Panel Mikrofonu"

#~ msgid "Front Panel Line In"
#~ msgstr "Ön Panel Hat Girişi"

#~ msgid "Front Panel Headphones"
#~ msgstr "Ön Panel Kulaklıklar"

#~ msgid "Front Panel Line Out"
#~ msgstr "Ön Panel Hat Çıkışı"

#~ msgid "Green Connector"
#~ msgstr "Yeşil Konnektör"

#~ msgid "Pink Connector"
#~ msgstr "Pembe Konnektör"

#~ msgid "Blue Connector"
#~ msgstr "Mavi Konnektör"

#~ msgid "White Connector"
#~ msgstr "Beyaz Konnektör"

#~ msgid "Black Connector"
#~ msgstr "Siyah Konnektör"

#~ msgid "Gray Connector"
#~ msgstr "Gri Konnektör"

#~ msgid "Orange Connector"
#~ msgstr "Portakal Konnektör"

#~ msgid "Red Connector"
#~ msgstr "Kırmızı Konnektör"

#~ msgid "Yellow Connector"
#~ msgstr "Sarı Konnektör"

#~ msgid "Green Front Panel Connector"
#~ msgstr "Yeşil Ön Panel Konnektör"

#~ msgid "Pink Front Panel Connector"
#~ msgstr "Pembe Ön Panel Konnektör"

#~ msgid "Blue Front Panel Connector"
#~ msgstr "Mavi Ön Panel Konnektör"

#~ msgid "White Front Panel Connector"
#~ msgstr "Beyaz Ön Panel Konnektör"

#~ msgid "Black Front Panel Connector"
#~ msgstr "Siyah Ön Panel Konnektör"

#~ msgid "Gray Front Panel Connector"
#~ msgstr "Gri Ön Panel Konnektör"

#~ msgid "Orange Front Panel Connector"
#~ msgstr "Portakal Ön Panel Konnektör"

#~ msgid "Red Front Panel Connector"
#~ msgstr "Kırmızı Ön Panel Konnektör"

#~ msgid "Yellow Front Panel Connector"
#~ msgstr "Sarı Ön Panel Konnektör"

#~ msgid "Spread Output"
#~ msgstr "Çıkışı Dağıt"

#~ msgid "Downmix"
#~ msgstr "Miks Edilmiş"

#~ msgid "Virtual Mixer Input"
#~ msgstr "Sanal Mikser Girişi"

#~ msgid "Virtual Mixer Output"
#~ msgstr "Sanal Mikser Çıkışı"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "Sanal Mikser Kanalları"

#~ msgid "%s %d Function"
#~ msgstr "%s %d İşlev"

#~ msgid "%s Function"
#~ msgstr "%s İşlev"

#~ msgid "Got unexpected frame size of %u instead of %u."
#~ msgstr "Beklenmeyen bir çerçevece boyutu %u bunun yerine %u görüntülendi."

#~ msgid "Error reading %d bytes on device '%s'."
#~ msgstr "%d baytı şu aygıtta '%s' okumada hata."

#~ msgid "Could not enqueue buffers in device '%s'."
#~ msgstr "Aygıtta '%s' arabellek kuyruğa sokulamıyor."

#~ msgid "Failed trying to get video frames from device '%s'."
#~ msgstr "Aygıttan device '%s' vidyo çerçeveleri alınamadı."

#~ msgid "Failed after %d tries. device %s. system error: %s"
#~ msgstr "Şu denemeden sonra %d başarılamadı. aygıt %s. sistem hatası: %s"

#~ msgid ""
#~ "The buffer type is not supported, or the index is out of bounds, or no "
#~ "buffers have been allocated yet, or the userptr or length are invalid. "
#~ "device %s"
#~ msgstr ""
#~ "Arabellek türü desteklenmiyor, veya içerik bir yere ait değil, veya "
#~ "arabellekler henüz ayrılmamış, veya userptr veya uzunluk geçersiz. aygıt. "
#~ "%s"

#~ msgid ""
#~ "Failed trying to get video frames from device '%s'. Not enough memory."
#~ msgstr "Vidyo çervevesi aygıttan '%s' alınamadı. Yetersiz bellek."

#~ msgid "insufficient memory to enqueue a user pointer buffer. device %s."
#~ msgstr ""
#~ "kullanıcı arabelleğini kuyruğa sokmak için yetersiz bellek. aygıt %s."

#~ msgid "No free buffers found in the pool at index %d."
#~ msgstr "Dizindeki %d havuzda boş bellek bulunamadı."

#~ msgid "Could not get buffers from device '%s'."
#~ msgstr "Arabellek aygıttan '%s' alınamıyor."

#~ msgid "Could not get enough buffers from device '%s'."
#~ msgstr "Yeterli bellek aygıttan '%s' alınamıyor."

#~ msgid "Error starting streaming capture from device '%s'."
#~ msgstr "Aygıttan '%s' akan görüntü başlatılamadı."

#~ msgid "Error stopping streaming capture from device '%s'."
#~ msgstr "Aygıttan '%s' akan görüntü durdurulamadı."
