[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xfree86-devel
Subject:    Re: Switching from Xv hardware scaling to X11 output
From:       Mark Vojkovich <mvojkovi () XFree86 ! Org>
Date:       2004-08-17 0:01:41
Message-ID: 20040816165145.L46244 () public ! xfree86 ! org
[Download RAW message or body]

   Don't do the Stop until after you've drawn the non-Xv image.
If the Xv port is an overlay port, drawing the non-Xv image will
replace the Xv image when it overwrites the color key.  If the
port is not an overlay port, Stop doesn't do anything.

			Mark.

On Mon, 16 Aug 2004, Nathan Kurz wrote:

> Hello ---
>
> I'm trying to fix an application (cinelerra) that changes from using
> Xv hardware scaling to using unaccelerated X11 output in the middle of
> a video stream.  Everything works fine, but there is a "black flash"
> (output window goes dark) for a fraction of a second at the switch.
>
> Current shutdown code looks something like this:
>
>   case BC_YUV422:
>      XvStopVideo(top_level->display, xv_portid, last_pixmap);
>      for(int i = 0; i < ring_buffers; i++) {
>        XFree(xv_image[i]);
>      }
>      XShmDetach(top_level->display, &shm_info);
>      XvUngrabPort(top_level->display, xv_portid, CurrentTime);
>
>      shmdt(shm_info.shmaddr);
>      shmctl(shm_info.shmid,
>      IPC_RMID, 0);
>      break;
>
> Output window goes black soon after XvStopVideo call.  Is there
> something I can do immediately before or after this call to avoid
> having a period of time when no image is shown?  Something I can avoid
> doing?  My blind attempts haven't worked.
>
> Thanks!
>
> Nathan Kurz
> _______________________________________________
> Devel mailing list
> Devel@XFree86.Org
> http://XFree86.Org/mailman/listinfo/devel
>
_______________________________________________
Devel mailing list
Devel@XFree86.Org
http://XFree86.Org/mailman/listinfo/devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic