Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: [ANNOUNCE] vdr-softdevice-0.0.7pre2



On Mon, 2004-07-26 at 23:52, Torgeir Veimo wrote:
> On Tue, 2004-07-27 at 00:16 +0200, Stefan Lucke wrote:
> > On Montag, 26. Juli 2004 23:34, Torgeir Veimo wrote:
> > > On Sun, 2004-07-25 at 22:16, Stefan Lucke wrote:
> > > > Hi,
> > > > 
> > > > next pre release of softdevice plugin is ready.
> > > 
> > > Here's a patch to enable toggling fullscreen with f on the keyboard or
> > > double click inside the window. 
> > 
> > Hm, toggleF.. is called, but there is no reaction. Which window manager do you use ?
> > I'm on kde 3.1.4 with suse 9.0.
> 
> Nothing? Some tweaking might be needed for some window window managers.
> I'm running with gnome 2.6 here from fc2. It's a can of worms, but

Can you test with supplied code to see if the WM supports fullscreen
hinting with atoms? I can maybe add the code to the plugin.

I still am having severe a/v sync problems with "sync on i Frames",
cause the video to stutter regulary twice every second or so. With Sync
on every frame the picture is just behind the audio. 

Also, think sync method is not stored. Adding this (line 263
setup-softdevice.c) seems to fix it: 

  SetupStore ("SyncAllFrames",      setupStore.syncOnFrames);

Furthermore, I am unable to compile in any more deinterlace filters,
even if PP_LIBAVCODEC=1 is present in the makefile. libpostproc.a is in
the correct location and everything compiles successfully, they are just
not available in the setup menu.

-- 
Torgeir Veimo <torgeir@pobox.com>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>

#include <X11/Xlib.h>
#include <X11/Xatom.h>

/* 
  Simple test for WM support for fullscreen hint atom.
  Compile with:

  gcc -L/usr/X11R6/lib/ -lX11 -o captest captest.c

  Lacks proper error handling, so might segfault in certain cases.
*/
int main(char **argv, int argc) {

  Display       *dpy;
  Window        root;
  Atom          type;
  int           format;
  unsigned int  i;
  unsigned long nitems, bytesafter;
  unsigned char *args;
  unsigned long *ldata;
  char          *name;
  Atom          _NET_SUPPORTED, _NET_WM_STATE_FULLSCREEN;

  if(!(dpy = XOpenDisplay(NULL))) {
    return -1;
  }

  root = DefaultRootWindow(dpy);

  _NET_WM_STATE_FULLSCREEN = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", False);
  _NET_SUPPORTED = XInternAtom(dpy, "_NET_SUPPORTED", False);

  XGetWindowProperty(dpy, root, _NET_SUPPORTED, 0, (65536 / sizeof(long)), 
    False, AnyPropertyType, &type, &format, &nitems, &bytesafter, &args);
  
  if (type != XA_ATOM) return -1;
  ldata = (unsigned long*) args;
  for (i = 0; i < nitems; i++) {
    if (ldata[i] == _NET_WM_STATE_FULLSCREEN) {
      fprintf(stderr, "WM supports full screen hint\n");
      name = XGetAtomName(dpy, ldata[i]);
      fprintf(stderr,"atom: %s\n", name);
      XFree(name);
    }
  }
  XFree(ldata);
  return 0;
}

Home | Main Index | Thread Index