--- libs/libmythtv/bdringbuffer.cpp.orig	2012-04-14 16:44:00.000000000 +0400
+++ libs/libmythtv/bdringbuffer.cpp	2012-05-05 04:10:13.591981978 +0400
@@ -284,18 +284,18 @@ bool BDRingBuffer::OpenFile(const QStrin
         filename = lfilename;
     }
     safefilename = filename;
 
     LOG(VB_GENERAL, LOG_INFO, LOC + QString("Opened BDRingBuffer device at %1")
-            .arg(filename.toLatin1().data()));
+            .arg(filename));
 
     // Ask mythiowrapper to update this object on file open progress. Opening
     // a bluray disc can involve opening several hundred files which can take
     // several minutes when the disc structure is remote. The callback allows
     // us to 'kick' the main UI - as the 'please wait' widget is still visible
     // at this stage
-    mythfile_open_register_callback(filename.toLatin1().data(), this,
+    mythfile_open_register_callback(filename.toLocal8Bit().data(), this,
                                     file_opened_callback);
 
     QMutexLocker locker(&m_infoLock);
     rwlock.lockForWrite();
 
@@ -304,16 +304,16 @@ bool BDRingBuffer::OpenFile(const QStrin
 
     QString keyfile = QString("%1/KEYDB.cfg").arg(GetConfDir());
     QByteArray keyarray = keyfile.toAscii();
     const char *keyfilepath = keyarray.data();
 
-    bdnav = bd_open(filename.toLatin1().data(), keyfilepath);
+    bdnav = bd_open(filename.toLocal8Bit().data(), keyfilepath);
 
     if (!bdnav)
     {
         rwlock.unlock();
-        mythfile_open_register_callback(filename.toLatin1().data(), this, NULL);
+        mythfile_open_register_callback(filename.toLocal8Bit().data(), this, NULL);
         return false;
     }
 
     m_metaDiscLibrary = bd_get_meta(bdnav);
 
@@ -371,13 +371,13 @@ bool BDRingBuffer::OpenFile(const QStrin
     // Set parental level "age" to 99 for now.  TODO: Add support for FE level
     bd_set_player_setting(bdnav, BLURAY_PLAYER_SETTING_PARENTAL, 99);
 
     // Set preferred language to FE guide language
     const char *langpref = gCoreContext->GetSetting(
-        "ISO639Language0", "eng").toLatin1().data();
+        "ISO639Language0", "eng").toLocal8Bit().data();
     QString QScountry  = gCoreContext->GetLocale()->GetCountryCode().toLower();
-    const char *country = QScountry.toLatin1().data();
+    const char *country = QScountry.toLocal8Bit().data();
     bd_set_player_setting_str(
         bdnav, BLURAY_PLAYER_SETTING_AUDIO_LANG, langpref);
 
     // Set preferred presentation graphics language to the FE guide language
     bd_set_player_setting_str(bdnav, BLURAY_PLAYER_SETTING_PG_LANG, langpref);
@@ -469,11 +469,11 @@ bool BDRingBuffer::OpenFile(const QStrin
     rawbitrate      = 8000;
     CalcReadAheadThresh();
 
     rwlock.unlock();
 
-    mythfile_open_register_callback(filename.toLatin1().data(), this, NULL);
+    mythfile_open_register_callback(filename.toLocal8Bit().data(), this, NULL);
     return true;
 }
 
 long long BDRingBuffer::GetReadPosition(void) const
 {
