ports/57869: update port multimedia/xawtv: workaround to enable overlay
Matthias Andree
matthias.andree at web.de
Sat Oct 11 19:30:21 UTC 2003
>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 at 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:
More information about the freebsd-ports-bugs
mailing list