docs: Remove 0.11 plan
We're 10 years past. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9476>
This commit is contained in:
parent
f88e6781cd
commit
0efbacf886
@ -1,141 +0,0 @@
|
||||
Plan for 0.11
|
||||
=============
|
||||
|
||||
First attempt at making a list of tasks in roughly chronological order.
|
||||
|
||||
* General cleanup
|
||||
|
||||
- Remove deprecated methods
|
||||
- Cleanup structs + PADDING
|
||||
- ..
|
||||
|
||||
This should allow us to continue expanding later in the same way that 0.10 was
|
||||
expanded.
|
||||
|
||||
|
||||
* Review GstCaps fields
|
||||
|
||||
- go over caps fields for audio, video, compressed media-type etc
|
||||
|
||||
We need to express things with less fields. This would speed up caps, make
|
||||
them less verbose and speed up some elements.
|
||||
|
||||
|
||||
* Add GstFlowReturn for events (and query)
|
||||
|
||||
This would allow us to know more precisely what went wrong.
|
||||
|
||||
http://cgit.freedesktop.org/~wtay/gstreamer/log/?h=events2
|
||||
|
||||
|
||||
* add return structure for events and query
|
||||
|
||||
Make events return more information. (a seek event might want to return the
|
||||
final position of the keyframe seek and the accuracy of the seek)
|
||||
|
||||
Make bindings easiers. Currently the writability of a query depends on the
|
||||
refcount being exactly 1. If the query is not writable, it simply cannot be
|
||||
answered.
|
||||
|
||||
|
||||
* Make GstMiniObject a simple boxed type
|
||||
|
||||
- Move copy and free function to structure
|
||||
- convert GstBuffer, GstEvent, GstMessage, GstQuery,
|
||||
|
||||
We don't need to subclass miniobjects when we have arbitrary metadata.
|
||||
|
||||
Allocation should be more efficient and buffer/metadata/data can be allocated
|
||||
and pooled in one contiguous memory area.
|
||||
|
||||
Typechecking of various types is much more efficient when there is only
|
||||
one class.
|
||||
|
||||
http://cgit.freedesktop.org/~wtay/gstreamer/log/?h=miniobject2
|
||||
|
||||
|
||||
* Convert GstCaps to GstMiniObject
|
||||
|
||||
Currently it has its own refcounting and flags.
|
||||
|
||||
http://cgit.freedesktop.org/~wtay/gstreamer/log/?h=miniobject2
|
||||
|
||||
|
||||
* GVariant registry
|
||||
|
||||
- allow for mmaped registy (tpm)
|
||||
|
||||
* Incremental caps
|
||||
|
||||
- Remove array from caps ?
|
||||
- make caps iterator or is the array the cache for iterator ?
|
||||
|
||||
We need to perform less caps operations when negotiating formats. One way is
|
||||
to only handle small caps objects incrementally.
|
||||
|
||||
http://cgit.freedesktop.org/~ensonic/gstreamer/log/?h=lazycaps
|
||||
|
||||
|
||||
* Make GstBufferMetadata
|
||||
|
||||
- Make functions to register metadata
|
||||
- Make common metadata: timeinfo, memory data, video data
|
||||
- Remove GstBuffer Fields
|
||||
- Make methods to add metadata to buffers.
|
||||
|
||||
More flexible metadata for buffers.
|
||||
|
||||
http://cgit.freedesktop.org/~wtay/gstreamer/log/?h=buffermeta
|
||||
|
||||
|
||||
* Negotiation of metadata
|
||||
|
||||
- figure out if we need to negotiate the metadata on the caps or if we can
|
||||
gracefully degrade when an element doesn't understand the metadata.
|
||||
|
||||
We need to avoid that elements put metadata on buffers that is essential in
|
||||
handling the buffer contents but that is then not understood by other
|
||||
elements.
|
||||
|
||||
|
||||
* Rework reverse negotiation
|
||||
|
||||
- upstream event to notify of a downstream caps change
|
||||
- _alloc_buffer() takes input GstBuffer prototype (or NULL)
|
||||
- _alloc_buffer() never returns changed caps.
|
||||
|
||||
One of the performance problems in 0.10 is that transform elements need to
|
||||
call gst_pad_alloc_buffer() downstream to check if the caps changed. This
|
||||
usually also results in a useless memory allocation.
|
||||
|
||||
We would make a new upstream event to notify downstream elements that new caps
|
||||
are possible somewhere downstream.
|
||||
|
||||
gst_pad_alloc_buffer() would take a GstBuffer as an input argument to make the
|
||||
API easier, we can then use metadata to specify additional constraints for the
|
||||
new buffer (such as strides, etc)
|
||||
|
||||
|
||||
* Incremental event progation
|
||||
|
||||
- certain events would be sticky on a pad like for caps
|
||||
- rules for pushing an event downstream
|
||||
- right before pushing a buffer
|
||||
- after link operation
|
||||
- activate for most serialized downstream events
|
||||
|
||||
This would allow an application to have more control over the state of the
|
||||
dataflow in a pipeline.
|
||||
|
||||
|
||||
* GstSegment changes
|
||||
|
||||
- remove segment accumulation
|
||||
- add accumulated time to the event
|
||||
- apply segment info to pads
|
||||
- add method on pads to get/adjust sync offset
|
||||
- add method on pads to query current running_time
|
||||
|
||||
The goal is to make the timing model more comprehensible and thus make dynamic
|
||||
pipeline plugging easier.
|
||||
|
Loading…
x
Reference in New Issue
Block a user