![]() |
2010-03-19
, 19:46
|
Posts: 61 |
Thanked: 77 times |
Joined on Dec 2009
@ Lancaster
|
#12
|
![]() |
2010-03-21
, 23:10
|
Posts: 61 |
Thanked: 77 times |
Joined on Dec 2009
@ Lancaster
|
#13
|
Spent some time on trying to draw a Qt widget on top of xoverlay stream and found out that is can be done, however when you make the widget transparent, you do not see the xoverlay that lies bellow it but the background colour of the widget on which the xoverlay was added. This means that alpha blending also does not work, as it blends with the background colour of the widget bellow instead of the video stream.
This means that the whole area that is taken by the widget that holds your picture or text or graphic will cover the overlay. The workaround this problem is to create a mask over your widget which will make sure to cut out only the area you want to overdraw.
For example you can cut-out text from the whole widget are and in this way achieve to draw it on top of the video stream without the background colour (the background is the video stream itself). However this approach dose now work well with graphics that have transparent backgrounds and is suppose to slow down your drawing process.
Furthermore, I can also confirm the flickering problem that happens when one trays to draw on top of xoverlay. In my case i tried to hide and show the widget containing a simple graphic which caused flickering and sometimes failed to redraw the area from which the overlay was removed.
I decided to drop overlays and instead try to capture an image from gstreamer pipeline and draw it draw it as a pixmap on-to QWidget. Got stuck with gstreamer pipline work a need help.
Thanks,
Klen