ok, i fix my problem and now i have a nice widget that can be drag and drop from monodevelop toolbox and i can set the v4l source or file and works nice and don't block the main app...if someone is interesting in such kind a widget please let me know...
thanks anyway Mauricio Mauricio Henriquez wrote: > Hi Guys: > > My name is Mauricio and this is my first post to the list, so hi to all!!. > > I'm playing around a lot with the Gtk.Image + Pixmap and Pixbuf types > in mono/gtk-sharp to build a VideoPlayer widget with the ISE.Video > library from the Icarus project (http://icarus.sourceforge.net/), but > now I'm a little confuse about the pixmap and pixbuf and convertions > between both and also about the gtk.image :-S , let me explain the > situation and please be pattience with my poor English: > > The ise.video library works as a wrapper for Tao.FFmpeg and let us to > work with a "Decoder" that can be used to decode a video file, images > from URLs or even from v4l source, the ise.video library expose a number > of "video handlers" for different scenarios, like a "texture" one to be > used in opengl scenes, a "Bitmap handler" to work in winforms scenarios > (I allready have a primary working version of the videoplayer for > WinForms and run nice in mono/linux in a winform app showing videos and > also my webcam!!, very cool!!), and also a "Pixbuf handler" to use in > Gtk# scenarios. Right now I have a simple "pixbuf handler" in a Gtk# app > with a Gtk.Image widget, this example app is capable of show a video > file or a v4l source in a gtk.image widget allmost without problems... > Rigth now, the idea is have a custom widget capable of do all the needed > configuration "internally" (decoder configuration, etc..), for the > winform videoplayer version we do that creating a class the inherit from > a simple PictureBox control, so the idea is to do something simillar > here (I know that may be you are goin to recomned to use some kind of > opengl widget for intensive graphic things, but the current state of > gtkopenglarea is not somehting that we whant right now and can be used > in a "version 2" of the gtk-videoplayer). > My problem right now is that I have a VideoPlayer class that inherit > from Gtk.Image and add a public "Play" method, the "play" method do all > the configuration needed by the decoder and begin the "frame reading > loop" (I know that I can have problems related to block the main gtk app > loop, but right now that is my second concern :-) , then in each > "reading" the "Pixbuf handler" return a updated "frame" (of pixbuf type) > and I need to set the "frame" to the internall Pixbuf member of the > widget, I do that with a simple: this.Pixbuf = PixbufHandler.frame; but > then I need to force for a "update" or "refresh" of the widget to > actually see the image displayed and that is the beggining of my > problems. How can I do that in a simple way? > > Previously in the simple pixbuf handler test (the one with a simple > gtk.image widget in a gtk# window) I be able to call to the > this.GdkWindow.ProcessUpdates(true); becouse the gtk.image was in the > gtk# window, so calling to the ProcessUpdates refresh all the childs and > with that all OK...but right now is more dificult to me, becouse inside > my custom widget the GdkWindow return "null" (I don't know way...). I > also try with the this.QueueDrawArea(0, 0, 800, 340); inside my custom > widget but to work witht the "Queue" methods I need to also use the > Configure and Expose events and that force me to do some type > convertions between PixBuf and pixmap...and is kind of confuse to me, so > probably exist a more "direct"way to update the widget screen...I also > try to inherit from the DrawingArea widget but also force me to do some > convertions... > > Sorry for the long explanation but i think that is needed to understed > what I'm trying to do.. > > Any sugestion is apreciated... > > In advance thank you.. > > Mauricio > > > > _______________________________________________ > Gtk-sharp-list maillist - [email protected] > http://lists.ximian.com/mailman/listinfo/gtk-sharp-list > > _______________________________________________ Gtk-sharp-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
