Ticket #6038: dvd_speed_patch.txt

File dvd_speed_patch.txt, 1.1 KB (added by Rob Webb <robwebb5@…>, 15 years ago)

patch to make MythTV call SG_IO and then CDROSELECT_SPEED - tested on NEC 3550A

Line 
1--- ./libs/libmyth/mythcdrom-linux.cpp.orig     2008-12-22 09:56:00.000000000 +0000
2+++ ./libs/libmyth/mythcdrom-linux.cpp  2008-12-22 09:59:50.000000000 +0000
3@@ -712,15 +712,20 @@
4     buffer[18] = buffer[26] = 0x03;
5     buffer[19] = buffer[27] = 0xe8;
6 
7-    // On my system (2.6.18 + ide-cd),  SG_IO succeeds without doing anything,
8-    // while CDROM_SELECT_SPEED works...
9-    if (ioctl(fd, CDROM_SELECT_SPEED, speed) < 0)
10+    if (ioctl(fd, SG_IO, &sghdr) < 0)
11     {
12-        if (ioctl(fd, SG_IO, &sghdr) < 0)
13-            VERBOSE(VB_MEDIA, LOC_ERR + "Limit CD/DVD Speed Failed");
14+        VERBOSE(VB_MEDIA, LOC_ERR + "Limit CD/DVD Speed Failed");
15     }
16-    else
17+    else
18+    {
19+        // On my system (2.6.18 + ide-cd),  SG_IO succeeds without doing anything,
20+        // while CDROM_SELECT_SPEED works...
21+        if (ioctl(fd, CDROM_SELECT_SPEED, speed) < 0)
22+        {
23+            VERBOSE(VB_MEDIA, LOC_ERR + "Limit CD/DVD CDROM_SELECT_SPEED Failed");
24+        }
25         VERBOSE(VB_MEDIA, LOC + ":setSpeed() - CD/DVD Speed Set Successful");
26+    }
27 
28     close(fd);
29 }