[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-multimedia
Subject:    kqueue(2) vs. cuse4bsd? (was: Re: multimedia/tvheadend has been committed)
From:       Juergen Lock <nox () jelal ! kn-bremen ! de>
Date:       2013-07-18 18:34:03
Message-ID: 201307181834.r6IIY35e055755 () triton8 ! kn-bremen ! de
[Download RAW message or body]

In article <CAE-m3X0coVNak4fZ9hfC82izfgB1u0tX_JSBz89wb1d_qLhKtQ@mail.gmail.com> you write:
>Hi guys.
Hi!
>
>I have been working on tvheadend for some time and got it to the point
>where I think it starts to become useful for others too. Upstream was
>very helpful and merged a lot of patches already and also helped with
>the kqueue support.
>
>So what is tvheadend and why do you want it?
>- If you are using XBMC then you really want tvheadend as your DVB
>backend. This allows you to watch TV and record stuff within XBMC.
>- If you are using MythTV then you really want to use tvheadend because
>it's slim and light and still does everything you ever need. Without all the
>Qt GUI and without a database and without a ton of plugins.
>
>The port itself is in a somewhat useable state but there is still quite some
>work to bring it in a good shape. I still wanted to bring it to the
>tree to allow
>other people to jump in and give it a broader testing with other devices and
>other environments.
>
>Known issues:
>- scanning does not work (at least not for my Dib7000 DVB-T device)
>- no libav support
>- no libdvbcsa support
>- no rc.d script
>- does not compile on FreeBSD 8.x
>
>Patches, feedback and help are always welcome!
>
>WWW: https://tvheadend.org/

 Ok I got it to build on 8.3 and found it couldn't scan because
kevent() in tvhpoll_add() in open_table() in src/dvb/dvb_input_filtered.c
always fails with ENODEV on the demux0 dvb node. :(  Is kqueue(2)
broken with cuse4bsd?  I've Cc'd hps, maybe he knows...

 First the Makefile patch I used:

Index: multimedia/tvheadend/Makefile
===================================================================
--- multimedia/tvheadend/Makefile	(revision 323250)
+++ multimedia/tvheadend/Makefile	(working copy)
@@ -37,11 +37,19 @@
 CONFIGURE_ARGS+=	--disable-dvbscan --disable-zlib
 CFLAGS+=	-Wno-conversion -Wno-int-to-pointer-cast
 
+# gdb
+CFLAGS+=	-g
+
 .include <bsd.port.pre.mk>
 
 .if ${OSVERSION} < 900000
-BROKEN=		Does not compile on FreeBSD < 9.0
+#BROKEN=		Does not compile on FreeBSD < 9.0
+.if ${ARCH} == "amd64" || ${ARCH} == "sparc64" || ${ARCH} == "mips64"
+CFLAGS+=	-D__WORDSIZE=64
+.else
+CFLAGS+=	-D__WORDSIZE=32
 .endif
+.endif
 
 .if ( !empty(CC:M*clang*) || ${OSVERSION} >= 1000024 )
 # CLANG also needs -Wno-microsoft which GCC 4.2 does not know

 And this shows the failure:

--- src/dvb/dvb_input_filtered.c.orig
+++ src/dvb/dvb_input_filtered.c
@@ -129,6 +129,11 @@ open_table(th_dvb_mux_instance_t *tdmi, 
     if(tvhpoll_add(tda->tda_table_pd, &ev, 1) != 0) {
       close(tdt->tdt_fd);
       tdt->tdt_fd = -1;
+#if 1
+      tvhlog(LOG_ERR, "dvb",
+       "\"%s\" open_table: unable to setup polling: %s",
+       tda->tda_demux_path, strerror(errno));
+#endif
     } else {
 
       struct dmx_sct_filter_params fp = {0};

 Thanx, :)
	Juergen
_______________________________________________
freebsd-multimedia@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia
To unsubscribe, send any mail to "freebsd-multimedia-unsubscribe@freebsd.org"
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic