gst/gsterror.c: Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come...
[platform/upstream/gstreamer.git] / NEWS
1 This is GStreamerĀ 0.10.10, "Pais"
2
3 Bugs fixed since 0.10.9:
4      
5       * 349180 : gst_parse_launch is not reentrant (or recursively callable)
6       * 348455 : [filesrc] should not use mmap() by default, since it migh...
7       * 340674 : marry gst-debugs & plot-timeline.py
8       * 350449 : [GstBaseTransform] buffer_alloc should alway try downstream
9       * 352580 : implement proper caps merging
10       * 345444 : Linking to an audioconvert (pad-added callback) multiple ...
11       * 347293 : GstValueList comparison is flawed
12       * 347311 : element_unlink leaks its iterator wich will leak the src ...
13       * 348179 : gst_parse_lauch is not reentrant
14       * 348354 : failure in bison version detection breaks build
15       * 350419 : API: GST_SEGMENT_FORMAT printf extension for GstSegments
16       * 350879 : [init] Mark gstreamer as being initialized during registr...
17       * 350935 : API: add GST_TAG_EXTENDED_COMMENT
18       * 353976 : asssertion about element sanity in gst_registry_xml_write...
19       * 350432 : micro-optimising quarks
20       * 341029 : Ghostpads internal and target should be linked from the b...
21       * 345295 : [PATCH] gstreamer/libs/gst/net for Windows
22       * 347756 : Allow --disable-trace without --disable-parse
23       * 347794 : Do not reset SIGSEGV handler when --gst-disable-segtrap i...
24       * 348918 : application should decide whether or not to use fork() to...
25       * 349943 : [QOS] documentation/code mismatch
26       * 351768 : Unwanted concurent buffer modifications
27       * 352958 : pad_alloc_buffer and stream lock
28       * 353121 : gst_query_new_segment should initialize all structure fields
29       * 353122 : gst_element_get_bus refs the bus unconditionally
30       * 347385 : [ghostpad] gst_ghost_pad_new_from_template() method
31       * 348677 : Upgrade to 0.10.9 breaks existing applications (failed se...
32
33 API added since 0.10.9:
34      
35       * gst_segtrap_is_enabled
36       * gst_segtrap_set_enabled
37       * gst_registry_fork_is_enabled
38       * gst_registry_fork_set_enabled
39       * gst_ghost_pad_new_from_template
40       * gst_ghost_pad_new_no_target_from_template
41       * gst_caps_merge
42       * GST_TAG_EXTENDED_COMMENT
43       * GstClockCLass:wait_jitter
44       * GST_SEGMENT_FORMAT
45       * gst_structure_id_set
46       * gst_structure_id_set_valist
47
48 Changes since 0.10.8:
49
50       * The testsuite can now generate coverage information
51       * Better support for non-linear editing
52       * Removed Glib 2.6 compatibility
53       * Performance improvements on cpus that support branch hints
54       * Bug fixes
55
56 Bugs fixed since 0.10.8:
57
58       * 346730 : some warnings about enums and macros
59       * 341029 : Ghostpads internal and target should be linked from the b...
60       * 346192 : [PATCH] Pad blocking on events
61       * 347384 : [ghostpad] padtemplates shouldn't be set automatically
62       * 344115 : [patch] make more internal data const
63       * 324176 : gst-element-check-0.x.m4 should use versioned gst-inspect
64       * 330379 : Bogus commits to basesink, basetransform, collectpads
65       * 341667 : restore_from_xml breaks pad links again after creating them
66       * 344642 : tools/gst-inspect.c does not compile if --disable-nls is ...
67       * 344748 : Fails with non-writable registry
68       * 344849 : GstController doesn't handle float properties correct
69       * 345086 : [gst-feedback] calls un-versioned tools
70       * 346097 : SIGSEGV when using --gst-plugin-load
71       * 347337 : GDP does not correctly deserialize events without a struc...
72       * 347408 : basesrc causes regressions in pull with 0 bytes
73       * 345720 : Bad performance playing files off CD
74       * 331727 : make probes and Ghostpads more elegant
75       * 343196 : basetransform not handles ro/rw buffer flagging for trans...
76       * 346663 : Segmentation error with fakesrc, fakesink and a filter
77
78 Changes since 0.10.7:
79     
80       * Important fix for registry update causing applets not to load
81
82 Bugs fixed since 0.10.7:
83     
84       * 344474 : Gnome Mixer Applet doesn't want to load
85
86 Changes since 0.10.6:
87     
88       * Registry cache updating is now done in a fork, so no plugins are left
89         opened
90       * New version of data protocol now serializes events
91       * queue fixes
92       * win32 fixes
93
94 Bugs fixed since 0.10.6:
95     
96       * 338335 : [patch] memleak in gst-utils.c (leak pads from iterator)
97       * 343598 : undefined symbol in coreindexers when using --disable-loa...
98       * 336929 : GstCollectPads does not clear/reset segment info after fl...
99       * 337100 : [fakesink] add " preroll-handoff " signal
100       * 339918 : GstTagSetter merge-mode description unclear, and implemen...
101       * 340501 : [filesrc] give primary rank
102       * 341662 : gst-launch print_tags() fix
103       * 342238 : API: gst_element_seek_simple
104       * 342321 : GST_QUERY_POSITION fails if GstBaseSrc in get_range mode
105       * 342777 : rebuilding the registry leaves all plugins in memory
106       * 342820 : gstnetclientclock.c(453): servaddr used before set
107       * 343057 : gst-launch-0.10 segfaults when passed gst-plugin-path and...
108       * 343341 : [API] add GST_TAG_PREVIEW_IMAGE
109       * 343827 : leak in gst_index_gtype_resolver
110       * 343929 : Use of // in public header
111       * 343988 : data protocol needs extending to handle events better
112       * 341479 : Too many plugins loaded even for up-to-date registry
113       * 343334 : GstCollectPads testsuite and fixes
114       * 343538 : GstCollectPads doesn't reset EOS fields when stopped
115
116 API added since 0.10.6:
117
118       * gst_element_seek_simple()
119       * GST_FLOW_CUSTOM_SUCCESS
120       * GST_FLOW_CUSTOM_ERROR
121       * GST_FLOW_IS_SUCCESS
122       * gst_collect_pads_set_flushing()
123       * GST_TAG_PREVIEW_IMAGE
124       * gst_dp_crc()
125       * GstDPPacketizer
126       * GstDPVersion
127       * GstFakeSink::preroll-handoff
128       * GstFakeSink::use-mmap
129
130 Changes since 0.10.5:
131
132       * Fixes for the collectpads helper
133       * Support for proper time recording on server-trickmode streams
134         via the applied_rate parameter of the NewSegment event
135       * Many bug fixes
136
137 Bugs fixed since 0.10.5:
138
139       * 339808 : [patch] mem-leak of bin in gstbin.c
140       * 338339 : [patch] registry cache is always written
141       * 339843 : [patch] fdsink should not handle short writes and non fat...
142       * 340016 : does not build on opensolaris, must always include config...
143       * 340079 : gst-launch wrapper fails with 'No version of tool gst-lau...
144       * 340174 : locking problem in gstbasesink
145       * 340460 : gst-launch no longer supports --version
146       * 340508 : remove glib pre 2.8 hacks and compat stuff
147       * 340604 : gst_mini_object_ref () docs make no mention of writeability
148       * 340608 : leaking caps in padtemplate
149       * 340697 : gstsystemclock hangs when outputting to stdout via fdsink 
150       * 340721 : API: add GST_TAG_IMAGE
151       * 340772 : [qtdemux] bails out on Meet The Robinsons trailer
152       * 341556 : gst-launch: print image tags in a human readable form
153       * 339821 : [patch] serializing a GValue with a NULL buffer crashes
154
155 API added since 0.10.5:
156
157       * gst_adapter_take_buffer()
158       * GST_TAG_IMAGE tag added.
159       * gst_event_new_new_segment_full()
160       * gst_event_parse_new_segment_full()
161       * GstSegment::applied_rate field
162       * gst_segment_set_newsegment_full()
163
164 Changes since 0.10.4:
165
166       * QoS in BaseTransform
167       * gcc 4.1 fixes
168       * BaseTransform reworked
169       * Bus reworked; signal API added
170
171 Bugs fixed since 0.10.4:
172     
173       * 131079 : [PATCH] [api] loading a class leaves elementfactory blank
174       * 317048 : gstreamer Cygwin build fixes
175       * 325599 : Build fails with GCC 4.1
176       * 327315 : GStreamer CVS head files to build with GCC 4.1
177       * 331248 : [basesink] filesink spews warnings when used with flacenc
178       * 332151 : xml registry loader should use mmap() where possible
179       * 332390 : [GstQueue/GstPad] queue pauses immediately when linked, p...
180       * 332986 : Something wrong in caps checking...
181       * 334109 : pkg-config files must link with the same check library th...
182       * 334303 : Stale libgnomeui check in configure
183       * 334434 : Missing functions in def files for dlls
184       * 335195 : GST_BOILERPLATE_FULL etc isn' optimised
185       * 335480 : start with debugging disabled
186       * 335513 : totem goes (and stays) out of sync when running bittorrent
187       * 336336 : [queue] Queue might block in EOS
188       * 336945 : [filesink] throws error when writing 0 bytes
189       * 337103 : small cleanup in gstplugin.c
190       * 337386 : Pipeline bus is not initially flushing
191       * 338711 : Internal data flow error with latest updates for FC5 with...
192       * 326311 : basesink does not call the PAUSED- > PLAYING change_state f...
193       * 326998 : GstBaseSrc's send_event handler ignores seek requests aft...
194
195 API added since 0.10.4:
196
197       * gst_controller_unset_all()
198       * gst_pad_query_peer_position()
199       * gst_pad_query_peer_duration()
200       * gst_pad_query_peer_convert()
201       * GstBaseSink::async_play()
202       * GstBaseSrc::qos
203       * gst_base_sink_set_qos_enabled()
204       * gst_base_sink_is_qos_enabled()
205       * gst_base_transform_update_qos()
206       * gst_base_transform_set_qos_enabled()
207       * gst_base_transform_is_qos_enabled()
208       * gst_pipeline_get_delay()
209       * gst_pipeline_set_delay()
210
211 Changes since 0.10.3:
212     
213       * Parallel installability with 0.8.x series
214       * Threadsafe design and API
215       * 33% of library size removed by parse change
216       * (Experimental) QoS features (use max-lateness on BaseSink subclasses to enable)
217
218 Bugs fixed since 0.10.3:
219     
220       * 323542 : GStreamer 0.10 hangs at EOS for all songs
221       * 320340 : triggering a gst_task_join from the streaming task can de...
222       * 322628 : document thread-unsafety of gst_value_foo() + gst_value_r...
223       * 324186 : Smarter (deterministic!) typefind decisions
224       * 324398 : varargs/valist functions aren't bindable
225       * 328873 : only one gst_bin_recalc_state allowed at a time
226       * 330899 : CVS directory in make dist tarball
227       * 330906 : API: add GST_QUERY_TYPE_NAME and GST_MESSAGE_TYPE_NAME
228       * 330996 : basesrc emits EOS unconditionally when going to READY
229       * 331255 : Shrinking gst_parse_launch bloat
230       * 331898 : Basetranform is not reusable
231       * 332045 : API: GstPipeline needs API to disable  flushing of its bu...
232       * 332277 : [filesrc] seek does not correct read position in non-mmap...
233       * 332611 : [basesrc] needs way to prevent expensive start/stop in ch...
234       * 332723 : New API: gst_type_find_helper_for_buffer
235       * 333042 : New API: gst_type_find_helper_get_range
236       * 333266 : Registry file writing rewrite
237       * 333272 : tests should set G_SLICE=always-malloc now
238       * 333417 : GST_BOILERPLATE_WITH_INTERFACE can't be used in C++ code
239       * 333669 : Add pad accessor defines for GstBaseTransform
240       * 333779 : New API: add gst_uri_has_protocol
241       * 324818 : gst_registry_get_default doesn't sink newly created registry
242       * 330125 : _pad_send_event does not check flushing correctly
243       * 330684 : Add ability to emit sync-message without messing with the...
244  
245 API added since 0.10.3:
246     
247       * gst_pipeline_set_auto_flush_bus()
248       * gst_pipeline_get_auto_flush_bus()
249       * gst_uri_has_protocol()
250       * gst_pipeline_set_max_lateness()
251       * gst_pipeline_get_max_lateness()
252       * gst_pipeline_get_sync()
253       * gst_pipeline_do_sync()
254       * GST_BASE_TRANSFORM_SRC_PAD()
255       * GST_BASE_TRANSFORM_SINK_PAD()
256       * GstBaseSrc::check_get_range()
257       * GstBaseSink::max-lateness
258       * gst_type_find_helper_get_range()
259       * gst_type_find_helper_for_buffer()
260       * GST_MESSAGE_TYPE_NAME()
261       * GST_QUERY_TYPE_NAME()
262       * gst_bus_enable_sync_message_emission()
263       * gst_bus_disable_sync_message_emission()
264
265 Changes since 0.10.2:
266
267       * Documentation updates
268       * Bug fixes
269       * Base class improvements
270       * Extra utility API
271       * More elements ported from 0.8
272       * Fixes for win32 build.
273
274 Changes since 0.10.1:
275     
276       * documentation updates
277       * bug fixes
278
279 Bugs fixed since 0.10.1:
280     
281       * 325429 : GST_BOILERPLATE_FULL can't be used when compiling with -W...
282       * 316086 : MinGW compilation: fileindexer depends on mmap
283
284 Changes since 0.10.0:
285     
286       * element factory leak fixes
287       * tests cleanup
288       * BaseSrc seeking in other format than BYTES
289       * collectpad fixes
290
291 Bugs fixed since 0.10.0:
292     
293       * 322441 : getcontext() in common/m4/gst-mcsc.m4 uses incorrect stac...
294       * 323041 : [BASESRC] basesrc does not handle a seek to non-bytes for...
295       * 323870 : [tools] gst-feedback needs updating for 0.9/0.10
296       * 323882 : gst-launch manpage needs updates
297       * 323905 : use return val of g_list_append
298
299 API added since 0.10.0:
300      
301       * GST_TYPE_STATIC_CAPS
302       * GST_TYPE_STATIC_PAD_TEMPLATE
303       * GstNetTimeProvider::active
304       * gst_base_src_set_format
305
306 Changes from the 0.8 series to 0.10 series:
307
308       * Refcounting and API revised for thread safety, see rules in
309         docs/design/part-MT-refcounting.txt
310
311       * Scheduling is now done by the elements, they start/stop
312         processing threads themselves. This removes the need for 
313         a separate scheduler.
314
315       * State changes now happen from sink to source. This makes sure
316         that downstream elements are ready to process data when upstream
317         starts producing.
318
319       * EOS/ERROR/... does not change the state of elements anymore. This
320         means that when the application sets the state on an element, it
321         remains in this state.
322
323       * GMainLoop integration. Information on the state of the pipeline
324         is now received in the mainloop via the GstBus.
325
326       * Events move separate from the datastream, this allows for both
327         in and out of sync delivery of events.
328
329       * Generic _pull() replaced by _pull_region() so that random access
330         can be made faster.
331
332       * data passing happens from PAUSED, called the preroll phase. In this
333         state no data is rendered but it is queued in the sinks.
334
335       * negotiation simplified. Caps are now attached to buffers and travel
336         along with the datastream. 
337
338       * GstBuffer is now subclassable.
339
340       * Ghostpads now look and feel like real pads.
341
342       * New Seeking/flushing policy.
343
344       * Addition of base classes and helper functions in the core to abstract
345         away the harder parts of plugin development.
346
347 Changes since 0.9.7:
348
349       * added Traditional Chinese translation
350
351 Bugs fixed since 0.9.7:
352     
353       * 322874 : [PAD] pad_alloc_buffer should not call set_caps
354       * 323222 : GStreamer 0.9.7 still checks in dirs containing 0.9
355       * 323250 : [collectpads] debug category should be called 'collectpad...
356
357 Changes since 0.9.6:
358     
359       * bumped major/minor to 0.10
360       * API cleanup
361       * PluginFeature and TypeFind leak fixes
362       * cleaned up source tree
363       * added plugin documentation for core elements
364       * fixes for stripped core
365
366 Bugs fixed since 0.9.6:
367     
368       * 320529 : [API] gst_event_new_segment mentions " stream_time " as an ...
369       * 321917 : quicktime with two video tracks and extra foo, makes tote...
370       * 322257 : Fix gstnet library name
371       * 322427 : gst-compprep aborts with 'double free or corruption'
372       * 322429 : Filesink seeking problem
373       * 322626 : Strings in gst-launch.c adn gstdebug.c are horrid
374       * 322708 : gst_plugin_load_file leaks a reference to a GstPlugin
375       * 322751 : gst_ghost_pad_get_target borks on pads without target
376       * 322842 : GStreamer-CRITICAL in GstBaseSink and GstBaseTransform
377
378 Changes since 0.9.5:
379     
380       * API changes and clean-up
381       * Extensive documentation updates
382       * remove GLib 2.4 compatibility
383       * added clock selection
384       * added network clocking
385       * added fd:// URI handler
386       * added more fraction functionality
387
388 Bugs fixed since 0.9.5:
389     
390       * 143472 : [api] gst_tag_list_foreach() takes a non-const GstTagList*
391       * 156633 : [API] don't use same API for arrays as for normal lists
392       * 164168 : circular pipeline fails to negotiate
393       * 165650 : [API] gst_value_deserialize doesn't work correctly for NU...
394       * 168438 : [API] GstIndexFilter doesn't receive user_data
395       * 168494 : [API] gst_index_add_object() does nothing
396       * 305291 : Obnoxious bug-filing request
397       * 311489 : Possible gstghostpad locking problems
398       * 319178 : [API] finish filler events and support them in GstCollect...
399       * 319388 : 0.9 API changes tracker
400       * 319389 : state change updates obsolete some functions
401       * 319392 : GstEventType is not bindings-friendly
402       * 319395 : Macro name/visibility API bugs
403       * 319940 : Use GLIB macros for GCC extensions
404       * 320060 : add a CORE error category for missing ELEMENTS/PLUGINS
405       * 320097 : GST_BUFFER_FLAG_ORIGINAL should die
406       * 320113 : [API] duration message changes
407       * 320299 : gst_pad_send_event should take stream lock for serialized...
408       * 320324 : [API] GST_FOURCC_FORMAT should drop leading '%'
409       * 320423 : [API] padding for GstCollectData
410       * 320766 : [API] collect pads API changes
411       * 321061 : GstURI not used
412       * 321235 : [API] GST_PAD_IS_USABLE should be removed
413       * 321386 : [SEGFAULT] basetransform when doing reverse caps negotiation
414       * 321452 : GstPad's " template " property is b0rked
415       * 321528 : capsfilter: assertion `caps != NULL' failed
416       * 321595 : GstBin doesn't clean the message queue when changing stat...
417       * 321638 : Don't use // style comments in headers
418       * 321648 : Wrong type check in gst_message_parse_clock_lost
419       * 321710 : GstClock resolution functions should take a GstClockTime
420       * 321712 : GstClock adjust function changes
421       * 321875 : gst_plugin_check_file disappeared
422       * 321950 : gst_registry_scan_paths lacks implementation
423       * 321962 : [easyfix] gst_value_is_fixed uses gst_value_list_* on GST...
424       * 322027 : [API] Rename gst_caps_structure_fixate_* to gst_structure...
425       * 322034 : Elements should be updated not to take the stream lock in...
426       * 322069 : Names of GstTagSetter methods should be more descriptive
427       * 322134 : API master/slave clocks
428       * 322139 : our elements are confused about GEnumValue and which is t...
429   
430 Changes since 0.9.4:
431     
432       * gst_bus_poll and signal watch now see the same messages
433       * clock sync in BaseSrc class
434       * API documentation updates
435       * Bus reworked; signal API added
436
437 Bugs fixed since 0.9.4:
438     
439       * 317341 : after linking ghost pads, one target pad does not have a ...
440       * 320774 : basesrc commit broke typefinding
441
442 Changes since 0.9.3:
443
444       * state lock redefined
445       * Extensive documentation updates
446       * BaseTransform reworked
447       * Bus reworked; signal API added
448
449 Bugs fixed since 0.9.3:
450
451       * 111146 : new GstThread fails on pipeline with errors
452       * 169772 : [PATCH] GOption command-line parsing
453       * 170777 : use GST_TYPE_DATE for GST_TAG_DATE
454       * 315050 : [API] consider using GstClockTime instead of GTimeVal in ...
455       * 315126 : filesrc + forced caps should be possible
456       * 315383 : gst-launch shouldn't run broken pipelines
457       * 317041 : GstObject flags should be made real flags
458       * 318447 : gst_bin_iterate_sorted: Invalid call to gst_iterator_new
459
460 Changes since 0.9.2:
461
462       * gst-register has been removed
463       * Extensive documentation updates
464       * BaseTransform reworked
465       * Bus reworked; signal API added
466
467 Bugs fixed since 0.9.2:
468
469       * 102980 : support incremental gst-register/compprep updates
470       * 313897 : [0.9] registry rewrite
471       * 314710 : gst_buffer_create_sub doesn't copy the GST_BUFFER_FLAGS
472       * 315895 : gst_pad_query_convert src_val check
473       * 316155 : MinGW compilation: glib-mkenums root path subtitution pro...
474       * 316157 : MinGW compilation: Plugin exports
475
476 This is GStreamer 0.9.2, "South".
477
478 Bugs fixed since 0.9.1:
479
480       * 121015 : [api] gst_clock_entry_new() seems broken
481       * 134227 : [api] gst_clock_id_wait_async, wrong return code for defa...
482       * 142209 : [build] Large file support broken
483       * 154785 : Clock does not run if audio stream lacks data for a short...
484       * 305256 : [API] Change gst_element_seek to not mix enum/flags types
485       * 309253 : GST_DEBUG_FUNCPTR macro does illegal casting from functio...
486       * 311004 : ghostpad bugginess
487       * 311009 : valgrind shows undesired messages
488       * 311848 : Renegotiation broken
489       * 314708 : filesrc doesn't set GST_BUFFER_FLAG_READONLY on mmaped bu...