From 93d3631223b4d3a2c8bcfb3b503deab67ab4dfc7 Mon Sep 17 00:00:00 2001 From: Jean-Yves Avenard Date: Wed, 22 Feb 2012 17:12:35 +1100 Subject: [PATCH] Fix bluray playback if mounting path is a symbolic link Some distributions (such as Ubuntu) symlink /media/cdrom0 to /media/cdrom. Decryption would fail if trying to play bd:/media/cdrom. We know determine the actual canonical path Fix #10340 (part 2) --- mythtv/libs/libmythtv/bdringbuffer.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mythtv/libs/libmythtv/bdringbuffer.cpp b/mythtv/libs/libmythtv/bdringbuffer.cpp index 8028527f4da..19912e12667 100644 --- a/mythtv/libs/libmythtv/bdringbuffer.cpp +++ b/mythtv/libs/libmythtv/bdringbuffer.cpp @@ -275,6 +275,16 @@ bool BDRingBuffer::OpenFile(const QString &lfilename, uint retry_ms) safefilename = lfilename; filename = lfilename; + // clean path filename + QString filename = QDir(QDir::cleanPath(lfilename)).canonicalPath(); + if (filename.isEmpty()) + { + LOG(VB_GENERAL, LOG_ERR, LOC + + QString("%1 nonexistent").arg(lfilename)); + filename = lfilename; + } + safefilename = filename; + LOG(VB_GENERAL, LOG_INFO, LOC + QString("Opened BDRingBuffer device at %1") .arg(filename.toLatin1().data()));