gstreamer/docs/design/part-TODO.txt

36 lines
1.3 KiB
Text
Raw Normal View History

- changing an object's name after construction is not allowed. Checks are performed
when adding objects to parents that no duplicate names are used, changing the name
to a duplicate name after adding it is therefore allowed and voids internal
consistency.
- check for race in _task_pause()/_stop() since the TASK_LOCK is not held by the
calling thread and the STREAM_LOCK not by the task code.
- only emit EOS in PLAYING. Make sure elements reemit the EOS message when going to
PLAYING again.
- implement return values from events in addition to the gboolean.
- implement query ala events as opposed to the current return value of only a
guint64. I don't have a use case where this a problem yet, though.
- implement state change order on get<->loop-get<->loop elements. This probably
requires a backtracking algorithm.
- implement iterators for traversing elements upstream or dowstream.
- unlinking pads in the PAUSED state needs to make sure the stream thread is not
executing code. Can this be done with a flush to unlock all downstream chain
functions?
- implement seek in GstPipeline.
- make events use GstStructure like GstMessage instead of the current union.
- make the seek event return the time where the seek will happen so that GstPipeline
can update the stream time.
- implement clock selection as explained in part-gstpipeline.txt