[mythtv-commits] Ticket #4752: Add R5000 STB Support to MythTV
MythTV
mythtv at cvs.mythtv.org
Fri Oct 17 13:23:10 UTC 2008
#4752: Add R5000 STB Support to MythTV
----------------------------------+-----------------------------------------
Reporter: alannisota at gmail.com | Owner: danielk
Type: enhancement | Status: assigned
Priority: minor | Milestone: unknown
Component: mythtv | Version: head
Severity: medium | Resolution:
Mlocked: 0 |
----------------------------------+-----------------------------------------
Comment(by alannisota at gmail.com):
I've offered to work on supporting the 6000 series boxes if someone has
one with an R5k mod and can provide test streams and help with debug. It
shouldn't be too hard, though because the 6000 delivers PES rather than
TS, synchronization will take longer. Apparently BEV is going to the 9242
which should already work, or the 6141 which is not yet supported by R5k,
but when it is, will likely work with the existing code (my understanding
is that the 6141== vip211k, which is nearly identical inside to the
vip211)
If you are having issues compiling the code, it would be helpful to supply
the errors. It compiles just fine on Ubuntu 8.04.
The only changes I've made vs patch r11 are the following to prevent a
segfault:
{{{
Index: libs/libmythtv/r5000/libusb_augment.c
===================================================================
--- libs/libmythtv/r5000/libusb_augment.c.orig 2008-10-17
06:19:51.000000000 -0700
+++ libs/libmythtv/r5000/libusb_augment.c 2008-10-17
06:19:34.000000000 -0700
@@ -264,7 +264,7 @@
int usb_urb_reap(usb_dev_handle *dev, // Open usb device handle.
struct usbdevfs_urb *iso_urb, // Pointer to URB.
int timeout) { // Attempt timeout (usec).
- void *context;
+ void *context = NULL;
int ret;
struct pollfd ufd[1];
@@ -297,7 +297,7 @@
//fprintf(stderr, "error count: %d\n", iso_urb->error_count);
//fprintf(stderr, "waiting done\n");
- if(iso_urb != context) {
+ if(context != NULL && iso_urb != context) {
fprintf(stderr, "Expected urb: %p but got %p\n", iso_urb, context);
return -1;
}
Index: libs/libmythtv/r5000/r5k_misc.c
===================================================================
--- libs/libmythtv/r5000/r5k_misc.c.orig 2008-10-17
06:19:51.000000000 -0700
+++ libs/libmythtv/r5000/r5k_misc.c 2008-10-17 06:19:34.000000000
-0700
@@ -134,7 +134,7 @@
}
ts[7] = (ptr - ts) - 8/*header*/ + 4/*CRC*/;
r5000_calc_crc(ptr, ts + 5, (ptr - ts) - 5);
- memset(ptr+4, 0xff, 188 - (ptr - ts - 4));
+ memset(ptr+4, 0xff, 188 - (ptr + 4 - ts));
memcpy(r5kdev->pmt_pkt, ts, 188);
//PRINTHEX("PMT", r5kdev->pmt_pkt, 188);
}
}}}
I am currently working on trying to get more reliability with the vip211
(commercial detection/ff don't work very well still)
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/4752#comment:22>
MythTV <http://www.mythtv.org/>
MythTV
More information about the mythtv-commits
mailing list