]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/gstreamer0-10.git/blob - NEWS
queue: use statically allocated GQueue
[glsdk/gstreamer0-10.git] / NEWS
1 This is GStreamer 0.10.35 "Nuclear Fission"
3 Changes since 0.10.34:
5       * work around GLib atomic ops API change
6       * some minor win32/mingw fixes
7       * don't use G_CONST_RETURN in public headers
9 Bugs fixed since 0.10.34:
11       * 652211 : Use const instead G_CONST_RETURN
13 Changes since 0.10.33:
15       * Fix multiqueue thread-safety regression
16       * Don't set artificial 0-timestamp on first packet for TIME-based live sources
17       * Otherwise identical to the previous release (0.10.33)
19 Bugs fixed since 0.10.33:
21       * 649369 : basesrc: do not set first buffer timestamp to 0 for live sources
22       * 649878 : multiqueue regression: gst_single_queue_new not MT-safe
24 Changes since 0.10.32:
26       * atomicqueue: add an atomic/lock-free queue structure based
27       * bufferlist: improve _add*() performance
28       * bus: in _add_watch() honour any per-thread default main context set via g_main_thread_push_thread_default()
29       * caps: new gst_caps_intersect_full() to intersect in different modes
30       * clock: add functions to re-init existing periodic GstClockIDs
31       * event: add QoS type (overflow, underflow, throttle) for QoS events
32       * ghostpad: The internally linked pad of the proxypad is the ghostpad
33       * gstpoll: retry reading the control socket to release properly all wakeups
34       * message: new progress message API for asynchronous operations
35       * pad: unlock before freeing the pad cache to avoid deadlock
36       * pad: better handling for when parent goes away during data/query/event flow
37       * parse-launch: allow element names to begin with digits
38       * pluginloader: call gst-plugin-scanner with the right arch on OSX, fixing hangs with firefox
39       * registry: fixes elements (features) disappearing if a plugin or plugin file is renamed
40       * structure: Add "(date)" as a type abbreviation of GDate
41       * structure: Don't allow invalid GDates in all structures and don't allow NULL GDates in taglists
42       * taglist: add a new "encoded-by" tag
43       * uri: add gst_filename_to_uri() that takes relative filenames
44       * utils: add gst_element_factory_can_{src|sink}_{any|all}_caps() to replace can_{sink,src}_caps()
45       * baseparse: new GstBaseParse class for parsers
46       * basesink: improve rate, duration, and average duration calculation
47       * basesink: use new QoS types and add add "throttle-time" property
48       * basesrc: Handle tag and custom downstream events the same
49       * basesrc: keep downstream caps order when fixating, to honour downstream preferences when negotiating
50       * basesrc: Return FALSE if we don't handle an event
51       * basesrc: Send synchronized custom downstream/both events downstream from the streaming thread
52       * basetransform: Be smarter with pad allocs
53       * basetransform: Check for pad alloc caps when suggestion is not fixed
54       * basetransform: Retain caps order when getting caps, to honour downstream preferences when negotiating
55       * funnel: new N-to-1 pipe fitting element imported from farsight
56       * fakesink: print buffer flags
57       * filesink: Fix escaping of URIs
58       * file{sink,src}: Check if non-URI characters are escaped, but only for the URI not the location property
59       * filesrc, filesink: fix URI creation regression for non-absolute locations
60       * filesrc: Fix escaping of file uris
61       * inputselector: Hold the selector lock while reading properties of the active pad
62       * inputselector: Make sure that EOS is always sent downstream for the active pad
63       * inputselector: Return GST_FLOW_OK until the selected pad pushed something downstream
64       * inputselector: Stop waiting for a pad switch when the pad is flushing
65       * multiqueue: fix some potential corner-case deadlocks and some leaks
66       * multiqueue: handle arbitrary sink + source pad naming
67       * queue2: don't read beyond the end of file upstream in pull mode; leak fixes
68       * plugins: make query and event functions more thread-safe, protect against parent-pad disappearing
69       * gst-launch: add GstIndex support
71 Bugs fixed since 0.10.32:
73      * 642356 : [Index] review api and add an example
74       * 402141 : gst_element_factory_can_{sink,src}_caps seems to be broken
75       * 518857 : [API] GstBaseParse: new base class for parsers
76       * 604094 : registry: do not remove features when removing a cached plugin that no longer is present
77       * 615357 : [macosx] Handle multi-arch plugin-scanner
78       * 617045 : [caps] New method for intersecting caps while retaining order
79       * 639674 : parse-launch: improve parsing resilience (for escapes at end of string)
80       * 639962 : design docs: Fix a few typos and a think
81       * 640071 : pluginloader: do not leak the description string of blacklisted plugin
82       * 640437 : design docs: fix 2 typos in part-MT-refcounting
83       * 640502 : fix a few typos
84       * 640622 : gst_element_link_pads_full function return wrong error information
85       * 640675 : high cpu-load with 0.10.32 release
86       * 640850 : GstElement: Fix warning with GCC 4.6
87       * 641212 : gst-uninstalled: use $GST_PREFIX variable
88       * 641928 : gst_pad_push fast path races with pad deactivation
89       * 642071 : Incorrect comparing of number of source and sink links when parsing a launch string
90       * 642130 : [basetransform] Check for pad alloc caps when suggestion is not fixed
91       * 642271 : crash in gst_caps_structure_intersect, encoder_match_media_type
92       * 642373 : [basetransform] Avoid too may pad allocs
93       * 642393 : [filesrc] Fails setting the same uri it's setting in the uri queries.
94       * 642504 : [mingw/cygwin build] correctly export plugin description
95       * 642522 : gstvalue.c does not include a deserialize function for uchar
96       * 642869 : gst_index_new: documentation typo
97       * 643301 : Adding a buffer to a buffer list iterates the list
98       * 643455 : [regression] Lots of dropouts in Empathy voip calls
99       * 644935 : [inputselector] During switching of streams it can happen that all pads returned not-linked last
100       * 645022 : GstTask: typo in GST_TASK_BROADCAST - g_cond_breadcast should probably be g_cond_broadcast
101       * 645267 : build: fix build with -Werror with GCC 4.6.0
102       * 645595 : bytereader, bytewriter: fix warnings when using inline functions with g++
103       * 645746 : [gstpoll] Regression causes 100% cpu usage in multifdsink
104       * 645877 : commit 14d7db1 causes cpu spinning and other bus weirdness
105       * 645931 : [gstmultiqueue] fix arbitrary sink + source pad naming
106       * 646118 : [gstmultiqueue] if arbitrary sink number is specified by caller, use this as single queue id
107       * 646341 : [baseparse] Add a queued flow return so parsers can keep frames in a queue
108       * 646531 : GST_BOILERPLATE: don't use " type " as both a variable name and a macro argument
109       * 646566 : Protect against Pad-Parent disappearing
110       * 646569 : poll: don't call WSAWaitForMultipleEvents with no events
111       * 646624 : GstBin: regression: creating too many bins fails, exhausting allowed file descriptor limit
112       * 646811 : baseparse: deadlock in gst_base_parse_set_index
113       * 646971 : iterator: resync to avoid infinite loop
114       * 647005 : GstBus: Only create the socketpair for async message delivery if required
115       * 647131 : recent multiqueue changes break DVD playback (again)
116       * 647293 : Fix pad callbacks so they handle when parent goes away
117       * 647763 : [bus] Bus is leaked if a watch is installed in the default main context
118       * 647844 : baseparse: Remove unused but set variable
119       * 647922 : [introspection] Needs to call gst_init() before anything else
120       * 648199 : pad: potential deadlock / crash when freeing cache
121       * 648215 : basetransform: unref in wrong place
122       * 648220 : Regression: videoscale fails to negotiate for PAR transformation
123       * 648297 : [bus] regression: critical assertion failure
124       * 649195 : [miniobject] Fix dup_mini_object function to handle NULL gvalues
125       * 635718 : [basesrc] custom, non-OOB events aren't pushed downstream
126       * 625396 : gst_debug_remove_log_function doesn't remove default log handler
127       * 640771 : amarok doesn't start with new phonon gstreamer
128       * 646972 : queue2: Fixes memory leak on out_flushing error in gst_queue2_create_read
129       * 640665 : basesink: drops too many buffers when there's no duration
131 API additions since 0.10.32:
133       * gst_atomic_queue_length()
134       * gst_atomic_queue_new()
135       * gst_atomic_queue_peek()
136       * gst_atomic_queue_pop()
137       * gst_atomic_queue_push()
138       * gst_atomic_queue_ref()
139       * gst_atomic_queue_unref()
140       * gst_buffer_list_iterator_get_type()
141       * gst_caps_intersect_full()
142       * gst_caps_intersect_mode_get_type()
143       * gst_clock_periodic_id_reinit()
144       * gst_element_factory_can_sink_all_caps()
145       * gst_element_factory_can_sink_any_caps()
146       * gst_element_factory_can_src_all_caps()
147       * gst_element_factory_can_src_any_caps()
148       * gst_event_new_qos_full()
149       * gst_event_parse_qos_full()
150       * gst_filename_to_uri()
151       * gst_message_new_progress()
152       * gst_message_parse_progress()
153       * gst_parse_context_get_type()
154       * gst_progress_type_get_type()
155       * gst_qos_type_get_type()
156       * GST_TAG_ENCODED_BY
157       * gst_base_parse_add_index_entry()
158       * gst_base_parse_convert_default()
159       * gst_base_parse_frame_free()
160       * gst_base_parse_frame_get_type()
161       * gst_base_parse_frame_init()
162       * gst_base_parse_frame_new()
163       * gst_base_parse_get_type()
164       * gst_base_parse_push_frame()
165       * gst_base_parse_set_average_bitrate()
166       * gst_base_parse_set_duration()
167       * gst_base_parse_set_frame_rate()
168       * gst_base_parse_set_has_timing_info()
169       * gst_base_parse_set_min_frame_size()
170       * gst_base_parse_set_passthrough()
171       * gst_base_parse_set_syncable()
172       * gst_base_sink_get_throttle_time()
173       * gst_base_sink_set_throttle_time()
175 API deprecated since 0.10.32:
177       * gst_element_factory_can_src_caps()
178       * gst_element_factory_can_sink_caps()
180 Changes since 0.10.31:
182       * GLib requirement is now >= 2.22
183       * New core element: valve (moved from -bad)
184       * New core element: input-selector (N.B. without "select-all" property,
185         use fsfunnel instead) (moved from -bad)
186       * New core element: output-selector (N.B. with different negotiation
187         behaviour by default, set pad-negotiation-mode=active for previous
188         behaviour) (moved from -bad)
189       * Performance improvements for many heavily-used code paths: GstPad,
190         GstPoll, GstClock, GstTask, basesink, basesrc, queue2, multiqueue
191       * gobject-introspection: add annotations for most core API
192       * clock: make sync clock wait lockfree
193       * fdsrc/fdsink: reenable on MSVC
194       * registry: fix GStatBuf definition for win32 when building against older
195         glib (fixes unnecessary rescanning of plugins at start-up)
196       * element: add a more flexible way to get request pads from elements
197       * multiqueue: return upon input when already eos
198       * object: fix creation of default name (when creating more than 100000 elements)
199       * pluginloader: fix hangs on OSX
200       * poll: fixes for (p)select backend (used e.g. on OSX)
201       * poll: refactor and make more lockfree; fixes for win32 and OSX (pselect backend)
202       * registry: don't replace valid existing plugins by blacklisted ones
203       * tags: don't produce duplicated entries when merging same value twice
204       * basesink: preroll fixes for async=false case
205       * basesink: rework position reporting code
206       * basetransform: handle downstream giving a buffer with new caps but invalid size
208 Bugs fixed since 0.10.31:
210       * 635785 : basesrc: fix deadlock
211       * 638599 : GST_PTR_FORMAT causes crashes if GLib-internal printf is used but system provides register_printf_specifier
212       * 503592 : gstpad.c does many ref/unref of peer pad in dataflow
213       * 564056 : Protect against umask(0177)
214       * 607513 : input-selector segfaults in g_object_notify()
215       * 632168 : [gsttask] MSVC thread names for task debugging
216       * 632447 : reduce static memory allocated by the registry
217       * 632557 : [macros] Define restrict keyword if not available
218       * 632778 : Optimisations to GstBaseSink
219       * 632779 : gstdataqueue: Only emit g_cond_signal when needed
220       * 632780 : queue: Remove useless checks from e406f7
221       * 633918 : [fakesink] [PATCH] print sink-message events like a  message and its structure
222       * 634965 : sinks render buffers in state PAUSED when async is FALSE
223       * 635001 : basesink: fix position reporting in PAUSED
224       * 636268 : configure test fails on FreeBSD
225       * 636455 : basesrc: Avoid taking object locks for just checking tag presence
226       * 637057 : [plugin-scanner] gstpoll fails with select backend
227       * 637300 : [API] request pad based on caps
228       * 637549 : build fails: ./.libs/libgstbase-0.10.so: undefined reference to `gst_clock_single_shot_id_reinit'
229       * 637776 : merging the same tag values again produces lists containing duplicates
230       * 638381 : {input,output}-selector: double-check API before release
231       * 638399 : a few typos in GStreamer
232       * 638900 : [GstPoll] Doesn't compile with MinGW
233       * 638941 : registry scan/loading race and inconsistency
235 API additions since 0.10.31:
237       * gst_clock_single_shot_id_reinit()
238       * gst_element_request_pad()
239       * GstElementClass::request_new_pad_full()
240       * gst_poll_get_read_gpollfd()
241       * gst_value_list_merge()
242       * GST_CLOCK_DONE
244 Changes since 0.10.30:
246       * bin: add "message-forward" property to force forwarding of messages that would usually be filtered such as ASYNC_DONE or EOS
247       * bin: improve tracking of source elements for more efficient event dispatch
248       * bufferlist: add function to add a list of buffers
249       * clock: fix racy shutdown clock id leak
250       * element: add support for arbitrary element class / factory details
251       * element: link_many should activate pads if needed
252       * gst: add math-compat.h header
253       * datetime: add GstDateTime API
254       * elementfactory: add utility functions to filter features by type
255       * plugin: load the gst-python plugin loader with G_MODULE_BIND_LAZY
256       * query: add buffering ranges API to retrieve informations about the areas of the stream currently buffered
257       * value: add int64 range type
258       * info: write debugging output to file if GST_DEBUG_FILE environment variable is set
259       * pad: use more efficient g_object_notify_by_pspec() for caps notifies if compiling against new-enough GLib
260       * pipeline: If the currently used clock gets lost update it the next time when going from PAUSED to playing
261       * plugin: add release datetime field to GstPluginDesc and set it if GST_PACKAGE_RELEASE_DATETIME is defined
262       * utils: speed up pad linking utility functions by not trying pads that will never work
263       * adapter: add function to get a list of buffers; support 0-sized buffers
264       * adapter: optimize gst_adapter_take() and gst_adapter_peek() a little
265       * basesink: only answer the SEGMENT query in pull mode
266       * basesrc: return values in stream time for the POSITION query
267       * basetransform: allow the subclass to add new fields to caps when getting new caps from downstream
268       * basetransform: avoid useless memcpy
269       * basetransform: upstream caps-renegotiation fixes
270       * bitreader: add inlined and unchecked versions of the most important functions
271       * bytewriter: add inline and unchecked variants of all important functions
272       * bytewriter: fix possible infinite loop caused by an overflow
273       * queue: add "silent" property to suppress signal emission (for better performance)
274       * queue: avoid unnecessary g_cond_signal() (for better performance)
275       * queue: push newsegment event when linking in PLAYING
276       * queue2: extend ring buffer to support RAM mode
277       * queue2: in download mode, prevent range corruption due to race
278       * queue2: don't send seeks beyond the end of the file upstream in pull mode (fixes apple trailers and youtube/html5 playback in webkit)
279       * multiqueue: flush the data queue if downstream return WRONG_STATE too
280       * gst-inspect: print GST_PARAM_MUTABLE_* property flags
282 Bugs fixed since 0.10.30:
284       * 396774 : Make GstElementDetails extensible
285       * 482147 : [queue] Issue with current time level if source task is not started
286       * 579127 : gst-launch: disable CLOCK_LOST message handling
287       * 594504 : Need a GType of " Date AND Time AND Timezone "
288       * 600004 : underrun signal emits when i tested queue overrun test case from file /gstreamerXXXX/tests/check/element/queue.c
289       * 610366 : [gstcollectpads][doc] Add a reminder for 'data' doc
290       * 611918 : leaky queue might not push newsegment event
291       * 618919 : Registry/Plugin Loading Memory Leak
292       * 619522 : basetransform fix for upstream caps-renegotiation
293       * 621299 : make simple queues faster
294       * 621332 : BaseTransform should disable proxy alloc if downstream changes caps
295       * 622740 : GstPad: Do not call gst_pad_accept_caps() when caps change
296       * 623040 : Add release_datetime field to GstPluginDesc
297       * 623121 : [queue2] downloaded areas of the media are not exposed
298       * 623491 : make *_get_type() thread safe
299       * 623541 : [basetransform] Implement POSITION query
300       * 623622 : [basesink/basesrc] Should return values in stream time for POSITION query
301       * 623806 : [pipeline] Doesn't update the clock if the currently used one gets lost and the start time did not change
302       * 623875 : gstregistrybinary.c compatibility with glib > = 2.25.0
303       * 624203 : gstutils: Make gst_pad_proxy_getcaps() return empty caps if it's what the other side has
304       * 625239 : FTBFS: ./gstreamer-decl.txt:9461: warning: GstTagList has multiple definitions.
305       * 625295 : [info] regression: doesn't flush output stream after every debug print any longer
306       * 625368 : gstdatetime.c doesn't compile in VS 2008
307       * 625862 : [docs] unused symbol GST_CAT_LEVEL_LOG_valist breaks the build
308       * 626027 : [tag] Add GST_TAG_APPLICATION_NAME
309       * 626181 : GstElementFactory: add listing/filtering API
310       * 626651 : [tag] Photography/capture settings tags
311       * 626784 : element: link_many might assert elements are in paused or playing
312       * 627438 : gst: Add a gst_is_initialized() API
313       * 627826 : GstInt64Range type
314       * 627910 : Warnings emitted when -Wcast-qual used
315       * 627959 : [queue2] on-disk buffering failing for AVI container
316       * 628014 : Deprecate GST_FLOW_IS_FATAL/GST_FLOW_IS_SUCCESS
317       * 628174 : New gstvalue checks cause trouble in thoggen
318       * 628176 : [basetransform] Problems with buffer handling in inplace mode
319       * 628408 : Use GDateTime that has been released
320       * 629241 : Build broken with introspection using gobject-introspection from master
321       * 629410 : GstBaseTransform: position query refers to sink pad, not source pad
322       * 629494 : Latest gst-launch.c doesn't build in Visual Studio 2008
323       * 629553 : GstAdapter: timestamp not updated when empty buffer is pushed
324       * 629831 : [API] add gst_structure_take_value() and gst_structure_id_take_value()
325       * 629946 : Enumerations have incorrect names of enum values (GEnumValue.value_name)
326       * 630257 : GST_DEBUG_DUMP_DOT_DIR not working anymore
327       * 630436 : basesink: renderdelay needs to be subtracted in adjust_time()
328       * 630437 : basetransform: Make a WARNING into a DEBUG statement
329       * 630439 : clock: fix racy shutdown clock id leak
330       * 631755 : Fix build with glib 2.21.3
331       * 631853 : [queue2] deadlock when using temp-location and dispatch-properties
332       * 632236 : [gst-inspect] unhelpful uri handler output
333       * 632433 : [basesink] hangs/drops going to PLAYING following flushing step in PAUSED
334       * 632977 : [queue2] qtdemux causes soup to request seeks past the end of the range
335       * 633147 : Simple reverse negotiation pipeline is broken.
336       * 633886 : Visual Studio emits warnings about double defined _USE_MATH_DEFINES
337       * 635031 : [datetime] Fix unix epoch handling
338       * 635389 : Include information on exported packages in GIRs
339       * 635869 : GST_BOILERPLATE_FULL causes warnings in user C++ code
340       * 633176 : recent multiqueue changes break DVD playback
342 API additions since 0.10.30:
344       * gst_is_initialized
345       * gst_buffer_list_iterator_add_list
346       * GstBin:message-forward
347       * GST_TYPE_DATE_TIME
348       * gst_date_time_get_day
349       * gst_date_time_get_hour
350       * gst_date_time_get_microsecond
351       * gst_date_time_get_minute
352       * gst_date_time_get_month
353       * gst_date_time_get_second
354       * gst_date_time_get_time_zone_offset
355       * gst_date_time_get_type
356       * gst_date_time_get_year
357       * gst_date_time_new
358       * gst_date_time_new_from_unix_epoch_local_time
359       * gst_date_time_new_from_unix_epoch_utc
360       * gst_date_time_new_local_time
361       * gst_date_time_new_now_local_time
362       * gst_date_time_new_now_utc
363       * gst_date_time_ref
364       * gst_date_time_unref
365       * gst_tag_list_get_date_time
366       * gst_tag_list_get_date_time_index
367       * GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR
368       * GST_TAG_APPLICATION_DATA
369       * GST_TAG_APPLICATION_NAME
370       * GST_TAG_DATE_TIME
371       * GST_ELEMENT_IS_SOURCE
372       * gst_element_class_set_documentation_uri
373       * gst_element_class_set_icon_name
374       * gst_element_factory_get_documentation_uri
375       * gst_element_factory_get_icon_name
376       * gst_element_factory_list_filter
377       * gst_element_factory_list_get_elements
378       * gst_element_factory_list_is_type
379       * GstElementFactoryListType
380       * GST_ELEMENT_FACTORY_TYPE_ANY
381       * GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS
382       * GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER
383       * GST_ELEMENT_FACTORY_TYPE_DECODABLE
384       * GST_ELEMENT_FACTORY_TYPE_DECODER
385       * GST_ELEMENT_FACTORY_TYPE_DEMUXER
386       * GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER
387       * GST_ELEMENT_FACTORY_TYPE_ENCODER
388       * GST_ELEMENT_FACTORY_TYPE_FORMATTER
389       * GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS
390       * GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO
391       * GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE
392       * GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA
393       * GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE
394       * GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO
395       * GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY
396       * GST_ELEMENT_FACTORY_TYPE_MUXER
397       * GST_ELEMENT_FACTORY_TYPE_PARSER
398       * GST_ELEMENT_FACTORY_TYPE_PAYLOADER
399       * GST_ELEMENT_FACTORY_TYPE_SINK
400       * GST_ELEMENT_FACTORY_TYPE_SRC
401       * GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER
402       * GST_ELEMENT_FACTORY_KLASS_DECODER
403       * GST_ELEMENT_FACTORY_KLASS_ENCODER
404       * GST_ELEMENT_FACTORY_KLASS_SINK
405       * GST_ELEMENT_FACTORY_KLASS_SRC
406       * GST_ELEMENT_FACTORY_KLASS_MUXER
407       * GST_ELEMENT_FACTORY_KLASS_DEMUXER
408       * GST_ELEMENT_FACTORY_KLASS_PARSER
409       * GST_ELEMENT_FACTORY_KLASS_PAYLOADER
410       * GST_ELEMENT_FACTORY_KLASS_DEPAYLOADER
411       * GST_ELEMENT_FACTORY_KLASS_FORMATTER
412       * GST_ELEMENT_FACTORY_KLASS_MEDIA_VIDEO
413       * GST_ELEMENT_FACTORY_KLASS_MEDIA_AUDIO
414       * GST_ELEMENT_FACTORY_KLASS_MEDIA_IMAGE
415       * GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE
416       * GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA
417       * gst_plugin_feature_list_debug
418       * gst_plugin_feature_rank_compare_func
419       * gst_query_add_buffering_range
420       * gst_query_get_n_buffering_ranges
421       * gst_query_parse_nth_buffering_range
422       * gst_structure_get_date_time
423       * gst_structure_id_take_value
424       * gst_structure_take_value
425       * GST_TYPE_INT64_RANGE
426       * gst_int64_range_get_type
427       * gst_util_fraction_compare
428       * gst_value_get_int64_range_max
429       * gst_value_get_int64_range_min
430       * gst_value_set_int64_range
431       * GST_VALUE_HOLDS_DATE_TIME
432       * gst_adapter_take_list
433       * gst_bit_reader_skip_unchecked
434       * gst_bit_reader_skip_to_byte_unchecked
435       * gst_bit_reader_get_bits_uint16_unchecked
436       * gst_bit_reader_get_bits_uint32_unchecked
437       * gst_bit_reader_get_bits_uint64_unchecked
438       * gst_bit_reader_get_bits_uint8_unchecked
439       * gst_bit_reader_peek_bits_uint16_unchecked
440       * gst_bit_reader_peek_bits_uint32_unchecked
441       * gst_bit_reader_peek_bits_uint64_unchecked
442       * gst_bit_reader_peek_bits_uint8_unchecked
443       * gst_byte_writer_put_int8_unchecked
444       * gst_byte_writer_put_int16_be_unchecked
445       * gst_byte_writer_put_int16_le_unchecked
446       * gst_byte_writer_put_int24_be_unchecked
447       * gst_byte_writer_put_int32_be_unchecked
448       * gst_byte_writer_put_int32_le_unchecked
449       * gst_byte_writer_put_int64_be_unchecked
450       * gst_byte_writer_put_int64_le_unchecked
451       * gst_byte_writer_put_uint8_unchecked
452       * gst_byte_writer_put_uint16_be_unchecked
453       * gst_byte_writer_put_uint16_le_unchecked
454       * gst_byte_writer_put_uint24_be_unchecked
455       * gst_byte_writer_put_uint24_le_unchecked
456       * gst_byte_writer_put_uint32_be_unchecked
457       * gst_byte_writer_put_uint32_le_unchecked
458       * gst_byte_writer_put_uint64_be_unchecked
459       * gst_byte_writer_put_uint64_le_unchecked
460       * gst_byte_writer_put_float32_be_unchecked
461       * gst_byte_writer_put_float32_le_unchecked
462       * gst_byte_writer_put_float64_be_unchecked
463       * gst_byte_writer_put_float64_le_unchecked
464       * gst_byte_writer_put_data_unchecked
465       * gst_byte_writer_fill_unchecked
467 API deprecated since 0.10.30:
469       * GST_FLOW_IS_FATAL
470       * GST_FLOW_IS_SUCCESS
472 Changes since 0.10.29:
474       * GLib requirement was bumped to 2.20, automake requirement to 1.10
475       * bin: unlock gst_element_get_state() on error, instead of hanging forever if no timeout is given
476       * clock: fix refcounting bug in gst_clock_set_master
477       * caps: make sure _normalize() is applied on all structures
478       * info: add new TRACE log level and move refcounting there from LOG level
479       * pad: don't check twice for changed caps per push
480       * pad: fix iterator aggregation of all pads in the internal links fallback
481       * tagsetter: protect tagsetter operations with a lock
482       * value: support short fourccs (esp. serialisation/deserialisation)
483       * adapter: fix _try_to_merge_up(); optimize progressive masked scans
484       * basesink: implement percentage position and duration queries
485       * basesink: fix segment query return value
486       * basetransform: add accept_caps vmethod
487       * basetransform: re-evaluate proxy_alloc when reconfigured
488       * basetransform: assume in_size equals out_size if there's no transform_size/get_unit_size vfunc
489       * fdsink, filesink: make sync property work correctly
490       * typefind: make sure buffers' metadata is writable before setting caps on them
491       * queue2: fix merging of ranges
492       * queue2: don't wait for data when EOS
493       * queue2: don't ignore failure to open the temporary file location
494       * tools: make gst-launch print things correctly to stderr/stdout and make --quiet work correctly
495       * introspection: add many more gobject-introspection annotations
496       * xml: serialisation/deserialisation to/from XML has been deprecated, since it's always been broken
497         for all but the most trivial pipelines, and will likely never be fixed
499 Bugs fixed since 0.10.29:
501       * 623586 : gst/tagsetter check fails
502       * 463435 : Skip #include < libxml/parser.h > in gstconfig.h.in when  not needed
503       * 505770 : gst_element_get_state() should unblock if element posts an error
504       * 615820 : implement percentage position and duration queries
505       * 615941 : [tags] Add GST_TAG_DEVICE_MANUFACTURER and GST_TAG_DEVICE_MODEL
506       * 616586 : Use GObject's boxed type for GError
507       * 617223 : [tags] Add tags for direction of capture and movement
508       * 617625 : Commandline utility wrappers (gst-run) don't work on Windows
509       * 618644 : gst_pad_get_caps() Return pad template if parent element is in GST_STATE_NULL
510       * 619508 : [tag] Add image orientation tag
511       * 619815 : GST_PLUGIN_LOADING_WHITELIST env var for unit tests
512       * 619828 : [API] adapter: add masked_scan_uint32_peek
513       * 620460 : info: add new TRACE log level and move refcounting there from LOG level
514       * 620490 : [basesink] segment query unconditionally returns FALSE
515       * 621006 : Deprecate unused gst_object_{get|set}_name_prefix()
516       * 621282 : Display of short fourccs is in hex instead of text
517       * 621332 : BaseTransform should disable proxy alloc if downstream changes caps
518       * 621334 : GstBaseTransform should not require a transform_size function
519       * 621505 : Disable memory poisoning by default for releases
520       * 621527 : gstcaps: New gst_caps_steal_structure() method
521       * 621530 : filesink ignores sync=true
522       * 621595 : --quiet doesnt make gst-launch be completely quiet, also messages should not go to stdout
523       * 621773 : Add introspection annotations
524       * 621867 : gst-launch: rename new --no-play command line option
525       * 621896 : [API][taglist] Add gst_tag_list_peek_string_index
526       * 622504 : [GstPad] Provide more fine-grained linking methods
527       * 622546 : distcheck fails in docs/plugins/
528       * 622685 : [GstXml] Deprecate GstXml
529       * 622967 : [queue2] Problems with progressive downloading
530       * 623301 : gst_caps_normalize : doesn't normalize completely
531       * 623589 : Fix races/refcounting bugs with slave clocks
532       * 624113 : [tags] wrong behaviour in merge function for strings
533       * 622025 : Can't build gstreamer due to Gst-0.10.gir: error: Can't resolve type 'PadIntLinkFunction' for field Gst.Pad.intlinkfunc
535 API additions since 0.10.29:
537       * gst_caps_steal_structure()
538       * gst_clock_id_wait_async_full()
539       * gst_element_link_pads_full()
540       * GstPadLinkCheck
541       * gst_pad_link_check_get_type()
542       * gst_pad_link_full()
543       * gst_structure_fixate_field_string()
544       * GST_TAG_DEVICE_MANUFACTURER
545       * GST_TAG_DEVICE_MODEL
546       * GST_TAG_IMAGE_ORIENTATION
547       * GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION
548       * GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION
549       * GST_TAG_GEO_LOCATION_MOVEMENT_SPEED
550       * gst_tag_list_peek_string_index()
551       * GST_TRACE
552       * GST_TRACE_OBJECT
553       * GST_CAT_TRACE
554       * GST_CAT_TRACE_OBJECT
555       * GST_LEVEL_TRACE
556       * gst_adapter_masked_scan_uint32_peek
557       * GstBaseSink::enable-last-buffer
558       * gst_base_sink_is_last_buffer_enabled()
559       * gst_base_sink_set_last_buffer_enabled()
560       * GstBaseTransform::accept_caps()
562 API deprecated since 0.10.29:
564       * gst_object_get_name_prefix()
565       * gst_object_set_name_prefix()
566       * gst_caps_load_thyself()
567       * gst_caps_save_thyself()
568       * gst_class_signal_emit_by_name()
569       * gst_object_save_thyself()
570       * gst_object_restore_thyself()
571       * gst_pad_load_and_link()
572       * gst_xml_get_element()
573       * gst_xml_get_topelements()
574       * gst_xml_get_type()
575       * gst_xml_make_element()
576       * gst_xml_new()
577       * gst_xml_parse_doc()
578       * gst_xml_parse_file()
579       * gst_xml_parse_memory()
580       * gst_xml_write()
581       * gst_xml_write_file()
583 Changes since 0.10.28:
585       * improve plugin loading robustness: do not ever unload a plugin after
586         calling into it: should fix mystery crashers during registry loading
587         when a plugin init function returns FALSE (e.g. when some supporting
588         library fails to initialise or a wrapper plugin found no features to
589         wrap and wrongly returned FALSE)
590       * configurable memory alignment for GstBuffers
591       * add QoS message to inform apps of lost data, dropped frames etc.
592       * basesink, basetransform: add support for new QoS message
593       * basetransform: accept non-fixed caps suggestions
594       * basesrc: fix gst_base_src_new_seamless_segment()
595       * GstController fixes and optimisations
596       * set thread name for pad tasks on Linux
597       * pipeline, bin: fix refcount issue when removing elements during a state change
598       * queue2: implement seeking in download mode
599       * queue2: implement flushing in download buffering
600       * queue2: improve buffer level measurement in download mode
601       * fdsrc: allow specifying the size in bytes on the uri
602       * build fixes: better checks for uint128_t, inline assembly on OSX, compilation
603         if HAVE_REGISTER_PRINTF_SPECIFIER is undefined, gobject-introspection
604       * two symbols were removed that had been exported but never been used or been
605         declared in any header file: gst_element_default_error and gst_element_request_compatible_pad
607 Bugs fixed since 0.10.28:
609       * 576234 : [basetransform] Suggesting non-fixed caps or no size doesn't work for upstream negotiation
610       * 520697 : [API] Add GST_TAG_USER_RATING
611       * 590718 : docs build failures with -jN: cp: cannot create regular file `build/image.entities': File exists
612       * 595958 : Position not updated after a backwards gst_event_new_step()
613       * 596832 : configurable buffer alignment
614       * 600718 : autoconf fails with gobject-introspection
615       * 600877 : [uridecodebin] Needs to disable download buffering for non-fast-start files
616       * 603710 : Can't compile with introspection support
617       * 603831 : build with libtool 1.x.y only works if --disable-shave is used
618       * 609046 : basetransform now ignores suggestions from capsfilter
619       * 609170 : basesrc pushes two newsegment
620       * 610256 : Use G_VALUE_COLLECT_INIT if available
621       * 611075 : Typo in debug_dump_pad function
622       * 611911 : Set thread names on pipeline threads
623       * 612370 : gstutils.c inline asm typo, compilation fails
624       * 612410 : [API][tags] add new geo tags
625       * 612733 : Build fails because HAVE_REGISTER_PRINTF_SPECIFIER is undefined
626       * 612881 : [utils] gst_pad_proxy_setcaps() doesn't handler iterator resyncs
627       * 613215 : delayed set in gst-launch are not recursive
628       * 613593 : git-update.sh script does not work on fresh git repository clones
629       * 614167 : gstinfo: no previous prototype for 'xxx' when buildign with --disable-gst-debug
630       * 614629 : utils: Use G_GNUC_CONST instead of G_GNUC_PURE for conversion functions
631       * 614767 : libgstreamer build failure on OS X x86_64
632       * 614833 : out of srcdir build fails for libs/gst/check
633       * 615698 :  " warning: cast increases required alignment of target type " with gcc 4.2.1 on arm
634       * 615756 : [bin] refcount issue when removing element in error
635       * 615880 : Add some more custom flow returns
636       * 615881 : [LFOControlSource] Use correct setter for double GValues
637       * 616846 : Crash in gst_interpolation_control_source_find_control_point_iter
639 API additions since 0.10.28:
641       * GST_MESSAGE_QOS
642       * gst_message_new_qos()
643       * gst_message_parse_qos()
644       * gst_message_parse_qos_stats()
645       * gst_message_parse_qos_values()
646       * gst_message_set_qos_stats()
647       * gst_message_set_qos_values()
648       * GST_FLOW_CUSTOM_SUCCESS_1
649       * GST_FLOW_CUSTOM_SUCCESS_2
650       * GST_FLOW_CUSTOM_ERROR_1
651       * GST_FLOW_CUSTOM_ERROR_2
652       * GST_TAG_USER_RATING
653       * GST_TAG_GEO_LOCATION_COUNTRY
654       * GST_TAG_GEO_LOCATION_CITY
655       * GST_TAG_GEO_LOCATION_SUBLOCATION
657 API deprecated since 0.10.28:
659       * gst_element_class_set_details()
661 Changes since 0.10.27:
663      * parse "1/MAX" fraction strings
664      * no material changes compared to 0.10.27, this release is mostly to
665        keep core/base version numbers in sync
667 Changes since 0.10.26:
669       * basesrc: protect segment values from concurrent access from different threads
670       * typefind: protect internal fields from concurrent changes from different threads
671       * typefind: fix pad activation corner-case with have-type already having been emitted
672       * typefind: reset the working mode when going to READY/NULL, fixes re-use from
673         READY state as with decodebin2
674       * gstpoll: fix crash when logging is enabled for GST_POLL
675       * bytewriter: expose gst_byte_writer_put_{float32|float64}_*() properly in header
676       * basesink: fix emergency rendering timestamp tracking
677       * fdsink, fdsrc: fix compilation with MSVC
678       * memindex: avoid busy loop when doing EXACT lookup
680 Bugs fixed since 0.10.26:
682       * 610366 : [gstcollectpads][doc] Add a reminder for 'data' doc
683       * 605189 : gst_element_get_state has wrong introspection
684       * 607771 : [API] Add gst_byte_writer_fill
685       * 608036 : [typefind] deadlock when upstream puts caps on buffers on pull mode
686       * 608877 : [typefind] Access to internal fields not threadsafe
687       * 609941 : GStreamer-WARNING **: External plugin loader failed.
688       * 610210 : [PATCH] Fix compilation of fdsink and fdsrc with MSVC
689       * 610246 : [optimization] Speed up _get_range()
690       * 610367 : [memindex] might busy loop upon EXACT lookup
691       * 610444 : [controller] Interpolation control source passes NULL pointers to GSequence API
692       * 611087 : [basesink] emergency rendering of late buffers fails after resuming from PAUSE
693       * 611719 : GST_DEBUG_OBJECT macros not fed with GObject* in gstpoll.c
695 API additions since 0.10.26:
697       * gst_byte_writer_fill()
699 Changes since 0.10.25:
701       * registry: do plugin scanning (on *nix) using an external helper binary
702       * lots of performance improvements all over the place (ghostpads,
703         multiqueue, pad construction, superfluous type checks, registry loading)
704       * add GstByteWriter, a simple generic byte writer
705       * filesink: Use _wfopen on win32 to open files with non-ascii filenames correctly.
706       * queue2: add option to remove the temp-file (enabled by default)
707       * it is now allowed to use gst_caps_set_simple() on non-simple caps
708       * queue2: move from gst-plugins-base into the coreelements plugin in core
709         (this means you may need to remove libgstqueue2.so manually if you
710         installed from source and don't do make uninstall before upgrading, or
711         combine an older -base with a newer core)
712       * multiqueue: add support for buffering mode where we post BUFFERING
713         messages based on the level of the queues
714       * typefind: speed up typefinding a lot by first trying the typefinder for
715         the file's extension
716       * buffer: remove private/internal subbuffer subclass and keep track of
717         the parent buffer directly in the GstBuffer structure (this removes
718         quite a bit of special-casing and will allow for future improvements/
719         extensions that are harder to do if there's a separate subbuffer class.
720       * collectpads: add ability to install clipping functions
721       * new tags for TV/Radio shows/episodes, lyrics, composer sortname and
722         grouping
723       * miniobject: avoid race when recycling buffers
724       * basesrc: fix race in PLAYING->PAUSED->PLAYING
726 Bugs fixed since 0.10.25:
728       * 476514 : [multiqueue] Doesn't forward EOS event in all cases
729       * 590941 : API: add gst_pad_get_caps() variant that avoids unneeded caps copies
730       * 595602 : g_child_proxy_get_valist doesn't initialize GValue correctly
731       * 535069 : basesrc no longer support non-flushing seeks on itself
732       * 560442 : GNOME Goal: Remove deprecated GLib symbols
733       * 595511 : Annotations for gst_element_query_{position,duration}
734       * 595886 : gst_pad_fixate_caps() does not return fixed caps in case of multiple structures
735       * 595964 : [multiqueue] can hang pipeline during startup
736       * 596366 : proxy_getcaps reverses direction of getcaps
737       * 597407 : GstPipeline calculates base_time incorrectly when a new clock appears during PAUSED state
738       * 597550 : basesrc: sometimes no buffers produced after PLAYING - PAUSED - PLAYING
739       * 597690 : Improve caps setters API
740       * 598297 : make check fails when any --disable option which changes the API has been used
741       * 598526 : bytewriter: fails to compile with gcc 4.2.4 on Ubuntu Hardy 64 bits
742       * 598700 : scripts: Parallelise git-update.sh build script
743       * 598895 : [GstRegistry] Use hash table for feature lookups
744       * 598896 : [GstRegistry] Cache lists of ElementFactory and TypeFindFactory
745       * 599147 : typefind : Avoid having to re-sort the typefind factory list
746       * 599759 : [qtdemux] Add support for more tags
747       * 600313 : Visualisations stop updating after seek
748       * 600922 : gst-launch: wake up less often to check for Ctrl-C
749       * 601587 : MiniObject race condition
750       * 601668 : [gstregistry] gstregistry.c uses a variable from gst.c
751       * 601669 : [tests] tests/examples/manual depends on libgstcheck
752       * 602093 : libgstcheck fails to export some symbols when built under et_EE locale
753       * 602275 : [API] Add new sink-message event
754       * 602419 : [basesink] Regression with position reporting
755       * 603059 : Totem crashes when DVD is encrypted but libdvdcss isn't available
756       * 603787 : [registry] Doesn't use GMappedFile
757       * 604091 : tee: cleanup requestpads in dispose
758       * 604093 : gst-inspect/launch: move gst_tools_print_version to avoid glib warning
759       * 605251 : tee causes segfault if there is no source pad
760       * 605930 : [shave] common/shave not existing yet when configure checks need it
761       * 606435 : gsttee not threadsafe
762       * 607283 : segfaults and/or miniobject warnings with GLib > = 2.23.2
763       * 607317 : [PATCH] fix unaligned detection for x86-64 when cross compiling
764       * 607431 : update common modules before freeze
765       * 607481 : Should define G_THREADS_MANDATORY everywhere
766       * 607739 : [queue2] Temporary file is removed although code claims the opposite
767       * 607842 : Audio comes out with short breaks after resume pipeline (paused- > playing)
768       * 608136 : multiqueue handles UNEXPECTED flowreturn wrongly
769       * 608398 : Initializing the glib thread system seems not to work
770       * 608442 : [filesrc] typo in warning message
771       * 608726 : bytewriter: mistake in .h/.c function naming
772       * 609166 : Buffer list docs ascii art
773       * 590669 : [API] need GstByteWriter or GstChunkWriter
774       * 601698 : Rename new plugin-scanner helper executable before release
775       * 604565 : [gstcheck] Update check to 0.9.8
776       * 596877 : New internal libcheck breaks the Solaris build
778 API additions since 0.10.25:
780       * GST_DEBUG_REGISTER_FUNCPTR()
781       * gst_base_src_new_seamless_segment()
782       * gst_event_new_sink_message()
783       * gst_event_parse_sink_message()
784       * gst_util_fraction_add()
785       * gst_util_fraction_multiply()
786       * gst_util_greatest_common_divisor()
787       * gst_util_double_to_fraction()
788       * gst_util_fraction_to_double()
789       * gst_registry_get_feature_list_cookie()
790       * gst_default_registry_get_feature_list_cookie()
791       * gst_pad_get_caps_reffed()
792       * gst_pad_peer_get_caps_reffed()
793       * gst_structure_id_has_field()
794       * gst_structure_id_has_field_typed()
795       * gst_plugin_feature_list_copy()
796       * gst_caps_set_value()
797       * gst_byte_writer_ensure_free_space()
798       * gst_byte_writer_free()
799       * gst_byte_writer_free_and_get_buffer()
800       * gst_byte_writer_free_and_get_data()
801       * gst_byte_writer_get_remaining()
802       * gst_byte_writer_init()
803       * gst_byte_writer_init_with_buffer()
804       * gst_byte_writer_init_with_data()
805       * gst_byte_writer_init_with_size()
806       * gst_byte_writer_new()
807       * gst_byte_writer_new_with_buffer()
808       * gst_byte_writer_new_with_data()
809       * gst_byte_writer_new_with_size()
810       * gst_byte_writer_put_data()
811       * gst_byte_writer_put_float32_be()
812       * gst_byte_writer_put_float32_le()
813       * gst_byte_writer_put_float64_be()
814       * gst_byte_writer_put_float64_le()
815       * gst_byte_writer_put_int16_be()
816       * gst_byte_writer_put_int16_le()
817       * gst_byte_writer_put_int24_be()
818       * gst_byte_writer_put_int24_le()
819       * gst_byte_writer_put_int32_be()
820       * gst_byte_writer_put_int32_le()
821       * gst_byte_writer_put_int64_be()
822       * gst_byte_writer_put_int64_le()
823       * gst_byte_writer_put_int8()
824       * gst_byte_writer_put_string_utf16()
825       * gst_byte_writer_put_string_utf32()
826       * gst_byte_writer_put_string_utf8()
827       * gst_byte_writer_put_uint16_be()
828       * gst_byte_writer_put_uint16_le()
829       * gst_byte_writer_put_uint24_be()
830       * gst_byte_writer_put_uint24_le()
831       * gst_byte_writer_put_uint32_be()
832       * gst_byte_writer_put_uint32_le()
833       * gst_byte_writer_put_uint64_be()
834       * gst_byte_writer_put_uint64_le()
835       * gst_byte_writer_put_uint8()
836       * gst_byte_writer_reset()
837       * gst_byte_writer_reset_and_get_buffer()
838       * gst_byte_writer_reset_and_get_data()
839       * gst_bit_reader_get_size()
840       * gst_byte_reader_get_size()
841       * gst_data_queue_new_full()
842       * gst_collect_pads_set_clip_function()
843       * gst_type_find_helper_get_range_ext()
845 Changes since 0.10.24:
846     
847       * Improve the byte-reader API
848       * GObject introspection support
849       * Improve clock accuracy on win32
850       * Optimisations in capabilities checking
851       * Optimisations and fixes in the basetransform base class
852       * new 64-bit scaling utility function variants
853       * Various bug-fixes and improvements (see ChangeLog and bugs list below)
855 Bugs fixed since 0.10.24:
856      
857       * 583999 : [basetransform] caps refcounting problem causing GST_IS_CAPS assertion failures
858       * 566881 : [GstIndex] support/caching in GstBin
859       * 588472 : [basetransform] problems in reverse-negotiating
860       * 589173 : macros cause spurious semicolon warnings
861       * 589314 : [basetransform] clears GAP flag in passthrough mode
862       * 589524 : gst_base_transform_acceptcaps() could provide more verbose debugging output
863       * 589849 : [segment] Clipping fails to handle start=stop < segment_start correctly
864       * 589991 : [queue] limited error handling might cause pipeline appearing to hang
865       * 590045 : Query position fails when pipeline is paused and format is not time
866       * 590430 : Add support for " album artist " tags
867       * 590841 : configure script check for libxml2 is incorrect
868       * 590919 : gst_util_uint64_scale_int() and friends don't round
869       * 591045 : [basesrc] Leaking GstTask instances
870       * 591318 : ghostpad : core dump : on_src_target_notify called with an invalid ghostpad
871       * 591441 : append mode for filesink
872       * 592209 : [GstPad] Deprecated markers missing in the header for internal links function related things
873       * 592314 : core/tests/examples/streams/ does not link to pthread
874       * 593460 : Broken win32-specific systemclock code
875       * 593719 : regression: segfault when using gstrtpbin and certain video codecs
876       * 594107 : [gstbin] : use of freed message : valgrind Invalid read
877       * 594225 : [API] [bytereader] add _unchecked() variants and inline most common functions
878       * 594990 : [introspection] pkg-config file madness and another bug
879       * 595130 : checks fail
880       * 595133 : gst/gstutils check fails
881       * 595209 : Fix out-of-tree build
882       * 368536 : bin_change_state makes children go through unnecessary state changes
884 API additions since 0.10.24:
885     
886       * gst_caps_can_intersect()
887       * gst_util_uint64_scale_int_round()
888       * gst_util_uint64_scale_int_ceil()
889       * gst_util_uint64_scale_round()
890       * gst_util_uint64_scale_ceil()
891       * gst_iterator_new_single()
892       * gst_byte_reader_skip_unchecked()
893       * gst_byte_reader_peek_*_unchecked()
894       * gst_byte_reader_get_*_unchecked()
895       * gst_byte_reader_{peek,get,dup}_data_unchecked()
896       * gst_byte_reader_get_float*_unchecked()
898 Changes since 0.10.23:
899     
900       * Fully support nested structures in caps
901       * Support frame-by-frame stepping in sinks
902       * Add support for buffer-lists to pass around groups of buffers
903       * Use TaskPools for managing worker threads
904       * New stream-status API for finer thread control
905       * Code optimisations
906       * Many other bug-fixes and enhancements
908 Bugs fixed since 0.10.23:
909      
910       * 580579 : crash in Volume Control: aucunes idées désolé.
911       * 527488 : [GstXML] can't load elements with request pads from XML
912       * 570233 : allow plugins caching data in the registry
913       * 584389 : don't recreate plugin feature and element factories on fi...
914       * 534208 : [API] add gst_structure_get()
915       * 545787 : [API] add gst_plugin_register_static_full() for bindings
916       * 554460 : thumbnailer crash in gst_fake_sink_event() on FLUSH_START...
917       * 559643 : Don't allow empty or NULL strings in taglists
918       * 560345 : gst_tag_list_get_string() may return NULL or empty string
919       * 560442 : GNOME Goal: Remove deprecated GLib symbols
920       * 572285 : Buffer Lists
921       * 577926 : Remove old xml registry
922       * 578908 : [fdsink] implement seeking on seekable fds
923       * 580177 : glibc 2.10 deprecates register_printf_function
924       * 580716 : race condition in gst_element_lost_state
925       * 581198 : [tags] Add gst_tag_setter_add_tag_value() and gst_tag_lis...
926       * 581281 : [GstURIHandler] Doesn't use get_type_full() at all
927       * 582010 : audiotestsrc is-live=1 ! pulsesink unreliable
928       * 582564 : [controller] Use ordered GSequence instead of GList in th...
929       * 582588 : [API] Add a way to get the pad corresponding to a taglist
930       * 582878 : [GstClock] ABI breakage in GIT on x86
931       * 583187 : [API] add gst_adapter_masked_scan_uint32() and gst_adapte...
932       * 583419 : Bad translatable string in gst-launch.c
933       * 583456 : framestep functionality
934       * 583554 : Slow down or lock if date time is changed to the past
935       * 584835 : MSVC compiler fails with 'static inline' function
936       * 584838 : basesrc: confusing QUERY_SEEKING handling
937       * 585039 : rtpool-test can't find pthreads
938       * 585075 : Compilation with MSVC fails for files including config.h ...
939       * 585137 : gst_xml_write_file() fails serialising GstStructure property
940       * 585592 : [API] add gst_byte_reader_masked_scan_uint32()
941       * 585733 : Wrong #include order in gstsegment.c
942       * 585748 : [API] add gst_tag_list_new_full() to create taglist with ...
943       * 586566 : Add GAP Flag support to gstcapsfilter
944       * 586568 : [bytereader] add misc. string functions and gst_byte_read...
945       * 587973 : use G_DIR_SEPARATOR_S instead of " /' " 
946       * 587976 : Fix for gst-inspect and gst-launch when option parsing is...
947       * 588744 : [check] Stream consistency checker utility
948       * 588745 : [basesrc] Serialize tags in the dataflow
949       * 589127 : gsttask leaks the pool
950       * 590056 : [collectpads] race resulting in double flush-stop being o...
951       * 590622 : [bytereader] buffer size checks subject to wrap-around ov...
952       * 579177 : GstInfo: maintain ABI compatibility
953       * 581321 : typefind element leaks force-caps property
954       * 584118 : [gstadapter][doc] Improve documentation of gst_adapter_ma...
955       * 585433 : [queue] Can lock down if min-threshold conflicts with max...
956       * 585569 : rtsp/rtp streaming fails when skipping explicit PAUSED st...
957       * 585834 : Support for GstBufferList in ghostpads
958       * 585960 : Support for GstBufferList in gstbasesink
959       * 587052 : [filesink.c] Support for files > 4GB on windows makes file...
961 API added since 0.10.23:
962      
963       * GST_DEBUG_CATEGORY_GET() macro
964       * gst_byte_reader_dup_data
965       * gst_byte_reader_dup_string
966       * gst_byte_reader_dup_string_utf8
967       * gst_byte_reader_dup_string_utf16
968       * gst_byte_reader_dup_string_utf32
969       * gst_byte_reader_skip_string
970       * gst_byte_reader_skip_string_utf8
971       * gst_byte_reader_skip_string_utf16
972       * gst_byte_reader_skip_string_utf32
973       * gst_byte_reader_peek_string
974       * gst_byte_reader_peek_string_utf8
975       * gst_byte_reader_get_string
976       * gst_byte_reader_get_string_utf8
977       * add gst_tag_list_new_full()
978       * add gst_tag_list_new_full_valist()
979       * add gst_byte_reader_masked_scan_uint32()
980       * add gst_plugin_get_cache_data, gst_plugin_set_cache_data
981       * gst_structure_get()
982       * gst_structure_id_get()
983       * gst_structure_get_valist()
984       * gst_structure_id_get_valist()
985       * GstSegment::gst_segment_set_running_time()
986       * Add GST_MESSAGE_SRC_NAME() macro
987       * GstSegment::gst_segment_to_position()
988       * GstEvent::gst_event_new_step()
989       * GstEvent::gst_event_parse_step()
990       * GstMessage::gst_message_new_step_done()
991       * GstMessage::gst_message_parse_step_done()
992       * gst_structure_id_new()
993       * Add gst_message_{new,parse}_tag_full() to get/set the source pad
994       * GstAdapter::gst_adapter_masked_scan_uint32()
995       * GstElement::gst_element_lost_state_full()
996       * GstAdapter::gst_adapter_prev_timestamp()
997       * gst_plugin_register_static_full()
998       * gst_tag_list_add_value()
999       * gst_tag_setter_add_tag_value()
1000       * add GST_TAG_CONTAINER_FORMAT tag
1001       * GstTask::gst_task_set_state()
1002       * GstObject::gst_object_ref_sink()
1004 Changes since 0.10.22:
1005       * Support files > 4GB on Windows
1006       * Controller interpolation fixes
1007       * Add timer support to GstPoll and use it for clocking
1008       * Attempt to typefind contents from the file extension if all else fails
1009       * GStreamer revision control switched to Git
1010       * Many other bug fixes and improvements
1012 Bugs fixed since 0.10.22:
1013      
1014       * 579177 : GstInfo: maintain ABI compatibility
1015       * 163577 : [RFC] Interlaced/progressive media support in GStreamer.
1016       * 574160 : collectpads does not reliably eos when last pad is removed
1017       * 575598 : hierarchical pipelines accumulate segment-done wrongly
1018       * 575922 : disabling subsystems cause API break
1019       * 576842 : loading a broken registry file can crash
1020       * 555978 : [ladspa] no elements exposed/found on Cygwin
1021       * 565607 : Broken macros in gsturi.h and gstinterface.h
1022       * 566936 : [ghostpads] unlink function wrongly called on target
1023       * 567692 : gstinfo.h header not compatible with C++
1024       * 567725 : [qtdemux] stopping at a time sometimes shows a different ...
1025       * 568289 : gst_pad_template_new() leaks caps it's supposed to take o...
1026       * 568438 : gst_poll_wait calling read() on control socket
1027       * 568481 : GStreamer linking failures.
1028       * 568632 : __MSVCRT_VERSION__ not defined with mingw, causing " stora...
1029       * 568678 : filesrc doesn't logs offsets
1030       * 570910 : Removing the target of a ghostpad does not re-target the ...
1031       * 571227 : Add home page tag
1032       * 571559 : [API] add GST_PARAM_MUTABLE_PLAYING etc. to indicate vali...
1033       * 572480 : unref and copy functions should not be macros
1034       * 573623 : [API] Array binary search utility function
1035       * 574024 : [GstAdapter] gst_adapter_push should not accept empty buf...
1036       * 574211 : gst_poll_*_control always returns FALSE on Windows
1037       * 574213 : [gstcheck] fix for libcheck > 0.9.6
1038       * 574241 : gst_tag_list_add and gst_tag_list_add_values behave incon...
1039       * 574484 : [patch] Make caps in DOT debug graphs more readable
1040       * 574623 : [dot_file_with_ts] ':' not a valid character for a filename
1041       * 574805 : [capsfilter] Doesn't reset the internal suggestion with A...
1042       * 575695 : build fails on OpenSolaris due to incorrect header file i...
1043       * 575814 : flag for EOS on gst-launch when exiting with ctrl-c
1044       * 576381 : [basesink] QoS: emergency rendering not always done
1045       * 576563 : pidgin crashes on exit in gst_plugin_ext_dep_free()
1046       * 576582 : A patch to enable the use of 'name' in Enum parameters
1047       * 577887 : Missing GST_DISABLE_GST_DEBUG in gstregistrybinary.c
1048       * 577891 : add alloc-pad property on tee
1049       * 578114 : API: add two new log levels: FIXME and MEMDUMP
1050       * 578201 : _gst_plugin_fault_handler_is_setup undefined under HAVE_W...
1051       * 579127 : gst-launch: disable CLOCK_LOST message handling
1052       * 580121 : race condition in GStreamer state changes causes problems...
1053       * 361155 : Add monotonic clock
1054       * 517231 : threadsafe/colored windows logging
1055       * 572591 : Another batch of " differs in signedness " warnings
1056       * 573823 : pad block callback if it is re-blocked while the previous...
1057       * 574163 : Fix gst_pad_activate_pull deactivation with unlinked element
1058       * 575682 : Add gst_pad_is_compatible()
1059       * 575988 : On Windows filesink can't write files longer than 2-4 GiB...
1061 API additions since 0.10.22:
1062     
1063       * New FIXME and MEMDUMP debug levels
1064       * gst_tag_list_get_buffer() and gst_tag_list_get_buffer_index()
1065       * New tags: GST_TAG_SUBTITLE_CODEC, GST_TAG_HOMEPAGE
1066       * gst_util_array_binary_search()
1067       * gst_message_new_request_state(), gst_message_parse_request_state(), GST_MESSAGE_REQUEST_STATE
1068       * GstPoll::gst_poll_new_timer()
1069       * GstPoll::gst_poll_write_control()
1070       * GstPoll::gst_poll_read_control()
1072 Changes since 0.10.21:
1074       * GstController improvements
1075       * Extensions to the latency setting behaviours
1076       * Ability for plugins to register dependencies to trigger re-scanning
1077       * Optimisations in some common operations on caps and values and elsewhere
1078       * Add sequence numbers to events so dependent events can be associated with
1079         the event that caused them
1080       * New macros for reading and writing float values
1081       * Many improvements in the basesink base class
1082       * Support non-default main contexts for GstBus watches
1083       * Improvements in pull-mode scheduling of sinks
1084       * Fixes for alignment issues on sparc
1085       * Ghost pad fixes
1086       * New bit-reader assistance API
1087       * Many other bug fixes and improvements
1088       
1089 Bugs fixed since 0.10.21:
1091       * 567002 : --gst-disable-registry-update also skips registry creation
1092       * 350477 : [Registry] Provide a way for plugins to delegate the 'cha...
1093       * 510354 : post GST_MESSAGE_STRUCTURE_CHANGE when linking and unlink...
1094       * 526044 : Crash if there is more than one watcher for a GstBus
1095       * 539108 : gst_ghost_pad_new() does more than call g_object_new()
1096       * 544003 : [parse] Links to wrong pad if no padtemplate name is given
1097       * 544293 : rtspsrc / gstpoll regression
1098       * 545714 : GST_READ_UINT_* and GST_WRITE_UINT_* are not always safe ...
1099       * 548786 : [win32] search for plugins based on location of DLL
1100       * 551676 : Small Memleak fix in gst_pad_link_check_compatible_unlocked
1101       * 552778 : add free_func in gstbuffer instances
1102       * 553554 : [base] Add a generic bit reader
1103       * 553874 : query_position broken during seek
1104       * 555196 : Move floating point endian conversion macros into core
1105       * 555307 : Need to push latency event into the pipeline
1106       * 555631 : Banshee crashes; gstreamer GST_CAPS GST_IS_CAPS warnings
1107       * 556091 : libtool-2.2 and old gettext don't mix
1108       * 556900 : a copy & paste bug in helloworld example
1109       * 557154 : Allow totem to run without write-access to home directory
1110       * 557300 : libgstnet needs to link against $(WIN32_LIBS)
1111       * 557438 : Gstreamer crashes when Banshee supposed to change track
1112       * 557649 : GstBaseTransform can cause ivalid memory references
1113       * 559250 : segments need identifiers.
1114       * 560301 : Add --plugin to gst-inspect
1115       * 560360 : Excessive statting when reading binary cache
1116       * 560399 : Unnecessary CRC checksum for binary registry cache
1117       * 560442 : GNOME Goal: Remove deprecated GLib symbols
1118       * 561501 : g_type_class_ref without unref
1119       * 562170 : GstBus watch doesn't work with non-default main context
1120       * 562949 : [API] Add an URI query type for querying the source/sink URI
1121       * 564863 : Caps are not propagated from a ghostpad's target to the g...
1122       * 567225 : volatile gonce_data in BOILERPLATE not initialized to 0
1123       * 566393 : [deadlock] Setting index on a pipeline
1125 API added since 0.10.21:
1127       * Add bit reader and byte reader classes.
1128       * gst_message_new_structure_change()
1129       * gst_message_parse_structure_change()
1130       * GST_BUFFER_FREE_FUNC()
1131       * Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
1132       * GstBaseSrc::gst_base_src_set_blocksize()
1133       * GstBaseSrc::gst_base_src_get_blocksize()
1134       * GstBaseSink::gst_base_sink_set_blocksize()
1135       * GstBaseSink::gst_base_sink_get_blocksize()
1136       * GstBaseSink::blocksize
1137       * GstBaseSink::gst_base_sink_do_preroll()
1138       * Add gst_byte_reader_get_data and gst_byte_reader_peek_data 
1139       * Move float endianness conversion macros from libgstfloatcast to core
1140       * gst_util_seqnum_next, gst_util_seqnum_compare
1141       * gst_event_get_seqnum, gst_event_set_seqnum
1142       * gst_message_get_seqnum, gst_message_set_seqnum
1143       * GstSeekFlags::GST_SEEK_FLAG_SKIP 
1144       * gst_bin_recalculate_latency()
1145       * GstBin::do-latency
1146       * gst_tag_setter_reset_tags()
1147       * gst_query_new_uri, gst_query_set_uri, gst_query_parse_uri
1148       * add gst_plugin_add_dependency()
1149       * add gst_plugin_add_dependency_simple()
1152 Changes since 0.10.20:
1154       * Basetransform rework
1155       * Basesink synchronisation extensions
1156       * New documentation
1157       * Many bug fixes, enhancements and optimisations
1159 Bugs fixed since 0.10.20:
1161       * 481169 : [tag] add support for geo tags (gps location etc.)
1162       * 520694 : adding GST_TAG_KEYWORDS
1163       * 538201 : deleting the control point at ts=0 does not lower the con...
1164       * 544855 : fakesrc and fakesink should call super::event()
1165       * 339795 : [GstBaseTransform] Reverse negotiation issues in passthro...
1166       * 348114 : [PPC64?] [gcc-4.1.2?] GST_BUFFER_IN_CAPS flag should have...
1167       * 361718 : [basetransform] needs API to force renegotiation
1168       * 533856 : gst_buffer_join() documentation is unclear
1169       * 536978 : GTKDOC_CFLAGS should include CFLAGS
1170       * 537804 : [multiqueue] wrongly reporting that the queue is full.
1171       * 537812 : [check] add api to setup a pad by name
1172       * 538568 : Add GST_TAG_ATTACHMENT
1173       * 539772 : gst_pad_template_new() does more than call g_object_new()
1174       * 542175 : gst-inspect --gst-plugins-path fails with multiple direct...
1175       * 543444 : gst_base_sink_get_position can return 0 unexpectedly
1176       * 543853 : Bison version check failure on OSX 10.4 Tiger
1177       * 544174 : [basesrc] allow dynamic value of the seekable value.
1178       * 544776 : [win32] binary registry may fail if glib is using a diffe...
1179       * 545352 : gsturi is too restrictive
1180       * 545603 : gst-inspect: don't print uri handler when compiled withou...
1181       * 545605 : gstelementfactory: don't use uri handler code without uri...
1182       * 545607 : gst: include gstconfig when using macros defined therein
1183       * 545853 : [basetransform] rewrite
1184       * 546328 : fractions with G_MAXINT cause failure for fixation
1185       * 546822 : gstreamer doesn't tell gettext to output its translations...
1186       * 547277 : filesrc detect if a file is seekable using SEEK_SET and n...
1187       * 547728 : [basetransform] fail on buffer_alloc 
1188       * 548394 : basesink should ignore EOS during flushing
1189       * 548652 : [Inconsistency] GST_TAG_LOCATION is used for different me...
1190       * 549504 : Thread-safe version of gst_pad_get_internal_links()
1191       * 551952 : Need 'check' package when compile
1192       * 551978 : Memleak in gst_element_sync_state_with_paren
1193       * 547835 : tee release_request_pad while buffer_alloc racyness
1194       * 538628 : Patch: added a timeout property to fdsrc used in gst_poll...
1195       * 546883 : [basetransform] ximagesink fails when resizing video window
1196       * 551509 : gst_base_transform_prepare_output_buffer: assertion faile...
1198 API added since 0.10.20:
1200       * Add GST_TAG_ATTACHMENT for generic file attachments to streams.
1201       * Add gst_base_sink_set_render_delay()
1202       * Add gst_base_sink_get_render_delay()
1203       * Add gst_check_setup_src_pad_by_name
1204       * Add gst_check_setup_sink_pad_by_name
1205       * Add gst_check_teardown_pad_by_name
1206       * Add GstBaseTransform::gst_base_transform_suggest()
1207       * GstBaseTransform::gst_base_transform_reconfigure()
1208       * GstPad::gst_pad_set_iterate_internal_links_function()
1209       * GstPad::GstPadIterIntLinkFunction
1210       * GstPad::gst_pad_iterate_internal_links()
1211       * GstPad::gst_pad_iterate_internal_links_default()
1213 API deprecated since 0.10.20:
1215       * gst_pad_get_internal_links()
1216       * gst_pad_set_internal_link_function()
1217       * gst_pad_get_internal_links_default()
1219 Changes since 0.10.19:
1221       * Add the Presets interface
1222       * Use the binary registry by default
1223       * Deprecate gst_element_get_pad and don't use it anywhere any more.
1224       * Reverse playback fixes
1225       * API to get missing element messages from parse_launch parsing.
1226       * Fixes in latency calculations
1227       * BaseTransform negotiation fixes
1228       * New Buffering query and messages
1229       * Fix multiqueue deadlocks when changing limits
1230       * Remove pre-generated parser hacks and require newer flex/bison
1231       * Use GSlice in more places
1232       * Use static strings in property declarations everywhere to save memory
1233         allocations
1234       * Fix unaligned memory accesses with the binary registry and add CRC
1235         checks
1236       * Lots of other bug fixes
1238 Bugs fixed since 0.10.19:
1240       * 535069 : basesrc no longer support non-flushing seeks on itself
1241       * 522882 : Add a configure option to enable/disable OPTION_PARSING i...
1242       * 396779 : Preset interface for elements
1243       * 359653 : GStreamer Binary Registry patch
1244       * 401456 : [API] Rename gst_bin_find_unconnected_pad to gst_bin_find...
1245       * 446763 : [identity] leaks events in single segment mode
1246       * 459862 : typefinding coud be more efficient
1247       * 461253 : Crash when gst_base_transform_prepare_output_buffer is se...
1248       * 489269 : valgrind option parameter invalid for valgrind 2.2 
1249       * 508070 : gstreamer crashes whilst trying to read .so files in .deb...
1250       * 512577 : GstTagMergeMode doc has slightly incorrect explanation
1251       * 512578 : gst_tag_setter_merge_tags can mess up with KEEP_ALL merge...
1252       * 514507 : gst-xmlinspect outputs text instead of xml for plugins
1253       * 518022 : [libgstnet] MSVC 6.0 compile error due to socklen_t
1254       * 518932 : Expose gst_segment_copy() to facilitate wrapping of GstSe...
1255       * 520468 : Add a Env to enable/disable scan_and_update_registry for ...
1256       * 522326 : use of 'char*' instead of 'const char*' in gst_caps_set_s...
1257       * 523798 : [API] Some GstMiniObject enhancements
1258       * 523806 : Should use G_PARAM_STATIC_(NAME|NICK|BLURB) when possible
1259       * 523978 : Documentation fixes. 
1260       * 523985 : [PATCH] [identity] meta-writes buffers without meta-writa...
1261       * 524659 : Add specific error code for encrypted streams (e.g. WMA/A...
1262       * 525532 : [fakesink/fakesrc/identity] Uses GObject marshallers for ...
1263       * 526042 : [identity] check-imperfect-timestamp doesn't handle new s...
1264       * 526236 : mingw32 gstpoll compilation fix
1265       * 526247 : Actually build dlls when cross-compiling with mingw32
1266       * 526705 : GstIndexResolver uses nickname field as description field
1267       * 526768 : Basetransform bufferalloc passing through too easily
1268       * 526814 : [API] add gst_pad_add_{data,event,buffer}_probe_full() wi...
1269       * 527967 : gst_gerror_get_type is not thread safe
1270       * 528187 : Get missing elements from gst_parse_launch()
1271       * 528868 : URI schemes/protocols should be handled case insensitive
1272       * 529148 : Make gstqueue give the right min latency
1273       * 530317 : GType registration error - race condition when parallel c...
1274       * 530637 : queue leak on capacity change
1275       * 531538 : Race between gst_bus_set_flushing and async bus watches
1276       * 533490 : gst_message_new_warning() should take const gchar*
1277       * 533635 : gst_event_new_tag() documentation should say it takes own...
1278       * 533740 : [API] add gst_typefind_suggest_simple()
1279       * 533865 : gst_element_get_pad() should really be deprecated
1280       * 534258 : basesink not accumulated time in some cases.
1281       * 535218 : gst_base_src_send_event will block if basesrc is blocking...
1282       * 536723 : Misspelled word in error string
1283       * 536744 : Must link to libdl if dladdr() is used
1284       * 536780 : gcc 4.3.0 compile warnings
1285       * 536857 : DATADIR definition conflicts with windows headers
1286       * 525961 : Build fails on darwin
1287       * 535285 : Correct reference to GST_URI_UNKNOWN in gst_element_facto...
1289 API added since 0.10.19:
1291       * Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
1292         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object
1293       * typefind::force-caps
1294       * gst_message_set_buffering_stats()
1295       * gst_message_parse_buffering_stats()
1296       * GST_QUERY_BUFFERING
1297       * GstBufferingMode
1298       * gst_query_new_buffering()
1299       * gst_query_set_buffering_percent()
1300       * gst_query_parse_buffering_percent()
1301       * gst_query_set_buffering_stats()
1302       * gst_query_parse_buffering_stats()
1303       * gst_query_set_buffering_range()
1304       * gst_query_parse_buffering_range()
1305       * GST_STREAM_ERROR_DECRYPT
1306       * GST_STREAM_ERROR_DECRYPT_NOKEY
1307       * gst_segment_copy()
1308       * gst_pad_add_data_probe_full()
1309       * gst_pad_add_buffer_probe_full()
1310       * gst_pad_add_event_probe_full()
1311       * GstEvent::gst_event_has_name()
1312       * GstFakeSrc:format
1313       * gst_type_find_suggest_simple()
1314       * GstBaseSink::gst_base_sink_wait_clock()
1315       * gst_parse_launch_full()
1316       * gst_parse_launchv_full()
1317       * gst_parse_bin_from_description_full()
1318       * gst_parse_context_new()
1319       * gst_parse_context_free()
1320       * gst_parse_context_get_missing_elements()
1321       * gst_bin_find_unlinked_pad()
1322       * GstPreset interface
1324 API deprecated since 0.10.19:
1326       * gst_element_get_pad -
1327         use gst_element_get_static_pad or gst_element_get_request_pad
1328       * gst_atomic_int_set() - g_atomic_int_set from GLib
1329       * gst_bin_find_unconnected_pad()
1331 Changes since 0.10.18:
1333       * Fix a regression in raw fd handling
1335 Bugs fixed since 0.10.18:
1336      
1337       * 524041 : gstfdsrc broken in 0.10.18
1339 Changes since 0.10.17:
1340         
1341       * New GstPoll abstraction simplifies operations on multiple fd's/sockets
1342       * Various bug fixes and corrections
1343       
1344 Bugs fixed since 0.10.17:
1345       
1346       * 516187 : adding gst_collect_pads_read_buffer () collectpads
1347       * 516395 : gst_buffer_create_sub does not copy flags
1348       * 520756 : different registry backend configurations cause build errors
1349       * 498222 : configure improvements
1350       * 499127 : [multiqueue] has no documentation
1351       * 505417 : Add GstPoll to core
1352       * 509559 : [gstinfo]_gst_debug_init() memory leak
1353       * 510194 : segmentation fault when trying to link elements.
1354       * 511783 : [API] [check] add gst_check_element_push_buffer_list() etc.
1355       * 513964 : [GstPad] gst_pad_get_caps don't return a copy of the caps
1356       * 515469 : patch to add gst_index_set_resolver_full
1357       * 519584 : gst_element_implements_interface() segfaults with 'filesr...
1358       * 519698 : g_free/xmlFree mismatches in gstregistryxml
1359       * 520152 : Core uses non-portable size_t and ssize_t
1360       * 520671 : GstPoll needs to be ported to Windows
1361       * 520808 : GstPoll's API could need some changes for Windows
1362       * 520877 : registrybinary.c doesn't build cleanly on Windows/MSVC
1363       * 521740 : libgstreamer.def exports not up to date
1364       * 522741 : regression: gst_index_entry_free() frees string it does n...
1366 Changes since 0.10.16:
1368       * Fix compilation on environments that have POSIX timers but not
1369         monotonic clocks
1371 Bugs fixed since 0.10.16:
1372       
1373       * 512715 : gst/gstutils.c and HAVE_MONOTONIC_CLOCK
1375 Changes since 0.10.15:
1377       * Monotonic/Posix clock support
1378       * Dumping of dot-file graph descriptions for debugging
1379       * Clean-up of exported symbols
1380       * Many bug-fixes and enhancements
1382 Bugs fixed since 0.10.15:
1384       * 497859 : --disable-gst-debug option fails compilation
1385       * 339279 : [gst.URIHandler] interfaces with class-global virtual met...
1386       * 498694 : Patches to avoid g_signal_emit(SIGNAL_HANDOFF) on identit...
1387       * 498746 : basesink is forwarding downstream events
1388       * 498767 : Hangs after end of tracks since 0.10.15
1389       * 498924 : deprecate GST_PLUGIN_DEFINE_STATIC because it's not portable
1390       * 499007 : [gst-plot-timeline] more options
1391       * 499140 : Add check to ensure .def files are kept up-to-date
1392       * 500143 : Some small improvements (limiting realloc and CPU usage )
1393       * 500150 : [filesink] add property to enable buffering via setvbuf()
1394       * 501560 : gst_(caps|structure)_from_string() crash if structure nam...
1395       * 503131 : g_intern_string SUSE 10.2
1396       * 503231 : Change to GST_BUFFER_FLAG_GAP meaning can break with base...
1397       * 503417 : Build failure due uninitialized variable in function 'gst...
1398       * 503590 : gstreamer-0.10.15 fails tests on ppc64
1399       * 503675 : broken registry files written to disk
1400       * 504499 : Messages from check no longer contain the test case name
1401       * 505799 : iSight camera does not work in gstreamer
1402       * 506643 : crash in fixate_value/gst_value_init_and_copy on empty li...
1403       * 507957 : clean-up incomplete function declarations
1404       * 508175 : GST_TIMEVAL_TO_TIME() and GST_TIMESPEC_TO_TIME() need to ...
1405       * 510187 : gst_plugin_register_static() API review and GST_PLUGIN_DE...
1406       * 510747 : Use $(MAKE) instead of make to fix the build if GNU make ...
1407       * 511750 : Configure of prereleases 15.2-15.4 fail in OpenEmbedded M...
1409 API additions since 0.10.15:
1411 * GstIdentity::signal-handoffs
1412 * gst_util_get_timestamp()
1413 * gst_base_transform_set_gap_aware()
1414 * GstFileSink::buffer-mode
1415 * GstFileSink::buffer-size
1416 * gst_plugin_register_static()
1418 API deprecated since 0.10.15:
1420 * GST_PLUGIN_DEFINE_STATIC()
1422 Changes since 0.10.14:
1424       * Changes for asynchronous sink management
1425       * New ts-offset property on basesink for adjusting clock synchronisation
1426       * New GstController LFO feature
1427       * Fixes and improvements in latency measurement for live pipelines
1428       * Additional documentation and docs fixes
1429       * Faster typefinding
1430       * More tag types added
1431       * Improvements in various core elements and parent classes
1432       * New unit tests
1433       * Allow dumping pipelines as dot graphs
1434       * GstStructures now support nesting
1435       * URIHandler interface can now be implemented in bindings
1436       * Many other bug-fixes and improvements
1438 Bugs fixed since 0.10.14:
1440       * 496722 : DSP/DSW files in win32/vs6 directory are in unix format
1441       * 476514 : [queue] Doesn't forward EOS event in all cases
1442       * 456573 : allow dumping pipelines as dot graphs
1443       * 475723 : cleanup static caps correctly
1444       * 480341 : Memory leak at fakesink (regression in cvs)
1445       * 349410 : Problems with type handling
1446       * 414539 : [API] Support more GST_TAG*_SORTNAME and remove MusicBrai...
1447       * 459717 : [Controller] Add GstLFOControlSource that provides values...
1448       * 459809 : [API] add GST_TAG_COMPOSER
1449       * 461598 : Commit Hungarian translations from TP
1450       * 461599 : Some files missing from POTFILES.in
1451       * 464366 : program including gst/gstbuffer.h does not compile with -...
1452       * 466595 : gst_index_add_association generates corrupted entries
1453       * 469402 : File uri handling on windows broken
1454       * 473846 : Deadlock if sink is unable to send first buffer
1455       * 474371 : Can't build libsgtcontroller with VS6
1456       * 474823 : tee unit test failure
1457       * 478347 : GST_STATIC_PAD_TEMPLATE macro causes warnings with g++-4.2
1458       * 478401 : gstbasesrc.c ref count bug
1459       * 479784 : GST_PLUGIN_DEFINE() doesn't accept BSD and MIT/X11 licences
1460       * 485343 : Implement a wait_eos function in basesink
1461       * 487969 : allow nested GstStructures
1462       * 492077 : Build issues on Windows/MSVC
1463       * 493134 : Wrong GstObject signals registration
1464       * 493983 : Build issues on Windows
1465       * 494343 : pre-release vs6 patch
1466       * 480858 : gstqueue code cleaning
1467       * 486758 : queue element fails to re-negotiate caps upstream when si...
1468       * 488201 : gst_segment_set_newsegment does not accumulate correctly
1469       * 492729 : PAUSED- > PLAYING returns ASYNC when triggered from bus han...
1470       * 494245 : [basesink] doesn't sync correctly if segment is in BYTES ...
1472 API added since 0.10.14:
1474       * gst_base_sink_get_last_buffer()
1475       * GstBaseSink::last-buffer
1476       * GstURIHandlerInterface::get_type_full
1477       * GstURIHandlerInterface::get_protocols_full
1478       * New tag: GST_TAG_ARTIST_SORTNAME
1479       * New tag: GST_TAG_ALBUM_SORTNAME
1480       * New tag: GST_TAG_TITLE_SORTNAME
1481       * New tag: GST_TAG_COMPOSER
1482       * gst_value_set_structure()
1483       * gst_value_get_structure()
1484       * GST_VALUE_HOLDS_STRUCTURE macro
1485       * gst_bus_pop_filtered()
1486       * gst_bus_timed_pop_filtered()
1487       * gst_base_sink_wait_eos()
1488       * gst_pad_peer_query()
1489       * GstBaseSrc::do-timestamp
1490       * gst_base_src_set_do_timestamp()
1491       * gst_base_src_get_do_timestamp()
1492       * GstBaseSink::ts-offset property
1493       * gst_base_sink_set_ts_offset()
1494       * gst_base_sink_get_ts_offset()
1495       * GstBaseSink::async property
1496       * gst_base_sink_set_async_enabled()
1497       * gst_base_sink_is_async_enabled()
1498       * gst_structure_get_uint()
1499       * GstLFOControlSource and functions
1501 Changes since 0.10.13:
1503       * State change handling improvements
1504       * New improved GstController API
1505       * Multi-queue fixes and enhancements
1506       * Fewer dynamic library relocations
1507       * Various other fixes and improvements
1508       * Parallel installability with 0.8.x series
1509       * Threadsafe design and API
1511 Bugs fixed since 0.10.13:
1513       * 457322 : registry is read twice on startup
1514       * 406632 : pkgconfigify the check for Check in configure.ac
1515       * 423700 : [multiqueue] leaks memory when flushing
1516       * 437457 : saving relocations for GstElementDetails
1517       * 444648 : [API] add GstParamSpecFraction
1518       * 444820 : build error with grammar.tab.c
1519       * 448794 : state changes are racy with decodebin after rewrite for 0...
1520       * 449197 : [capsfilter] Should set src pad caps on buffer
1521       * 449226 : Incomplete ghostpads in xml session save
1522       * 449493 : minor quoting fix in gst-feature.m4 macro
1523       * 450711 : [GstController] Improve extensibility by providing a GstC...
1524       * 451939 : [API] add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI
1525       * 459501 : gst_registry_lookup_feature_locked is slow
1526       * 462558 : Regression in async state change handling
1527       * 462752 : make gst_element_class_set_details_simple args const
1528       * 430682 : multiqueue doesn't output data on unlinked pads properly
1529       * 462085 : registry feature hash can access invalid memory
1530       * 357959 : buffer_alloc is not proxied through tee
1531       * 374639 : GstTee doesn't handle pad list resyncs properly
1532       * 449414 : [capsfilter] Copy of passed GstCaps taken instead of refe...
1533       * 453732 : [PATCH] multiqueue returns wrong internally linked pads
1535 API added since 0.10.13:
1537       * Add GstParamSpecFraction, so elements can have fraction
1538         properties without lots of painful string parsing (#444648).
1539       * Add fail_unless_equals_float() and assert_equals_float()
1540       * Add gst_type_register_static_full
1541       * Add gst_element_class_set_details_simple
1542       * Refactor GstController into the core controller which can take
1543         a GstControlSource for providing actual values for timestamps.
1544       * add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939)
1545       * gst_element_factory_has_interface()
1547 Changes since 0.10.12:
1549       * Latency handling infrastructure for live playback scenarios
1550       * State change handling changes
1551       * GstController property handling improved
1552       * Various bug fixes and improvements
1553       * Parallel installability with 0.8.x series
1554       * Threadsafe design and API
1556 Bugs fixed since 0.10.12: 
1558       * 440682 : gst/gstsystemclock unit test occasionally fails
1559       * 342564 : Configure options causing compilation to fail
1560       * 378255 : Swedish translation updated
1561       * 392804 : [API] add GST_CORE_ERROR_DISABLED
1562       * 412648 : [filesink] reports wrong (byte) position after seeking
1563       * 413123 : No XML dependency patch
1564       * 415394 : [identity] post message for imperfect streams if check-pe...
1565       * 417992 : Quickly playing/pausing messes up synchronization
1566       * 420106 : [basetransform] race on shutdown: setcaps func called aft...
1567       * 420206 : Collectpads causes a segv. when stopping after a pad remove
1568       * 421480 : Make it possible to build without libxml2 with --disable-...
1569       * 421543 : [GstPad] Doesn't check if pad accepts caps after caps change
1570       * 422295 : GstController crashes with quadratic and cubic interpolat...
1571       * 425400 : Multiqueue leaks memory when releasing sink pads
1572       * 431150 : compilation fails with flex 2.5.4
1573       * 431940 : [API] add gst_buffer_try_new_and_alloc()
1574       * 432876 : current time level in queue
1575       * 434926 : Multilib conflicts with gst-launch-0.10 man page
1576       * 435880 : [GstBin] Property to allow bins to handle child async cha...
1577       * 437563 : URIs with upper-case protocol don't play
1578       * 440463 : gstbin unit test sometimes hangs waiting for ASYNC_DONE m...
1579       * 441159 : Regression in state change handling
1580       * 349180 : gst_parse_launch is not reentrant (or recursively callable)
1581       * 414986 : Don't start the async thread for the system clock until n...
1582       * 393099 : GstBuffer copy vfunc broken?
1583       * 419851 : pad-added and pad-removed signals parameter type incorrect
1584       * 420133 : gst_element_sync_state_with_parent should look at pending...
1585       * 421177 : Possible deadlock if pad eventfunc is not specified
1587 API additions since 0.10.12:
1589       * gst_element_change_state()
1590       * GST_STATE_TARGET
1591       * GST_BASE_TRANSFORM_LOCK/UNLOCK
1592       * GstClock::gst_clock_unadjust_unlocked()
1593       * fakesink::num-buffers property
1594       * GST_CORE_ERROR_DISABLED
1595       * basesrc::prepare_seek_segment vmethod
1596       * gst_buffer_try_new_and_alloc()
1597       * gst_buffer_copy_metadata()
1598       * GstBufferCopyFlags enum
1599       * GST_BUFFER_COPY_ALL flag
1600       * gst_uri_protocol_is_supported()
1601       * gst_base_src_query_latency()
1602       * GstQueue::pushing
1603       * gst_controller_suggest_next_sync()
1604       * gst_object_suggest_next_sync()
1605       * basesrc::unlock_stop
1606       * basesink::unlock_stop
1607       * GstBin::async-handling property
1608       * gst_message_new_async_start()
1609       * gst_message_parse_async_start()
1610       * gst_message_new_async_done()
1611       * GST_MESSAGE_ASYNC_START
1612       * GST_MESSAGE_ASYNC_DONE
1614 Changes since 0.10.11:
1616       * Add a warning if GLib threading support is not properly initialised
1617       * Add support for binary registry serialisation
1618       * Preliminary support for pull-mode scheduling of entire chains
1619       * Add support for HPPA 
1620       * Collectpads fixes
1621       * Lots of bug fixes
1623 Bugs fixed since 0.10.11:
1624      
1625       * 378931 : Bison version check doesn't work on Solaris 9
1626       * 399875 : [multiqueue] dynamic growth not implemented.
1627       * 339326 : pads not set to FLUSHING when created
1628       * 380129 : gst_plugin_feature_load doesn't consistently ref a return...
1629       * 381301 : [patch] Make GstBus watch work with any GMainContext
1630       * 383382 : Removing pads from collectpads not threadsafe
1631       * 383506 : Disallow CLOCK_TIME_NONE as periodic clock id interval
1632       * 387073 : gst-launch videotestsrc ! ffmpegcolorspace ! ximagesink d...
1633       * 387866 : [docs] Small fix for GstCollectPads docs
1634       * 391278 : g_thread_init() called too late, possibly causing memory ...
1635       * 391296 : [API] add gst_update_registry() to rescan registry at run...
1636       * 391777 : GStreamer does not reset SEGV trap handler
1637       * 391909 : Fix compilation with MinGW
1638       * 399094 : gst_pad_start_task: small doc typo
1639       * 401381 : GstRegistry signals documentation is missing
1640       * 401781 : [API] add GST_ROUND_DOWN_* macros
1641       * 402393 : [API][GstCollectPads] Allow elements to specify destroy n...
1642       * 405284 : Changing state of pipeline can lock up with preroll queue...
1643       * 400656 : [PATCH] filesrc seekability detection fix (NFS and 2GB+ f...
1644       * 403172 : [filesrc] doesn't handle localhost file locations
1645       * 404569 : [filesrc] Unexpected end of file
1646       * 161922 : script to provide plugin installation info
1647       * 391915 : adapter test doesn't compile with mingw
1648       * 395554 : gst_tag_setter_merge_tags works at most once
1649       * 403597 : [API] Add ReplayGain reference level tag
1650       * 405288 : Configure checks use pkg-config directly
1651       * 381492 : [SystemClock] ClockID wait_async notification broken
1652       * 382592 : Multiple wait()ers break periodic clock ids
1653       * 385084 : endless ghost pad pull/push activate recursion until crash
1654       * 388201 : [API] add gst_adapter_copy()
1656 API additions since 0.10.11:
1658       * gst_update_registry()
1659       * gst_adapter_copy()
1660       * GST_ROUND_DOWN_* macros
1661       * GstCollectDataDestroyNotify
1662       * gst_query_new_latency()
1663       * gst_query_set_latency()
1664       * gst_query_parse_latency()
1665       * gst_message_new_lost_preroll()
1666       * gst_message_parse_lost_preroll()
1667       * gst_message_new_prerolled()
1668       * gst_message_new_latency()
1669       * gst_event_new_latency()
1670       * gst_event_parse_latency()
1671       * GST_TAG_REFERENCE_LEVEL
1672       * gst_base_sink_query_latency()
1673       * gst_base_sink_get_latency()
1674       * gst_bus_timed_pop()
1675       * gst_message_new_info()
1676       * gst_message_parse_info()
1678 Bugs fixed since 0.10.10:
1680       * 363095 : [BaseTransform] Outputs empty buffers
1681       * 353301 : aborts in _get_element_by_uri(), probably due to buggy el...
1682       * 344639 : Separate threadsafe queuing functionnality in a separate ...
1683       * 347785 : [multiqueue] New multiple input-output queue
1684       * 352827 : re-negotiation issues with dynamic pipelines and level or...
1685       * 357180 : [libs] gst_controller_new* functions don't increase refco...
1686       * 318031 : gstreamer should use gmodule-no-export in its .pc file
1687       * 340878 : Registry doesn't discard removed plugin features
1688       * 345496 : No GstPadDirection in files created by GstXml
1689       * 356910 : Basesrc gst_base_src_activate_push not calling base_src_s...
1690       * 357593 : Generated gst-element-check.m4 installed from $(srcdir)
1691       * 358436 : #include is missing in gstghostpad.c and gstquery.c
1692       * 358999 : [PATCH] [GstPad] Flushing on blocked pads not handled cor...
1693       * 359850 : Compiling issues on sparc with Forte
1694       * 360151 : Fixes compiling with forte: disable warning as error for ...
1695       * 360173 : Fixes compiling with forte: warning clean up (part 1)
1696       * 360467 : [API] add gst_tag_list_is_empty ()
1697       * 360860 : Fixes compiling with forte: warning clean up (part 2)
1698       * 361675 : Allow applications to use libxml2 and GStreamer even if  ...
1699       * 361720 : grammar project: error generating gstmarshal.c and gstmar...
1700       * 361730 : wrong source file list in VC8 project
1701       * 361732 : " win32\common\libgstreamer.def " lacks 'gst_caps_merge' entry
1702       * 361769 : Deadlock in gstpad.c 
1703       * 364388 : size variable is not always initialized in gst_base_src_s...
1704       * 366321 : GST_SEGMENT_FORMAT not defined on windows
1705       * 370865 : [basesrc] update segment duration in gst_base_src_update_...
1706       * 371493 : Incomplete change of printf conversion specifiers in gstr...
1707       * 374475 : [PATCH] minor doc typo
1708       * 377332 : [PATCH] Warning with check > = 0.9.4
1709       * 357617 : [libs] gst_controller_set_from_list can return without un...
1710       * 358737 : _gst_event_copy sets the wrong parent_refcount on the chi...
1711       * 366212 : Fix some misspellings in gstreamer core
1712       * 369366 : MacOSX printf fixes for CVS
1713       * 371894 : tests/examples/typefind is broken  
1714       * 355499 : ensure_current_registry_forking()  fails if zombie alread...
1715       * 352345 : Small race condition in the queue element
1716       * 357432 : [libs] GstController needs to keep controlled objects alive
1717       * 358613 : sink- > file is never reset for filesink elements, even tho...
1718       * 366286 : [PATCH] fix compilation on Windows
1719       * 366572 : Bad declaration in headerfile
1720       * 367677 : [fdsrc] skips the first byte
1721       * 369942 : [PATCH] unblocking blocked pad does not release all block...
1723 API added since 0.10.10:
1725       * gst_element_state_change_return_get_name
1726       * gst_tag_list_is_empty
1727       * gst_pad_is_blocking()
1728       * GST_PAD_IS_BLOCKING() macro
1729       * GST_PAD_BLOCKING GstPadFlag
1730       * gst_base_src_wait_playing
1731       * gst_base_sink_wait_preroll
1732       * gst_message_new_buffering
1733       * gst_message_parse_buffering
1735 Bugs fixed since 0.10.9:
1736      
1737       * 349180 : gst_parse_launch is not reentrant (or recursively callable)
1738       * 348455 : [filesrc] should not use mmap() by default, since it migh...
1739       * 340674 : marry gst-debugs & plot-timeline.py
1740       * 350449 : [GstBaseTransform] buffer_alloc should alway try downstream
1741       * 352580 : implement proper caps merging
1742       * 345444 : Linking to an audioconvert (pad-added callback) multiple ...
1743       * 347293 : GstValueList comparison is flawed
1744       * 347311 : element_unlink leaks its iterator wich will leak the src ...
1745       * 348179 : gst_parse_lauch is not reentrant
1746       * 348354 : failure in bison version detection breaks build
1747       * 350419 : API: GST_SEGMENT_FORMAT printf extension for GstSegments
1748       * 350879 : [init] Mark gstreamer as being initialized during registr...
1749       * 350935 : API: add GST_TAG_EXTENDED_COMMENT
1750       * 353976 : asssertion about element sanity in gst_registry_xml_write...
1751       * 350432 : micro-optimising quarks
1752       * 341029 : Ghostpads internal and target should be linked from the b...
1753       * 345295 : [PATCH] gstreamer/libs/gst/net for Windows
1754       * 347756 : Allow --disable-trace without --disable-parse
1755       * 347794 : Do not reset SIGSEGV handler when --gst-disable-segtrap i...
1756       * 348918 : application should decide whether or not to use fork() to...
1757       * 349943 : [QOS] documentation/code mismatch
1758       * 351768 : Unwanted concurent buffer modifications
1759       * 352958 : pad_alloc_buffer and stream lock
1760       * 353121 : gst_query_new_segment should initialize all structure fields
1761       * 353122 : gst_element_get_bus refs the bus unconditionally
1762       * 347385 : [ghostpad] gst_ghost_pad_new_from_template() method
1763       * 348677 : Upgrade to 0.10.9 breaks existing applications (failed se...
1765 API added since 0.10.9:
1766      
1767       * gst_segtrap_is_enabled
1768       * gst_segtrap_set_enabled
1769       * gst_registry_fork_is_enabled
1770       * gst_registry_fork_set_enabled
1771       * gst_ghost_pad_new_from_template
1772       * gst_ghost_pad_new_no_target_from_template
1773       * gst_caps_merge
1774       * GST_TAG_EXTENDED_COMMENT
1775       * GstClockCLass:wait_jitter
1776       * GST_SEGMENT_FORMAT
1777       * gst_structure_id_set
1778       * gst_structure_id_set_valist
1780 Changes since 0.10.8:
1782       * The testsuite can now generate coverage information
1783       * Better support for non-linear editing
1784       * Removed Glib 2.6 compatibility
1785       * Performance improvements on cpus that support branch hints
1786       * Bug fixes
1788 Bugs fixed since 0.10.8:
1790       * 346730 : some warnings about enums and macros
1791       * 341029 : Ghostpads internal and target should be linked from the b...
1792       * 346192 : [PATCH] Pad blocking on events
1793       * 347384 : [ghostpad] padtemplates shouldn't be set automatically
1794       * 344115 : [patch] make more internal data const
1795       * 324176 : gst-element-check-0.x.m4 should use versioned gst-inspect
1796       * 330379 : Bogus commits to basesink, basetransform, collectpads
1797       * 341667 : restore_from_xml breaks pad links again after creating them
1798       * 344642 : tools/gst-inspect.c does not compile if --disable-nls is ...
1799       * 344748 : Fails with non-writable registry
1800       * 344849 : GstController doesn't handle float properties correct
1801       * 345086 : [gst-feedback] calls un-versioned tools
1802       * 346097 : SIGSEGV when using --gst-plugin-load
1803       * 347337 : GDP does not correctly deserialize events without a struc...
1804       * 347408 : basesrc causes regressions in pull with 0 bytes
1805       * 345720 : Bad performance playing files off CD
1806       * 331727 : make probes and Ghostpads more elegant
1807       * 343196 : basetransform not handles ro/rw buffer flagging for trans...
1808       * 346663 : Segmentation error with fakesrc, fakesink and a filter
1810 Changes since 0.10.7:
1811     
1812       * Important fix for registry update causing applets not to load
1814 Bugs fixed since 0.10.7:
1815     
1816       * 344474 : Gnome Mixer Applet doesn't want to load
1818 Changes since 0.10.6:
1819     
1820       * Registry cache updating is now done in a fork, so no plugins are left
1821         opened
1822       * New version of data protocol now serializes events
1823       * queue fixes
1824       * win32 fixes
1826 Bugs fixed since 0.10.6:
1827     
1828       * 338335 : [patch] memleak in gst-utils.c (leak pads from iterator)
1829       * 343598 : undefined symbol in coreindexers when using --disable-loa...
1830       * 336929 : GstCollectPads does not clear/reset segment info after fl...
1831       * 337100 : [fakesink] add " preroll-handoff " signal
1832       * 339918 : GstTagSetter merge-mode description unclear, and implemen...
1833       * 340501 : [filesrc] give primary rank
1834       * 341662 : gst-launch print_tags() fix
1835       * 342238 : API: gst_element_seek_simple
1836       * 342321 : GST_QUERY_POSITION fails if GstBaseSrc in get_range mode
1837       * 342777 : rebuilding the registry leaves all plugins in memory
1838       * 342820 : gstnetclientclock.c(453): servaddr used before set
1839       * 343057 : gst-launch-0.10 segfaults when passed gst-plugin-path and...
1840       * 343341 : [API] add GST_TAG_PREVIEW_IMAGE
1841       * 343827 : leak in gst_index_gtype_resolver
1842       * 343929 : Use of // in public header
1843       * 343988 : data protocol needs extending to handle events better
1844       * 341479 : Too many plugins loaded even for up-to-date registry
1845       * 343334 : GstCollectPads testsuite and fixes
1846       * 343538 : GstCollectPads doesn't reset EOS fields when stopped
1848 API added since 0.10.6:
1850       * gst_element_seek_simple()
1851       * GST_FLOW_CUSTOM_SUCCESS
1852       * GST_FLOW_CUSTOM_ERROR
1853       * GST_FLOW_IS_SUCCESS
1854       * gst_collect_pads_set_flushing()
1855       * GST_TAG_PREVIEW_IMAGE
1856       * gst_dp_crc()
1857       * GstDPPacketizer
1858       * GstDPVersion
1859       * GstFakeSink::preroll-handoff
1860       * GstFakeSink::use-mmap
1862 Changes since 0.10.5:
1864       * Fixes for the collectpads helper
1865       * Support for proper time recording on server-trickmode streams
1866         via the applied_rate parameter of the NewSegment event
1867       * Many bug fixes
1869 Bugs fixed since 0.10.5:
1871       * 339808 : [patch] mem-leak of bin in gstbin.c
1872       * 338339 : [patch] registry cache is always written
1873       * 339843 : [patch] fdsink should not handle short writes and non fat...
1874       * 340016 : does not build on opensolaris, must always include config...
1875       * 340079 : gst-launch wrapper fails with 'No version of tool gst-lau...
1876       * 340174 : locking problem in gstbasesink
1877       * 340460 : gst-launch no longer supports --version
1878       * 340508 : remove glib pre 2.8 hacks and compat stuff
1879       * 340604 : gst_mini_object_ref () docs make no mention of writeability
1880       * 340608 : leaking caps in padtemplate
1881       * 340697 : gstsystemclock hangs when outputting to stdout via fdsink 
1882       * 340721 : API: add GST_TAG_IMAGE
1883       * 340772 : [qtdemux] bails out on Meet The Robinsons trailer
1884       * 341556 : gst-launch: print image tags in a human readable form
1885       * 339821 : [patch] serializing a GValue with a NULL buffer crashes
1887 API added since 0.10.5:
1889       * gst_adapter_take_buffer()
1890       * GST_TAG_IMAGE tag added.
1891       * gst_event_new_new_segment_full()
1892       * gst_event_parse_new_segment_full()
1893       * GstSegment::applied_rate field
1894       * gst_segment_set_newsegment_full()
1896 Changes since 0.10.4:
1898       * QoS in BaseTransform
1899       * gcc 4.1 fixes
1900       * BaseTransform reworked
1901       * Bus reworked; signal API added
1903 Bugs fixed since 0.10.4:
1904     
1905       * 131079 : [PATCH] [api] loading a class leaves elementfactory blank
1906       * 317048 : gstreamer Cygwin build fixes
1907       * 325599 : Build fails with GCC 4.1
1908       * 327315 : GStreamer CVS head files to build with GCC 4.1
1909       * 331248 : [basesink] filesink spews warnings when used with flacenc
1910       * 332151 : xml registry loader should use mmap() where possible
1911       * 332390 : [GstQueue/GstPad] queue pauses immediately when linked, p...
1912       * 332986 : Something wrong in caps checking...
1913       * 334109 : pkg-config files must link with the same check library th...
1914       * 334303 : Stale libgnomeui check in configure
1915       * 334434 : Missing functions in def files for dlls
1916       * 335195 : GST_BOILERPLATE_FULL etc isn' optimised
1917       * 335480 : start with debugging disabled
1918       * 335513 : totem goes (and stays) out of sync when running bittorrent
1919       * 336336 : [queue] Queue might block in EOS
1920       * 336945 : [filesink] throws error when writing 0 bytes
1921       * 337103 : small cleanup in gstplugin.c
1922       * 337386 : Pipeline bus is not initially flushing
1923       * 338711 : Internal data flow error with latest updates for FC5 with...
1924       * 326311 : basesink does not call the PAUSED- > PLAYING change_state f...
1925       * 326998 : GstBaseSrc's send_event handler ignores seek requests aft...
1927 API added since 0.10.4:
1929       * gst_controller_unset_all()
1930       * gst_pad_query_peer_position()
1931       * gst_pad_query_peer_duration()
1932       * gst_pad_query_peer_convert()
1933       * GstBaseSink::async_play()
1934       * GstBaseSrc::qos
1935       * gst_base_sink_set_qos_enabled()
1936       * gst_base_sink_is_qos_enabled()
1937       * gst_base_transform_update_qos()
1938       * gst_base_transform_set_qos_enabled()
1939       * gst_base_transform_is_qos_enabled()
1940       * gst_pipeline_get_delay()
1941       * gst_pipeline_set_delay()
1943 Changes since 0.10.3:
1944     
1945       * Parallel installability with 0.8.x series
1946       * Threadsafe design and API
1947       * 33% of library size removed by parse change
1948       * (Experimental) QoS features (use max-lateness on BaseSink subclasses to enable)
1950 Bugs fixed since 0.10.3:
1951     
1952       * 323542 : GStreamer 0.10 hangs at EOS for all songs
1953       * 320340 : triggering a gst_task_join from the streaming task can de...
1954       * 322628 : document thread-unsafety of gst_value_foo() + gst_value_r...
1955       * 324186 : Smarter (deterministic!) typefind decisions
1956       * 324398 : varargs/valist functions aren't bindable
1957       * 328873 : only one gst_bin_recalc_state allowed at a time
1958       * 330899 : CVS directory in make dist tarball
1959       * 330906 : API: add GST_QUERY_TYPE_NAME and GST_MESSAGE_TYPE_NAME
1960       * 330996 : basesrc emits EOS unconditionally when going to READY
1961       * 331255 : Shrinking gst_parse_launch bloat
1962       * 331898 : Basetranform is not reusable
1963       * 332045 : API: GstPipeline needs API to disable  flushing of its bu...
1964       * 332277 : [filesrc] seek does not correct read position in non-mmap...
1965       * 332611 : [basesrc] needs way to prevent expensive start/stop in ch...
1966       * 332723 : New API: gst_type_find_helper_for_buffer
1967       * 333042 : New API: gst_type_find_helper_get_range
1968       * 333266 : Registry file writing rewrite
1969       * 333272 : tests should set G_SLICE=always-malloc now
1970       * 333417 : GST_BOILERPLATE_WITH_INTERFACE can't be used in C++ code
1971       * 333669 : Add pad accessor defines for GstBaseTransform
1972       * 333779 : New API: add gst_uri_has_protocol
1973       * 324818 : gst_registry_get_default doesn't sink newly created registry
1974       * 330125 : _pad_send_event does not check flushing correctly
1975       * 330684 : Add ability to emit sync-message without messing with the...
1976  
1977 API added since 0.10.3:
1978     
1979       * gst_pipeline_set_auto_flush_bus()
1980       * gst_pipeline_get_auto_flush_bus()
1981       * gst_uri_has_protocol()
1982       * gst_pipeline_set_max_lateness()
1983       * gst_pipeline_get_max_lateness()
1984       * gst_pipeline_get_sync()
1985       * gst_pipeline_do_sync()
1986       * GST_BASE_TRANSFORM_SRC_PAD()
1987       * GST_BASE_TRANSFORM_SINK_PAD()
1988       * GstBaseSrc::check_get_range()
1989       * GstBaseSink::max-lateness
1990       * gst_type_find_helper_get_range()
1991       * gst_type_find_helper_for_buffer()
1992       * GST_MESSAGE_TYPE_NAME()
1993       * GST_QUERY_TYPE_NAME()
1994       * gst_bus_enable_sync_message_emission()
1995       * gst_bus_disable_sync_message_emission()
1997 Changes since 0.10.2:
1999       * Documentation updates
2000       * Bug fixes
2001       * Base class improvements
2002       * Extra utility API
2003       * More elements ported from 0.8
2004       * Fixes for win32 build.
2006 Changes since 0.10.1:
2007     
2008       * documentation updates
2009       * bug fixes
2011 Bugs fixed since 0.10.1:
2012     
2013       * 325429 : GST_BOILERPLATE_FULL can't be used when compiling with -W...
2014       * 316086 : MinGW compilation: fileindexer depends on mmap
2016 Changes since 0.10.0:
2017     
2018       * element factory leak fixes
2019       * tests cleanup
2020       * BaseSrc seeking in other format than BYTES
2021       * collectpad fixes
2023 Bugs fixed since 0.10.0:
2024     
2025       * 322441 : getcontext() in common/m4/gst-mcsc.m4 uses incorrect stac...
2026       * 323041 : [BASESRC] basesrc does not handle a seek to non-bytes for...
2027       * 323870 : [tools] gst-feedback needs updating for 0.9/0.10
2028       * 323882 : gst-launch manpage needs updates
2029       * 323905 : use return val of g_list_append
2031 API added since 0.10.0:
2032      
2033       * GST_TYPE_STATIC_CAPS
2034       * GST_TYPE_STATIC_PAD_TEMPLATE
2035       * GstNetTimeProvider::active
2036       * gst_base_src_set_format
2038 Changes from the 0.8 series to 0.10 series:
2040       * Refcounting and API revised for thread safety, see rules in
2041         docs/design/part-MT-refcounting.txt
2043       * Scheduling is now done by the elements, they start/stop
2044         processing threads themselves. This removes the need for 
2045         a separate scheduler.
2047       * State changes now happen from sink to source. This makes sure
2048         that downstream elements are ready to process data when upstream
2049         starts producing.
2051       * EOS/ERROR/... does not change the state of elements anymore. This
2052         means that when the application sets the state on an element, it
2053         remains in this state.
2055       * GMainLoop integration. Information on the state of the pipeline
2056         is now received in the mainloop via the GstBus.
2058       * Events move separate from the datastream, this allows for both
2059         in and out of sync delivery of events.
2061       * Generic _pull() replaced by _pull_region() so that random access
2062         can be made faster.
2064       * data passing happens from PAUSED, called the preroll phase. In this
2065         state no data is rendered but it is queued in the sinks.
2067       * negotiation simplified. Caps are now attached to buffers and travel
2068         along with the datastream. 
2070       * GstBuffer is now subclassable.
2072       * Ghostpads now look and feel like real pads.
2074       * New Seeking/flushing policy.
2076       * Addition of base classes and helper functions in the core to abstract
2077         away the harder parts of plugin development.
2079 Changes since 0.9.7:
2081       * added Traditional Chinese translation
2083 Bugs fixed since 0.9.7:
2084     
2085       * 322874 : [PAD] pad_alloc_buffer should not call set_caps
2086       * 323222 : GStreamer 0.9.7 still checks in dirs containing 0.9
2087       * 323250 : [collectpads] debug category should be called 'collectpad...
2089 Changes since 0.9.6:
2090     
2091       * bumped major/minor to 0.10
2092       * API cleanup
2093       * PluginFeature and TypeFind leak fixes
2094       * cleaned up source tree
2095       * added plugin documentation for core elements
2096       * fixes for stripped core
2098 Bugs fixed since 0.9.6:
2099     
2100       * 320529 : [API] gst_event_new_segment mentions " stream_time " as an ...
2101       * 321917 : quicktime with two video tracks and extra foo, makes tote...
2102       * 322257 : Fix gstnet library name
2103       * 322427 : gst-compprep aborts with 'double free or corruption'
2104       * 322429 : Filesink seeking problem
2105       * 322626 : Strings in gst-launch.c adn gstdebug.c are horrid
2106       * 322708 : gst_plugin_load_file leaks a reference to a GstPlugin
2107       * 322751 : gst_ghost_pad_get_target borks on pads without target
2108       * 322842 : GStreamer-CRITICAL in GstBaseSink and GstBaseTransform
2110 Changes since 0.9.5:
2111     
2112       * API changes and clean-up
2113       * Extensive documentation updates
2114       * remove GLib 2.4 compatibility
2115       * added clock selection
2116       * added network clocking
2117       * added fd:// URI handler
2118       * added more fraction functionality
2120 Bugs fixed since 0.9.5:
2121     
2122       * 143472 : [api] gst_tag_list_foreach() takes a non-const GstTagList*
2123       * 156633 : [API] don't use same API for arrays as for normal lists
2124       * 164168 : circular pipeline fails to negotiate
2125       * 165650 : [API] gst_value_deserialize doesn't work correctly for NU...
2126       * 168438 : [API] GstIndexFilter doesn't receive user_data
2127       * 168494 : [API] gst_index_add_object() does nothing
2128       * 305291 : Obnoxious bug-filing request
2129       * 311489 : Possible gstghostpad locking problems
2130       * 319178 : [API] finish filler events and support them in GstCollect...
2131       * 319388 : 0.9 API changes tracker
2132       * 319389 : state change updates obsolete some functions
2133       * 319392 : GstEventType is not bindings-friendly
2134       * 319395 : Macro name/visibility API bugs
2135       * 319940 : Use GLIB macros for GCC extensions
2136       * 320060 : add a CORE error category for missing ELEMENTS/PLUGINS
2137       * 320097 : GST_BUFFER_FLAG_ORIGINAL should die
2138       * 320113 : [API] duration message changes
2139       * 320299 : gst_pad_send_event should take stream lock for serialized...
2140       * 320324 : [API] GST_FOURCC_FORMAT should drop leading '%'
2141       * 320423 : [API] padding for GstCollectData
2142       * 320766 : [API] collect pads API changes
2143       * 321061 : GstURI not used
2144       * 321235 : [API] GST_PAD_IS_USABLE should be removed
2145       * 321386 : [SEGFAULT] basetransform when doing reverse caps negotiation
2146       * 321452 : GstPad's " template " property is b0rked
2147       * 321528 : capsfilter: assertion `caps != NULL' failed
2148       * 321595 : GstBin doesn't clean the message queue when changing stat...
2149       * 321638 : Don't use // style comments in headers
2150       * 321648 : Wrong type check in gst_message_parse_clock_lost
2151       * 321710 : GstClock resolution functions should take a GstClockTime
2152       * 321712 : GstClock adjust function changes
2153       * 321875 : gst_plugin_check_file disappeared
2154       * 321950 : gst_registry_scan_paths lacks implementation
2155       * 321962 : [easyfix] gst_value_is_fixed uses gst_value_list_* on GST...
2156       * 322027 : [API] Rename gst_caps_structure_fixate_* to gst_structure...
2157       * 322034 : Elements should be updated not to take the stream lock in...
2158       * 322069 : Names of GstTagSetter methods should be more descriptive
2159       * 322134 : API master/slave clocks
2160       * 322139 : our elements are confused about GEnumValue and which is t...
2161   
2162 Changes since 0.9.4:
2163     
2164       * gst_bus_poll and signal watch now see the same messages
2165       * clock sync in BaseSrc class
2166       * API documentation updates
2167       * Bus reworked; signal API added
2169 Bugs fixed since 0.9.4:
2170     
2171       * 317341 : after linking ghost pads, one target pad does not have a ...
2172       * 320774 : basesrc commit broke typefinding
2174 Changes since 0.9.3:
2176       * state lock redefined
2177       * Extensive documentation updates
2178       * BaseTransform reworked
2179       * Bus reworked; signal API added
2181 Bugs fixed since 0.9.3:
2183       * 111146 : new GstThread fails on pipeline with errors
2184       * 169772 : [PATCH] GOption command-line parsing
2185       * 170777 : use GST_TYPE_DATE for GST_TAG_DATE
2186       * 315050 : [API] consider using GstClockTime instead of GTimeVal in ...
2187       * 315126 : filesrc + forced caps should be possible
2188       * 315383 : gst-launch shouldn't run broken pipelines
2189       * 317041 : GstObject flags should be made real flags
2190       * 318447 : gst_bin_iterate_sorted: Invalid call to gst_iterator_new
2192 Changes since 0.9.2:
2194       * gst-register has been removed
2195       * Extensive documentation updates
2196       * BaseTransform reworked
2197       * Bus reworked; signal API added
2199 Bugs fixed since 0.9.2:
2201       * 102980 : support incremental gst-register/compprep updates
2202       * 313897 : [0.9] registry rewrite
2203       * 314710 : gst_buffer_create_sub doesn't copy the GST_BUFFER_FLAGS
2204       * 315895 : gst_pad_query_convert src_val check
2205       * 316155 : MinGW compilation: glib-mkenums root path subtitution pro...
2206       * 316157 : MinGW compilation: Plugin exports
2208 This is GStreamer 0.9.2, "South".
2210 Bugs fixed since 0.9.1:
2212       * 121015 : [api] gst_clock_entry_new() seems broken
2213       * 134227 : [api] gst_clock_id_wait_async, wrong return code for defa...
2214       * 142209 : [build] Large file support broken
2215       * 154785 : Clock does not run if audio stream lacks data for a short...
2216       * 305256 : [API] Change gst_element_seek to not mix enum/flags types
2217       * 309253 : GST_DEBUG_FUNCPTR macro does illegal casting from functio...
2218       * 311004 : ghostpad bugginess
2219       * 311009 : valgrind shows undesired messages
2220       * 311848 : Renegotiation broken
2221       * 314708 : filesrc doesn't set GST_BUFFER_FLAG_READONLY on mmaped bu...