[Bug 671909] Port base video encoding and decoding classes from gst-plugins-bad
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
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