Date: Sat, 11 Oct 2003 21:20:24 +0200 (CEST) From: Matthias Andree <matthias.andree@web.de> To: FreeBSD-gnats-submit@FreeBSD.org Cc: oliver@FreeBSD.org Subject: ports/57869: update port multimedia/xawtv: workaround to enable overlay Message-ID: <20031011192024.218381B214@merlin.emma.line.org> Resent-Message-ID: <200310111930.h9BJUJAm038616@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 57869 >Category: ports >Synopsis: update port multimedia/xawtv: workaround to enable overlay >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Sat Oct 11 12:30:18 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Matthias Andree >Release: FreeBSD 5.1-CURRENT i386 >Organization: >Environment: System: FreeBSD merlin.emma.line.org 5.1-CURRENT FreeBSD 5.1-CURRENT #10: Tue Oct 7 03:15:45 CEST 2003 toor@merlin.emma.line.org:/usr/src/sys/i386/compile/MA5 i386 >Description: On my FreeBSD machine, xawtv misdetects the X11 display as "remote" and hence disables the "overlay" mode which is an important performance feature. This PR includes a workaround for the problem. Please apply until there is an upstream fix in the next xawtv release. Technical: x11/xt.c seems to be unable to retrieve the socket name, but IMHO an address type of AF_UNIX is sufficient to conclude "local display". NOTE: there is another bug in xt.c, it does NOT detect that getnameinfo fails with EAI_FAMILY and still tries to use the results. ltrace: (5 is EAI_FAMILY) This bug needs to be fixed upstream, and I also suggest the patch below for the upstream. getsockname(6, 0xbfbff7b0, 0xbfbff72c, 95, 1) = 0 getnameinfo(0xbfbff7b0, 16, 0xbfbff780, 46, 0xbfbff730) = 5 getpeername(6, 0xbfbff7b0, 0xbfbff72c, 46, 0xbfbff730) = 0 getnameinfo(0xbfbff7b0, 19, 0xbfbff750, 46, 0xbfbff730) = 5 strcmp("", ")\001\003 \326!\b\b.\035\b\b\324R\b\b@\242\b\b\b") = -41 >How-To-Repeat: >Fix: Gerd, for upstream application, you need to run patch twice on this section, the first time with -p4, which should create files-x11::xt.c, then run patch again with this new file as input to modify x11/xt.c. diff -Nur /usr/ports/multimedia/xawtv/Makefile /root/xawtv/Makefile --- /usr/ports/multimedia/xawtv/Makefile Sat Oct 11 18:40:18 2003 +++ /root/xawtv/Makefile Sat Oct 11 21:06:25 2003 @@ -7,6 +7,7 @@ PORTNAME= xawtv PORTVERSION= 3.88.1 +PORTREVISION= 1 CATEGORIES= multimedia MASTER_SITES= http://bytesex.org/xawtv/ DISTNAME= ${PORTNAME}_${PORTVERSION} diff -Nur /usr/ports/multimedia/xawtv/files/patch-x11::xt.c /root/xawtv/files/patch-x11::xt.c --- /usr/ports/multimedia/xawtv/files/patch-x11::xt.c Thu Jan 1 01:00:00 1970 +++ /root/xawtv/files/patch-x11::xt.c Sat Oct 11 21:06:56 2003 @@ -0,0 +1,12 @@ +diff -ur xawtv-3.88.1/x11/xt.c xawtv-3.88.1-ma/x11/xt.c +--- x11/xt.c Wed Apr 16 12:23:12 2003 ++++ x11/xt.c Sat Oct 11 21:04:36 2003 +@@ -1459,7 +1459,7 @@ + fprintf(stderr,"*"); + + /* catch unix sockets on FreeBSD */ +- if (0 == length) { ++ if (0 == length || ss.ss_family == AF_UNIX) { + if (debug) + fprintf(stderr, " ok (unix socket)\n"); + return; >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031011192024.218381B214>