This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

v3dfx video not displayed in Qt application

I have a Qt application (qtapp) which uses v3dfx to display video. The application is very similar to the demo app that is provided with v3dfx with the exception that there is only one executable which is responsble for both drawing the Qt interface and displaying the video using v3dfx.

If I start the application using the following command line:

qtapp -qws -display "LinuxFb:/dev/fb1"

I see the Qt interface. When I press the button to display video, I do not see any v3dfx video (I just see black). The Qt interface is still visible.

If I start the application using the following command line:

qtapp -qws

I see the Qt interface. When I press the button to display video, the Qt interface disappears and I see the v3dfx video.

I have closely followed the v3dfx example with the exception that I am using a single application. Do I need to use 2 separate applications to make v3dfx work? I hope I can use v3dfx within a Qt application and if so, I wonder if anyone can suggest what I might be doing wrong?

Note: The v3dfx demo app runs perfectly on my system.

Thx, Steve

  • Hi Steve,

    Can you please provide more details on how you have integrated the v3dfx into your Qt application? Like what rendering surface are you using for v3dfx?

    Regards,

    Mahesh.

  • Hi Mahesh,

    I figured out the problem. I am using a QStackedWidget for my display with two widgets in the stack. The first widget is shown when there is no video to display. The second widget is shown when there is video to display. I set the background color of the second widget to 16,255,16 in the hope that v3dfx video would be drawn in this window. With these settings, I never saw any video. I then changed the Qt application by setting the background of the QStackedWidget to 16,255,16 and this made it work.

    Thanks for your quick response

    Steve

  • Hi Mahesh,

    I have a follow up question related to v3dfx. I need to display four asynchronous streams of NTSC video. I am not sure when and how often I should be calling the v3dfx_process function?  I created a texture buffer for each stream and right now I am calling the function whenever a frame from any of the streams is ready. The performance is not great. Can you tell me what is the most effecient way to call v3dfx_process in this use case?

    Thx, Steve