[Bug 671909] Port base video encoding and decoding classes from gst-plugins-bad

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Mar 30 02:04:49 PDT 2012


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

--- Comment #7 from Sebastian Dröge <slomo at circular-chaos.org> 2012-03-30 09:04:42 UTC ---
(In reply to comment #6)

> > * GstVideoState/GstVideoFrame needs padding and probably still contains some
> > unused things. But I know that you planned to work on this next
> 
> Added padding.
> 
> Was wondering if we couldn't have some private entry for cleaner usage ...

Sure, why not?

> > * The coder_hook/destroy_notify is probably hard to use for bindings
> 
> What would a better option be ?

gst_video_frame_set_coder_hook(frame, hook, destroy_notify). The problem here
is with having the two fields in the struct and no obvious connection between
them.

Some new reviews :)

*
http://cgit.freedesktop.org/~bilboed/gst-plugins-base/commit/?h=basevideo&id=5f76571bef4745340333f33f2985ea3f923fd383
: Maybe rename GstVideoState to GstVideoCodecState too
* In general, use gst_object_ref/unref everywhere, otherwise twi will be
unhappy. And myself too. When debugging refcount issues
* gst_video_decoder_set_output_state(), gst_video_encoder_set_output_state()
should probably take the video-decoder streamlock, same probably elsewhere
where the states are used. It's a recursive mutex btw. This might be necessary
for things like gst-omx, where the sink and srcpad have separate streaming
threads. Which is the only reason why these lock exists
*
http://cgit.freedesktop.org/~bilboed/gst-plugins-base/commit/?h=basevideo&id=26a4ad1a95cc4c464d797cdf9a9adf2e4f0b1ddf
: Remove the timestamp/offset stuff for headers completely. It's broken and
useless
* I think GST_FLOW_DROPPED is useless now, it was only used for EOS events and
these can now be handled and not pushed by the base class correctly, right?
* The _event() vfuncs should require to chain up to the base class and the base
class should do all handling there instead of abusing the gboolean return
value. We changed that for all base classes in 0.11
* audio encoder/decoder base class has flush vfunc, video encoder/decoder has
reset and finish vfuncs. Unify if possible
* audio encoder base class has set_hard_resync(), video encoder has
set_discont()  (is this the same at all?)
* getters for setters in video encoder missing
* Something like gst_audio_{de,en}coder_merge_tags() will be very useful to
have
* No set_latency() in decoder
* No timestamp tolerance in encoder/decoder (see audio base classes)

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