releasing 0.10.0
[platform/upstream/gstreamer.git] / NEWS
1 This is GStreamer 0.10.0, "Maroilles".
2
3 Changes from the 0.8 series to 0.10 series:
4
5       * Refcounting and API revised for thread safety, see rules in
6         docs/design/part-MT-refcounting.txt
7
8       * Scheduling is now done by the elements, they start/stop
9         processing threads themselves. This removes the need for 
10         a separate scheduler.
11
12       * State changes now happen from sink to source. This makes sure
13         that downstream elements are ready to process data when upstream
14         starts producing.
15
16       * EOS/ERROR/... does not change the state of elements anymore. This
17         means that when the application sets the state on an element, it
18         remains in this state.
19
20       * GMainLoop integration. Information on the state of the pipeline
21         is now received in the mainloop via the GstBus.
22
23       * Events move separate from the datastream, this allows for both
24         in and out of sync delivery of events.
25
26       * Generic _pull() replaced by _pull_region() so that random access
27         can be made faster.
28
29       * data passing happens from PAUSED, called the preroll phase. In this
30         state no data is rendered but it is queued in the sinks.
31
32       * negotiation simplified. Caps are now attached to buffers and travel
33         along with the datastream. 
34
35       * GstBuffer is now subclassable.
36
37       * Ghostpads now look and feel like real pads.
38
39       * New Seeking/flushing policy.
40
41       * Addition of base classes and helper functions in the core to abstract
42         away the harder parts of plugin development.
43
44 Changes since 0.9.7:
45
46       * added Traditional Chinese translation
47
48 Bugs fixed since 0.9.7:
49     
50       * 322874 : [PAD] pad_alloc_buffer should not call set_caps
51       * 323222 : GStreamer 0.9.7 still checks in dirs containing 0.9
52       * 323250 : [collectpads] debug category should be called 'collectpad...
53
54 Changes since 0.9.6:
55     
56       * bumped major/minor to 0.10
57       * API cleanup
58       * PluginFeature and TypeFind leak fixes
59       * cleaned up source tree
60       * added plugin documentation for core elements
61       * fixes for stripped core
62
63 Bugs fixed since 0.9.6:
64     
65       * 320529 : [API] gst_event_new_segment mentions " stream_time " as an ...
66       * 321917 : quicktime with two video tracks and extra foo, makes tote...
67       * 322257 : Fix gstnet library name
68       * 322427 : gst-compprep aborts with 'double free or corruption'
69       * 322429 : Filesink seeking problem
70       * 322626 : Strings in gst-launch.c adn gstdebug.c are horrid
71       * 322708 : gst_plugin_load_file leaks a reference to a GstPlugin
72       * 322751 : gst_ghost_pad_get_target borks on pads without target
73       * 322842 : GStreamer-CRITICAL in GstBaseSink and GstBaseTransform
74
75 Changes since 0.9.5:
76     
77       * API changes and clean-up
78       * Extensive documentation updates
79       * remove GLib 2.4 compatibility
80       * added clock selection
81       * added network clocking
82       * added fd:// URI handler
83       * added more fraction functionality
84
85 Bugs fixed since 0.9.5:
86     
87       * 143472 : [api] gst_tag_list_foreach() takes a non-const GstTagList*
88       * 156633 : [API] don't use same API for arrays as for normal lists
89       * 164168 : circular pipeline fails to negotiate
90       * 165650 : [API] gst_value_deserialize doesn't work correctly for NU...
91       * 168438 : [API] GstIndexFilter doesn't receive user_data
92       * 168494 : [API] gst_index_add_object() does nothing
93       * 305291 : Obnoxious bug-filing request
94       * 311489 : Possible gstghostpad locking problems
95       * 319178 : [API] finish filler events and support them in GstCollect...
96       * 319388 : 0.9 API changes tracker
97       * 319389 : state change updates obsolete some functions
98       * 319392 : GstEventType is not bindings-friendly
99       * 319395 : Macro name/visibility API bugs
100       * 319940 : Use GLIB macros for GCC extensions
101       * 320060 : add a CORE error category for missing ELEMENTS/PLUGINS
102       * 320097 : GST_BUFFER_FLAG_ORIGINAL should die
103       * 320113 : [API] duration message changes
104       * 320299 : gst_pad_send_event should take stream lock for serialized...
105       * 320324 : [API] GST_FOURCC_FORMAT should drop leading '%'
106       * 320423 : [API] padding for GstCollectData
107       * 320766 : [API] collect pads API changes
108       * 321061 : GstURI not used
109       * 321235 : [API] GST_PAD_IS_USABLE should be removed
110       * 321386 : [SEGFAULT] basetransform when doing reverse caps negotiation
111       * 321452 : GstPad's " template " property is b0rked
112       * 321528 : capsfilter: assertion `caps != NULL' failed
113       * 321595 : GstBin doesn't clean the message queue when changing stat...
114       * 321638 : Don't use // style comments in headers
115       * 321648 : Wrong type check in gst_message_parse_clock_lost
116       * 321710 : GstClock resolution functions should take a GstClockTime
117       * 321712 : GstClock adjust function changes
118       * 321875 : gst_plugin_check_file disappeared
119       * 321950 : gst_registry_scan_paths lacks implementation
120       * 321962 : [easyfix] gst_value_is_fixed uses gst_value_list_* on GST...
121       * 322027 : [API] Rename gst_caps_structure_fixate_* to gst_structure...
122       * 322034 : Elements should be updated not to take the stream lock in...
123       * 322069 : Names of GstTagSetter methods should be more descriptive
124       * 322134 : API master/slave clocks
125       * 322139 : our elements are confused about GEnumValue and which is t...
126   
127 Changes since 0.9.4:
128     
129       * gst_bus_poll and signal watch now see the same messages
130       * clock sync in BaseSrc class
131       * API documentation updates
132       * Bus reworked; signal API added
133
134 Bugs fixed since 0.9.4:
135     
136       * 317341 : after linking ghost pads, one target pad does not have a ...
137       * 320774 : basesrc commit broke typefinding
138
139 Changes since 0.9.3:
140
141       * state lock redefined
142       * Extensive documentation updates
143       * BaseTransform reworked
144       * Bus reworked; signal API added
145
146 Bugs fixed since 0.9.3:
147
148       * 111146 : new GstThread fails on pipeline with errors
149       * 169772 : [PATCH] GOption command-line parsing
150       * 170777 : use GST_TYPE_DATE for GST_TAG_DATE
151       * 315050 : [API] consider using GstClockTime instead of GTimeVal in ...
152       * 315126 : filesrc + forced caps should be possible
153       * 315383 : gst-launch shouldn't run broken pipelines
154       * 317041 : GstObject flags should be made real flags
155       * 318447 : gst_bin_iterate_sorted: Invalid call to gst_iterator_new
156
157 Changes since 0.9.2:
158
159       * gst-register has been removed
160       * Extensive documentation updates
161       * BaseTransform reworked
162       * Bus reworked; signal API added
163
164 Bugs fixed since 0.9.2:
165
166       * 102980 : support incremental gst-register/compprep updates
167       * 313897 : [0.9] registry rewrite
168       * 314710 : gst_buffer_create_sub doesn't copy the GST_BUFFER_FLAGS
169       * 315895 : gst_pad_query_convert src_val check
170       * 316155 : MinGW compilation: glib-mkenums root path subtitution pro...
171       * 316157 : MinGW compilation: Plugin exports
172
173 This is GStreamer 0.9.2, "South".
174
175 Bugs fixed since 0.9.1:
176
177       * 121015 : [api] gst_clock_entry_new() seems broken
178       * 134227 : [api] gst_clock_id_wait_async, wrong return code for defa...
179       * 142209 : [build] Large file support broken
180       * 154785 : Clock does not run if audio stream lacks data for a short...
181       * 305256 : [API] Change gst_element_seek to not mix enum/flags types
182       * 309253 : GST_DEBUG_FUNCPTR macro does illegal casting from functio...
183       * 311004 : ghostpad bugginess
184       * 311009 : valgrind shows undesired messages
185       * 311848 : Renegotiation broken
186       * 314708 : filesrc doesn't set GST_BUFFER_FLAG_READONLY on mmaped bu...