comparison stream/stream_dvd.c @ 25037:ee99e07b2139

Use AV_WB32 instead of manual bit-fiddling when setting DVD speed
author reimar
date Sat, 17 Nov 2007 18:20:04 +0000
parents 1bc77e1220f3
children b2ae4a355a54
comparison
equal deleted inserted replaced
25036:1bc77e1220f3 25037:ee99e07b2139
36 #include "m_struct.h" 36 #include "m_struct.h"
37 37
38 #include "stream_dvd.h" 38 #include "stream_dvd.h"
39 #include "stream_dvd_common.h" 39 #include "stream_dvd_common.h"
40 #include "libmpdemux/demuxer.h" 40 #include "libmpdemux/demuxer.h"
41 #include "libavutil/intreadwrite.h"
41 42
42 extern int stream_cache_size; 43 extern int stream_cache_size;
43 extern char* dvd_device; 44 extern char* dvd_device;
44 int dvd_angle=1; 45 int dvd_angle=1;
45 int dvd_speed=0; /* 0 => don't touch speed */ 46 int dvd_speed=0; /* 0 => don't touch speed */
103 buffer[8] = 0xff; /* first sector 0, last sector 0xffffffff */ 104 buffer[8] = 0xff; /* first sector 0, last sector 0xffffffff */
104 buffer[9] = 0xff; 105 buffer[9] = 0xff;
105 buffer[10] = 0xff; 106 buffer[10] = 0xff;
106 buffer[11] = 0xff; 107 buffer[11] = 0xff;
107 108
108 buffer[12] = buffer[20] = (speed >> 24) & 0xff; /* <speed> kilobyte */ 109 /* <speed> kilobyte */
109 buffer[13] = buffer[21] = (speed >> 16) & 0xff; 110 AV_WB32(buffer + 12, speed);
110 buffer[14] = buffer[22] = (speed >> 8) & 0xff; 111 AV_WB32(buffer + 20, speed);
111 buffer[15] = buffer[23] = speed & 0xff;
112 112
113 buffer[18] = buffer[26] = 0x03; /* 1 second */ 113 buffer[18] = buffer[26] = 0x03; /* 1 second */
114 buffer[19] = buffer[27] = 0xe8; 114 buffer[19] = buffer[27] = 0xe8;
115 115
116 if (ioctl(fd, SG_IO, &sghdr) < 0) { 116 if (ioctl(fd, SG_IO, &sghdr) < 0) {