CHANGES-0.9 1.38 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Changes in the 0.9 version
--------------------------

 - Refcounting and API revised for thread safety, see rules in
   docs/design/part-MT-refcounting.txt

 - Scheduling is now done by the elements, they start/stop
   processing threads themselves. This removes the need for 
   a separate scheduler.

 - State changes now happen from sink to source. This makes sure
   that downstream elements are ready to process data when upstream
   starts producing.

 - EOS/ERROR/... does not change the state of elements anymore. This
   means that when the application sets the state on an element, it
   remains in this state.

 - GMainLoop integration. Information on the state of the pipeline
Wim Taymans's avatar
Wim Taymans committed
20
   is now received in the mainloop via the GstBus.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

 - Events move separate from the datastream, this allows for both
   in and out of sync delivery of events.

 - Generic _pull() replaced by _pull_region() so that random access
   can be made faster.

 - data passing happens from PAUSED, called the preroll phase. In this
   state no data is rendered but it is queued in the sinks.

 - negotiation simplified. Caps are now attached to buffers and travel
   along with the datastream. 

 - GstBuffer is now subclassable.

 - Ghostpads now look and feel like real pads.

 - New Seeking/flushing policy.

 - Addition of base classes and helper functions in the core to abstract
   away the harder parts of plugin development.