gst/gst.c: plugin_paths is not used if we build without registry support.
[platform/upstream/gstreamer.git] / NEWS
1 This is GStreamerĀ 0.10.6, "Take the cannoli"
2
3 Changes since 0.10.5:
4
5       * Fixes for the collectpads helper
6       * Support for proper time recording on server-trickmode streams
7         via the applied_rate parameter of the NewSegment event
8       * Many bug fixes
9
10 Bugs fixed since 0.10.5:
11
12       * 339808 : [patch] mem-leak of bin in gstbin.c
13       * 338339 : [patch] registry cache is always written
14       * 339843 : [patch] fdsink should not handle short writes and non fat...
15       * 340016 : does not build on opensolaris, must always include config...
16       * 340079 : gst-launch wrapper fails with 'No version of tool gst-lau...
17       * 340174 : locking problem in gstbasesink
18       * 340460 : gst-launch no longer supports --version
19       * 340508 : remove glib pre 2.8 hacks and compat stuff
20       * 340604 : gst_mini_object_ref () docs make no mention of writeability
21       * 340608 : leaking caps in padtemplate
22       * 340697 : gstsystemclock hangs when outputting to stdout via fdsink 
23       * 340721 : API: add GST_TAG_IMAGE
24       * 340772 : [qtdemux] bails out on Meet The Robinsons trailer
25       * 341556 : gst-launch: print image tags in a human readable form
26       * 339821 : [patch] serializing a GValue with a NULL buffer crashes
27
28 API added since 0.10.5:
29
30       * gst_adapter_take_buffer()
31       * GST_TAG_IMAGE tag added.
32       * gst_event_new_new_segment_full()
33       * gst_event_parse_new_segment_full()
34       * GstSegment::applied_rate field
35       * gst_segment_set_newsegment_full()
36
37 Changes since 0.10.4:
38
39       * QoS in BaseTransform
40       * gcc 4.1 fixes
41       * BaseTransform reworked
42       * Bus reworked; signal API added
43
44 Bugs fixed since 0.10.4:
45     
46       * 131079 : [PATCH] [api] loading a class leaves elementfactory blank
47       * 317048 : gstreamer Cygwin build fixes
48       * 325599 : Build fails with GCC 4.1
49       * 327315 : GStreamer CVS head files to build with GCC 4.1
50       * 331248 : [basesink] filesink spews warnings when used with flacenc
51       * 332151 : xml registry loader should use mmap() where possible
52       * 332390 : [GstQueue/GstPad] queue pauses immediately when linked, p...
53       * 332986 : Something wrong in caps checking...
54       * 334109 : pkg-config files must link with the same check library th...
55       * 334303 : Stale libgnomeui check in configure
56       * 334434 : Missing functions in def files for dlls
57       * 335195 : GST_BOILERPLATE_FULL etc isn' optimised
58       * 335480 : start with debugging disabled
59       * 335513 : totem goes (and stays) out of sync when running bittorrent
60       * 336336 : [queue] Queue might block in EOS
61       * 336945 : [filesink] throws error when writing 0 bytes
62       * 337103 : small cleanup in gstplugin.c
63       * 337386 : Pipeline bus is not initially flushing
64       * 338711 : Internal data flow error with latest updates for FC5 with...
65       * 326311 : basesink does not call the PAUSED- > PLAYING change_state f...
66       * 326998 : GstBaseSrc's send_event handler ignores seek requests aft...
67
68 API added since 0.10.4:
69
70       * gst_controller_unset_all()
71       * gst_pad_query_peer_position()
72       * gst_pad_query_peer_duration()
73       * gst_pad_query_peer_convert()
74       * GstBaseSink::async_play()
75       * GstBaseSrc::qos
76       * gst_base_sink_set_qos_enabled()
77       * gst_base_sink_is_qos_enabled()
78       * gst_base_transform_update_qos()
79       * gst_base_transform_set_qos_enabled()
80       * gst_base_transform_is_qos_enabled()
81       * gst_pipeline_get_delay()
82       * gst_pipeline_set_delay()
83
84 Changes since 0.10.3:
85     
86       * Parallel installability with 0.8.x series
87       * Threadsafe design and API
88       * 33% of library size removed by parse change
89       * (Experimental) QoS features (use max-lateness on BaseSink subclasses to enable)
90
91 Bugs fixed since 0.10.3:
92     
93       * 323542 : GStreamer 0.10 hangs at EOS for all songs
94       * 320340 : triggering a gst_task_join from the streaming task can de...
95       * 322628 : document thread-unsafety of gst_value_foo() + gst_value_r...
96       * 324186 : Smarter (deterministic!) typefind decisions
97       * 324398 : varargs/valist functions aren't bindable
98       * 328873 : only one gst_bin_recalc_state allowed at a time
99       * 330899 : CVS directory in make dist tarball
100       * 330906 : API: add GST_QUERY_TYPE_NAME and GST_MESSAGE_TYPE_NAME
101       * 330996 : basesrc emits EOS unconditionally when going to READY
102       * 331255 : Shrinking gst_parse_launch bloat
103       * 331898 : Basetranform is not reusable
104       * 332045 : API: GstPipeline needs API to disable  flushing of its bu...
105       * 332277 : [filesrc] seek does not correct read position in non-mmap...
106       * 332611 : [basesrc] needs way to prevent expensive start/stop in ch...
107       * 332723 : New API: gst_type_find_helper_for_buffer
108       * 333042 : New API: gst_type_find_helper_get_range
109       * 333266 : Registry file writing rewrite
110       * 333272 : tests should set G_SLICE=always-malloc now
111       * 333417 : GST_BOILERPLATE_WITH_INTERFACE can't be used in C++ code
112       * 333669 : Add pad accessor defines for GstBaseTransform
113       * 333779 : New API: add gst_uri_has_protocol
114       * 324818 : gst_registry_get_default doesn't sink newly created registry
115       * 330125 : _pad_send_event does not check flushing correctly
116       * 330684 : Add ability to emit sync-message without messing with the...
117  
118 API added since 0.10.3:
119     
120       * gst_pipeline_set_auto_flush_bus()
121       * gst_pipeline_get_auto_flush_bus()
122       * gst_uri_has_protocol()
123       * gst_pipeline_set_max_lateness()
124       * gst_pipeline_get_max_lateness()
125       * gst_pipeline_get_sync()
126       * gst_pipeline_do_sync()
127       * GST_BASE_TRANSFORM_SRC_PAD()
128       * GST_BASE_TRANSFORM_SINK_PAD()
129       * GstBaseSrc::check_get_range()
130       * GstBaseSink::max-lateness
131       * gst_type_find_helper_get_range()
132       * gst_type_find_helper_for_buffer()
133       * GST_MESSAGE_TYPE_NAME()
134       * GST_QUERY_TYPE_NAME()
135       * gst_bus_enable_sync_message_emission()
136       * gst_bus_disable_sync_message_emission()
137
138 Changes since 0.10.2:
139
140       * Documentation updates
141       * Bug fixes
142       * Base class improvements
143       * Extra utility API
144       * More elements ported from 0.8
145       * Fixes for win32 build.
146
147 Changes since 0.10.1:
148     
149       * documentation updates
150       * bug fixes
151
152 Bugs fixed since 0.10.1:
153     
154       * 325429 : GST_BOILERPLATE_FULL can't be used when compiling with -W...
155       * 316086 : MinGW compilation: fileindexer depends on mmap
156
157 Changes since 0.10.0:
158     
159       * element factory leak fixes
160       * tests cleanup
161       * BaseSrc seeking in other format than BYTES
162       * collectpad fixes
163
164 Bugs fixed since 0.10.0:
165     
166       * 322441 : getcontext() in common/m4/gst-mcsc.m4 uses incorrect stac...
167       * 323041 : [BASESRC] basesrc does not handle a seek to non-bytes for...
168       * 323870 : [tools] gst-feedback needs updating for 0.9/0.10
169       * 323882 : gst-launch manpage needs updates
170       * 323905 : use return val of g_list_append
171
172 API added since 0.10.0:
173      
174       * GST_TYPE_STATIC_CAPS
175       * GST_TYPE_STATIC_PAD_TEMPLATE
176       * GstNetTimeProvider::active
177       * gst_base_src_set_format
178
179 Changes from the 0.8 series to 0.10 series:
180
181       * Refcounting and API revised for thread safety, see rules in
182         docs/design/part-MT-refcounting.txt
183
184       * Scheduling is now done by the elements, they start/stop
185         processing threads themselves. This removes the need for 
186         a separate scheduler.
187
188       * State changes now happen from sink to source. This makes sure
189         that downstream elements are ready to process data when upstream
190         starts producing.
191
192       * EOS/ERROR/... does not change the state of elements anymore. This
193         means that when the application sets the state on an element, it
194         remains in this state.
195
196       * GMainLoop integration. Information on the state of the pipeline
197         is now received in the mainloop via the GstBus.
198
199       * Events move separate from the datastream, this allows for both
200         in and out of sync delivery of events.
201
202       * Generic _pull() replaced by _pull_region() so that random access
203         can be made faster.
204
205       * data passing happens from PAUSED, called the preroll phase. In this
206         state no data is rendered but it is queued in the sinks.
207
208       * negotiation simplified. Caps are now attached to buffers and travel
209         along with the datastream. 
210
211       * GstBuffer is now subclassable.
212
213       * Ghostpads now look and feel like real pads.
214
215       * New Seeking/flushing policy.
216
217       * Addition of base classes and helper functions in the core to abstract
218         away the harder parts of plugin development.
219
220 Changes since 0.9.7:
221
222       * added Traditional Chinese translation
223
224 Bugs fixed since 0.9.7:
225     
226       * 322874 : [PAD] pad_alloc_buffer should not call set_caps
227       * 323222 : GStreamer 0.9.7 still checks in dirs containing 0.9
228       * 323250 : [collectpads] debug category should be called 'collectpad...
229
230 Changes since 0.9.6:
231     
232       * bumped major/minor to 0.10
233       * API cleanup
234       * PluginFeature and TypeFind leak fixes
235       * cleaned up source tree
236       * added plugin documentation for core elements
237       * fixes for stripped core
238
239 Bugs fixed since 0.9.6:
240     
241       * 320529 : [API] gst_event_new_segment mentions " stream_time " as an ...
242       * 321917 : quicktime with two video tracks and extra foo, makes tote...
243       * 322257 : Fix gstnet library name
244       * 322427 : gst-compprep aborts with 'double free or corruption'
245       * 322429 : Filesink seeking problem
246       * 322626 : Strings in gst-launch.c adn gstdebug.c are horrid
247       * 322708 : gst_plugin_load_file leaks a reference to a GstPlugin
248       * 322751 : gst_ghost_pad_get_target borks on pads without target
249       * 322842 : GStreamer-CRITICAL in GstBaseSink and GstBaseTransform
250
251 Changes since 0.9.5:
252     
253       * API changes and clean-up
254       * Extensive documentation updates
255       * remove GLib 2.4 compatibility
256       * added clock selection
257       * added network clocking
258       * added fd:// URI handler
259       * added more fraction functionality
260
261 Bugs fixed since 0.9.5:
262     
263       * 143472 : [api] gst_tag_list_foreach() takes a non-const GstTagList*
264       * 156633 : [API] don't use same API for arrays as for normal lists
265       * 164168 : circular pipeline fails to negotiate
266       * 165650 : [API] gst_value_deserialize doesn't work correctly for NU...
267       * 168438 : [API] GstIndexFilter doesn't receive user_data
268       * 168494 : [API] gst_index_add_object() does nothing
269       * 305291 : Obnoxious bug-filing request
270       * 311489 : Possible gstghostpad locking problems
271       * 319178 : [API] finish filler events and support them in GstCollect...
272       * 319388 : 0.9 API changes tracker
273       * 319389 : state change updates obsolete some functions
274       * 319392 : GstEventType is not bindings-friendly
275       * 319395 : Macro name/visibility API bugs
276       * 319940 : Use GLIB macros for GCC extensions
277       * 320060 : add a CORE error category for missing ELEMENTS/PLUGINS
278       * 320097 : GST_BUFFER_FLAG_ORIGINAL should die
279       * 320113 : [API] duration message changes
280       * 320299 : gst_pad_send_event should take stream lock for serialized...
281       * 320324 : [API] GST_FOURCC_FORMAT should drop leading '%'
282       * 320423 : [API] padding for GstCollectData
283       * 320766 : [API] collect pads API changes
284       * 321061 : GstURI not used
285       * 321235 : [API] GST_PAD_IS_USABLE should be removed
286       * 321386 : [SEGFAULT] basetransform when doing reverse caps negotiation
287       * 321452 : GstPad's " template " property is b0rked
288       * 321528 : capsfilter: assertion `caps != NULL' failed
289       * 321595 : GstBin doesn't clean the message queue when changing stat...
290       * 321638 : Don't use // style comments in headers
291       * 321648 : Wrong type check in gst_message_parse_clock_lost
292       * 321710 : GstClock resolution functions should take a GstClockTime
293       * 321712 : GstClock adjust function changes
294       * 321875 : gst_plugin_check_file disappeared
295       * 321950 : gst_registry_scan_paths lacks implementation
296       * 321962 : [easyfix] gst_value_is_fixed uses gst_value_list_* on GST...
297       * 322027 : [API] Rename gst_caps_structure_fixate_* to gst_structure...
298       * 322034 : Elements should be updated not to take the stream lock in...
299       * 322069 : Names of GstTagSetter methods should be more descriptive
300       * 322134 : API master/slave clocks
301       * 322139 : our elements are confused about GEnumValue and which is t...
302   
303 Changes since 0.9.4:
304     
305       * gst_bus_poll and signal watch now see the same messages
306       * clock sync in BaseSrc class
307       * API documentation updates
308       * Bus reworked; signal API added
309
310 Bugs fixed since 0.9.4:
311     
312       * 317341 : after linking ghost pads, one target pad does not have a ...
313       * 320774 : basesrc commit broke typefinding
314
315 Changes since 0.9.3:
316
317       * state lock redefined
318       * Extensive documentation updates
319       * BaseTransform reworked
320       * Bus reworked; signal API added
321
322 Bugs fixed since 0.9.3:
323
324       * 111146 : new GstThread fails on pipeline with errors
325       * 169772 : [PATCH] GOption command-line parsing
326       * 170777 : use GST_TYPE_DATE for GST_TAG_DATE
327       * 315050 : [API] consider using GstClockTime instead of GTimeVal in ...
328       * 315126 : filesrc + forced caps should be possible
329       * 315383 : gst-launch shouldn't run broken pipelines
330       * 317041 : GstObject flags should be made real flags
331       * 318447 : gst_bin_iterate_sorted: Invalid call to gst_iterator_new
332
333 Changes since 0.9.2:
334
335       * gst-register has been removed
336       * Extensive documentation updates
337       * BaseTransform reworked
338       * Bus reworked; signal API added
339
340 Bugs fixed since 0.9.2:
341
342       * 102980 : support incremental gst-register/compprep updates
343       * 313897 : [0.9] registry rewrite
344       * 314710 : gst_buffer_create_sub doesn't copy the GST_BUFFER_FLAGS
345       * 315895 : gst_pad_query_convert src_val check
346       * 316155 : MinGW compilation: glib-mkenums root path subtitution pro...
347       * 316157 : MinGW compilation: Plugin exports
348
349 This is GStreamer 0.9.2, "South".
350
351 Bugs fixed since 0.9.1:
352
353       * 121015 : [api] gst_clock_entry_new() seems broken
354       * 134227 : [api] gst_clock_id_wait_async, wrong return code for defa...
355       * 142209 : [build] Large file support broken
356       * 154785 : Clock does not run if audio stream lacks data for a short...
357       * 305256 : [API] Change gst_element_seek to not mix enum/flags types
358       * 309253 : GST_DEBUG_FUNCPTR macro does illegal casting from functio...
359       * 311004 : ghostpad bugginess
360       * 311009 : valgrind shows undesired messages
361       * 311848 : Renegotiation broken
362       * 314708 : filesrc doesn't set GST_BUFFER_FLAG_READONLY on mmaped bu...