[Bug 685877] Added DirectFB surface source plugin which generates a live video stream from the selected surface

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Oct 10 06:43:44 PDT 2012


https://bugzilla.gnome.org/show_bug.cgi?id=685877
  GStreamer | gst-plugins-good | git

Will Manley <gnome> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gnome at williammanley.net

--- Comment #3 from Will Manley <gnome at williammanley.net> 2012-10-10 13:43:39 UTC ---
First a disclaimer: My company (YouView[1]) sponsored this work so we could use
it in our open-source set-top-box testing system stb-tester[2].

I've not yet tried building it, so this is puely based upon reading the patch. 
Doing a diff between ximagesrc and dfbsurfacesrc shows that the latter is based
on the former.  Notably:

- There doesn't seem to be any functional difference between the elements in
  *_unlock.
- *_create seems to only really differ in that one calls
  gst_ximage_src_ximage_get and the other gst_dfbsurface_src_data_get
- Many of the same properties are listed in *_set_property and *_get_property
- *_get_caps and *_set_caps do roughly the same thing but get the information
on
  the size/format of the captures from different places
- *_fixate is almost identical, but it seems that yours might have been
  slightly improved WRT pixel-aspect-ratio.  This might also be useful for
  ximage.

It might be worth trying to reduce this level of duplication.  This could be
done by moving the common code into a helper library which could be called from
both ximagesrc and dfbsurfacesrc.  Alternatively, and perhaps one more fitting
with how it's been done in other parts of Gstreamer would be to create a base
class that calls down to derived classes for type-specfic behaviour.  In this
case I think we would need to have these "virtual functions":
- start
- stop
- get_caps
- grab_frame

I don't know which of these approaches would be preferred by the core gstreamer
devs.  Perhaps Tim could comment?

In addition: the function gst_dfbsurface_src_format seems to be intended to
serve the same purpose as gst_dfbvideosink_get_caps_from_format in
gst-plugins-bad.  It might make sense to only have one of these, although I'm
aware that the dfb plugins in -bad have not yet been ported to 1.0 so perhaps
this would be unfeasable.

[1]:http://youview.com/
[2]:http://stb-tester.com/

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list