Mercurial > mplayer.hg
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) { |