| 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 |
| is now received in the mainloop via the GstBus. |
| |
| - 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. |
| |