Hi everyone,
    I'm trying to write a program, which runs on Mac OSX, to play several 
videos at the same time.
   The video data is in YUV format. It's convenient on Windows to use Qt to 
manage widgets and use SDL to handle the playing while this two lib doesn't fit 
well on Mac. So I tried QOpenGLWidget to do the playing work. The way I do this 
is  reimplementing initializeGL() and paintGL() of QOpenGLWidget,and call 
update() every time I got a decoded frame in play thread.
    The problem is too much paintEvents(25 frames per second per video) blocked 
other events, inputs from mouse and keyboard are responsed rather slowly.  So 
is there any solution to do the repaint work directly in the play thread, 
instead of sending a event to the gui thread? I have tried to use swapbuffer() 
of QOpenGLContext in paintGL(), but it doesn't work as QWindow do, the frame 
never changed unless I call update().
    Any advices would be appreciated.
_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to