Mailing List archive

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

[vdr] Re: Sending VDR output to X11 window ?



On Freitag, 5. März 2004 11:37, DOm wrote:

[ ..]

> But i discovered a strange thing:
> both with original patch04 and with the above modifications i _normally_
> do not see OSD, but if i move the window or if the system is under heavy
> load i am able to see the osd for _half a  second_ or so, it seemed to
> me as a "z-order overlay problem": like if video was *above* OSD and the
> latter is visible only when the window is redrawn.

That looks like either color key does not work or: It is not video
overlay but video UNDERLAY ;-) .

So lets change the drawing sequence:
1st video
2nd OSD

The mutex locked sequence should look like:
--cut--start
  pthread_mutex_lock(&xv_mutex);
  XvShmPutImage(dpy, port,
                win, gc,
                xv_image,
                0, 0,              /* sx, sy */
                swidth, sheight,   /* sw, sh */
                lxoff,  lyoff,     /* dx, dy */
                lwidth, lheight,   /* dw, dh */
                False);
  if (OSDpresent) {
    if (osd_refresh_counter) {
      if (osd_skip_counter > 2) {
        XShmPutImage (dpy, win, gc, osd_image,
                      osd_x, osd_y,
                      osd_x + (dwidth - width) / 2,
                      osd_y + (dheight - height) / 2,
                      osd_w, osd_h,
                      False);
        osd_skip_counter = 0;
      } else {
        osd_skip_counter++;
      }
    }
  }
  ProcessEvents ();
  events_not_done = 0;
  XSync(dpy, False);
//  XFlush(dpy);
  pthread_mutex_unlock(&xv_mutex);
--cut--end


Stefan Lucke



-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index