Bonjour,


Je suis actuellement entrain de faire une interface gtk en language C dans lequel je fais un streaming de ma webcam. Pour ce qui est de convertir les images opencv en images gtk il n'y a pas de souci.

Le problème qui ce pose c'est que je ne sais pas ou placer ma boucle de rafraichissement pour avoir un bon rendu vidéo.

En effet, j'ai ramé est j'en suis arrivé à 2 conclusion:
1er :

Je fais un "g_signal_connect(G_OBJECT(drawing_area),"expose-event",(GCallback)webCam , NULL);", puis à l'intérieure de ma fonction j'utilise "gtk_widget_queue_draw(widget);" pour rafraichir ma fenêtre mais la le rafraichissement est trop lent (donc mon stream est moche), et comme je gère aussi mes événements clavier lorsque j’appuie sur une touche cela réinitialise mon programme "bizare".

2eme :

Je créer une boucle infini (la boucle basic d'affichage pour opencv avec les convertions ) avant le "gtk_main();" de fin, la j'ai un excellent rendu vidéo, mais je ne peut pas du tout géré mes events clavier, et l'affichage des buttons ne ce fais pas.


Donc voila où j'en suis aujourd'hui si quelqu'un pouvait m'aider que puisse avoir un bon rendu vidéo avec la gestion du clavier sa serait cool.


Je vous remercie d'avance pour vos réponses.