summaryrefslogtreecommitdiff
path: root/CHANGES-0.9
blob: 239d8c27e31dcd98e555da37834b0b63f4ee266b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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.