releasing 0.10.4
[gstreamer-omap:kzeros-gstreamer-multimedia-framework.git] / NEWS
1 This is GStreamerĀ 0.10.4, "Light"
2   
3 Changes since 0.10.3:
4     
5       * Parallel installability with 0.8.x series
6       * Threadsafe design and API
7       * 33% of library size removed by parse change
8       * (Experimental) QoS features (use max-lateness on BaseSink subclasses to enable)
9
10 Bugs fixed since 0.10.3:
11     
12       * 323542 : GStreamer 0.10 hangs at EOS for all songs
13       * 320340 : triggering a gst_task_join from the streaming task can de...
14       * 322628 : document thread-unsafety of gst_value_foo() + gst_value_r...
15       * 324186 : Smarter (deterministic!) typefind decisions
16       * 324398 : varargs/valist functions aren't bindable
17       * 328873 : only one gst_bin_recalc_state allowed at a time
18       * 330899 : CVS directory in make dist tarball
19       * 330906 : API: add GST_QUERY_TYPE_NAME and GST_MESSAGE_TYPE_NAME
20       * 330996 : basesrc emits EOS unconditionally when going to READY
21       * 331255 : Shrinking gst_parse_launch bloat
22       * 331898 : Basetranform is not reusable
23       * 332045 : API: GstPipeline needs API to disable  flushing of its bu...
24       * 332277 : [filesrc] seek does not correct read position in non-mmap...
25       * 332611 : [basesrc] needs way to prevent expensive start/stop in ch...
26       * 332723 : New API: gst_type_find_helper_for_buffer
27       * 333042 : New API: gst_type_find_helper_get_range
28       * 333266 : Registry file writing rewrite
29       * 333272 : tests should set G_SLICE=always-malloc now
30       * 333417 : GST_BOILERPLATE_WITH_INTERFACE can't be used in C++ code
31       * 333669 : Add pad accessor defines for GstBaseTransform
32       * 333779 : New API: add gst_uri_has_protocol
33       * 324818 : gst_registry_get_default doesn't sink newly created registry
34       * 330125 : _pad_send_event does not check flushing correctly
35       * 330684 : Add ability to emit sync-message without messing with the...
36  
37 API added since 0.10.3:
38     
39       * gst_pipeline_set_auto_flush_bus()
40       * gst_pipeline_get_auto_flush_bus()
41       * gst_uri_has_protocol()
42       * gst_pipeline_set_max_lateness()
43       * gst_pipeline_get_max_lateness()
44       * gst_pipeline_get_sync()
45       * gst_pipeline_do_sync()
46       * GST_BASE_TRANSFORM_SRC_PAD()
47       * GST_BASE_TRANSFORM_SINK_PAD()
48       * GstBaseSrc::check_get_range()
49       * GstBaseSink::max-lateness
50       * gst_type_find_helper_get_range()
51       * gst_type_find_helper_for_buffer()
52       * GST_MESSAGE_TYPE_NAME()
53       * GST_QUERY_TYPE_NAME()
54       * gst_bus_enable_sync_message_emission()
55       * gst_bus_disable_sync_message_emission()
56
57 Changes since 0.10.2:
58
59       * Documentation updates
60       * Bug fixes
61       * Base class improvements
62       * Extra utility API
63       * More elements ported from 0.8
64       * Fixes for win32 build.
65
66 Changes since 0.10.1:
67     
68       * documentation updates
69       * bug fixes
70
71 Bugs fixed since 0.10.1:
72     
73       * 325429 : GST_BOILERPLATE_FULL can't be used when compiling with -W...
74       * 316086 : MinGW compilation: fileindexer depends on mmap
75
76 Changes since 0.10.0:
77     
78       * element factory leak fixes
79       * tests cleanup
80       * BaseSrc seeking in other format than BYTES
81       * collectpad fixes
82
83 Bugs fixed since 0.10.0:
84     
85       * 322441 : getcontext() in common/m4/gst-mcsc.m4 uses incorrect stac...
86       * 323041 : [BASESRC] basesrc does not handle a seek to non-bytes for...
87       * 323870 : [tools] gst-feedback needs updating for 0.9/0.10
88       * 323882 : gst-launch manpage needs updates
89       * 323905 : use return val of g_list_append
90
91 API added since 0.10.0:
92      
93       * GST_TYPE_STATIC_CAPS
94       * GST_TYPE_STATIC_PAD_TEMPLATE
95       * GstNetTimeProvider::active
96       * gst_base_src_set_format
97
98 Changes from the 0.8 series to 0.10 series:
99
100       * Refcounting and API revised for thread safety, see rules in
101         docs/design/part-MT-refcounting.txt
102
103       * Scheduling is now done by the elements, they start/stop
104         processing threads themselves. This removes the need for 
105         a separate scheduler.
106
107       * State changes now happen from sink to source. This makes sure
108         that downstream elements are ready to process data when upstream
109         starts producing.
110
111       * EOS/ERROR/... does not change the state of elements anymore. This
112         means that when the application sets the state on an element, it
113         remains in this state.
114
115       * GMainLoop integration. Information on the state of the pipeline
116         is now received in the mainloop via the GstBus.
117
118       * Events move separate from the datastream, this allows for both
119         in and out of sync delivery of events.
120
121       * Generic _pull() replaced by _pull_region() so that random access
122         can be made faster.
123
124       * data passing happens from PAUSED, called the preroll phase. In this
125         state no data is rendered but it is queued in the sinks.
126
127       * negotiation simplified. Caps are now attached to buffers and travel
128         along with the datastream. 
129
130       * GstBuffer is now subclassable.
131
132       * Ghostpads now look and feel like real pads.
133
134       * New Seeking/flushing policy.
135
136       * Addition of base classes and helper functions in the core to abstract
137         away the harder parts of plugin development.
138
139 Changes since 0.9.7:
140
141       * added Traditional Chinese translation
142
143 Bugs fixed since 0.9.7:
144     
145       * 322874 : [PAD] pad_alloc_buffer should not call set_caps
146       * 323222 : GStreamer 0.9.7 still checks in dirs containing 0.9
147       * 323250 : [collectpads] debug category should be called 'collectpad...
148
149 Changes since 0.9.6:
150     
151       * bumped major/minor to 0.10
152       * API cleanup
153       * PluginFeature and TypeFind leak fixes
154       * cleaned up source tree
155       * added plugin documentation for core elements
156       * fixes for stripped core
157
158 Bugs fixed since 0.9.6:
159     
160       * 320529 : [API] gst_event_new_segment mentions " stream_time " as an ...
161       * 321917 : quicktime with two video tracks and extra foo, makes tote...
162       * 322257 : Fix gstnet library name
163       * 322427 : gst-compprep aborts with 'double free or corruption'
164       * 322429 : Filesink seeking problem
165       * 322626 : Strings in gst-launch.c adn gstdebug.c are horrid
166       * 322708 : gst_plugin_load_file leaks a reference to a GstPlugin
167       * 322751 : gst_ghost_pad_get_target borks on pads without target
168       * 322842 : GStreamer-CRITICAL in GstBaseSink and GstBaseTransform
169
170 Changes since 0.9.5:
171     
172       * API changes and clean-up
173       * Extensive documentation updates
174       * remove GLib 2.4 compatibility
175       * added clock selection
176       * added network clocking
177       * added fd:// URI handler
178       * added more fraction functionality
179
180 Bugs fixed since 0.9.5:
181     
182       * 143472 : [api] gst_tag_list_foreach() takes a non-const GstTagList*
183       * 156633 : [API] don't use same API for arrays as for normal lists
184       * 164168 : circular pipeline fails to negotiate
185       * 165650 : [API] gst_value_deserialize doesn't work correctly for NU...
186       * 168438 : [API] GstIndexFilter doesn't receive user_data
187       * 168494 : [API] gst_index_add_object() does nothing
188       * 305291 : Obnoxious bug-filing request
189       * 311489 : Possible gstghostpad locking problems
190       * 319178 : [API] finish filler events and support them in GstCollect...
191       * 319388 : 0.9 API changes tracker
192       * 319389 : state change updates obsolete some functions
193       * 319392 : GstEventType is not bindings-friendly
194       * 319395 : Macro name/visibility API bugs
195       * 319940 : Use GLIB macros for GCC extensions
196       * 320060 : add a CORE error category for missing ELEMENTS/PLUGINS
197       * 320097 : GST_BUFFER_FLAG_ORIGINAL should die
198       * 320113 : [API] duration message changes
199       * 320299 : gst_pad_send_event should take stream lock for serialized...
200       * 320324 : [API] GST_FOURCC_FORMAT should drop leading '%'
201       * 320423 : [API] padding for GstCollectData
202       * 320766 : [API] collect pads API changes
203       * 321061 : GstURI not used
204       * 321235 : [API] GST_PAD_IS_USABLE should be removed
205       * 321386 : [SEGFAULT] basetransform when doing reverse caps negotiation
206       * 321452 : GstPad's " template " property is b0rked
207       * 321528 : capsfilter: assertion `caps != NULL' failed
208       * 321595 : GstBin doesn't clean the message queue when changing stat...
209       * 321638 : Don't use // style comments in headers
210       * 321648 : Wrong type check in gst_message_parse_clock_lost
211       * 321710 : GstClock resolution functions should take a GstClockTime
212       * 321712 : GstClock adjust function changes
213       * 321875 : gst_plugin_check_file disappeared
214       * 321950 : gst_registry_scan_paths lacks implementation
215       * 321962 : [easyfix] gst_value_is_fixed uses gst_value_list_* on GST...
216       * 322027 : [API] Rename gst_caps_structure_fixate_* to gst_structure...
217       * 322034 : Elements should be updated not to take the stream lock in...
218       * 322069 : Names of GstTagSetter methods should be more descriptive
219       * 322134 : API master/slave clocks
220       * 322139 : our elements are confused about GEnumValue and which is t...
221   
222 Changes since 0.9.4:
223     
224       * gst_bus_poll and signal watch now see the same messages
225       * clock sync in BaseSrc class
226       * API documentation updates
227       * Bus reworked; signal API added
228
229 Bugs fixed since 0.9.4:
230     
231       * 317341 : after linking ghost pads, one target pad does not have a ...
232       * 320774 : basesrc commit broke typefinding
233
234 Changes since 0.9.3:
235
236       * state lock redefined
237       * Extensive documentation updates
238       * BaseTransform reworked
239       * Bus reworked; signal API added
240
241 Bugs fixed since 0.9.3:
242
243       * 111146 : new GstThread fails on pipeline with errors
244       * 169772 : [PATCH] GOption command-line parsing
245       * 170777 : use GST_TYPE_DATE for GST_TAG_DATE
246       * 315050 : [API] consider using GstClockTime instead of GTimeVal in ...
247       * 315126 : filesrc + forced caps should be possible
248       * 315383 : gst-launch shouldn't run broken pipelines
249       * 317041 : GstObject flags should be made real flags
250       * 318447 : gst_bin_iterate_sorted: Invalid call to gst_iterator_new
251
252 Changes since 0.9.2:
253
254       * gst-register has been removed
255       * Extensive documentation updates
256       * BaseTransform reworked
257       * Bus reworked; signal API added
258
259 Bugs fixed since 0.9.2:
260
261       * 102980 : support incremental gst-register/compprep updates
262       * 313897 : [0.9] registry rewrite
263       * 314710 : gst_buffer_create_sub doesn't copy the GST_BUFFER_FLAGS
264       * 315895 : gst_pad_query_convert src_val check
265       * 316155 : MinGW compilation: glib-mkenums root path subtitution pro...
266       * 316157 : MinGW compilation: Plugin exports
267
268 This is GStreamer 0.9.2, "South".
269
270 Bugs fixed since 0.9.1:
271
272       * 121015 : [api] gst_clock_entry_new() seems broken
273       * 134227 : [api] gst_clock_id_wait_async, wrong return code for defa...
274       * 142209 : [build] Large file support broken
275       * 154785 : Clock does not run if audio stream lacks data for a short...
276       * 305256 : [API] Change gst_element_seek to not mix enum/flags types
277       * 309253 : GST_DEBUG_FUNCPTR macro does illegal casting from functio...
278       * 311004 : ghostpad bugginess
279       * 311009 : valgrind shows undesired messages
280       * 311848 : Renegotiation broken
281       * 314708 : filesrc doesn't set GST_BUFFER_FLAG_READONLY on mmaped bu...