Bug 345221
| Summary: | [firewire] dvgrab unable to capture any video on powerpc | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Jarod Wilson <jarod> |
| Component: | libraw1394 | Assignee: | Jarod Wilson <jarod> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | low | Docs Contact: | |
| Priority: | low | ||
| Version: | rawhide | CC: | ahz001, fenlason, krh, lists, stefan-r-rhbz, wwoods |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | powerpc | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | libraw1394-1.3.0-3.fc8 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2007-10-25 01:19:44 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Jarod Wilson
2007-10-22 14:09:04 UTC
Okay, I found an OHCI 1.1 PCI card. dvgrab is able to get video off it just fine with this card in an i686 tower, so I'm wondering if this might be an endian issue in the juju stack. Just noticed that I do have a problem at the conclusion of the capture, which I recall seeing reported elsewhere, in that dvgrab segfaults: # dvgrab Found AV/C device with GUID 0x0000850000961567 Capture Started "dvgrab-001.avi": 62.45 MB 518 frames timecode 00:01:22.19 date 2007.02.02 10:21:02 Capture Stopped Segmentation fault The captured file plays back just fine though. I was thinking of bug 331271. I'm getting a variant of the same. Differences may be attributed to either a newer libraw1394 or dvgrab. Definitely looking like an endian issue. I've traced the problem down into ioctl_queue_iso() in fw-dev.c returning -EINVAL because 'u.packet.header_length % ctx->header_size != 0' is true. On i686, control = 0x4000200, resulting in a payload_length of 512 and a header_length of 4. On powerpc, I'm seeing control = 0x2000004, resulting in a payload_length of 4 and a header_length of 2 (and ctx->header_size is 4, so 2 % 4 != 0 is certainly true). Don't the kernel driver and libraw1394's juju backend agree that include/linux/firewire-cdev.h::struct fw_cdev_iso_packet.control is CPU endian? Or is there an alignment problem rather than an endianess problem? This turned out to be a problem due to an outdated juju libraw1394 that was still using bitfields in fw_cdev_iso_packet. After updating that, I can now capture dv on my powerbook just fine. I'll get an update together shortly... libraw1394-1.2.1-11.fc7 has been pushed to the Fedora 7 stable repository. If problems still persist, please make note of it in this bug report. |