GNOME Bugzilla – Bug 304795
[ximagesrc] port to 0.9 [PATCH]
Last modified: 2006-05-03 21:45:14 UTC
Created attachment 46652 [details] ximagesrc.c ported to 0.9 (using GstBaseSrc)
Created attachment 46653 [details] ximagesrc.h ported to 0.9 (using GstBaseSrc)
Created attachment 46654 [details] gstximageplugin.c ported to 0.9
Created attachment 46655 [details] [review] Necessary modifications to gst-plugins-base/sys/ximage/*
Created attachment 46656 [details] [review] Necessary modifications to gstreamer/gst/base/gstbasesrc.c
The files I just uploaded are: (1) Files that only exist in the 0.8 branch. I updated them and hope you will include them in CVS HEAD, too. (2) A diff against gstbasesrc.c: I hooked up the getcaps function (exists in the header file, but has not been implemented)
I had no idea this bug was here, submitter should be more aggressive with gstreamer developers (and we should try to notice more) Patch from comment #5 is obsolete, core has something like that now. ximagesrc should probably be ported using PushSrc (which likely was not there when the patch was made). Otherwise things look good, cleanups for api changes would be appreciated, but otherwise looks good for committing to CVS (with cleanups).
I have added xfixes (mouse pointer) support and luca has added xshm support to the 0.8 version. Those changes should be added to this patch, maybe also this should be ported to PushSrc as wingo says. I am adding xdamage support as we speak and that should speed it up.
Re-assigning to gst-plugins-base module for now, not sure where it's gonna end up in the end: <__tim> thomasvs: has ximagesrc.[ch] been lost in the plugins split-up, or has it not been decided where it goes yet? <thomasvs> __tim: both iirc - I didn't know how well it worked yet, and I somehow prefered to not put it in the ximagesink plugin <__tim> thomasvs: that's why the plugin has been renamed to ximage ;) <thomasvs> __tim: right - I prefer not to do that <__tim> k <thomasvs> or at least, not put them in the same plug-in
Bug #306292 might also be relevant
Plugins cannot be added to -base at this point. ximagesrc would have to go into another module. Probably the best way to shar code would be to have separate copies of ximageutil.[ch]. Changing product to gst-plugins-good.
ximagesrc has to be ported to gst-plugins-bad, i m not going to use any shared file with that plugin.
Is anyone currently working on porting the plugin to CVS HEAD?
I ll look at it, yes.
did this get ported at any point?
I could not find it in gst-plugins-[ugly,bad,good,base].
Attaching an updated patch that applies against CVS head of gst-plugins-base for 0.10. This patch includes the XFixes and XDamage support from 0.8, but it isn't quite correct, because it applies the XDamage changes to whichever XImage is retrieved from the bufferpool. with gst-launch ximagesrc ! fakesink, that will always be the most recent buffer, and things work right, but gst-launch ximagesrc ! queue ! fakesink is going to look interesting.
Created attachment 59530 [details] [review] updated ximagesrc
Committed the patch to CVS, we'll do any further work there.