Opened 19 years ago
Closed 19 years ago
Last modified 19 years ago
#3073 closed defect (fixed)
MediaMonitor has problems if disk already mounted
| Reported by: | Nigel | Owned by: | Nigel |
|---|---|---|---|
| Priority: | minor | Milestone: | unknown |
| Component: | mythtv | Version: | 0.20 |
| Severity: | low | Keywords: | |
| Cc: | Ticket locked: | no |
Description
On Linux using 0.20-fixes, if a DVD is already mounted before the frontend starts, the wrong plugin is selected (MythGallery - the default for data disks). Output reveals:
2007-02-10 02:47:34.328 Starting media monitor. 2007-02-10 02:47:34.617 Executing '/usr/bin/pmount /dev/cdrom' mount: /dev/cdrom already mounted or /cdrom busy mount: according to mtab, /dev/hdd is already mounted on /cdrom 2007-02-10 02:47:34.737 Failed to mount /dev/cdrom. 2007-02-10 02:47:34.739 Media status changed... New status is: MEDIASTAT_MOUNTED old status was MEDIASTAT_NOTMOUNTED
that the mount failure is the problem. Output for later insertion of a DVD:
2007-02-10 02:30:50.613 Starting media monitor. 2007-02-10 02:30:54.298 Executing '/usr/bin/pmount /dev/cdrom' 2007-02-10 02:30:56.531 Looking for: '/cdrom/VIDEO_TS' 2007-02-10 02:30:56.540 Probable DVD detected. 2007-02-10 02:30:56.557 Executing '/usr/bin/pumount /dev/cdrom' 2007-02-10 02:30:56.798 Looking for: '/cdrom/vcd' 2007-02-10 02:30:56.808 Looking for: '/cdrom/svcd' 2007-02-10 02:30:56.829 m_MediaType: 16 2007-02-10 02:30:56.840 Media status changed... New status is: MEDIASTAT_USEABLE old status was MEDIASTAT_NOTMOUNTED
This is not a big problem, but should be easy to fix?
Change History (4)
Note:
See TracTickets
for help on using tickets.

This seems to do the trick:
Index: mythcdrom-linux.cpp =================================================================== --- mythcdrom-linux.cpp (revision 12770) +++ mythcdrom-linux.cpp (working copy) @@ -143,10 +143,12 @@ .arg(this->m_VolumeID) .arg(QString(buf.creation_date).left(16)); - // attempt to mount the disc // the base class's onDeviceMounted will do fine // grained detection of the type of data on this disc - mount(); + if (isMounted(true)) + onDeviceMounted(); + else + mount(); // onDeviceMounted() called as side-effect if (isMounted(true)) {