blob: 239d8c27e31dcd98e555da37834b0b63f4ee266b [file] [log] [blame]
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.