Marcus Overhagen
83447512ed
Changed device detection. The driver now first uses device and vendor id to check
...
for devices. This allows using devices that are in IDE compatibility mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 16:05:23 +00:00
Marcus Overhagen
c134c7b07c
disable some debug output
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-01 10:28:24 +00:00
Marcus Overhagen
bfd9a59f77
This enable write support. The driver should be useable now.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 15:54:35 +00:00
Marcus Overhagen
a2a169feab
Improved interrupt handling
...
Removed DBC_I interrupt
Reduce debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 15:12:39 +00:00
Marcus Overhagen
ea44575a31
Cleanup, improved error handling, fix setting of DBC_I bit
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 14:02:04 +00:00
Marcus Overhagen
0845746bf7
Cleanup, device present detection improved.
...
Added support for non-48-bit LBA, added write support.
Proper error handling still missing, write support disabled for your protection.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 17:11:24 +00:00
Marcus Overhagen
55d356bd98
check for device presence before executing commands
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 12:14:45 +00:00
Marcus Overhagen
21b4398f6a
don't set the "clear on RX_OK" bits
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 00:34:09 +00:00
Marcus Overhagen
f5ea6b32a5
added debugging code
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 00:23:21 +00:00
Marcus Overhagen
6b8c1c2ad7
improved prd table handling
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 00:22:19 +00:00
Marcus Overhagen
2bf99ebdee
Added byte swapping of identify device strings.
...
Added capacity reporting.
Wait for interrupts to finish transfers.
Added lba 48-bit read support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 23:44:03 +00:00
Marcus Overhagen
ece77b379a
renamed SCSI_OP_TUR into SCSI_OP_TEST_UNIT_READY
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 21:30:53 +00:00
Marcus Overhagen
a79249de5b
add missing file
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 21:24:26 +00:00
Marcus Overhagen
2ae9d56421
added scatter gather prd table setup, implement scsi inquiry command and emulate test unit ready
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 21:22:25 +00:00
Marcus Overhagen
747c1927fd
removed conditional testing code
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 21:20:46 +00:00
Marcus Overhagen
91f867e016
added sg_memcpy to copy data into a scatter-gather table (inspired by IDE device manager)
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 21:19:14 +00:00
Marcus Overhagen
8ce98e44cc
convert files to new include file locations
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:53:42 +00:00
Marcus Overhagen
a1a086067d
cleanup
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:52:11 +00:00
Marcus Overhagen
41a3048db5
added missing include file (probably gcc4 only build fix)
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:51:31 +00:00
Marcus Overhagen
1e2722379a
splitting the file
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:19:08 +00:00
Marcus Overhagen
641e015e6e
this header should be private
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:08:52 +00:00
Marcus Overhagen
178bce195a
this header should be private
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:07:23 +00:00
Marcus Overhagen
4ecfa05eb3
this header should be private
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:06:24 +00:00
Marcus Overhagen
5451eb688b
this header should be private
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:05:55 +00:00
Marcus Overhagen
7d4093aa23
this header should be private
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:04:05 +00:00
Marcus Overhagen
2745621c91
use defines from PCI.h
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-27 13:50:48 +00:00
Marcus Overhagen
5aa7b7b6da
Fix broken build and the compiler warning "enumeral mismatch in conditional expression".
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-27 13:33:47 +00:00
Marcus Overhagen
20c8bc80d5
The Jmicron AHCI controller on my machine is always in PATA emulation mode,
...
despite using the "AHCI native" setting in the BIOS.
Added switching to AHCI mode during init, this makes it work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-26 18:55:29 +00:00
Marcus Overhagen
63f9ffef37
make sure PCI command register is setup correctly
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-26 18:09:42 +00:00
Marcus Overhagen
4af29ec0bd
Implemented a identify device command for further testing, works on Intel, doesn't work on Jmicron.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 21:33:15 +00:00
Marcus Overhagen
2c76601709
Cleanup of hard reset, works on Intel, doesn't work on Jmicron.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 15:37:56 +00:00
Marcus Overhagen
c32beda5c4
start dma later, reduce timeouts
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 22:42:24 +00:00
Marcus Overhagen
fab4e5b126
oops
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 21:39:18 +00:00
Marcus Overhagen
de372c5c6b
wait for phy communication
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 21:38:21 +00:00
Marcus Overhagen
22cf14cfbe
perform port reset and wait for devices to be detected
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 21:32:32 +00:00
Marcus Overhagen
be30f13184
fixed wrong port definition
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 19:08:22 +00:00
Marcus Overhagen
8961bec039
try to activate link and spin up the device
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-23 09:24:06 +00:00
Marcus Overhagen
cb8be29457
Start and stop DMA engine and FIS receive, enable port interrupts.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-22 23:43:25 +00:00
Marcus Overhagen
c542d2bbf1
Fixed memory allocation and field alignment.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-22 22:09:58 +00:00
Marcus Overhagen
633990282e
Setup command list, command table, FIS and PRDT pointers.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-19 20:21:31 +00:00
Marcus Overhagen
9382f57691
correct port number handling
...
allocate memory for command list and fis
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-11 22:09:13 +00:00
Marcus Overhagen
23c7bf9da2
enable interrupts
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 20:49:07 +00:00
Marcus Overhagen
25f926d8e4
forward scsi request to the ports
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 20:26:07 +00:00
Marcus Overhagen
4f733fe93b
added Interrupt handling framework
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 19:54:45 +00:00
Marcus Overhagen
3d41648479
implemented controller reset and AHCI enable, init a port object for each implemented device port
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 18:51:57 +00:00
Marcus Overhagen
9815383e54
a class for the SATA ports
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 18:51:03 +00:00
Marcus Overhagen
105f622310
print proper values for zero-based numbers
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 16:52:46 +00:00
Marcus Overhagen
093a713df2
map registers and print some information
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 14:29:10 +00:00
Marcus Overhagen
1a941c2e04
added more definitions from specification
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 14:28:47 +00:00
Marcus Overhagen
06c88385e8
copied
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 12:40:39 +00:00
Marcus Overhagen
036a8857a6
added a workaround to prevent loading the driver multiple times for the same device
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22099 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-28 21:10:39 +00:00
Marcus Overhagen
5461952df6
improved debug output
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-27 22:02:28 +00:00
Marcus Overhagen
fc002ebb35
print PCI vendor and device ID
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 21:26:16 +00:00
Marcus Overhagen
e63ca93e6a
compile fix for gcc 2.95
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 21:19:52 +00:00
Marcus Overhagen
83a2d4db1a
make sure the request failes
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 20:53:35 +00:00
Marcus Overhagen
48a55608e6
added a completely broken way to get the pci_device
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 20:45:59 +00:00
Marcus Overhagen
9f8f7442f3
pci_device can't be made static, it identifies the individual controller PCI device
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 20:28:30 +00:00
Marcus Overhagen
a53e060c17
set scsi target id maximum to 33 (32 devices + controller) for ahci controller
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 19:59:12 +00:00
Marcus Overhagen
402a4a4e7b
Set scsi target id limit to 16, was previously hardcoded to 2. Add a node attribute to allow overriding this value.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 19:57:51 +00:00
Marcus Overhagen
ddf188703a
Moved PCI access code, but the compiler refuses to convert 'device_node_info*' to 'pci_device_info*' in argument passing...
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 19:19:57 +00:00
Marcus Overhagen
21255d1fc7
moved controller specific functionality into it's own class
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 19:06:14 +00:00
Marcus Overhagen
2210148f94
compile the sim as C++
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 16:57:31 +00:00
Marcus Overhagen
c42a837e85
scsi_sim_cookie is just another name for void *
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 16:55:45 +00:00
Marcus Overhagen
64ceb67ba3
even more debugging
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 16:49:53 +00:00
Marcus Overhagen
8eca44fa7e
added more debug output
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 16:04:10 +00:00
Marcus Overhagen
1bb5a6b3d3
driver interface for ahci
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-21 20:11:32 +00:00
Marcus Overhagen
20c4c9e77e
Don't trust the user, and enforce the iovec limit.
...
Also check for negative positions smaller -1
(as -1 means using current address).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-21 19:07:10 +00:00
Marcus Overhagen
e9b8c538b0
increase history size to a useful value
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-21 18:46:01 +00:00
Marcus Overhagen
31cf24c13e
debugging instrumentation for Cortex lockup bug (some weeks old already)
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-21 18:44:55 +00:00
Marcus Overhagen
07580bfab4
purged
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-15 21:56:44 +00:00
Marcus Overhagen
f6ed9e7b0a
remove ide/ahci and put reuseable stuff into scsi/ahci
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-15 21:19:06 +00:00
Marcus Overhagen
d1dc70fa5f
FD_CLOEXEC is a flag, other bits may be set
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-05 13:56:01 +00:00
Marcus Overhagen
43fdea7d52
writev test application. I expected this to crash haiku, but it hasn't
...
so far.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-05 13:24:52 +00:00
Marcus Overhagen
4e7050cd09
Allow thread priority setting from inside kdl. Right now, a
...
single priority 12 thread can make the whole GUI appear frozen.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-29 01:30:59 +00:00
Marcus Overhagen
3ab19002fe
Added "suspend", "resume" and "drop" commands to kernel debugger.
...
It's now possible to debug amok-running user threads by
suspending or resuming them, as well as dropping them into
the userland-debugger from inside kdl.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-29 01:06:36 +00:00
Marcus Overhagen
8f5e97473f
build fix (rebuidling MessagingService.o wasn't possible after this jamfile was changed in r21715)
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-29 00:51:36 +00:00
Marcus Overhagen
2e53897578
kernel debugger support for suspending a thread
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-29 00:24:54 +00:00
Marcus Overhagen
71ec907eaa
Build fix for GCC 4
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-28 22:36:02 +00:00
Marcus Overhagen
ba8c1ff561
Make partition access saver. attempts to read or write outside of a partition
...
now fail with B_BAD_VALUE. It's also no longer possible to overwrite the begin
of a partition by specifying a negative position, as negative positions are no
longer translated into 0.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-25 22:30:59 +00:00
Marcus Overhagen
85b3a71e69
Check the pos parameter before calling into kernel.
...
This does prevent the unwanted side effect of reading or writing at the current
file pointer position when the functions are called with a -1 position.
It's save to do this check in user space, because calling the _kern_* function
with -1 pos has the same effect as calling the normal read/write posix functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-25 22:10:56 +00:00
Marcus Overhagen
ad1d8116a6
compile fix, header file for strcmp was missing
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 00:37:11 +00:00
Marcus Overhagen
c41c3f9bca
gcc4 compile fix, but C++ predicates are ugly
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 00:36:11 +00:00
Marcus Overhagen
896aa538d4
gcc4 fix
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 00:02:12 +00:00
Marcus Overhagen
005b9e7acd
spolling fex
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 16:42:46 +00:00
Marcus Overhagen
ca39427c4e
cleanup
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 16:39:38 +00:00
Marcus Overhagen
cbd5957241
disable the per frame debug output
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-23 23:36:47 +00:00
Marcus Overhagen
935522a3ae
better error handling
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-23 23:35:26 +00:00
Marcus Overhagen
be5f5c2d14
ck a dull boy All work and no play makes Jack a dull boy. All work and no play makes Jack a dull boy. All work and no play makes Jack a dull
...
boy. All work and no play makes Jack a dull boy. All work and no play makes Jack a dull boy. All work and no play makes Jack a dull boy. All work and no play makes Jack a
dull boy. All work and no play makes Jack a
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-23 23:17:57 +00:00
Marcus Overhagen
84371c1446
revert the part of the previous checkin that completely broke video seeking (however, the current state is hardly working at all)
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 21:02:50 +00:00
Marcus Overhagen
beb89275f5
Synchronize even at begin of the file, some avi files contain garbage at the beginning
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 20:14:00 +00:00
Marcus Overhagen
56853d6ff1
Use separate waiting semaphores for audio and video, later to be used for seeking
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 20:12:21 +00:00
Marcus Overhagen
d85ccec96a
This fixes most audio seeking problems with AVI files, but
...
still needs some work. The sync code was never executed, as
if (len < chunkSize) (len = signed, chunkSize = unsigned)
was compiled into an unsigned compare and thus always false
for len=-1.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 19:38:59 +00:00
Marcus Overhagen
2087d23365
always sync to frame begin after a seek
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 15:54:08 +00:00
Marcus Overhagen
6c1def1920
truncate chunks first and then check for zero size
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 12:55:46 +00:00
Marcus Overhagen
f4eb963104
Added an additional check before calculating maxsize to avoid overflows.
...
Ignore empty 'strn' chunks instead of treating them as an error. This
also fixes loading of the "The party at the end of the earth.divx" file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 12:44:33 +00:00
Marcus Overhagen
1b842f776a
Moved some functionality from avi_reader into OpenDMLParser.
...
Added basic seeking support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-12 20:44:45 +00:00
Marcus Overhagen
b991dadc45
small coding style cleanup
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-12 16:12:57 +00:00
Marcus Overhagen
59ab99e7c6
Preparation of seek support. Put AVI index handling into different files. Preload the full idx1 (standard) index during file opening.
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-10 23:13:28 +00:00
Marcus Overhagen
27cc6d1f0f
check for scale==0
...
parse strn chunk
fix spelling errors
prepare for INFO list parsing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-07 22:03:11 +00:00
Marcus Overhagen
f44764386f
code cleanup: replaced bool results with status_t
...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-07 20:15:34 +00:00