summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Vander Stichele <thomas@apestaart.org>2005-06-09 12:03:04 +0000
committerThomas Vander Stichele <thomas@apestaart.org>2005-06-09 12:03:04 +0000
commita6245000665b2d38805f1e7c00b0b83a5b63803c (patch)
tree21df4a3b48d842d5721b74c77a5c7f3aa56a36fe
parentc903606ae4bf8c39b6230b22484a853e0827ad01 (diff)
have a real TODO, move old TODO
Original commit message from CVS: have a real TODO, move old TODO
-rw-r--r--TODO174
-rw-r--r--docs/random/TODO-pre-0.9170
2 files changed, 175 insertions, 169 deletions
diff --git a/TODO b/TODO
index c65aa570ec..a500b834cd 100644
--- a/TODO
+++ b/TODO
@@ -1,170 +1,6 @@
-TODO:
------
+TODO
+----
-short term core API stability
------------------------------
-
-Changes that probably impact the API, carefull discussion (IRC) + design doc is required
-before changes are accepted.
-
-target release ! description
- !
- 0.4.1 ! expose and API to query the supported seek formats/flags on
- (done) ! pads, somthing like an extra arg to gst_pad_set_convert_function
- ! and gst_pad_set_event_function with some function to query the
- ! flags and formats. more ideas in docs/random/wtay/query_events
- ! (API: medium dificulty)
- !
- 0.4.1 ! add event for segment playback/looping and seeking (docs/random/wtay/segments)
- (done) ! (API: medium dificulty, plugins: HARD to very HARD)
- !
- ? ! add event to adjust rate (reverse playback, slow motion, frame skipping)
- ! (docs/random/wtay/rate_event)
- ! (API: medium dificulty, plugins: HARD to very HARD)
- !
- ? ! add method in the scheduler to set the entry point (frame stepping?)
- ! (docs/random/wtay/scheduler_entry)
- ! (API: moderatly EASY, scheduler implementation MEDIUM)
- !
- 0.6.0 ! create a design doc for a timecache implementation,
- (done) ! (docs/wtay/random/timecache)
- ! (API: MEDIUM, needs lots of discussion, plugin implementation MEDIUM to HARD)
- ! (done: implemented using GstIndex base class + subclasses)
- !
- ? ! implement a QoS event and a policy for handling the event.
- ! (API: kindof EASY, plugins MEDIUM to very HARD)
- !
- 0.4.1 ! implement user defined GstFormat values, make a format factory etc..
- (done) ! (API: MEDIUM, plugins MEDIUM)
- !
- ? ! strip the API to a bare bones minimal set of functions, leave the automatic
- ! stuff to the app instead of forcing a policy in the core.
- ! create a library with usefull higher level function for people who don't want
- ! to deal with the lowlevel stuff.
- ! (HARD, need to negotiate with people :))
- !
- ? ! use GMarkup to load/save objects, remove dependency on libxml2
- ! (MEDIUM) breaks API/ABI compatibility
- !
-
-
-shortterm core feature enhancements
------------------------------------
-
- 0.4.1 ! Implement PAD_DISABLED. This requires simple checks in the scheduler so that
- ! it doesn't try to pull/push data from/to a disabled pad.
- ! When an element goes to the PAUSED state, all of its pads should be disabled.
- ! This should also work for ghostpads.
- ! (API: MEDIUM to moderatly HARD, requires some scheduler understanding)
-
-
-short term usability
---------------------
-
-Writing docs is NOT boring, you learn a lot, you get insight in stuff, you help a lot
-of people, hey! you might even find YOUR book on a shelf in a bookstore!!
-
-
- ? ! plugin writers guide
- ! (we have almost nothing, so any start is welcomed)
- ! (MEDIUM)
- !
- ? ! app writers guide needs to cover common tips and tricks and HOWTOs
- ! (MEDIUM)
-
-
-short to midterm policy definition
-----------------------------------
-
-Policy definition is closely related to a HOWTO but sometimes needs some thinking.
-
-
- ? ! document thread safety guidelines, what stuff needs locking in the app, what
- ! is done in the core.
- ! most of this stuff is in the heads of various people but needs to be written
- ! down so that people get more insights into the design and vision of GStreamer.
- ! (MEDIUM, some research and discussion needed)
- !
- ? ! a step by step guide to the implementation of various events in a plugin, what can you
- ! do, when is data passing forbidden etc..
- ! (MEDIUM, some research needed)
- !
- ? ! figure out a policy for the NEW_MEDIA event
- ! (MEDIUM to HARD)
- !
- ? ! figure out how to better handle clock resync
- ! (MEDIUM to HARD)
- !
-
-
-midterm feature enhancement
----------------------------
-
- 0.6.0 | Define and implement a syntax in gst_parse to handle filtered pad connections.
- (done) | (MEDIUM)
- |
- ? | Figure out a way to set properties on schedulers (and bins?) from gst_parse.
- | (MEDIUM)
- |
- ? | Make gst-inspect do inspection of plugins, schedulers, autopluggers, types.
- | An idea would be to make -inspect output an XML representation of the objects
- | and use XSLT to transform this into text, HTML, docbook, ...
- | (MEDIUM to EASY)
- |
-
-
-midterm (longterm) optimisations
---------------------------------
-
-These optimisations can be done without changing the existing API.
-
-
- (in progress) ! implement an optimal scheduler that uses chaining when possible
- ! (HARD, requires detailed knowledge of element scheduling)
- !
- ? ! alternatively optimisations to the current scheduler can be done such
- ! as: do nothing when the pipeline structure (or chain) has not changed
- ! (MEDIUM)
- !
- ? ! GstQueue is a little mess. implement a better queue (lockfree?), refactor
- ! queueing policy (max buffer, max time, levels etc..)
- ! (MEDIUM to farily EASY)
-
-
-longterm feature enhancements
------------------------------
-
-Various features that are not critical yet.
-
- ? ! factory aliases. map a generic name like "videosink" to and actual
- ! user configurable plugin (aasink, sdlsink, xvideosink, ...)
- ! (MEDIUM)
- !
- ? ! property proxy in compount elements. not sure if it's possible at all.
- ! what with elements with the same property?
- ! (MEDIUM, needs some thinking)
- !
- ? ! Make _pad_select work for muxers
- ! (MEDIUM to HARD)
-
-
-needs consensus
----------------
-
-Some stuff that needs to be figured out based on a pro/con comparison.
-
- ? ! can we decide on the fact that downstream events are traveling using the
- ! scheduler? do we need to reevaluate that design decision?
- ! (MEDIUM, needs pros vs cons document)
-
-
-benchmarks
-----------
-
-Benchmarks are always good to get acceptance in a wider comunity or to identify performance
-problems that need fixing.
-
- ? ! do a latency comparison with popular other frameworks, document GStreamer
- ! overhead.
- ! (MEDIUM to somewhat EASY)
- !
+Thomas:
+- figure out if gstgetbits can be removed; otherwise decide on plugin vs lib
+- figure out if dataprotocol can be used lib-only; make it install as a lib
diff --git a/docs/random/TODO-pre-0.9 b/docs/random/TODO-pre-0.9
new file mode 100644
index 0000000000..c65aa570ec
--- /dev/null
+++ b/docs/random/TODO-pre-0.9
@@ -0,0 +1,170 @@
+TODO:
+-----
+
+short term core API stability
+-----------------------------
+
+Changes that probably impact the API, carefull discussion (IRC) + design doc is required
+before changes are accepted.
+
+target release ! description
+ !
+ 0.4.1 ! expose and API to query the supported seek formats/flags on
+ (done) ! pads, somthing like an extra arg to gst_pad_set_convert_function
+ ! and gst_pad_set_event_function with some function to query the
+ ! flags and formats. more ideas in docs/random/wtay/query_events
+ ! (API: medium dificulty)
+ !
+ 0.4.1 ! add event for segment playback/looping and seeking (docs/random/wtay/segments)
+ (done) ! (API: medium dificulty, plugins: HARD to very HARD)
+ !
+ ? ! add event to adjust rate (reverse playback, slow motion, frame skipping)
+ ! (docs/random/wtay/rate_event)
+ ! (API: medium dificulty, plugins: HARD to very HARD)
+ !
+ ? ! add method in the scheduler to set the entry point (frame stepping?)
+ ! (docs/random/wtay/scheduler_entry)
+ ! (API: moderatly EASY, scheduler implementation MEDIUM)
+ !
+ 0.6.0 ! create a design doc for a timecache implementation,
+ (done) ! (docs/wtay/random/timecache)
+ ! (API: MEDIUM, needs lots of discussion, plugin implementation MEDIUM to HARD)
+ ! (done: implemented using GstIndex base class + subclasses)
+ !
+ ? ! implement a QoS event and a policy for handling the event.
+ ! (API: kindof EASY, plugins MEDIUM to very HARD)
+ !
+ 0.4.1 ! implement user defined GstFormat values, make a format factory etc..
+ (done) ! (API: MEDIUM, plugins MEDIUM)
+ !
+ ? ! strip the API to a bare bones minimal set of functions, leave the automatic
+ ! stuff to the app instead of forcing a policy in the core.
+ ! create a library with usefull higher level function for people who don't want
+ ! to deal with the lowlevel stuff.
+ ! (HARD, need to negotiate with people :))
+ !
+ ? ! use GMarkup to load/save objects, remove dependency on libxml2
+ ! (MEDIUM) breaks API/ABI compatibility
+ !
+
+
+shortterm core feature enhancements
+-----------------------------------
+
+ 0.4.1 ! Implement PAD_DISABLED. This requires simple checks in the scheduler so that
+ ! it doesn't try to pull/push data from/to a disabled pad.
+ ! When an element goes to the PAUSED state, all of its pads should be disabled.
+ ! This should also work for ghostpads.
+ ! (API: MEDIUM to moderatly HARD, requires some scheduler understanding)
+
+
+short term usability
+--------------------
+
+Writing docs is NOT boring, you learn a lot, you get insight in stuff, you help a lot
+of people, hey! you might even find YOUR book on a shelf in a bookstore!!
+
+
+ ? ! plugin writers guide
+ ! (we have almost nothing, so any start is welcomed)
+ ! (MEDIUM)
+ !
+ ? ! app writers guide needs to cover common tips and tricks and HOWTOs
+ ! (MEDIUM)
+
+
+short to midterm policy definition
+----------------------------------
+
+Policy definition is closely related to a HOWTO but sometimes needs some thinking.
+
+
+ ? ! document thread safety guidelines, what stuff needs locking in the app, what
+ ! is done in the core.
+ ! most of this stuff is in the heads of various people but needs to be written
+ ! down so that people get more insights into the design and vision of GStreamer.
+ ! (MEDIUM, some research and discussion needed)
+ !
+ ? ! a step by step guide to the implementation of various events in a plugin, what can you
+ ! do, when is data passing forbidden etc..
+ ! (MEDIUM, some research needed)
+ !
+ ? ! figure out a policy for the NEW_MEDIA event
+ ! (MEDIUM to HARD)
+ !
+ ? ! figure out how to better handle clock resync
+ ! (MEDIUM to HARD)
+ !
+
+
+midterm feature enhancement
+---------------------------
+
+ 0.6.0 | Define and implement a syntax in gst_parse to handle filtered pad connections.
+ (done) | (MEDIUM)
+ |
+ ? | Figure out a way to set properties on schedulers (and bins?) from gst_parse.
+ | (MEDIUM)
+ |
+ ? | Make gst-inspect do inspection of plugins, schedulers, autopluggers, types.
+ | An idea would be to make -inspect output an XML representation of the objects
+ | and use XSLT to transform this into text, HTML, docbook, ...
+ | (MEDIUM to EASY)
+ |
+
+
+midterm (longterm) optimisations
+--------------------------------
+
+These optimisations can be done without changing the existing API.
+
+
+ (in progress) ! implement an optimal scheduler that uses chaining when possible
+ ! (HARD, requires detailed knowledge of element scheduling)
+ !
+ ? ! alternatively optimisations to the current scheduler can be done such
+ ! as: do nothing when the pipeline structure (or chain) has not changed
+ ! (MEDIUM)
+ !
+ ? ! GstQueue is a little mess. implement a better queue (lockfree?), refactor
+ ! queueing policy (max buffer, max time, levels etc..)
+ ! (MEDIUM to farily EASY)
+
+
+longterm feature enhancements
+-----------------------------
+
+Various features that are not critical yet.
+
+ ? ! factory aliases. map a generic name like "videosink" to and actual
+ ! user configurable plugin (aasink, sdlsink, xvideosink, ...)
+ ! (MEDIUM)
+ !
+ ? ! property proxy in compount elements. not sure if it's possible at all.
+ ! what with elements with the same property?
+ ! (MEDIUM, needs some thinking)
+ !
+ ? ! Make _pad_select work for muxers
+ ! (MEDIUM to HARD)
+
+
+needs consensus
+---------------
+
+Some stuff that needs to be figured out based on a pro/con comparison.
+
+ ? ! can we decide on the fact that downstream events are traveling using the
+ ! scheduler? do we need to reevaluate that design decision?
+ ! (MEDIUM, needs pros vs cons document)
+
+
+benchmarks
+----------
+
+Benchmarks are always good to get acceptance in a wider comunity or to identify performance
+problems that need fixing.
+
+ ? ! do a latency comparison with popular other frameworks, document GStreamer
+ ! overhead.
+ ! (MEDIUM to somewhat EASY)
+ !