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

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Mar 13 07:32:34 PDT 2012

  GStreamer | gst-plugins-base | git

--- Comment #2 from Edward Hervey <bilboed at gmail.com> 2012-03-13 14:32:32 UTC ---
(In reply to comment #1)
> Other than everything mentioned in the bugs linked to this one now:
> - gst_video_decoder_get_byte_time() is a really weird name :)

  Indeed :) Any propositions ? I just re-used what was already there.

> - GstVideoState/GstVideoFrame needs padding and probably still contains some
> unused things. But I know that you planned to work on this next

  I need to figure out a proper way to split out the various concepts:
  * A frame (the 'concept' which applies to both encoded and decoded)
  * The raw information (I'm going to re-use the backported GstVideoInfo)
  * The encoded information

> - The adapters in the decoder instance struct should be hidden

  And for the encoders also ?

> - Check the ownership transfer of the frame parameter of _finish_frame(),
> _drop_frame() and ::handle_frame(). Should be consistent with the ones in the
> audio base classes and IIRC they are not
> - gst_video_decoder_set_sync_point() and other frame-related things should
> probably operate on the frames instead of the decoder. Feels weird to do it on
> the decoder instead and also could be problematic if there's internal queueing
> of more than a single frame inside the decoder

  I'll check how to do that.

> - The segment in the decoder should be public in the instance struct too, there
> are always reasons to use it. Or be part of the GstVideoState

  I'd say we need two. One for the input stream/context and one for the output
stream/context. Especially important due to the delay/latency betwen input and

> - ::event() vfuncs should probably be ::sink_event() and ::src_event(). Or
> ::event() and ::src_event()


> - ::get_caps() vfuncs were really useful for the audio base classes and are
> missing here

  *cough* You removed them when they were in -bad :) I'll put them back

> - The coder_hook/destroy_notify is probably hard to use for bindings
> Most of this applies to decoder and encoder

  Thanks !

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