[Bug 595468] a GstVideoMixer base class would be nice

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sun Aug 25 18:10:56 PDT 2013


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

Mathieu Duponchelle <mathieu.duponchelle> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mathieu.duponchelle at epitech
                   |                            |.eu

--- Comment #11 from Mathieu Duponchelle <mathieu.duponchelle at epitech.eu> 2013-08-26 01:10:45 UTC ---
I baseclassed videomixer this week-end, and reimplemented videomixer and
gstvideomeasure_ssim using it, which incidentally makes it be ported to 1.0 :)

The stuff works with these two cases, but I would need more time and opinions
as to how the API should look like, what exactly we should do with that code
(where will it go ? -bad ?)

I also implemented it on top of my branch which implements videoconversion in
videomixer, so there's that.

The API for now looks like :

GstBasemixerPad*               (*create_new_pad)      (GstBasemixer *basemixer,
GstPadTemplate *templ, const gchar* name, const GstCaps *caps);

gboolean                      (*modify_src_pad_info) (GstBasemixer *basemixer,
GstVideoInfo *info);

GstFlowReturn                  (*mix_frames)          (GstBasemixer *basemixer,
GstVideoFrame *outframe);

The names are not very well chosen, especially modify_src_pad_info which gets
called during src pad negotiation, allowing videomixer2 to change the width and
height according to the offsets (xpos ypos), and in ssim it lets ssim know the
output size and select another format (GRAY8)

Something will have to be done with the sinkpads negotiation mechanism, not
sure what exactly for now.

Edward, is your (2009) comment about caching being disposable crack still valid
today ? For now, behaviour and code seems quite fine to me but I might miss
something.

I'll be on IRC tomorrow so we can discuss all that at length, I hope you don't
mind if I don't push the code right now as I'd like to finish cleaning it a
little.

-- 
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