xineliboutput problem

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

 




 Hi,

I upgraded my xinelib-1.2 to the latest from hg, recompiled xineliboutput and its frontends and now vdr-sxfe will not start. I get this in the log:

Nov 17 22:56:26 giradot vdr-sxfe[6256]: [6256] [scrnsaver] Error: The name org.gnome.ScreenSaver was not provided by any .service files Nov 17 22:56:26 giradot vdr-sxfe[6256]: [6256] [xine-vo ] wire_video_driver() FAILED (vo_driver != vos_driver) Nov 17 22:56:26 giradot kernel: vdr-sxfe[6256]: segfault at 0 ip (null) sp 00007fffa201d2b8 error 14 in vdr-sxfe[400000+22000] Nov 17 22:56:26 giradot vdr-sxfe[6256]: [6256] [vdr-fe] wire_video_driver() for osdscaler failed

Looking at the code for wire_video_driver, I dont understand how this is meant to work. It seems to take the driver element from the xine_video_port_t (or xine_video_port_s) and compare it to the same variable but cast to a vos_t and its ->driver:


typedef struct {
  xine_video_port_t         vo; /* public part */
  vo_driver_t              *driver;
  /* ... */
} vos_t;

int wire_video_driver(xine_video_port_t *video_port, vo_driver_t *hook)
{
  vo_driver_t *vos_driver = ((vos_t*)video_port)->driver;

  if (video_port->driver != vos_driver) {
    LOGMSG("wire_video_driver() FAILED (vo_driver != vos_driver)");
    return 0;
  }
...


But how is this meant to work as in xine_video_port_t the driver is the last element, but in vos_t driver is after the xine_video_port, so wouldn't that be 4 bytes later (on a 32 bit system)?

Obviously my C is not up to scratch :-(




_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux