docs/design/part-buffering.txt: Fix some typos and set the estimated total for push...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
2
3         * docs/design/part-buffering.txt:
4         Fix some typos and set the estimated total for push mode to -1.
5
6         * gst/gstquery.c: (gst_query_new_buffering):
7         Set buffering-left to 0 as we're not buffering by default.
8
9         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
10         Implement BUFFERING query.
11
12 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
13
14         Based on patch by: Milosz Derezynski <internalerror gmail com>
15
16         * gst/gsterror.c: (_gst_stream_errors_init):
17         * gst/gsterror.h:
18           Add two new error codes for encrypted content. Fixes #524659.
19           API: GST_STREAM_ERROR_DECRYPT
20           API: GST_STREAM_ERROR_DECRYPT_NOKEY
21
22 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
23
24         * gst/gstquery.h:
25           Fix typo.
26
27         * win32/common/libgstreamer.def:
28           Add new functions.
29
30 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
31
32         * plugins/elements/gstidentity.c: (gst_identity_event),
33         (gst_identity_start):
34         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
35         event after processing some data. Fixes bug #526042.
36
37 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
38
39         * docs/gst/gstreamer-sections.txt:
40         * gst/gstquery.c: (gst_query_parse_latency),
41         (gst_query_set_buffering_percent),
42         (gst_query_parse_buffering_percent),
43         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
44         * gst/gstquery.h:
45         Rename _avail -> _range
46         API: gst_query_set_buffering_range
47         API: gst_query_parse_buffering_range
48
49 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
50
51         * docs/design/part-buffering.txt:
52         * gst/gstquark.c:
53         * gst/gstquark.h:
54         * gst/gstquery.c: (gst_query_parse_latency),
55         (gst_query_new_buffering), (gst_query_set_buffering_percent),
56         (gst_query_parse_buffering_percent):
57         * gst/gstquery.h:
58         Add busy field and quark for the buffering query so that the app can
59         only use the query to see if buffering is in progress.
60
61 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
62
63         * docs/gst/gstreamer-sections.txt:
64         * gst/gstmessage.c: (gst_message_set_buffering_stats),
65         (gst_message_parse_buffering_stats):
66         * gst/gstmessage.h:
67         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
68         (gst_query_parse_latency), (gst_query_new_buffering),
69         (gst_query_set_buffering_percent),
70         (gst_query_parse_buffering_percent),
71         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
72         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
73         * gst/gstquery.h:
74         Reorder the message docs and headers for clarity.
75         Add aditional buffering stats API for messages.
76         Add buffering query.
77         Convert some leftover queries to use GstQuark.
78         API: gst_message_set_buffering_stats
79         API: gst_message_parse_buffering_stats
80         API: GST_QUERY_BUFFERING
81         API: GstBufferingMode
82         API: gst_query_new_buffering
83         API: gst_query_set_buffering_percent
84         API: gst_query_parse_buffering_percent
85         API: gst_query_set_buffering_stats
86         API: gst_query_parse_buffering_stats
87
88 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
89
90         * gst/gstmessage.c: (gst_message_new_error),
91         (gst_message_new_warning), (gst_message_new_info),
92         (gst_message_new_buffering), (gst_message_new_state_changed),
93         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
94         (gst_message_new_new_clock), (gst_message_new_segment_start),
95         (gst_message_new_segment_done), (gst_message_new_duration),
96         (gst_message_new_async_start), (gst_message_parse_buffering),
97         (gst_message_parse_state_changed),
98         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
99         (gst_message_parse_new_clock), (gst_message_parse_error),
100         (gst_message_parse_warning), (gst_message_parse_info),
101         (gst_message_parse_segment_start),
102         (gst_message_parse_segment_done), (gst_message_parse_duration),
103         (gst_message_parse_async_start):
104         Use GstQuark for messages.
105
106 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
107
108         * gst/gstquark.c: (_priv_gst_quarks_initialize):
109         * gst/gstquark.h:
110         Add some more quarks needed for messages and queries.
111
112 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
113
114         * docs/design/part-buffering.txt:
115         Remove the "none" buffering mode, STREAM is a good default.
116         Move estimated-time to the avail query, that's when it will be needed.
117         Other small typo fixes and updates.
118
119 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
120
121         * gst/gstindex.c: (gst_index_resolver_get_type):
122           Don't put descriptions into the nick field of a GEnumValue: it's not
123           meant for that and some language bindings rely on the nick field to
124           construct constants and the like. Fixes #526705.
125
126 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
127
128         * NEWS:
129         * RELEASE:
130         * gstreamer.doap:
131           Merge other changes from 0.10.19 release branch.
132
133 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
134
135         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
136
137         * configure.ac:
138         Actually build dlls when cross-compiling with mingw32.
139         Fixes bug #526247.
140
141 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
142
143         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
144
145         * gst/gstpoll.c:
146         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
147
148 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
149
150         * docs/design/draft-latency.txt:
151         Fix typo.
152
153         * docs/design/part-buffering.txt:
154         Update design docs with more buffering ideas.
155
156 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
157
158         * configure.ac:
159           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
160
161 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
162
163         * configure.ac:
164           Revert part that belongs to the preset patch.
165
166 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
167
168         * configure.ac:
169           Add qoutes to the define. Fixes # 525961.
170
171 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
172
173         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
174         (gst_file_index_load), (gst_file_index_add_id),
175         (gst_file_index_get_assoc_entry):
176         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
177         (gst_mem_index_free_id), (gst_mem_index_add_id),
178         (gst_mem_index_index_format):
179         Use GSlice when possible.
180
181 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
182
183         * libs/gst/controller/gstinterpolationcontrolsource.c:
184         (gst_control_point_free),
185         (gst_interpolation_control_source_set_internal):
186         Use GSlice for allocating the control points.
187
188 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
189
190         * plugins/elements/gsttypefindelement.c:
191         (gst_type_find_element_class_init),
192         (gst_type_find_element_set_property),
193         (gst_type_find_element_get_property),
194         (gst_type_find_element_activate):
195         * plugins/elements/gsttypefindelement.h:
196         Cleanup properties.
197         Fix pad leak when peer query fails.
198         We can still typefind when the peer returns -1.
199         Add property to force caps and bypass typefinding. This will be used in
200         uridecodebin.
201         API::force-caps
202
203 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
204
205         * configure.ac:
206         Require GLib 2.12.
207
208         * gst/glib-compat-private.h:
209         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
210         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
211         Unconditionally use GSlice for allocation.
212
213         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
214         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
215         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
216         (gst_structure_free):
217         Use GSlice for allocation.
218
219 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
220
221         * gst/parse/Makefile.am:
222         * gst/parse/grammar.tab.pre.c:
223         * gst/parse/grammar.tab.pre.h:
224         * gst/parse/lex._gst_parse_yy.pre.c:
225         Require a new enough flex and bison and remove the parser hacks to use
226         a pre-regenerated version.
227
228 2008-04-01  Julien Moutte  <julien@fluendo.com>
229
230         patch by: Jason Zhao <E3423C@motorola.com>
231
232         * configure.ac: Add a configure switch to disable option parsing
233         in gst_init.
234         Fixes #522882.
235
236 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
237
238         * configure.ac:
239         * gst/gstregistry.c:
240           MacOS has plugins under .so or under .dylib. Add detection for MacOS
241           and handle this case.
242
243         * gst/gst.c:
244           Add a comment here describing, why we stat each plugin and not try to
245           be smart.
246
247 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
248
249         * libs/gst/base/gstbasetransform.c:
250         (gst_base_transform_prepare_output_buffer):
251         Also unset the GAP flag on buffers if we're working inplace but
252         the element is not GAP-aware.
253
254         Mark a comment as FIXME 0.11.
255
256 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
257
258         * gst/gst.c:
259           Fix type in log message and add one to ease seeing how long registry
260           cache verification takes.
261
262         * gst/gstregistry.c:
263           Only test plugin filenames against G_MODULE_SUFFIX.
264
265 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
266
267         * gst/gstdebugutils.c:
268           Improve handling ghost/proxy pads.
269
270 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
271
272         * docs/gst/gstreamer-sections.txt:
273         * gst/gstpad.c:
274         * gst/gstpad.h:
275           Expose macro to docs and fix link to it.
276
277 2008-03-27  Michael Smith <msmith@fluendo.com>
278
279         * libs/gst/dataprotocol/dataprotocol.c:
280         (gst_dp_packet_from_event_1_0):
281           When calculating GDP body CRC, use the correct pointer. 
282           Fixes part of #522401.
283
284 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
285
286         Patch by: Mark Nauwelaerts <manauw at skynet be>
287
288         * plugins/elements/gstidentity.c: (gst_identity_class_init),
289         (gst_identity_init), (gst_identity_prepare_output_buffer):
290         Identity is not always a passthrough element, it can modify the buffer
291         timestamps when it has a datarate and operates in single-segment mode.
292         We therefore make it an in_place filter with a custom buffer prepare
293         function that conditionally makes the input buffer metadata writable
294         when needed.  Fixes #523985.
295
296 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
297
298         Patch by: Mark Nauwelaerts <manauw at skynet be>
299
300         * gst/gstclock.h:
301         * libs/gst/base/gstbasesrc.h:
302         * libs/gst/base/gstbasetransform.c:
303         * libs/gst/check/gstcheck.c:
304         Small documentation fixes. Fixes #523978.
305
306 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
307
308         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
309         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
310         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
311
312 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
313
314         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
315         (single_queue_underrun_cb):
316         When trying to make room in the queue, bump the max allowed buffers
317         bigger than the current amount of buffers in the queue. this fixes some
318         nasty deadlocks in multiqueue when dynamically changing the limits of
319         the queue.
320
321 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
322
323         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
324
325         * gst/gstcaps.c: (gst_caps_set_simple),
326         (gst_caps_set_simple_valist), (gst_caps_intersect):
327         * gst/gstcaps.h:
328         Constify the field gchar * params in set_simple and friends.
329         Fixes #522326.
330
331 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
332
333         * gst/gstvalue.c: (gst_value_transform_object_string):
334         Transform a GstObject to a more meaningfull string that includes the
335         object type in addition to its name.
336
337 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
338
339         * ChangeLog:
340           ChangeLog surgery to add bugnumber to commit.
341
342 2008-03-23  Rene Stadler  <mail@renestadler.de>
343
344         * libs/gst/base/gstbasetransform.c:
345         (gst_base_transform_set_gap_aware): Fix confusing documentation.
346
347 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
348
349         * gst/gstregistrybinary.c: (gst_registry_binary_write):
350         Rename constant everywhere and don't forget one occurence.
351
352 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
353
354         * gst/gstregistrybinary.c: (gst_registry_binary_write):
355         Align memory to the pointer size even if the architecture allows
356         unaligned memory access. Unaligned memory access usually comes with
357         performance penality.
358
359 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
360
361         * gst/gstregistrybinary.c: (gst_registry_binary_write),
362         (gst_registry_binary_check_magic),
363         (gst_registry_binary_load_pad_template),
364         (gst_registry_binary_load_feature),
365         (gst_registry_binary_load_plugin):
366         Align memory to the pointer size instead of always 32 bit. Fixes
367         unaligned memory accesses on ia64 and friends.
368
369         * gst/gstregistrybinary.h:
370         Bump binary registry format version for this as it changes the
371         format on those architectures that don't have unaligned access
372         and 64 bit pointers.
373
374 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
375
376         * docs/pwg/advanced-dparams.xml:
377         * docs/pwg/building-props.xml:
378         * docs/pwg/other-source.xml:
379         * gst/glib-compat.h:
380         * gst/gstbin.c: (gst_bin_class_init):
381         * gst/gstclock.c: (gst_clock_class_init):
382         * gst/gstindex.c: (gst_index_class_init):
383         * gst/gstobject.c: (gst_object_class_init):
384         * gst/gstpad.c: (gst_pad_class_init):
385         * gst/gstpipeline.c: (gst_pipeline_class_init):
386         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
387         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
388         * libs/gst/base/gstbasetransform.c:
389         (gst_base_transform_class_init):
390         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
391         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
392         (_gst_check_fault_handler_sighandler),
393         (_gst_check_fault_handler_setup), (gst_check_init):
394         * libs/gst/controller/gstcontroller.c:
395         (_gst_controller_class_init):
396         * libs/gst/controller/gstlfocontrolsource.c:
397         (gst_lfo_control_source_class_init):
398         * libs/gst/net/gstnetclientclock.c:
399         (gst_net_client_clock_class_init):
400         * libs/gst/net/gstnettimeprovider.c:
401         (gst_net_time_provider_class_init):
402         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
403         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
404         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
405         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
406         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
407         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
408         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
409         * plugins/elements/gstidentity.c: (gst_identity_class_init):
410         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
411         * plugins/elements/gstqueue.c: (gst_queue_class_init):
412         * plugins/elements/gsttee.c: (gst_tee_class_init):
413         * plugins/elements/gsttypefindelement.c:
414         (gst_type_find_element_class_init):
415         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
416         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
417         use it everywhere for GParamSpecs that use static strings (i.e. all).
418         This gives us less memory usage, fewer allocations and thus less
419         memory defragmentation. Fixes bug #523806.
420
421 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
422
423         * gst/gstminiobject.c: (gst_value_dup_mini_object),
424         (gst_param_spec_mini_object):
425         * gst/gstminiobject.h:
426         * win32/common/libgstreamer.def:
427         * docs/gst/gstreamer-sections.txt:
428         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
429         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
430         GstParamSpecMiniObject into a public header for this.
431
432         This make GstMiniObject a bit more consistent with GObject and makes
433         it possible to extend the param specs.
434
435         gst_value_dup_mini_object is mainly useful for set_property methods.
436
437         Fixes bug #523798.
438
439         * tools/gst-inspect.c: (print_element_properties_info):
440         Print something useful for GstMiniObject properties and not just
441         "unknown type".
442
443 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
444
445         * docs/gst/gstreamer-sections.txt:
446         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
447         (gst_registry_binary_check_magic):
448         * gst/gstregistrybinary.h:
449         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
450         and add it to the (private part) of the docs to fix the build.
451
452 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
453
454         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
455         (gst_registry_binary_check_magic),
456         (gst_registry_binary_read_cache):
457         * gst/gstregistrybinary.h:
458         Don't use GST_MAJORMINOR for the binary registry version. Instead
459         hardcode a value that must be changed whenever the format changes
460         in an incompatible way.
461         Also don't GST_ERROR when there is a version mismatch, just
462         regenerate the registry silently.
463
464 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
465
466         * configure.ac:
467         Back to development - 0.10.18.1
468
469 === release 0.10.18 ===
470
471 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
472
473         * configure.ac:
474           releasing 0.10.18, "So far away"
475
476 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
477
478         * configure.ac:
479         * win32/common/config.h:
480         0.10.17.4 pre-release
481
482 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
483
484         Patch by: Ole André Vadla Ravnås
485             <ole dot andre dot ravnas at tandberg dot com>
486
487         * docs/gst/gstreamer-sections.txt:
488         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
489         (gst_poll_update_winsock_event_mask),
490         (gst_poll_prepare_winsock_active_sets),
491         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
492         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
493         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
494         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
495         (gst_poll_check_ctrl_commands), (gst_poll_wait):
496         * gst/gstpoll.h:
497         * win32/common/libgstreamer.def:
498         Add new function gst_poll_fd_ignored() for improved Windows
499         compatibility.
500         Various minor fixes and cleanups. See #520808.
501
502 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
503
504         * gst/gstindex.c: (gst_index_entry_free):
505         * gst/gstindex.h:
506           Don't free key strings which we don't own. Fixes crash in
507           gst_index_entry_free() (#522741).
508
509         * tests/check/Makefile.am:
510         * tests/check/gst/.cvsignore:
511         * tests/check/gst/gstindex.c: (test_index_entries),
512           (gst_index_suite), (gst_index):
513           Add unit test for the above.
514
515 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
516
517         * win32/common/libgstreamer.def:
518         Remove symbols that were removed recently. Fixes bug #521740.
519
520 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
521
522         * configure.ac:
523         * win32/common/config.h:
524         0.10.17.3 pre-release
525
526 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
527
528         Patch by: Ole André Vadla Ravnås
529             <ole dot andre dot ravnas at tandberg dot com>
530
531         * docs/gst/gstreamer-sections.txt:
532         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
533         (gst_poll_update_winsock_event_mask), (gst_poll_new),
534         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
535         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
536         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
537         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
538         (gst_poll_fd_can_write), (gst_poll_wait),
539         (gst_poll_set_controllable), (gst_poll_restart),
540         (gst_poll_set_flushing):
541         * gst/gstpoll.h:
542         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
543         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
544         (gst_net_time_provider_new):
545         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
546         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
547         * tests/benchmarks/gstpollstress.c: (main):
548         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
549         Remove GstPollMode from the API, it does not make sense to let the
550         application control this.
551         Add support for Win32.
552         Fix the testsuite. Fixes #520671.
553
554 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
555
556         Patch by: Ole André Vadla Ravnås
557             <ole dot andre dot ravnas at tandberg dot com>
558
559         * gst/gstregistrybinary.c:
560         Include io.h for write() and close() when building with MSVC. Fixes
561         bug #520877.
562
563 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
564
565         * configure.ac:
566         * gst/gst_private.h:
567         * gst/gstconfig.h.in:
568         * gst/gstregistry.h:
569         * gst/gstregistrybinary.c:
570         * win32/common/gstconfig.h:
571           Move registry backend API to private headers where we can. Add
572           fixme-0.11 comments for the others. Add stubs for the xml backend when
573           using the binary to ensure they functions exists (they should not be
574           used though). Fixes #520756.
575
576 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
577
578         * configure.ac:
579         * win32/common/config.h:
580         0.10.17.2 prelease
581
582 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
583
584         * gst/gstregistrybinary.c: (gst_registry_binary_write),
585         (gst_registry_binary_read_cache):
586         * gst/gstregistryxml.c: (gst_registry_save):
587         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
588         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
589         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
590         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
591         Switch to using portabl gsize/gssize instead of size_t/ssize_t
592         Fixes #520152
593
594 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
595
596         * gst/gstminiobject.c:
597         Import gst_private.h before any other header that might include other
598         glib headers. This fixes the build on windows using native compilers.
599
600 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
601
602         * win32/common/gstconfig.h:
603           Add here too, just for completeness.
604
605 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
606
607         * configure.ac:
608         * gst/gstconfig.h.in:
609         * gst/gstregistry.h:
610           Fix broken use of config.h-defined preprocessor directive in a public
611           header file. Add a corresponding define to gstconfig.h, since we can't
612           really remove those function declarations from the header file now
613           (or can we? and why are they there in the first place?).
614
615 2008-03-03  Andy Wingo  <wingo@pobox.com>
616
617         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
618         the new warning.
619
620         * gst/gststructure.c (gst_structure_from_string): Warn if
621         structure_from_string didn't consume the whole string, but the
622         caller did not provide an end pointer.
623
624 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
625
626         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
627
628         * gst/gstregistryxml.c: (read_string), (load_feature):
629           Strings allocated by libxml2 should be freed with xmlFree(), not
630           with g_free(). Fixes issues on windows in certain contexts (#519698).
631
632 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
633
634         * gst/gstinterface.c: (gst_element_implements_interface):
635           Don't crash if the element supports the interface queried, but does
636           not implement GstImplementsInterface. Fixes #519584.
637
638         * tests/check/Makefile.am:
639         * tests/check/gst/.cvsignore:
640         * tests/check/gst/gstinterface.c:
641           Add unit test for the above.
642
643 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
644
645         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
646         Small doc update.
647
648 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
649
650         * gst/gstsegment.c: (gst_segment_set_seek),
651         (gst_segment_to_stream_time):
652         Improve some comment.
653         Update variables where it makes more sense.
654
655 2008-02-29  Rene Stadler  <mail@renestadler.de>
656
657         * gst/gsturi.c: (gst_uri_handler_get_protocols):
658         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
659         URIHandlers implemented using language bindings.
660
661 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
662
663         * gst/gstelementfactory.h:
664         * tests/check/elements/fakesink.c:
665         * tests/check/elements/fakesrc.c: (setup_fakesrc):
666         * tests/check/elements/fdsrc.c: (setup_fdsrc):
667         * tests/check/elements/filesink.c: (setup_filesink):
668         * tests/check/elements/filesrc.c: (setup_filesrc):
669         * tests/check/elements/identity.c: (setup_identity):
670         * tests/check/elements/tee.c:
671         * tests/check/generic/sinks.c:
672         * tests/check/generic/states.c: (setup), (teardown):
673         * tests/check/gst/gst.c:
674         * tests/check/gst/gstabi.c:
675         * tests/check/gst/gstbin.c:
676         * tests/check/gst/gstbus.c: (pull_messages):
677         * tests/check/gst/gstcaps.c:
678         * tests/check/gst/gstelement.c:
679         * tests/check/gst/gstevent.c:
680         * tests/check/gst/gstghostpad.c:
681         * tests/check/gst/gstiterator.c:
682         * tests/check/gst/gstmessage.c:
683         * tests/check/gst/gstminiobject.c: (my_foo_init):
684         * tests/check/gst/gstobject.c: (thread_name_object),
685         (gst_object_suite):
686         * tests/check/gst/gstpad.c:
687         * tests/check/gst/gstplugin.c:
688         * tests/check/gst/gstpoll.c:
689         * tests/check/gst/gstquery.c:
690         * tests/check/gst/gstsegment.c:
691         * tests/check/gst/gststructure.c:
692         * tests/check/gst/gstsystemclock.c:
693         * tests/check/gst/gsttask.c:
694         * tests/check/gst/gstutils.c:
695         * tests/check/gst/gstvalue.c:
696         * tests/check/gst/struct_hppa.h:
697         * tests/check/gst/struct_i386.h:
698         * tests/check/gst/struct_ppc32.h:
699         * tests/check/gst/struct_ppc64.h:
700         * tests/check/gst/struct_x86_64.h:
701         * tests/check/libs/adapter.c: (create_and_fill_adapter):
702         * tests/check/libs/basesrc.c:
703         * tests/check/libs/controller.c: (GST_START_TEST):
704         * tests/check/libs/gdp.c:
705         * tests/check/libs/gstnetclientclock.c:
706         * tests/check/libs/gstnettimeprovider.c:
707         * tests/check/libs/libsabi.c:
708         * tests/check/libs/struct_hppa.h:
709         * tests/check/libs/struct_i386.h:
710         * tests/check/libs/struct_ppc32.h:
711         * tests/check/libs/struct_ppc64.h:
712         * tests/check/libs/struct_x86_64.h:
713         * tests/check/pipelines/cleanup.c:
714         * tests/check/pipelines/simple-launch-lines.c:
715         * tests/check/pipelines/stress.c:
716         And correct even more valid sparse warnings.
717
718         * win32/common/libgstreamer.def:
719         Add gst_poll_fd_init to the list of symbols.
720
721 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
722
723         * gst/gstconfig.h.in:
724         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
725         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
726         (gst_check_log_critical_func), (gst_check_drop_buffers),
727         (gst_check_element_push_buffer_list):
728         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
729         (gst_controller_get_type):
730         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
731         (gst_object_get_controller), (gst_object_get_control_source):
732         * libs/gst/controller/gstinterpolationcontrolsource.c:
733         (gst_interpolation_control_source_new):
734         * libs/gst/controller/gstlfocontrolsource.c:
735         (gst_lfo_control_source_new):
736         * libs/gst/dataprotocol/dataprotocol.c:
737         (gst_dp_event_from_packet_0_2):
738         * plugins/elements/gstfdsrc.c:
739         * plugins/elements/gstmultiqueue.c:
740         * plugins/elements/gsttee.c:
741         * plugins/elements/gsttypefindelement.c:
742         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
743         (gst_file_index_add_association):
744         * plugins/indexers/gstmemindex.c:
745         * tests/benchmarks/gstpollstress.c: (mess_some_more):
746         * tests/check/elements/queue.c: (setup_queue):
747         * tests/check/gst/gstpipeline.c:
748         * tests/check/libs/collectpads.c: (setup), (teardown),
749         (gst_collect_pads_suite):
750         * tests/examples/adapter/adapter_test.c:
751         * tests/examples/metadata/read-metadata.c: (make_pipeline):
752         * tests/examples/xml/createxml.c:
753         * tests/examples/xml/runxml.c:
754         * tools/gst-inspect.c:
755         * tools/gst-run.c:
756         Correct all relevant warnings found by the sparse semantic code
757         analyzer. This include marking several symbols static, using
758         NULL instead of 0 for pointers, not using variable sized arrays
759         on the stack, moving variable declarations to the beginning of
760         a block and using "foo (void)" instead of "foo ()" for declarations.
761
762 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
763
764         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
765         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
766         Don't reset GstPollFDs, this is not necessary at all.
767
768         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
769         (delayed_restart), (delayed_control):
770         Use GST_POLL_FD_INIT.
771
772 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
773
774         * gst/gstpoll.c: (gst_poll_fd_init):
775         * gst/gstpoll.h:
776         Added Since tags.
777
778         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
779         Use some more init macros.
780
781 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
782
783         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
784         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
785         Use init macros and functions.
786
787 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
788
789         * docs/gst/gstreamer-sections.txt:
790         * gst/gstpoll.c: (gst_poll_fd_init):
791         * gst/gstpoll.h:
792         Add INIT macro and _init method for initializing the GstPollFD.
793
794 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
795
796         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
797         (gst_fd_sink_update_fd):
798         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
799         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
800         (delayed_restart), (delayed_control):
801         Initialize some uninitialized variables as spotted by valgrind.
802
803 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
804
805         * tests/benchmarks/Makefile.am:
806         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
807         (main):
808         Add poll stress test.
809
810 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
811
812         Patch by: Peter Kjellerstedt <pkj at axis dot com>
813
814         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
815         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
816         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
817         * plugins/elements/gstfdsink.h:
818         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
819         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
820         (gst_fd_src_unlock_stop), (gst_fd_src_create),
821         (gst_fd_src_uri_set_uri):
822         * plugins/elements/gstfdsrc.h:
823         Port to GstPoll. See #505417.
824
825 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
826
827         * win32/common/libgstreamer.def:
828         Add new gst_poll_ symbols to win32 defs.
829
830 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
831
832         * docs/libs/gstreamer-libs-sections.txt:
833         * libs/gst/net/gstnetclientclock.c:
834         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
835         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
836         (gst_net_client_clock_thread), (gst_net_client_clock_start),
837         (gst_net_client_clock_stop), (gst_net_client_clock_new):
838         * libs/gst/net/gstnetclientclock.h:
839         * libs/gst/net/gstnettimeprovider.c:
840         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
841         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
842         (gst_net_time_provider_start), (gst_net_time_provider_stop),
843         (gst_net_time_provider_new):
844         * libs/gst/net/gstnettimeprovider.h:
845         Use a private stuct to not break ABI.
846
847 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
848
849         Patch by: Peter Kjellerstedt <pkj at axis dot com>
850
851         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
852         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
853         (gst_net_client_clock_thread), (gst_net_client_clock_start),
854         (gst_net_client_clock_stop), (gst_net_client_clock_new):
855         * libs/gst/net/gstnetclientclock.h:
856         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
857         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
858         (gst_net_time_provider_start), (gst_net_time_provider_stop),
859         (gst_net_time_provider_new):
860         * libs/gst/net/gstnettimeprovider.h:
861         Massive code removal and cleanups because of GstPoll.
862         Fixes #505417.
863
864 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
865
866         * configure.ac:
867         Add checks for poll, ppoll and pselect.
868
869         * docs/gst/gstreamer-docs.sgml:
870         * docs/gst/gstreamer-sections.txt:
871         Add docs for GstPoll.
872
873         * gst/Makefile.am:
874         * gst/gst.h:
875         * gst/gstpoll.c: (find_index), (selectable_fds),
876         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
877         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
878         (gst_poll_set_mode), (gst_poll_get_mode),
879         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
880         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
881         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
882         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
883         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
884         (gst_poll_fd_can_write), (gst_poll_wait),
885         (gst_poll_set_controllable), (gst_poll_restart),
886         (gst_poll_set_flushing):
887         * gst/gstpoll.h:
888         Add generic poll abstraction. We ideally don't want to have this in core
889         here but in glib intead...
890         This code will be used in various network elements and ultimately for
891         the nanosecond precision monotonic clock (that's why it's here in core).
892         It'll allow us to implement cancelable socket operations for windows too.
893
894         * tests/check/Makefile.am:
895         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
896         (delayed_stop), (delayed_restart), (delayed_flush),
897         (delayed_control), (gst_poll_suite):
898         Add GstPoll unit test.
899
900 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
901
902         * gst/gstfilter.c:
903           Improve documentation of gst_filter_run(). Fixes #518627.
904
905 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
906
907         * docs/README:
908           Add a few lines about the new 'check-inspected-versions' target.
909
910 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
911
912         * tests/check/gst/gstevent.c:
913           Add qos to the event test. Rename tcase/tsuite; is not only about
914           custom events.
915
916 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
917
918         * plugins/elements/gstqueue.c:
919           Ensure that buffer metadata is writeable, before modifying. Spotted by
920           Mike.
921
922 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
923
924         * plugins/elements/gstqueue.c:
925         * plugins/elements/gstqueue.h:
926           When dropping buffers in leaky modes, mark next buffers we sent as
927           DISCONT.
928
929 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
930
931         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
932           Also, if mmap() fails that would be a READ error, not OPEN_READ.
933
934 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
935
936         * plugins/elements/Makefile.am:
937         * plugins/elements/gstbufferstore.c:
938         * plugins/elements/gstbufferstore.h:
939         * plugins/elements/gsttypefindelement.h:
940           Remove GstBufferStore, no idea why we were still building it.
941           It's not used anywhere and superseded by GstAdapter.
942
943         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
944           (gst_file_src_create_mmap):
945         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
946           Printf format fixes for 64-bit integers.
947
948 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
949
950         * configure.ac:
951         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
952         We're not in 0.8 times anymore.
953
954 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
955
956         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
957         (gst_check_element_push_buffer_list):
958         * libs/gst/check/gstcheck.h:
959         Make the declaration in the header for
960         gst_check_element_push_buffer_list match the implementation.
961
962         Fix up spelling, grammar and wording of the documentation in a few
963         places, and add the Since keyword to new API functions.
964         Use g_list_delete_link instead of g_list_remove in
965         gst_check_drop_buffers, since it's immeasurably more efficient.
966
967         * tests/check/elements/fakesrc.c: (GST_START_TEST):
968         Use new gst_check_drop_buffers function where appropriate.
969
970         * win32/common/libgstbase.def:
971         * win32/common/libgstreamer.def:
972         Add new symbols gst_collect_pads_take_buffer, 
973         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
974         exports
975
976         Changelog surgery to add API keyword to new gst_check API.
977
978 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
979
980         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
981         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
982         Update pre-generated flex files with flex 2.3.34.
983
984 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
985
986         * gst/gstminiobject.c:
987           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
988           friendly to subclasses and not require them to know all internals
989           of their parent class.
990
991 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
992
993         * docs/libs/gstreamer-libs-sections.txt:
994         * libs/gst/base/gstcollectpads.c:
995         * libs/gst/base/gstcollectpads.h:
996           Add sub-buffer functions to collectpads. Fixes #516187.
997           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
998
999 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
1000
1001         * gst/gstbuffer.c:
1002           Copy selected buffer-flags when creating subbuffers.
1003           Fixes #516395.
1004
1005 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
1006
1007         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
1008         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
1009         * gst/gstmessage.c: (gst_message_class_init),
1010         (gst_message_finalize):
1011         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
1012         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
1013         (gst_mmap_buffer_finalize):
1014         Properly chain up finalize functions to the parent class.
1015
1016 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
1017
1018         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
1019
1020         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
1021         (gst_index_set_resolver_full):
1022         * gst/gstindex.h:
1023         Add new function with option to dispose of user_data in resolver.
1024         Actually call the dispose function when finalizing the object and not
1025         just when changing the resolver/filter.
1026         API: GstIndex::gst_index_set_resolver_full()
1027
1028         * docs/gst/gstreamer-sections.txt:
1029         Add new function to docs. Fixes #515469.
1030
1031 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
1032
1033         * gst/gstindex.c: (gst_index_finalize):
1034         Chain up finalize to the parent class. Fixes leaking the GstObject
1035         name and other things.
1036
1037 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
1038
1039         * configure.ac:
1040         Make DISABLE_DEPRECATED defined *only* during CVS, not during
1041         pre-releases or releases.
1042
1043         * docs/faq/gst-uninstalled:
1044         Add gst-plugins-gl
1045
1046         * docs/random/release:
1047         Change one of the steps - we only upload core & base to Gnome FTP
1048
1049 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
1050
1051         * gst/gstconfig.h.in:
1052           Add 'id' for example.
1053
1054         * gst/gstpad.c:
1055         * gst/gstutils.c:
1056         * plugins/elements/gstfdsink.c:
1057           Link to signals. Doc and comment fixes.
1058
1059 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
1060
1061         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
1062         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
1063           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
1064           unused and unimplemented; finally, it is plugin features, not
1065           plugins, that have ranks.
1066           
1067 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
1068
1069         * gst/gstpluginfeature.h:
1070           Clarify GstRank range docs.
1071
1072 2008-02-05  David Schleef  <ds@schleef.org>
1073
1074         * gst/gst.c: Add a separate gst_deinitialized that prevents
1075           gst_init() from being called after gst_deinit().  Fixes #509559
1076
1077 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1078
1079         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
1080         (gst_bin_class_init):
1081         * gst/gstelement.c: (gst_element_base_class_init),
1082         (gst_element_class_add_pad_template):
1083         * gst/gstpadtemplate.c: (gst_pad_template_init):
1084         * gst/gstpipeline.c: (gst_pipeline_get_type),
1085         (gst_pipeline_base_init), (gst_pipeline_class_init):
1086         * libs/gst/base/gstbasesink.c:
1087         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
1088         (gst_base_src_base_init), (gst_base_src_class_init):
1089         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
1090         (gst_capsfilter_class_init):
1091         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
1092         (gst_fake_sink_class_init):
1093         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
1094         (gst_fake_src_class_init):
1095         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
1096         (gst_fd_sink_class_init):
1097         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
1098         (gst_fd_src_class_init):
1099         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
1100         (gst_file_sink_class_init):
1101         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
1102         (gst_file_src_class_init):
1103         * plugins/elements/gstidentity.c: (gst_identity_base_init),
1104         (gst_identity_class_init):
1105         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
1106         (gst_multi_queue_class_init):
1107         * plugins/elements/gstqueue.c: (gst_queue_base_init),
1108         (gst_queue_class_init):
1109         * plugins/elements/gsttee.c: (gst_tee_base_init),
1110         (gst_tee_class_init):
1111         * plugins/elements/gsttypefindelement.c:
1112         (gst_type_find_element_base_init),
1113         (gst_type_find_element_class_init):
1114         * tests/check/gst/gstelement.c: (gst_element_suite):
1115         Revert previous changes to the behaviour of GstPadTemplates, etc
1116         and the possiblity to call them in class_init as it breaks too
1117         many elements. Reopens bug #491501.
1118
1119         Should be applied again for 0.11, thus added a few FIXME 0.11 at
1120         several places.
1121
1122 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
1123
1124         * tools/gst-launch.c:
1125         Dump one graph per pipeline state-change and state change name
1126         (if GST_DEBUG_DUMP_DOT_DIR is set).
1127
1128 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
1129
1130         * gst/gstpad.c:
1131         * tests/check/gst/gstpad.c:
1132         Be sure that we have a new copy of the caps and not
1133         reffed caps from a template
1134
1135 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
1136
1137         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
1138         * gst/gstpipeline.c: (gst_pipeline_get_type),
1139         (gst_pipeline_class_init):
1140         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
1141         (gst_base_sink_class_init):
1142         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
1143         (gst_base_src_class_init):
1144         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
1145         (gst_base_transform_class_init):
1146         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1147         (gst_collect_pads_class_init):
1148         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
1149         * libs/gst/net/gstnettimeprovider.c:
1150         (gst_net_time_provider_base_init),
1151         (gst_net_time_provider_class_init):
1152         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
1153         (gst_capsfilter_class_init):
1154         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
1155         (gst_fake_sink_class_init):
1156         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
1157         (gst_fake_src_class_init):
1158         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
1159         (gst_fd_sink_class_init):
1160         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
1161         (gst_fd_src_class_init):
1162         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
1163         (gst_file_sink_class_init):
1164         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
1165         (gst_file_src_class_init):
1166         * plugins/elements/gstidentity.c: (gst_identity_base_init),
1167         (gst_identity_class_init):
1168         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
1169         (gst_multi_queue_class_init):
1170         * plugins/elements/gstqueue.c: (gst_queue_base_init),
1171         (gst_queue_class_init):
1172         * plugins/elements/gsttee.c: (gst_tee_base_init),
1173         (gst_tee_class_init):
1174         * plugins/elements/gsttypefindelement.c:
1175         (gst_type_find_element_base_init),
1176         (gst_type_find_element_class_init):
1177         Don't use base_init where not absolutely necessary. For example it's
1178         not necessary anymore for adding pad templates or setting element
1179         details.
1180
1181         Leave empty base_init functions in several places as GST_BOILERPLATE
1182         still defines and uses them.
1183
1184 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
1185
1186         * gst/gstelement.c: (gst_element_base_class_init),
1187         (gst_element_class_add_pad_template):
1188         * gst/gstpadtemplate.c:
1189         Make it possible (and recommended) to set element details and add
1190         pad templates in the class_init functions by copying the details/pad
1191         templates in GstElement's base_init.
1192
1193         Also make it possible to replace existing pad templates by adding
1194         a new one with the same name. This was done in a hackish fashion
1195         in same elements before already.
1196
1197         Don't reference pad templates that are added a second time. A
1198         new pad template has a refcount of one and is not floating anymore
1199         and to be owned by the element's class. Make this more explicit by
1200         mentioning it in the docs of gst_element_class_add_pad_template().
1201
1202         These changes are backwards compatible. Fixes bug #491501.
1203
1204         * tests/check/gst/gstelement.c:
1205         Add unit test for setting element details, adding pad templates and
1206         replacing them in a subclass.
1207
1208 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
1209
1210         * tools/gst-inspect.c: (print_interfaces),
1211         (print_element_properties_info), (print_pad_info),
1212         (print_signal_info), (print_element_info):
1213         Fix a few memory leaks.
1214
1215 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
1216
1217         * docs/libs/gstreamer-libs-sections.txt:
1218         * libs/gst/check/gstcheck.c:
1219         * libs/gst/check/gstcheck.h:
1220         Add more functions for unit testing: gst_check_drop_buffers,
1221         gst_check_caps_equal, gst_check_element_push_buffer_list,
1222         gst_check_element_push_buffer
1223         API: gst_check_drop_buffers
1224         API: gst_check_caps_equal
1225         API: gst_check_element_push_buffer_list
1226         API: gst_check_element_push_buffer
1227
1228 2008-02-01  Julien Moutte  <julien@fluendo.com>
1229
1230         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
1231         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
1232         (gst_index_finalize), (gst_index_entry_free),
1233         (gst_index_add_association): Fix memory leaks.
1234         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
1235         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
1236         (gst_mem_index_free_format), (gst_mem_index_free_id),
1237         (gst_mem_index_finalize): Fix memory leaks.
1238         * win32/common/config.h: Updated to CVS HEAD.
1239
1240 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
1241
1242         * docs/README:
1243           Some more details about how the plugin docs works.
1244
1245         * docs/plugins/gstreamer-plugins-sections.txt:
1246           Whitespace cleanup.
1247
1248 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
1249
1250         * gst/parse/grammar.tab.pre.c:
1251         * gst/parse/grammar.tab.pre.h:
1252         * gst/parse/grammar.y:
1253         * gst/parse/lex._gst_parse_yy.pre.c:
1254           Add delayed set-property. This allows to set properties on dynamicaly
1255           created objects (pads in videomxer). Fixes #509391.
1256
1257 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
1258
1259         * gst/gstutils.c:
1260         Check if caps are not NULL (fix bug #510194)
1261
1262 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1263
1264         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
1265         (gst_base_sink_get_position_paused):
1266         Add fixme regarding EOS in pull mode.
1267         Fix position reporting in PAUSED for negative rates.
1268
1269 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1270
1271         * gst/gstminiobject.c: (gst_mini_object_replace):
1272         When replacing a miniobject, do a quick equality check first so that we
1273         can avoid a ref/unref pair.
1274
1275 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
1276
1277         * docs/design/part-synchronisation.txt:
1278         Update some docs.
1279
1280         * docs/plugins/Makefile.am:
1281         * docs/plugins/gstreamer-plugins-docs.sgml:
1282         * docs/plugins/gstreamer-plugins-sections.txt:
1283         * plugins/elements/gstmultiqueue.c:
1284         Add multiqueue to the docs.
1285
1286 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
1287
1288         * configure.ac:
1289           Back to CVS
1290
1291 === release 0.10.17 ===
1292
1293 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
1294
1295         * configure.ac:
1296           releasing 0.10.17, "Due Negligence"
1297
1298 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
1299
1300         * gst/gstutils.c:
1301         Revert caps != NULL check temporarily for 0.10.17 release.
1302
1303 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
1304
1305         * gst/gstutils.c:
1306         Check if caps are not NULL (fix bug #510194)
1307
1308 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
1309
1310         * gst/gstutils.c:
1311         Fix compilation on systems that have posix timers but no
1312         monotonic clock.
1313         Fixes: #512715
1314         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
1315         dot net>
1316
1317 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
1318
1319         * tools/gst-inspect.c:
1320         Revert previous commit in preparation for an impromptu 0.10.17 release
1321
1322 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
1323
1324         * tools/gst-inspect.c: (print_interfaces),
1325         (print_element_properties_info), (print_pad_info),
1326         (print_signal_info), (print_element_info):
1327         Fix a few memory leaks.
1328
1329 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
1330
1331         * configure.ac:
1332         Back to CVS
1333
1334 === release 0.10.16 ===
1335
1336 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
1337
1338         * configure.ac:
1339           releasing 0.10.16, "Special Dispensation"
1340
1341 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
1342
1343         * configure.ac:
1344           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
1345           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
1346           not fail when trying to crosscompile on OpenEmbedded (#511750).
1347
1348 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
1349
1350         * docs/manuals.mak:
1351         Use $(MAKE) instead of make to fix the build if GNU make is
1352         called different. Fixes bug #510747.
1353
1354 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
1355
1356         * gst/gstplugin.c: (_gst_plugin_initialize):
1357           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
1358           again, which I broke two commits ago when changing the API
1359           of gst_plugin_register_static(): the g_list_foreach() in
1360           _gst_plugin_register_static still assumed the old function
1361           signature and would therefore fail (re-fixes #510187).
1362
1363         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
1364           (_gst_plugin_register_static), (gst_plugin_register_static):
1365           Revert the (technically correct) change to call g_thread_init() from
1366           the pre-main() constructor. This will break programs which call
1367           g_thread_init() without an if (!g_thread_supported()) guard in their
1368           main function. We could just blame it on GLib or the application, but
1369           it's probably best to just avoid this altogether and simply not use
1370           any GLib functions here and use plain old malloc() with a simple
1371           array to store the plugins to register later when gst_init() is
1372           finally called (re-fixes #510187).
1373
1374         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
1375           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
1376           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
1377           (GST_START_TEST), (gst_plugin_suite):
1378           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
1379           works.
1380
1381 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1382
1383         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
1384           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
1385           This makes gtk-doc complain, but results in slightly better
1386           compiler errors. The old _gst_plugin_register_static() is
1387           still guarded, so there'll be a compiler warning about that
1388           instead. Fixes #510187 too.
1389
1390 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1391
1392         * gst/gst.c: (init_post):
1393         * gst/gstplugin.c: (_gst_plugin_register_static),
1394           (gst_plugin_register_static), (_gst_plugin_initialize):
1395         * gst/gstplugin.h: (GstPluginFilter):
1396           Change API of gst_plugin_register_static() to not take
1397           a GstPluginDesc, but rather just take all the arguments
1398           in a GstPluginDesc directly. This is more intuitive and
1399           avoids certain mistakes when porting code from
1400           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
1401           Fixes #510187.
1402
1403         * tests/check/gst/gstplugin.c:
1404           Fix up for changed API.
1405
1406 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
1407
1408         * docs/faq/legal.xml:
1409           Update FAQ, Totem actually has an exception these days.
1410
1411 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
1412
1413         * win32/common/libgstreamer.def:
1414         Add new API declarations
1415
1416 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
1417
1418         * gst/gstminiobject.c:
1419           Spelling fixes for the API docs.
1420
1421 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
1422
1423         * libs/gst/base/gstbasetransform.c:
1424           Fix long property description for QoS.
1425
1426 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
1427
1428         * gst/gst.c:
1429         _gst_trace_on is already provided by gsttrace.h, no need to declare
1430         it ourselves.
1431
1432         * docs/libs/gstreamer-libs-sections.txt:
1433         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
1434         and remove strange tcase_add_test which is outputting a warning.
1435
1436         * libs/gst/check/gstcheck.c:
1437         * libs/gst/check/gstcheck.h:
1438         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
1439         and define them in gstcheck.c instead of having every .c file whcih
1440         includes gstcheck.h be defining its own copy and relying on symbol
1441         interposing to marry them all, which doesn't work on Solaris.
1442
1443         * tests/check/elements/identity.c: (GST_START_TEST):
1444         Don't define 'buffers' locally, it comes from libgstcheck.
1445
1446         * tests/check/generic/sinks.c: (send_buffer):
1447         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
1448
1449         * tests/check/gst/gststructure.c: (GST_START_TEST):
1450         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
1451         * tests/check/gst/gstutils.c: (GST_START_TEST):
1452         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1453         Add a bunch of casts to make various constants fit the types
1454         they're being assigned to.
1455
1456 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
1457
1458         * gst/gstchildproxy.c:
1459           Improve docs and add some ideas for making this more general-purpose.
1460
1461 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
1462
1463         * gst/gst_private.h: (GST_CAT_TYPES):
1464           Add GST_CAT_TYPES, for consistency, and so that the other
1465           debug categories don't make fun of it. Spotted by Saur on IRC.
1466
1467 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
1468
1469         * gst/parse/Makefile.am:
1470           Move types.h from EXTRA_DIST to noinst_HEADERS.
1471
1472 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
1473
1474         * autogen.sh:
1475           Add -Wno-portability to the automake parameters to stop warnings
1476           about GNU make extensions being used. We require GNU make in almost
1477           every Makefile anyway.
1478
1479         * configure.ac:
1480           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
1481           at the same time is required for per target flags.
1482
1483 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1484
1485         * gst/gstmacros.h:
1486           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
1487           __GNUC__ is defined before using it.
1488
1489 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1490
1491         * docs/gst/gstreamer-sections.txt:
1492         * gst/gst.c: (init_post):
1493         * gst/gstplugin.c: (_gst_plugin_register_static),
1494           (gst_plugin_register_static), (_gst_plugin_initialize),
1495           (gst_plugin_register_func):
1496         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
1497           API: add gst_plugin_register_static() and deprecate
1498           GST_PLUGIN_DEFINE_STATIC, since it's not portable
1499           (#498924).
1500           Also, in _gst_plugin_register_static(), make sure to call
1501           g_thread_init() before calling GLib functions such as
1502           g_list_append() if we're not initialised yet, since that
1503           may lead to random crashes with older GSlice/GLib versions.
1504
1505         * tests/check/gst/gstplugin.c:
1506           Adapt unit test to above changes.
1507
1508 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1509
1510         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
1511         * gst/gstcaps.c: (gst_caps_to_string):
1512         * gst/gststructure.c: (GST_ASCII_IS_STRING),
1513           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
1514           Yet another gratuitous GString micro-optimisation: add a (private)
1515           function that serialises a structure appending to an existing
1516           GString, so that when we serialise caps we don't need to alloc+free
1517           a throwaway GString for each structure (each of which also entailing
1518           multiple reallocs on the way); also use g_string_sized_new() in
1519           various places with an approximate string length to avoid reallocs
1520           within GString. See #500143.
1521
1522 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1523
1524         * gst/gststructure.c: (gst_structure_id_set_value):
1525           Always check UTF-8 conformance of structure strings and not only
1526           if the debugging system is enabled; reasoning: the behaviour of
1527           the actual code shouldn't really change depending on whether the
1528           debugging system is enabled or not (#508291).
1529
1530 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
1531
1532         * Makefile.am:
1533           Remove old coverage target in favour of "make lcov".
1534
1535 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1536
1537         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1538         (gst_base_src_loop):
1539         The start segment for reverse playback goes from start to last_stop.
1540
1541 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1542
1543         Patch by: Peter Kjellerstedt <pkj axis com>
1544
1545         * gst/gstclock.h:
1546         Cast the results from the timeval/spec_to_time macros to what the
1547         docs say it casts to, a GstClockTime. fixes #508175.
1548
1549 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
1550
1551         * gst/gstbuffer.c:
1552         Update some comments.
1553
1554         * tools/gst-inspect.c: (print_element_properties_info):
1555         Improve printing of flags.
1556
1557 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1558
1559         * libs/gst/base/gstbasetransform.c:
1560           (gst_base_transform_transform_size):
1561           Print element name with g_warning() if there's a problem
1562           with the unit size.
1563
1564 2008-01-07  David Schleef  <ds@schleef.org>
1565
1566         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
1567
1568         * libs/gst/controller/gstcontroller.h:
1569         * libs/gst/controller/gstcontrolsource.h:
1570         * libs/gst/controller/gstinterpolationcontrolsource.h:
1571         * libs/gst/controller/gstlfocontrolsource.h:
1572         * libs/gst/dataprotocol/dataprotocol.h:
1573           Fix empty prototypes.  Fixes bug #507957.
1574
1575 2008-01-07  David Schleef  <ds@schleef.org>
1576
1577         * docs/faq/dependencies.xml: Fix typo.
1578
1579 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1580
1581         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
1582         (gst_base_src_loop):
1583         Don't update the last_stop position in do_seek, that's the position we
1584         did a seek to.
1585         Read backwards when we have a negative rate.
1586
1587         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
1588         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
1589         (filesrc_suite):
1590         Add check for reverse reading.
1591
1592 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
1593
1594         Patch by: Alexis Ballier <aballier at gentoo org>
1595
1596         * tests/check/gst/gstabi.c:
1597         * tests/check/gst/struct_ppc64.h:
1598         * tests/check/libs/libsabi.c:
1599         * tests/check/libs/struct_ppc64.h:
1600           Decide which header to include based on the userland ABI target
1601           and not the kernel/cpu. Fix up structure sizes of ppc64 header
1602           for 64-bit userland (#503590).  Might need something similar for
1603           x86 too.
1604
1605 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1606
1607         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
1608           Log the reason why fopen fails in addition to the fact that it failed.
1609           
1610 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
1611
1612         * gst/parse/parse.l:
1613         Use "%option never-interactive" to prevent useless calls to isatty()
1614         on every input when parsing. Also use "%option noinput" to not define
1615         the static input/yyinput functions which we don't use anyway. This
1616         removes a compiler warning with gcc 4.3 and saves some bytes in the
1617         library.
1618         
1619         * gst/parse/lex._gst_parse_yy.pre.c:
1620         Regenerated for the above change.
1621
1622 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1623
1624         * gst/gstpad.c: (fixate_value):
1625         Don't crash when trying to fixate and empty list.
1626         Fixes #506643.
1627
1628 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
1629
1630         * docs/faq/gst-uninstalled:
1631         Clarify the comments to make the usage of this script and what it
1632         does easier to understand.
1633
1634 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
1635
1636         * tools/gst-plot-timeline.py:
1637         Add more options to gst-plot-timeline
1638
1639 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1640
1641         * docs/design/part-synchronisation.txt:
1642         Some more info on how the stream_time in GstBaseSink is done.
1643
1644 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
1645
1646         * tests/check/generic/sinks.c: (gst_sinks_suite):
1647           Put back the tcase_set_timeout(), apparently it's needed after
1648           all; fix it up in a way that makes things work with valgrind too.
1649
1650 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
1651
1652         * gst/gstdebugutils.c:
1653           Add warning when failed to open file for writing.
1654
1655 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1656
1657         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
1658
1659         * gst/gstvalue.c: (gst_value_is_fixed):
1660           Optimisation: bail out of the loop as early as possible (#500143).
1661
1662 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1663
1664         * gst/gstcaps.c: (gst_caps_to_string):
1665         * gst/gstinfo.c: (gst_debug_construct_term_color):
1666         * gst/gstparse.c: (gst_parse_launchv):
1667         * gst/gstutils.c: (gst_util_dump_mem):
1668         * gst/gstvalue.c: (gst_value_serialize_any_list),
1669           (gst_value_transform_any_list_string):
1670           Bunch of gratuitous nano-optimisations.
1671
1672 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
1673
1674         * tests/check/generic/sinks.c: (async_done_func),
1675           (async_done_eos_func):
1676           Fix leak in unit test (bus sync handler must unref the message
1677           if it returns GST_BUS_DROP). Don't fiddle with the default test
1678           timeout, this is smaller than the current preconfigured value
1679           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
1680           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
1681
1682 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1683
1684         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
1685
1686         * configure.ac:
1687         Check for stdio_ext.h for the filesink changes.
1688
1689         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
1690         (gst_file_sink_class_init), (gst_file_sink_init),
1691         (gst_file_sink_dispose), (gst_file_sink_set_property),
1692         (gst_file_sink_get_property), (gst_file_sink_open_file),
1693         (gst_file_sink_close_file):
1694         * plugins/elements/gstfilesink.h:
1695         Add two properties to control the buffering mode and size.
1696         API: GstFileSink::buffer-mode
1697         API: GstFileSink::buffer-size
1698         Fixes #500150.
1699
1700 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
1701
1702         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
1703         Add some more docs to explain why a FIXME was wrongly added. 
1704
1705 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
1706
1707         * gst/gstobject.c:
1708           Fix typo in the gst_object_{ref,unref} documentation.
1709
1710 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
1711
1712         * tests/check/libs/controller.c:
1713         * tests/check/libs/typefindhelper.c:
1714         * tests/check/pipelines/parse-launch.c:
1715           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
1716           going to be deprecated (see #498924).
1717
1718 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
1719
1720         * gst/gsttypefind.c: (gst_type_find_register):
1721           Make gst_type_find_register work for static typefind functions,
1722           ie. allow passing plugin == NULL (prerequisite for #498924).
1723
1724         * gst/gstelementfactory.c: (gst_element_register):
1725           Small docs addition.
1726
1727 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1728
1729         * gst/gstpad.c: (gst_pad_dispose):
1730         Really unlink the peer pad instead of setting the peer pointer to NULL
1731         when we dispose the pad.
1732         This correctly calls the unlink functions and makes sure that the peer
1733         does not have a handle to invalid memory. See #504671.
1734
1735         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
1736         Add testsuite for above case.
1737
1738 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
1739
1740         Patch by: Peter Kjellerstedt <pkj axis com>
1741
1742         * libs/gst/check/gstcheck.h:
1743           Fix detection of the check version we're compiling against (would
1744           otherwise break if check goes v0.10.0); correctly report the
1745           name of the failed test again in case of failure, instead of
1746           just 'tf' (fixes #504499).
1747
1748 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1749
1750         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
1751         (gst_base_src_get_range), (gst_base_src_pad_get_range),
1752         (gst_base_src_loop), (gst_base_src_set_flushing),
1753         (gst_base_src_change_state):
1754         Allow sending EOS to the source to make it send out an EOS event from
1755         the streaming thread.
1756         Update docs and deprecate the old NULL/READY shutdown method.
1757
1758         * tests/check/libs/basesrc.c: (GST_START_TEST),
1759         (gst_basesrc_suite):
1760         Add unit test for controlled shutdown.
1761
1762 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1763
1764         * docs/design/part-synchronisation.txt:
1765         Small updates.
1766
1767         * gst/gstsegment.c: (gst_segment_set_seek),
1768         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
1769         (gst_segment_to_running_time):
1770         The seek format can be different from the segment format when the start
1771         and stop values are not to be updated, when we only do a rate change for
1772         example.
1773
1774         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1775         (gst_segment_suite):
1776         Add a testcase for the rate-only seeks, checking that the format is
1777         correctly ignored when start and stop are not updated.
1778
1779 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
1780
1781         Patch by: Matthias Bolte <photon at mail dot upb dot de>
1782
1783         * win32/vs8/grammar.vcproj:
1784         * win32/vs8/libgstcontroller.vcproj:
1785         * win32/vs8/libgstreamer.vcproj:
1786         Fix compilation with VS8 and include some missing files.
1787
1788 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
1789
1790         * gst/gsttaglist.c:
1791           Small docs addition: mention that the strings returned by
1792           gst_tag_list_get_string*() are in UTF-8 encoding.
1793
1794 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
1795
1796         * Makefile.am:
1797           The check-exports stuff moved to common/win32.mak, so include that.
1798
1799 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
1800
1801         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
1802         (gst_base_src_perform_seek), (gst_base_src_get_range),
1803         (gst_base_src_set_playing), (gst_base_src_change_state):
1804         Make _wait_playing() not check any variables so that we can call this
1805         function from subclasses. Move the checks elsewhere similar to
1806         _wait_preroll() in basesink.
1807         Add some debugging.
1808         Only signal the LIVE cond when we are going back to PLAYING.
1809
1810 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
1811
1812         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
1813           Use g_remove() and g_rename(). Check result of g_rename(), and
1814           don't leak the open file descriptor if we error out when writing.
1815
1816         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
1817           Must check the return value of close() after writing out the new
1818           registry file.  Sometimes write problems such as out-of-diskspace
1819           are only reported when the file is closed and not already during
1820           the write.  This may have caused partial/broken registry files in
1821           some rare circumstances. Should fix #503675.
1822
1823 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
1824
1825         * docs/gst/.cvsignore:
1826         * docs/libs/.cvsignore:
1827         * docs/plugins/.cvsignore:
1828         Ignore files generated by new common/* modifications
1829
1830 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1831
1832         * win32/common/libgstbase.def:
1833           Yes, you can also have a <TAB> if you want.
1834
1835 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1836
1837         * win32/common/libgstbase.def:
1838           Add new basetransform API to win export file.
1839
1840 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
1841
1842         * tests/check/gst/gstbin.c:
1843           Adjust the test to the refcount change two days ago.
1844
1845 2007-12-14  David Schleef  <ds@schleef.org>
1846
1847         * docs/faq/getting.xml: Fix typo.
1848
1849 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
1850
1851         * docs/libs/gstreamer-libs-sections.txt:
1852         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
1853           (gst_base_transform_prepare_output_buffer),
1854           (gst_base_transform_set_gap_aware):
1855         * libs/gst/base/gstbasetransform.h:
1856           API: Add gst_base_transform_set_gap_aware() to control whether
1857           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
1858           get buffers with this flag at all. Fixes #503231.
1859
1860 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
1861
1862         * libs/gst/base/gstbasesink.c:
1863         * libs/gst/base/gstbasesrc.c:
1864         * libs/gst/base/gstbasetransform.c:
1865           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
1866           thread. Correct log message in gstbasesrc.c.
1867
1868 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1869
1870         * gst/gstutils.c: (element_find_unconnected_pad):
1871           Fix possible compiler warning (#503417).
1872
1873 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
1874
1875         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
1876           Don't use GST_CAT_EVENT here for logging, it makes no sense.
1877
1878 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
1879
1880         * tools/gst-inspect.c: (print_element_properties_info):
1881           Add support for GstFraction properties.
1882
1883 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
1884
1885         * Makefile.am:
1886           Add check-exports target and run it as part of 'make check'
1887           (see #499140 and #493983).
1888
1889         * gst/gst_private.h:
1890         * gst/gstelementfactory.h:
1891         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
1892         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
1893           (_priv_gst_in_valgrind):
1894         * gst/gstinfo.h: (GstLogFunction):
1895         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
1896           (gst_type_find_register):
1897         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
1898           (gst_type_find_factory_get_type):
1899         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
1900           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
1901           (gst_controller_new_valist), (gst_controller_new_list),
1902           (_gst_controller_dispose), (_gst_controller_class_init):
1903         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
1904         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
1905           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
1906           (gst_object_get_controller), (gst_object_set_controller),
1907           (gst_object_suggest_next_sync), (gst_object_sync_values),
1908           (gst_object_set_control_source), (gst_object_get_control_source),
1909           (gst_object_get_value_arrays), (gst_object_get_value_array),
1910           (gst_object_get_control_rate), (gst_object_set_control_rate):
1911         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
1912         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
1913           Make some functions that should be static static; rename some
1914           private symbols so that they don't get exported; add some FIXME
1915           comments so we can move accidentally exported functions into
1916           our private section in 0.11.
1917
1918         * win32/common/libgstreamer.def:
1919           Add gst_utils_get_timestamp().
1920
1921 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
1922
1923         * gst/gstvalue.c:
1924         * gst/gstvalue.h:
1925           Add more missing "Since:" tags to docs.
1926
1927 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
1928
1929         * gst/gstutils.c:
1930           Add mising "Since:" to docs.
1931
1932 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1933
1934         * gst/gstplugin.c:
1935           Include "glib-compat-private.h" to fix the build on system with
1936           glib < 2.10. Fixes #503131.
1937
1938 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1939
1940         * gst/gstutils.c:
1941         * gst/gstutils.h:
1942           Actually its not PURE as it gets the time from elsewhere.
1943
1944 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
1945
1946         * docs/gst/gstreamer-sections.txt:
1947         * gst/gstclock.h:
1948         * gst/gstdebugutils.c:
1949         * gst/gstinfo.c:
1950         * gst/gstutils.c:
1951         * gst/gstutils.h:
1952         * libs/gst/base/gstbasesink.c:
1953         * tools/gst-launch.c:
1954           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
1955           uses as we don't have HAVE_POSIX_TIMERS in public headers.
1956           Thanks Tim for spotting.
1957           API: gst_util_get_timestamp
1958
1959 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
1960
1961         * configure.ac:
1962           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
1963
1964 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
1965
1966         * gst/gststructure.c: (gst_structure_validate_name),
1967           (gst_structure_new_valist), (gst_structure_parse_value),
1968           (gst_structure_from_string):
1969           Don't crash in _from_string() if the structure name is not valid
1970           (fixes #501560).  Allow structure names to start with a number
1971           again (this apparently broke the ubuntu codec installer).
1972
1973         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
1974           (GST_START_TEST):
1975           Add unit test for the crash; update unit tests for new behaviour.
1976
1977 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
1978
1979         * gst/gstutils.c:
1980         Clarify gst_element_get_compatible_pad() documentation.
1981         Fixes #500919.
1982
1983 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
1984
1985         * tests/check/Makefile.am:
1986           Don't forget to dist {gst,libs}/struct_hppa.h.
1987
1988 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1989
1990         * libs/gst/base/gstbasesink.c:
1991           Use new API to get elapsed time.
1992
1993 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
1994
1995         * gst/gstdebugutils.c:
1996         * gst/gstinfo.c:
1997           Fix wrong order of args in GST_CLOCK_DIFF() usage.
1998
1999         * tools/gst-launch.c:
2000           Use new API to get elapsed time.
2001
2002 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
2003
2004         * docs/gst/gstreamer-sections.txt:
2005         * gst/gstclock.h:
2006         * gst/gstdebugutils.c:
2007         * gst/gstinfo.c:
2008           Rename new API + ChangeLog surgery to remove old name from last entry..
2009
2010 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
2011
2012         * docs/gst/gstreamer-sections.txt:
2013         * gst/gstclock.h:
2014         * gst/gstdebugutils.c:
2015         * gst/gstinfo.c:
2016           Now hide the different clock stuff behind a macro.
2017
2018 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
2019
2020         * configure.ac:
2021         * gst/gstdebugutils.c:
2022         * gst/gstinfo.c:
2023           Apply the posix-timer check from #361155. Conditionally use the posix
2024           timer for logging. This gives better timestamp precission, less
2025           overhead and no ntp jitter.
2026
2027 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
2028
2029         * gst/gstminiobject.c: (gst_mini_object_get_type),
2030         (gst_mini_object_class_init), (gst_mini_object_copy_default),
2031         (gst_mini_object_finalize), (gst_mini_object_copy),
2032         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
2033         (gst_mini_object_replace), (param_mini_object_validate),
2034         (gst_param_spec_mini_object_get_type):
2035         Some cleanup and checking against invalid function parameters.
2036
2037 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
2038
2039         * docs/gst/gstreamer-sections.txt:
2040         * gst/gstclock.h:
2041         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2042         (gst_systemclock_suite):
2043         Start merging in the easy bits of #361155, the monotonic clock patch.
2044         This one adds a few handy macros with docs and a testsuite.
2045
2046 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
2047
2048         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
2049         Be a bit smarter when seeking, like, don't try to do a seek when it's
2050         not needed. This avoids errors when the file is not seekable.
2051         Fixes #499771.
2052
2053 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
2054
2055         * docs/gst/gstreamer-docs.sgml:
2056         * docs/gst/gstreamer-sections.txt:
2057         * docs/gst/gstreamer.types.in:
2058         * gst/Makefile.am:
2059         * gst/gst.h:
2060         * gst/gstpreset.c:
2061         * gst/gstpreset.h:
2062         * plugins/elements/gstqueue.c:
2063           Due to popular request remove preset interface again. :-(.
2064
2065 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
2066
2067         * tools/gst-inspect.c:
2068           Print 'default value' for enums and flags too.
2069
2070 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
2071
2072         * docs/random/ensonic/profiling.txt:
2073           More ideas.
2074
2075         * gst/gstbin.c:
2076           Fix typo and give better log output.
2077
2078         * gst/gstdebugutils.c:
2079         * gst/gstdebugutils.h:
2080           More ideas, make graphs a bit smaller and fix param name in macro.
2081
2082 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
2083
2084         * gst/gstpreset.c:
2085           Try harder to use the return value from fgets().
2086
2087 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
2088
2089         * gst/gstpreset.c:
2090           For theses two fgets we handle the error below.
2091
2092 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
2093
2094         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
2095         Only send upstream events upstream. Fixes #498746.
2096
2097 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
2098
2099         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
2100
2101         * plugins/elements/gstidentity.c: (gst_identity_class_init),
2102         (gst_identity_init), (gst_identity_transform_ip),
2103         (gst_identity_set_property), (gst_identity_get_property):
2104         * plugins/elements/gstidentity.h:
2105         Add property to disable handoff signal emission. Fixes #498694.
2106         API: GstIdentity::signal-handoffs
2107
2108 2007-11-21  Julien Moutte  <julien@fluendo.com>
2109
2110         * docs/faq/gst-uninstalled: Yet another missing library for the
2111         uninstalled script (fft)
2112
2113 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
2114
2115         * docs/faq/developing.xml:
2116         Add a question about how to submit new translations.
2117
2118         * docs/random/release:
2119         Update the contact email address for the Translation Project
2120
2121         * plugins/elements/gstfdsrc.c:
2122         The parent_class for fdsrc is pushsrc, not GstElement.
2123
2124 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
2125
2126         * gst/gstpreset.c:
2127           Plug a leak and fix saving.
2128
2129 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
2130
2131         * docs/gst/gstreamer-sections.txt:
2132         Add new gst_preset__get_property_names() function to the docs
2133         to fix the build.
2134
2135 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
2136
2137         * gst/gstpreset.c:
2138         * gst/gstpreset.h:
2139           Change _get_preset_names API to return a strv with copies. Add
2140           _get_property_names to allow implementations to filter and provide
2141           good default implementation.
2142
2143 2007-11-20  Julien MOUTTE  <julien@moutte.net>
2144
2145         * docs/faq/gst-uninstalled: Add another library to the uninstalled
2146         script (sdp).
2147
2148 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
2149
2150         * gst/gstpreset.c:
2151           More cleanups, docs, and TODOs from comments that now slowly come in.
2152
2153 2007-11-19  Julien MOUTTE  <julien@moutte.net>
2154
2155         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
2156         search path.
2157
2158 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
2159
2160         * gst/gstpreset.c:
2161           Fix bogus warning and make the property type specific code more
2162           similar.
2163
2164 2007-11-19  Julien MOUTTE  <julien@moutte.net>
2165
2166         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
2167         it build on OS X.
2168
2169 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
2170
2171         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2172         (gst_bin_add_func), (gst_bin_remove_func),
2173         (gst_bin_change_state_func), (gst_bin_continue_func):
2174         Change email, cleanups add some more debug and comments.
2175         Also set bus and clock on new elements when the pipeline was in error.
2176
2177 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
2178
2179         * gst/gstbin.c:
2180         * gst/gstdebugutils.c:
2181           Fix build with --disable-gst-debug. Fixes #497859.
2182           Spotted by Sameer Naik.
2183
2184 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
2185
2186         * gst/gstevent.c:
2187           Little documentation improvment.
2188
2189         * gst/gstpreset.c:
2190           More TODO cleanups. Remove c++ comments.
2191
2192         * libs/gst/controller/gstcontroller.c:
2193           Add TODO and use quark from static string.
2194
2195         * tests/check/gst/gstmessage.c:
2196         * tests/check/gst/gststructure.c:
2197           Use quark from static string.
2198
2199 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
2200
2201         * gst/gstpreset.c:
2202           Add some comments and TODOs.
2203
2204         * gst/gstpreset.h:
2205           Add padding for future changes.
2206
2207         * plugins/elements/gstqueue.c:
2208           Implement the iface.    
2209
2210 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
2211
2212         * docs/gst/gstreamer-docs.sgml:
2213         * docs/gst/gstreamer-sections.txt:
2214         * docs/gst/gstreamer.types.in:
2215         * gst/Makefile.am:
2216         * gst/gst.h:
2217         * gst/gstpreset.c:
2218         * gst/gstpreset.h:
2219           Add the preset interface (Fixes #396779). Do some doc cleanups along.
2220
2221 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
2222
2223         * configure.ac:
2224
2225         Back to CVS
2226
2227 === release 0.10.15 ===
2228
2229 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
2230
2231         * configure.ac:
2232           releasing 0.10.15, "October"
2233
2234 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
2235
2236         * win32/vs6/libgstreamer.dsp:
2237         Convert line endings back to DOS.
2238
2239 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
2240
2241         * docs/design/draft-tagreading.txt:
2242         * docs/random/ensonic/profiling.txt:
2243         Update fast tagreading draft and performance profiling ideas.
2244
2245 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
2246
2247         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
2248         Don't hold the object lock when unreffing a buffer because it could
2249         cause a deadlock when the finalize function wants to grab the object
2250         lock too. Fixes #495133.
2251
2252 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
2253
2254         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
2255         (gst_segment_to_stream_time), (gst_segment_to_running_time):
2256         Also accumulate time correctly when doing reverse playback. Fixes
2257         #488201,
2258         When converting to running and stream time, use default values for
2259         start/stop/time/accum when comparing different formats. Fixes #494245.
2260
2261         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2262         Do running/stream time in TIME format.
2263
2264         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2265         (gst_segment_suite):
2266         2 new unit tests for segment accumulation.
2267
2268 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2269
2270         * gst/gst.c: (init_pre):
2271         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
2272           (_gst_debug_bin_to_dot_file):
2273           Move getenv() back into gst_init, so everyone can live happily
2274           ever after. Make sure the symbol isn't exported though.
2275
2276 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2277
2278         Patch by: Sebastien Moutte  <sebastien moutte net>
2279
2280         * win32/common/gstenumtypes.c:
2281         * win32/common/gstenumtypes.h:
2282           Update enum types.
2283
2284         * win32/vs6/libgstreamer.dsp:
2285           Update vs6 project files (#494343).
2286
2287 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2288
2289         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
2290         (gst_base_src_perform_seek), (gst_base_src_default_event),
2291         (gst_base_src_set_flushing), (gst_base_src_activate_push),
2292         (gst_base_src_activate_pull):
2293         Unify flushing code, remove some old unlock code that is no longer used.
2294         Take the streaming lock when seeking to avoid races. Fixes #492729.
2295         Added some more comments.
2296
2297 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2298
2299         * gst/gst.c: (_gst_disable_segtrap):
2300           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
2301           we can use gst_segtrap_is_enabled() there now that we have that API.
2302           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
2303           to do the getenv here (and export the variable).
2304
2305         * gst/gstdebugutils.c: (debug_dump_element),
2306           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
2307           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
2308
2309         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
2310           (gst_debug_log_default):
2311           Rename _gst_info_start_time to priv_gst_info_start_time so it
2312           doesn't get exported (was never in any header).
2313
2314         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
2315           (gst_plugin_loading_mutex):
2316           Make static mutex gst_plugin_loading_mutex really static (was never
2317           in any header), and use gst_segtrap_is_enabled() instead of
2318           _gst_disable_segtrap.
2319
2320         * gst/gsttrace.c: (_gst_trace_default):
2321           Make local _gst_trace_default static (was never in any header).
2322
2323 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2324
2325         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
2326
2327         * win32/common/libgstbase.def:
2328         * win32/common/libgstcontroller.def:
2329         * win32/common/libgstdataprotocol.def:
2330         * win32/common/libgstnet.def:
2331         * win32/common/libgstreamer.def:
2332           Add more missing symbols, remove some duplicates, and sort
2333           as the 'sort' command sorts it (partially fixes #493983).
2334
2335 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2336
2337         * gst/gstelement.c: (gst_element_set_state_func):
2338         Only change the state cookie if a different state was set on the
2339         element. See #492729.
2340
2341 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2342
2343         * gst/gstvalue.c:
2344           Remove unused and uninitialised type variables that were still
2345           exported for some reason (they were never in any header files
2346           though).
2347
2348 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2349
2350         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2351         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
2352         (gst_base_sink_event), (gst_base_sink_get_position_last),
2353         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2354         (gst_base_sink_change_state):
2355         Don't try to report a 0 position when we don't know, return -1 and FALSE
2356         instead. This mostly happens when we are prerolling.
2357         Make sure we can report the right position before we post the ASYNC_DONE
2358         message so that a message handler can query position without races.
2359
2360         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
2361         (async_done_handoff), (async_done_func), (send_buffer),
2362         (async_done_eos_func), (gst_sinks_suite):
2363         Add two tests for the above.
2364
2365 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
2366
2367         * MAINTAINERS:
2368         Update with new email address.
2369
2370         * docs/design/part-TODO.txt:
2371         Add some more info about future pad-block and negotiation changes.
2372
2373         * docs/design/part-buffering.txt:
2374         Add some ideas about buffering reporting.
2375
2376 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
2377
2378         * tests/check/gst/gstobject.c:
2379         Disable silly racy test that always fails on this combination of CPU
2380         and kernel.
2381
2382 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
2383
2384         Patch by: Murray Cumming  <murrayc@murrayc.com>
2385
2386         * gst/gstobject.c:
2387           Corrected the registration of the parent-set and parent-unset
2388           signals: The parameter is a GstObject, not a GObject (#493134).
2389
2390 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2391
2392         * gst/gst_private.h:
2393         * gst/gstbuffer.h:
2394         * gst/gstevent.h:
2395         * gst/gstformat.h:
2396         * gst/gstmessage.h:
2397         * gst/gstplugin.h:
2398         * gst/gstquery.h:
2399         * gst/gsttaglist.h:
2400         * gst/gstvalue.h:
2401           Move declaration of private _gst_foo_initialize() functions into
2402           our private header file where they should have been all along.
2403
2404 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2405
2406         * docs/plugins/gstreamer-plugins-sections.txt:
2407         * gst/gstdebugutils.h:
2408         * gst/gstxml.h:
2409         * plugins/elements/gstqueue.c:
2410           gtk-doc fixes; trailing-comma-in-enum fix.
2411
2412 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2413
2414         * gst/gst.c: (gst_deinit):
2415           Clean up on deinit (not the external ones though, doesn't seem to be
2416           needed for some reason).
2417
2418 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2419
2420         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
2421           Remove __declspec(dllimport) for MSVC that was copied over into core
2422           from a plugin, obviously without ever having been tested (note the
2423           single underscore in _declspec in the initial commit), and that doesn't
2424           really make sense.  See #492077.
2425
2426 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2427
2428         * gst/gst.c: (init_post):
2429         * gst/gstevent.c: (_gst_event_initialize):
2430         * gst/gstquery.c: (_gst_query_initialize):
2431         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
2432           g_type_class_ref() other types as well, see #349410 and #64764.
2433
2434         * gst/gstbuffer.c: (_gst_buffer_initialize):
2435         * gst/gstmessage.c: (_gst_message_initialize):
2436           Simplify existing g_type_class_ref().
2437
2438 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2439
2440         * gst/gstformat.c: (_gst_format_initialize):
2441           g_type_class_ref() our GstFormat type to make sure we avoid the
2442           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
2443           bug #64764. Should fix intermittent tee unit test failures (#474823).
2444
2445 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
2446
2447         * tests/check/elements/tee.c: (test_num_buffers):
2448           Simplify, simplify, simplify - or not.  Rewrite unit test
2449           not to use gst_parse_launch(); allow N sub-streams. Increasing
2450           the number of sub-streams seems to reproduce #474823 more easily.
2451
2452 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
2453
2454         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
2455
2456         * gst/gsttrace.c:
2457         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
2458         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
2459         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
2460           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
2461           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
2462           so use _pipe() directly (#492077).
2463
2464         * win32/common/dirent.c: (_treaddir):
2465           Add a couple of casts to make it build without warnings with MSVC.
2466
2467         * win32/common/libgstreamer.def:
2468           Add some more symbols that need to be exported.
2469
2470 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
2471
2472         * tests/examples/metadata/read-metadata.c: (message_loop):
2473           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
2474           arriving in a second or third tag message are added to
2475           the tag list as well.
2476
2477 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
2478
2479         * libs/gst/base/gstbasesrc.c:
2480           Its "Since:" and not "@Since:". And remove an superflous cast.
2481
2482 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
2483
2484         * docs/libs/gstreamer-libs-sections.txt:
2485         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2486         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
2487         (gst_base_sink_get_property), (gst_base_sink_render_object),
2488         (gst_base_sink_preroll_object),
2489         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
2490         (gst_base_sink_change_state):
2491         * libs/gst/base/gstbasesink.h:
2492         Add a new last-buffer property that contains the last buffer used in
2493         basesink for preroll or rendering. useful for making snapshots.
2494         API: gst_base_sink_get_last_buffer()
2495         API: GstBaseSink::last-buffer
2496
2497 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
2498
2499         * docs/gst/running.xml:
2500         * gst/gst.c:
2501         * gst/gstdebugutils.c:
2502         * gst/gstdebugutils.h:
2503         * tools/gst-launch.c:
2504           Improve bin graph dumping, by using the envvar to specify a path.
2505           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
2506
2507 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
2508
2509         * plugins/elements/gsttypefindelement.c:
2510           (gst_type_find_element_handle_event),
2511           (gst_type_find_element_activate):
2512           Post special error message if we can't determine the type of a stream
2513           because it's empty.
2514
2515 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
2516
2517         * docs/gst/running.xml:
2518         * gst/gstdebugutils.c:
2519           Document new env-var. Add one log-line after dumpng a graph.
2520
2521 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2522
2523         * configure.ac:
2524           Ugly hack to put the (recently removed and non-portable, apparently)
2525           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
2526           GNU ld, because without that 'make check' fails miserably on my debian
2527           stable box.  Someone with more knowledge of linker intricacies and
2528           portability issues than me fix this properly please.
2529
2530 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
2531
2532         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
2533         Reset last seen position after flushing so that we don't report the old
2534         position anymore.
2535
2536 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
2537
2538         * gst/gstelementfactory.c: (gst_element_register):
2539         * gst/gsturi.h:
2540         Patch from Alessandro Decina adding get_type_full and
2541         get_protocols_full private vfuncs to the URIHandler interface
2542         to allow bindings to support creating URI handlers. 
2543         Partially fixes: #339279
2544         API: GstURIHandlerInterface::get_type_full
2545         API: GstURIHandlerInterface::get_protocols_full
2546
2547 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
2548
2549         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
2550         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
2551         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
2552         Make it so that pads are considered linked until a buffer is pushed
2553         and discovered otherwise. This avoids problems with decodebin2 hanging
2554         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
2555         case.
2556
2557         Make sure we lock the multiqueue when updating the max-size properties.
2558         
2559         Fix a crash on Solaris in a debug statement in get_request_pad that
2560         passes a NULL string to GST_DEBUG. 
2561
2562         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
2563         (run_output_order_test):
2564         Fix the test to allow the first buffer on not-linked pads to come out
2565         of sequence while multiqueue discovers that they are not-linked.
2566
2567 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
2568
2569         * configure.ac:
2570         * libs/gst/check/Makefile.am:
2571         Use a custom export symbol regex for libgstcheck, as it needs
2572         to export symbols that don't match the standard GStreamer gst_*
2573         pattern, and  --export-dynamic is not portable (only works on 
2574         GNU ld)
2575
2576         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2577         (gst_check_setup_sink_pad):
2578         Make sure to pass a message parameter to the fail_* macros.
2579
2580         * tests/check/gst/gstinfo.c: (GST_START_TEST):
2581         Fix some compiler warnings.
2582
2583 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
2584
2585         * tests/check/gst/gststructure.c: (test_to_string):
2586           Disable test that checks that white spaces are not allowed
2587           in structure names or field names, since we need to
2588           support that for now for backwards compatibility reasons.
2589
2590 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
2591
2592         * docs/gst/gstreamer-sections.txt:
2593         * gst/gsttaglist.c:
2594         * gst/gsttaglist.h:
2595           API: add GST_TAG_ARTIST_SORTNAME
2596           API: add GST_TAG_ALBUM_SORTNAME
2597           API: add GST_TAG_TITLE_SORTNAME
2598           Add tag variants for sorting (#414539).
2599
2600 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
2601
2602         * gst/gststructure.c:
2603           Also allow white space for names so we don't break
2604           backwards compatibility.
2605
2606 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
2607
2608         * docs/design/part-TODO.txt:
2609         * docs/design/part-segments.txt:
2610         * docs/design/part-streams.txt:
2611         Small updates.
2612
2613 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
2614
2615         * docs/gst/gstreamer-sections.txt:
2616          Fixed documentation from my previous commit (added new API add
2617          gst_value_set_structure(), add gst_value_get_structure() and
2618          GST_VALUE_HOLDS_STRUCTURE).
2619
2620 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
2621
2622         * gst/gstdebugutils.c:
2623           Reflow code to fix uninitialized variable warning.
2624
2625 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
2626
2627         * gst/gstcaps.c: (gst_caps_to_string),
2628         (gst_caps_from_string_inplace):
2629         * gst/gststructure.c: (gst_structure_get_abbrs),
2630         (gst_structure_to_string), (gst_structure_from_string):
2631         * gst/gstvalue.c: (gst_value_set_structure),
2632         (gst_value_get_structure), (gst_value_serialize_structure),
2633         (gst_value_deserialize_structure), (_gst_value_initialize):
2634         * gst/gstvalue.h:
2635         * tests/check/gst/gststructure.c: (GST_START_TEST),
2636         (gst_structure_suite):
2637         * tests/check/gst/gstvalue.c: (GST_START_TEST):
2638          Added GstStructure to gst_value_table and its related functions.
2639          Changed gst_structure_to_string to print ';' in the end.
2640          Changed gst_caps_to_string to not print ';' beteween its
2641          fields (structures) anymore and remove the lastes ';' from latest
2642          structure. Now it is possible to have nested structures.
2643          In addition, backward compatibilty is assured by accepting '\0' as
2644          end delimiter. Fixes: #487969.
2645          API: add gst_value_set_structure()
2646          API: add gst_value_get_structure()
2647          API: add GST_VALUE_HOLDS_STRUCTURE
2648
2649 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
2650
2651         * gst/gstbus.c:
2652           When no GSource callback has been set up, tell developer
2653           to use a function that actually exists.
2654
2655 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
2656
2657         * docs/gst/gstreamer-sections.txt:
2658         * gst/Makefile.am:
2659         * gst/gst.c:
2660         * gst/gst.h:
2661         * gst/gstdebugutils.c:
2662         * gst/gstdebugutils.h:
2663         * gst/gstinfo.c:
2664         * gst/gstinfo.h:
2665         * tools/gst-launch.c:
2666           Allow dumping pipelines as dot graphs. Fixes #456573.
2667
2668 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2669
2670         * gst/gststructure.c:
2671           Allow '+' as well, it can be part of media or mime types
2672           such as image/svg+xml.
2673
2674 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2675
2676         * docs/gst/gstreamer-sections.txt:
2677         * gst/gstbus.c:
2678         * gst/gstbus.h:
2679           API: add gst_bus_pop_filtered
2680           API: add gst_bus_timed_pop_filtered
2681           Two new functions for waiting for specific message types on the
2682           bus for a specified amount of time without iterating any main
2683           loops or main contexts.
2684
2685         * tests/check/gst/gstbus.c:
2686           Some tests for the new functions.
2687
2688 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2689
2690         * docs/libs/gstreamer-libs-sections.txt:
2691           Make gtk-doc ignore stuff it should ignore.
2692
2693 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2694
2695         * libs/gst/check/gstcheck.c:
2696         * libs/gst/check/gstcheck.h:
2697           Allow runtime selection of unit tests to run via the GST_CHECKS
2698           environment variable (test case function names, comma-separated).
2699
2700 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
2701
2702         * gst/gststructure.c:
2703         * tests/check/gst/gststructure.c:
2704           Revert serialisation change and constrain structure-names after
2705           consensus on irc. Update api documentation to reflect the change.
2706
2707 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
2708
2709         * gst/gststructure.c:
2710           Improve serialization and fix tests.
2711
2712         * tests/check/gst/gststructure.c:
2713           Add another test that covers why I actually did the previous structure
2714           change.
2715
2716 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
2717
2718         * tools/gst-inspect.c: (print_element_info):
2719         Don't crash when inspecting an element.
2720
2721 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2722
2723         * tests/check/gst/gststructure.c:
2724           Add unit test for escaping of structure name when serialising
2725           and deserialising to/from strings.
2726
2727 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
2728
2729         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
2730         (gst_single_queue_new):
2731         * plugins/elements/gstqueue.c: (gst_queue_init),
2732         (gst_queue_push_one):
2733         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
2734         upstream is tricked into thinking it can suggest a format downstream
2735         while downstream does not support that format. The real problem is that
2736         core calls acceptcaps when pushing a buffer with new caps, for which we
2737         do a little workaround by setting the caps on the srcpad ourselves
2738         before pushing the buffer (until this is figured out). Fixes #486758.
2739
2740 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2741
2742         * gst/gststructure.c:
2743         * gst/gstvalue.c:
2744           Add some more comments and debug output. Quote structure name to fix
2745           deserialisation of some strings.
2746
2747 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2748
2749         * gst/gstbuffer.h:
2750           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
2751           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
2752
2753 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2754
2755         * tools/gst-inspect.c:
2756           Save approx. 400 1 byte allocs when printing. Use API to acces element
2757           details.
2758
2759         * tools/gst-run.c:
2760           Avoid a strdup.
2761
2762         * tools/gst-xmlinspect.c:
2763           Use API to acces element details.
2764
2765 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
2766
2767         * gst/gstinfo.c:
2768           Fix some spelling errors.
2769
2770 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
2771
2772         * gst/gstbin.c: (bin_handle_async_done):
2773         Correctly set the next state if all of our async children commited their
2774         state. This makes sure we can actually cancel the state change in
2775         progress. Fixes a regression in Rhythmbox when seeking.
2776
2777 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2778
2779         * gst/gstbin.c:
2780           Don't shadow local variable.
2781
2782         * gst/gstinfo.c:
2783           Don't shadow global function name.
2784
2785 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2786
2787         * gst/gstelementfactory.c:
2788         * gst/gstpluginfeature.c:
2789         * gst/gstpluginfeature.h:
2790         * gst/gstregistrybinary.c:
2791         * gst/gstregistryxml.c:
2792         * gst/gsttypefind.c:
2793           Use already-interned string for the private GstPluginFeature
2794           plugin_name field.
2795
2796 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2797
2798         * docs/libs/gstreamer-libs-sections.txt:
2799           Add new API to docs; fixes the build.
2800
2801 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
2802         
2803         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
2804
2805         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
2806         (gst_base_sink_event):
2807         * libs/gst/base/gstbasesink.h:
2808         Add function to wait for EOS, subclasses can use this to correctly wait
2809         for devices to drain before performing the EOS logic. Fixes #485343.
2810         API: gst_base_sink_wait_eos()
2811
2812 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
2813
2814         * gst/gstplugin.h:
2815           Cast description string constants in GST_PLUGIN_DEFINE macros
2816           to a (gchar*) to make C++ code using these macros compile
2817           without warning with g++-4.2 (see #462737).  Even if slightly
2818           ugly, this seems preferable to putting the description strings
2819           into the GLib quark table or making the structure member a
2820           const gchar * and doing casts in core code that allocs and
2821           frees these strings, or requiring a cast in the C++ code.
2822
2823 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2824
2825         * gst/gstinfo.h:
2826           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
2827           to print the entire class/function signature into the log
2828           file for C++ code.  This only affects C++ code, for C code
2829           everything remains the same.
2830
2831 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
2832
2833         * gst/gstbin.c: (remove_from_queue):
2834         Work around a problem with pipelines containing (semi)loops until a
2835         proper, more complicated solution is ready. See #475455.
2836
2837 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2838
2839         * gst/gstplugin.c:
2840         * gst/gstplugin.h:
2841         * gst/gstregistrybinary.c:
2842         * gst/gstregistryxml.c:
2843           Put more strings into the GLib quark table. No need to keep
2844           a hundred-something copies of identical version strings,
2845           license strings, package name strings and package origin
2846           strings around. 
2847
2848 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2849
2850         * docs/manual/advanced-dataaccess.xml:
2851           Don't imply that it's okay to unconditionally change
2852           buffer data or buffer metadata in a pad probe callback,
2853           and a bunch of other comments. Fixes #430031.
2854
2855 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2856
2857         * win32/common/gstenumtypes.c:
2858         * win32/common/gstenumtypes.h:
2859         * win32/common/gstversion.h:
2860           Update generated files.
2861
2862 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2863
2864         * docs/manual/advanced-autoplugging.xml:
2865           Prefix section with broken code with a warning (see #342432).
2866
2867 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2868
2869         * docs/manual/appendix-integration.xml:
2870         * docs/manual/basics-init.xml:
2871           Call g_thread_init() before g_option_context_new() to
2872           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
2873
2874 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2875
2876         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
2877         (gst_base_sink_queue_object_unlocked),
2878         (gst_base_sink_queue_object), (gst_base_sink_event),
2879         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
2880         When we received EOS and are waiting for when to post the EOS message,
2881         our state is prerolled and we should not return ASYNC.
2882         Reorganize some code paths to implement this behavior.
2883
2884         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
2885         (gst_sinks_suite):
2886         Add unit test to verify above EOS fix.
2887
2888 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2889
2890         * plugins/elements/gsttypefindelement.c:
2891         (gst_type_find_element_have_type), (gst_type_find_element_init),
2892         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
2893         Move detecting the input caps of the sinkpad to the setcaps function.
2894         This allows us to update the output caps when we receive new input caps
2895         instead of always using the first detected caps.
2896
2897 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
2898
2899         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2900         (gst_base_sink_get_position):
2901         Don't try to preroll non-async elements after a flush.
2902         Subtract latency form clock times when reporting position.
2903
2904 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2905
2906         * gst/gstpad.c: (gst_pad_pause_task):
2907         * gst/gstutils.c:
2908         Small comment and documentation update.
2909
2910 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2911
2912         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2913         (gst_base_src_set_live), (gst_base_src_is_live),
2914         (gst_base_src_query_latency), (gst_base_src_perform_seek),
2915         (gst_base_src_default_event), (gst_base_src_wait),
2916         (gst_base_src_do_sync), (gst_base_src_get_range),
2917         (gst_base_src_pad_get_range), (gst_base_src_loop),
2918         (gst_base_src_unlock), (gst_base_src_unlock_stop),
2919         (gst_base_src_set_flushing), (gst_base_src_set_playing),
2920         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2921         (gst_base_src_change_state):
2922         Rework the locking of basesrc in a similar fashion to basesink. We
2923         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
2924         us to handle live sources and semi live ones much better.
2925         Simplify flushing.
2926         Fix unlocking when seeking, shutting down and pausing in live sources.
2927
2928 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
2929
2930         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
2931         Fix compilation again.
2932
2933 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2934
2935         * gst/gstelement.c:
2936           Use meaningful categories for the logs to clean the default one.
2937
2938 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2939
2940         * tests/check/pipelines/cleanup.c:
2941           Print message name and not just number.
2942
2943 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2944
2945         * docs/design/draft-tagreading.txt:
2946           Add some more thoughts.
2947
2948 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2949
2950         * tests/check/pipelines/simple-launch-lines.c:
2951           Print message name and not just number.
2952
2953 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2954
2955         * libs/gst/base/gsttypefindhelper.c:
2956           Speedup typefinding. This is work in progress (see #459862).
2957
2958 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
2959
2960         * gst/gstplugin.c:
2961           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
2962           Spotted by Josep Torra Valles <josep@fluendo.com>.
2963
2964 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
2965
2966         * gst/gstclock.h:
2967           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
2968           field has moved to GstObject.
2969
2970 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
2971
2972         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
2973         (gst_base_src_get_range), (gst_base_src_change_state):
2974         Call unlock for live sources so that they can't get stuck in _create and
2975         produce a buffer before they are set back to PLAYING.
2976
2977 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
2978
2979         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
2980         (gst_queue_locked_dequeue):
2981         Comment the segment-related code... in the PROPER function.
2982         See #482147 and my commit from yesterday.
2983
2984 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
2985
2986         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
2987         Also initialize the counter that calculates the first timestamp on a
2988         buffer correctly for non-live sources.
2989
2990 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
2991
2992         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
2993         Disable code that's breaking the current-time-level reporting.
2994         See #482147
2995
2996 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
2997
2998         * docs/gst/gstreamer-sections.txt:
2999         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
3000         as they shouldn't show up. Fixes the docs build.
3001
3002 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
3003         
3004         * gst/gstinfo.h:
3005         Add an explicit variable importation needed on VS6 (only for MSC_VER)
3006         Define M_PI which is used in files which are including gstinfo.h. 
3007         VS6 includes doesn't define it.
3008         * win32/common/libgstbase.def:
3009         * win32/common/libgstcontroller.def:
3010         * win32/common/libgstreamer.def:
3011         Add new exported functions and variables.
3012         * win32/vs6/libgstcontroller.dsp:
3013         * win32/vs6/libgstreamer.dsp:
3014         Update the list of files to build.
3015         
3016 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
3017
3018         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
3019
3020         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
3021         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
3022         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
3023         Improve debugging. Fixes #480858.
3024
3025 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
3026
3027         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
3028
3029         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
3030         First patch of code cleanups, use the macros and right arguments in the
3031         macros to signal and lock the queue. See #480858.
3032
3033 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
3034
3035         * gst/gstbus.c: (poll_func):
3036         Improve debugging when dealing with _poll().
3037
3038 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
3039
3040         * gst/gstregistryxml.c:
3041           Fix memory leak I introduced a few days ago.
3042
3043 2007-09-26  Michael Smith <msmith@fluendo.com>
3044
3045         * gst/gstbuffer.c: (gst_buffer_finalize):
3046           Make it once again possible to free GstBuffers in the default
3047           build.
3048           The poisoning scribbles on parts of the miniobject we need in
3049           order to free it.
3050           Fixes #480341
3051
3052 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3053
3054         * docs/gst/gstreamer-sections.txt:
3055         * gst/gsttaglist.c:
3056         * gst/gsttaglist.h:
3057         API: add GST_TAG_COMPOSER, fixes #459809.
3058
3059 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
3060
3061         * gst/gstplugin.c:
3062         * gst/gstplugin.h:
3063         Add the 3-clause BSD license and the MIT/X11 license to the license
3064         list. Fixes #479784.
3065
3066 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
3067
3068         * docs/faq/getting.xml:
3069           Add Q+A about different GStreamer versions (#364056).
3070
3071 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
3072
3073         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3074         (gst_base_sink_event), (gst_base_sink_change_state):
3075         Return correct gboolean from query function.
3076
3077 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
3078
3079         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3080         (gst_base_sink_event), (gst_base_sink_query),
3081         (gst_base_sink_change_state):
3082         Simplify latency query.
3083         When not synchronizing, we can report latency without querying the peer
3084         element.
3085
3086 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
3087
3088         * gst/gstobject.h:
3089         * gst/gstvalue.c:
3090         Fix small typos in the docs.
3091
3092 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
3093
3094         * docs/design/draft-latency.txt:
3095         * docs/design/draft-push-pull.txt:
3096         * docs/design/draft-tagreading.txt:
3097         * docs/design/part-MT-refcounting.txt:
3098         * docs/design/part-activation.txt:
3099         * docs/design/part-block.txt:
3100         * docs/design/part-element-source.txt:
3101         * docs/design/part-events.txt:
3102         * docs/design/part-gstbin.txt:
3103         * docs/design/part-gstelement.txt:
3104         * docs/design/part-gstobject.txt:
3105         * docs/design/part-gstpipeline.txt:
3106         * docs/design/part-messages.txt:
3107         * docs/design/part-preroll.txt:
3108         * docs/design/part-push-pull.txt:
3109         * docs/design/part-qos.txt:
3110         * docs/design/part-query.txt:
3111         * docs/design/part-scheduling.txt:
3112         * docs/design/part-seeking.txt:
3113         * docs/design/part-segments.txt:
3114         * docs/design/part-states.txt:
3115         Documentation updates and typo fixes.
3116
3117 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
3118
3119         * plugins/elements/gstfakesink.c:
3120           Add some debug text to error message to indicate that
3121           we errored out on request.
3122
3123         * tools/gst-launch.c:
3124           When the state change to PLAYING fails, check for an
3125           error message on the bus and print it.
3126
3127 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
3128
3129         translated by: Jorge González González <aloriel@gmail.com>
3130
3131         * po/LINGUAS:
3132         * po/es.po:
3133           Added Spanish translation.
3134
3135 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
3136
3137         * plugins/elements/gstqueue.c: (gst_queue_push_one):
3138         Fix printf arguments.
3139
3140 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
3141
3142         * tests/check/generic/states.c:
3143           Improved state change unit test.
3144
3145 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
3146
3147         * gst/gstbin.h:
3148           Move priv to the right place.
3149
3150         * gst/gstsystemclock.c:
3151           Add FIXME: and improve log.
3152
3153         * tests/check/Makefile.am:
3154         * tests/examples/manual/Makefile.am:
3155           Work with all types of registries.
3156
3157 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
3158
3159         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
3160         Don't unref the event after pushing it. Fixes #478401.
3161
3162 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
3163
3164         * .cvsignore:
3165         * tests/examples/manual/.cvsignore:
3166           Ignore registries in any format.
3167
3168 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
3169
3170         * gst/glib-compat-private.h:
3171           Add compatibility macro for g_intern_string() for
3172           GLib-2.8 (any reason we can't just bump the
3173           requirement to at least 2.10?)
3174
3175         * gst/gstpadtemplate.h:
3176         * gst/gstelementfactory.c:
3177         * gst/gstregistryxml.c:
3178         * gst/gstregistrybinary.c:
3179           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
3180           up the internal code accordingly.  This shouldn't be a problem, since
3181           there is no reason external code could ever assume the string in such
3182           a structure is dynamically allocated unless it did that itself;  the
3183           use of g_strdup() is private to element factories.  The new code also
3184           saves some memory by putting pad template name strings into the GLib
3185           quark table instead of allocating them dynamically.
3186           Declaring this field constant fixes warnings with g++-4.2 when using
3187           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
3188
3189 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
3190
3191         * gst/gstelementfactory.c:
3192           Release static caps. Fixes #475723.
3193
3194 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
3195
3196         * gst/gstinfo.c:
3197         * gst/gstinfo.h:
3198           Make some internal API take const gchar * instead of just
3199           gchar * to avoid compiler warnings with g++-4.2.2 when
3200           passing string constants (partially fixes #478092).
3201
3202 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
3203
3204         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
3205         A latency query fails when one of the sinks fail.
3206
3207         * gst/gstelement.c: (gst_element_set_base_time):
3208         Improve debugging.
3209
3210 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
3211
3212         * gst/gstbin.c: (gst_bin_continue_func):
3213         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
3214         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
3215         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
3216
3217         Fix minor compilation warnings shown with Forte.
3218
3219 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
3220
3221         * plugins/elements/gstqueue.c: (apply_buffer),
3222         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
3223         Measure queue level based on the diff between head and tail timestamps
3224         even when pushing the first buffer.
3225
3226 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
3227
3228         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3229         (gst_base_sink_event), (gst_base_sink_change_state):
3230         Sinks that don't preroll can always be queried for the latency.
3231         Don't post ASYNC start when we are not async.
3232
3233 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
3234
3235         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
3236         (gst_queue_handle_sink_event), (gst_queue_chain),
3237         (gst_queue_push_one), (gst_queue_handle_src_query),
3238         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
3239         * plugins/elements/gstqueue.h:
3240         When downstream returns UNEXPECTED from pushing a buffer, don't try to
3241         push more buffers but allow pushing of EOS and NEWSEGMENT.
3242         Add some more debug info here and there. Fixes #476514.
3243
3244 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
3245
3246         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3247         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
3248         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
3249         (gst_base_sink_set_flushing), (gst_base_sink_query),
3250         (gst_base_sink_change_state):
3251         Latency query is allowed after we are prerolled. Introduce a new flag
3252         for this and stop abusing other variables.
3253
3254 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
3255
3256         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
3257         Push OOB events downstream when we get them in send_event. This allows
3258         the application to insert events in the pipeline.
3259         Add some more comments.
3260
3261 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
3262
3263         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
3264         (do_bin_latency), (gst_bin_change_state_func):
3265         * gst/gstpipeline.c: (gst_pipeline_change_state):
3266         Move latency query from GstPipeline to GstBin so that we can also
3267         use it when async-handling is enabled on bins.
3268
3269 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
3270
3271         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3272         (gst_base_src_do_sync), (gst_base_src_change_state):
3273         Update docs.
3274         Clean up the timestamping and syncing code for pseudo live sources.
3275
3276 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
3277
3278         Patch by: Steve Fink  <sphink gmail com>
3279
3280         * docs/manual/appendix-checklist.xml:
3281           Mention less -R switch in the section about debug output (#474055).
3282
3283 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
3284
3285         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3286         Queue can latency to the pipeline up to the configured max size in time.
3287         Report this fact in the latency query.
3288
3289 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
3290
3291         Patch by: Sebastien Moutte <sebastien at moutte dot net>
3292
3293         * libs/gst/controller/gstinterpolation.c:
3294         * libs/gst/controller/gstlfocontrolsource.c:
3295         Use gst_guint64_to_gdouble() when converting from a uint64 or
3296         GstClockTime to double to fix the build on win32. Fixes #474371.
3297
3298 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
3299
3300         * gst/gstbuffer.c: (gst_buffer_finalize):
3301         Implement poisoning for GstBuffer if --enable-poisoning is specified.
3302         When finalizing a buffer the complete struct is filled with 0xff,
3303         thus making a use of the buffer after the final unref impossible.
3304
3305 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
3306
3307         * tests/check/libs/controller.c: (GST_START_TEST):
3308         Use fail_unless_equals_int(a, b) instead of
3309         fail_unless_equals (a == b) to get better output on failures.
3310
3311 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
3312
3313         * tests/check/gst/gsturi.c:
3314           Also check for the other file URI variant on win32.
3315
3316 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
3317
3318         * gst/gsturi.c: (gst_uri_get_location):
3319           If there's no hostname, we want to return 'c:/foo/bar.txt'
3320           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
3321
3322         * tests/check/gst/gsturi.c:
3323           Unit test for the above and a few more things.
3324
3325 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
3326
3327         * docs/design/part-live-source.txt:
3328         Add docs on how live sources should timestamp.
3329
3330         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
3331         Add some more debug info.
3332         For subclasses that are live and like to sync, add aditional startup
3333         latency to sync time and timestamps so that we timstamp according to the
3334         design doc.
3335
3336 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
3337
3338         * gst/gstbuffer.c:
3339           Also do a g_type_class_ref() for the subbuffer type in
3340           the init function.
3341
3342 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
3343
3344         * docs/gst/gstreamer-sections.txt:
3345         * gst/gstpad.c: (gst_pad_peer_query):
3346         * gst/gstpad.h:
3347         Add function to perform a query on the peer of a pad.
3348         API: gst_pad_peer_query()
3349
3350 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
3351
3352         * tests/check/gst/gstsystemclock.c:
3353           Cleanup the test a little (use gst-logging and not g_message). Improve
3354           test to check if a wait reached the target.
3355
3356 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
3357
3358         * docs/libs/gstreamer-libs-sections.txt:
3359           Add new API to docs and fix the build.
3360
3361 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
3362
3363         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3364         (gst_base_src_init), (gst_base_src_set_do_timestamp),
3365         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
3366         (gst_base_src_get_property), (gst_base_src_do_sync):
3367         * libs/gst/base/gstbasesrc.h:
3368         Add property to make the basesrc timestamp buffers based on the current
3369         running time.
3370         API: GstBaseSrc::do-timestamp
3371         API: gst_base_src_set_do_timestamp()
3372         API: gst_base_src_get_do_timestamp()
3373
3374 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
3375
3376         * docs/random/release:
3377           Really make sure translations are up-to-date before
3378           a release (#465010).
3379
3380 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
3381
3382         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3383         Always destroy the timer, also in error cases.
3384
3385 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
3386
3387         * docs/manual/highlevel-xml.xml:
3388         Fix XML example code. Fixes #472714.
3389
3390 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
3391
3392         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
3393         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
3394         (gst_base_sink_query):
3395         Protect eos and have_preroll with the OBJECT lock so we don't need to
3396         take the PREROLL lock when querying the latency. Fixes #473846.
3397
3398 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
3399
3400         * gst/gstelement.c:
3401           Give some log-messages a category.
3402
3403 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
3404
3405         * gst/gststructure.c:
3406         (gst_structure_fixate_field_nearest_fraction):
3407         Fix fraction list fixation code. Take the fraction with the smallest
3408         difference with the target instead of the first one in the list.
3409
3410         * tests/check/gst/gststructure.c: (GST_START_TEST),
3411         (gst_structure_suite):
3412         Added test to verify correct fraction list fixation behaviour.
3413
3414 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
3415
3416         * win32/common/libgstreamer.def:
3417           Export gst_bus_add_signal_watch too.
3418
3419 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
3420
3421         * docs/libs/gstreamer-libs-sections.txt:
3422         Add new methods to docs.
3423
3424         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3425         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
3426         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
3427         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
3428         * libs/gst/base/gstbasesink.h:
3429         Add ts-offset property to fine-tune the synchronisation.
3430         API: GstBaseSink::ts-offset property
3431         API: gst_base_sink_set_ts_offset()
3432         API: gst_base_sink_get_ts_offset()
3433
3434 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
3435
3436         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3437         (gst_base_sink_init), (gst_base_sink_set_sync),
3438         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
3439         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
3440         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
3441         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
3442         (gst_base_sink_get_property), (gst_base_sink_change_state):
3443         * libs/gst/base/gstbasesink.h:
3444         Add async property to instruct the sink never to inform the parent about
3445         ASYNC state changes, update docs.
3446         Check argument with g_return_* for the public functions.
3447         API: GstBaseSink::async property
3448         API: gst_base_sink_set_async_enabled()
3449         API: gst_base_sink_is_async_enabled()
3450
3451 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
3452
3453         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
3454         Improve debugging.
3455
3456         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
3457         (gst_base_src_default_query), (gst_base_src_wait),
3458         (gst_base_src_do_sync), (gst_base_src_change_state):
3459         Rearrange some code so that we can add support for measuring the 
3460         startup latency.
3461
3462 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
3463
3464         * docs/random/ensonic/dynlink.txt:
3465           More thoughs on this.
3466
3467         * plugins/elements/gstcapsfilter.c:
3468           Add bugzilla ticket number to FIXME comment.
3469
3470 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
3471
3472         * docs/design/part-TODO.txt:
3473         * docs/design/part-block.txt:
3474         Update some docs.
3475
3476 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
3477
3478         * gst/Makefile.am:
3479           Revert patch which uses $(gst_headers) instead of $^ because it
3480           breaks make dist.
3481
3482 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
3483
3484         * tests/check/gst/gstbin.c: (GST_START_TEST):
3485           Fix leaks in the new unit test.
3486
3487 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
3488
3489         * gst/gst.c:
3490           Don't use GST_INFO before the debug system is actually initialised
3491           (shouldn't do any harm, but won't print anything either, so we can
3492           just as well remove it).
3493
3494         * gst/gstinfo.h:
3495           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
3496           compilers that don't support variadic macros (such as MSVC), should
3497           check for debug_level <= __gst_debug_min as well, since that's the
3498           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
3499           inline helper functions. Should improve performance a bit, but also
3500           makes sure uses of GST_INFO et.al are ignored if the debugging
3501           system isn't initialised yet (instead of printing an assertion
3502           failure).
3503
3504 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
3505
3506         patch by: David Nečas <yeti@physics.muni.cz>
3507
3508         * gst/Makefile.am:
3509           Replace some non portable makefile constructs.
3510
3511 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
3512
3513         * common/gtk-doc-plugins.mak:
3514           Grrrrr. Don't remove the types file on make clean.
3515
3516 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
3517
3518         * tools/gst-launch.1.in:
3519         Add colorspace to example pipeline. Fixes #458274.
3520
3521 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
3522
3523         * docs/random/release:
3524           The release manager should run 'make download-po' before making a
3525           release to make sure translations are up-to-date.
3526
3527         * po/LINGUAS:
3528         * po/be.po:
3529         * po/pl.po:
3530         * po/rw.po:
3531           Add some new translations.
3532
3533 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
3534
3535         * tools/gst-launch.c: (event_loop), (main):
3536         Don´t try to do any state management when a live pipeline posts
3537         buffering messages.
3538         Also make the buffering string translatable.
3539
3540 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
3541
3542         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
3543         (bin_handle_async_start), (gst_bin_handle_message_func):
3544         Improve debugging.
3545         When adding elements, insert messages into the bus of the newly added
3546         element and make sure the element is the source of the message. This
3547         allows the parent bin to intercept the message and do the
3548         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
3549         messages to the app (which is not allowed).
3550         Update some docs.
3551
3552         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3553         Fix testsuite so that is does not work around messages that should not
3554         have been posted in the first place.
3555
3556 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
3557
3558         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
3559         (update_degree), (gst_bin_sort_iterator_next):
3560         Fix annoying bug in the sorted iterator where a sink that is not really
3561         a sink (when it has downstream links) screwed up the iterator.
3562
3563         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
3564         Unit test to verify the fix.
3565
3566 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
3567
3568         * gst/gstmessage.h:
3569         Add some more docs for the messages.
3570
3571         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3572         (gst_base_sink_query):
3573         Add some more debugging.
3574
3575         * tools/gst-launch.c: (event_loop):
3576         When interrupting, don't try to set pipeline to PAUSED twice.
3577
3578 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
3579
3580         
3581         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
3582         (bin_handle_async_start), (gst_bin_handle_message_func):
3583         Move ASYNC_START message posting to where it belongs, similar to
3584         async_done. 
3585         Don't post ASYNC_START when we are in error. 
3586         Post ASYNC_START when we added an async element to a bin.
3587
3588 2007-08-14  Julien MOUTTE  <julien@moutte.net>
3589
3590         * gst/gstindex.c: (gst_index_add_association): Fix index entry
3591         generation from vargs. Fixes #466595.
3592
3593 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
3594
3595         * gst/gstbin.c: (gst_bin_element_set_state):
3596         Always change the state of a NO_PREROLL element even if it has ASYNC
3597         elements inside (in case of a bin).
3598
3599         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
3600         Unit test for this case.
3601
3602 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
3603
3604         * libs/gst/check/gstbufferstraw.c:
3605         * libs/gst/check/gstcheck.h:
3606         * libs/gst/controller/gstcontroller.c:
3607         * libs/gst/controller/gstcontrolsource.h:
3608         * libs/gst/controller/gstlfocontrolsource.h:
3609         * plugins/elements/gstcapsfilter.h:
3610         * plugins/elements/gstfdsink.h:
3611         * plugins/elements/gstfdsrc.h:
3612           Add more missing docs.
3613
3614 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
3615
3616         * gst/gststructure.c:
3617         Add Since tag to docs.
3618
3619 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
3620
3621         * docs/gst/gstreamer-sections.txt:
3622         * gst/gststructure.c: (gst_structure_get_uint):
3623         * gst/gststructure.h:
3624         Add function to get uint from a structure.
3625         API: gst_structure_get_uint()
3626
3627 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
3628
3629         * gst/gstcaps.c: (gst_caps_set_simple_valist),
3630         (gst_caps_intersect):
3631         Fix proper check for simple caps.
3632
3633 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
3634
3635         * docs/gst/Makefile.am:
3636         * docs/libs/Makefile.am:
3637           Remove cruft and do some cleanups.
3638
3639         * docs/gst/gstreamer-docs.sgml:
3640         * docs/libs/gstreamer-libs-docs.sgml:
3641           Prepare for comming gtkdoc features (rebase against online docs).
3642
3643 2007-08-10  Michael Smith <msmith@fluendo.com>
3644
3645         * docs/gst/gstreamer-sections.txt:
3646           Add gst_registry_add_path to docs.
3647
3648 2007-08-10  Michael Smith <msmith@fluendo.com>
3649
3650         * gst/gstregistry.h:
3651           Add gst_registry_add_path, which was missing from this header.
3652
3653 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
3654
3655         * libs/gst/controller/gstlfocontrolsource.c:
3656           Printf format fix.
3657
3658 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
3659
3660         * libs/gst/base/gstbasesink.c:
3661           Don't send an async_start message during downwards state change if 
3662           target state is less than READY
3663
3664 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3665
3666         translated by: Gabor Kelemen <kelemeng@gnome.hu>
3667
3668         * po/LINGUAS:
3669         * po/hu.po:
3670           Added Hungarian translation.
3671
3672 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
3673
3674         * po/fi.po:
3675         * po/it.po:
3676         * po/nl.po:
3677         * po/sv.po:
3678         * po/uk.po:
3679           Updated translations.
3680
3681 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
3682
3683         * libs/gst/controller/Makefile.am:
3684         Dist gstlfocontrolsourceprivate.h
3685
3686 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
3687
3688         * docs/libs/gstreamer-libs.types:
3689         Don't register the enum type gst_lfo_waveform_get_type() in the
3690         .types file - only GObject derived types belong.
3691
3692 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
3693
3694         Patch by: <arenevier at fdn dot fr>
3695
3696         * gst/gstbuffer.h:
3697         Remove comma from last element in enum to avoid compile errors when
3698         using -pendantic. Fixes #464366.
3699
3700 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
3701
3702         * docs/design/part-TODO.txt:
3703         Add some more TODO items
3704
3705         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
3706         Improve debugging.
3707
3708         * gst/gstcaps.c: (gst_caps_intersect):
3709         Optimize trivial intersection case between identical caps pointers.
3710
3711         * gst/gstelement.c: (gst_element_continue_state),
3712         (gst_element_set_state_func):
3713         * gst/gstpad.c:
3714         Fix spelling and grammar mistakes.
3715
3716 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
3717
3718         * po/POTFILES.in:
3719         * po/POTFILES.skip:
3720           Update POTFILES. Fixes #461599.
3721
3722 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
3723
3724         * gst/gst.c:
3725         Fix confusing typo in debug output.
3726
3727 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
3728
3729         reviewed by: Stefan Kost <ensonic@users.sf.net>
3730
3731         * libs/gst/controller/Makefile.am:
3732         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
3733         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
3734         (gst_lfo_control_source_new),
3735         (gst_lfo_control_source_set_waveform),
3736         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
3737         (gst_lfo_control_source_finalize),
3738         (gst_lfo_control_source_dispose),
3739         (gst_lfo_control_source_set_property),
3740         (gst_lfo_control_source_get_property),
3741         (gst_lfo_control_source_class_init):
3742         * libs/gst/controller/gstlfocontrolsource.h:
3743         * libs/gst/controller/gstlfocontrolsourceprivate.h:
3744         API: Add GstLFOControlSource, a control source that gives values
3745         for specific timestamps based on several periodic waveforms.
3746         Fixes #459717.
3747
3748         * tests/check/libs/controller.c: (GST_START_TEST),
3749         (gst_controller_suite):
3750         * docs/libs/gstreamer-libs-docs.sgml:
3751         * docs/libs/gstreamer-libs-sections.txt:
3752         * docs/libs/gstreamer-libs.types:
3753         Add documentation and unit tests for GstLFOControlSource.
3754
3755 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
3756
3757         * configure.ac:
3758         Back to CVS
3759
3760 === release 0.10.14 ===
3761
3762 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
3763
3764         * configure.ac:
3765           releasing 0.10.14, "Breathing Vacuum"
3766
3767 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
3768
3769         * gst/gstelement.c: (gst_element_class_set_details_simple):
3770         * gst/gstelement.h:
3771           Make strings passed to gst_element_class_set_details_simple()
3772           constant, as they should be (#462752).
3773
3774 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
3775
3776         * gst/gstbin.c: (gst_bin_change_state_func),
3777         (bin_handle_async_done), (gst_bin_handle_message_func):
3778         Don't forget about the fact that some element went ASYNC even after a
3779         resync. This makes us post the ASYNC_DONE message correctly.
3780         Fixes #462558.
3781
3782 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3783
3784         * gst/gstregistry.c: (gst_registry_add_feature):
3785         When replacing an existing feature in the registry, make sure to
3786         continue holding a reference until we've replaced the name string
3787         within our feature hash table. Make sure to use g_hash_table_replace
3788         instead of g_hash_table_insert to ensure the new name string is used
3789         as a key instead of the old one that we're about to free.
3790         Fixes: #462085
3791
3792 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
3793
3794         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3795         (gst_plugin_feature_set_name):
3796         Revert patch from #459466 until after the release and we can work
3797         out exactly what the problem is (if any).
3798
3799 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
3800
3801         * docs/gst/gstreamer-sections.txt:
3802         * gst/gsttaglist.c:
3803         * gst/gsttaglist.h:
3804           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
3805
3806 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
3807
3808         * docs/libs/Makefile.am:
3809         Include our build-prefix libs and includes before the generic ones to
3810         avoid linking against the installed libs when we want the build-tree
3811         ones.
3812
3813 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
3814
3815         Patch by: Steve Fink  <sphink gmail com>
3816
3817         * docs/pwg/building-testapp.xml:
3818           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
3819           if people try to build or install the example from the plugin
3820           template against a GStreamer from package using the configure
3821           defaults.
3822
3823 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
3824
3825         Patch by: Steve Fink  <sphink gmail com>
3826
3827         * tools/gst-inspect.1.in:
3828           Document --print-all and --print-plugin-auto-install-info command
3829           line options in man page.
3830
3831 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
3832
3833         * docs/gst/gstreamer-sections.txt:
3834         Add docs for new api function.
3835
3836 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
3837
3838         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
3839         * gst/gstelementfactory.h:
3840         API: gst_element_factory_has_interface()
3841         Added method to check if an element factory implements a named
3842         interface.
3843
3844 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
3845
3846         * configure.ac:
3847         * docs/gst/gstreamer.types.in:
3848           Another conditional doc check.
3849
3850         * gst/gstmessage.c:
3851         * gst/gstparamspecs.h:
3852         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
3853         * gst/gstvalue.c:
3854         * gst/gstxml.h:
3855           API-doc fixes.
3856
3857 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3858
3859         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
3860         (gst_registry_binary_load_feature),
3861         (gst_registry_binary_load_plugin),
3862         (gst_registry_binary_read_cache):
3863           Print error just once and with additional info.
3864
3865 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3866
3867         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
3868         (helper_find_suggest), (helper_find_get_length),
3869         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
3870         (gst_type_find_helper_for_buffer):
3871           Cleanup the typefindhelper code and add private doc comments.
3872
3873 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
3874
3875         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
3876         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
3877         Fix capsfilter for cases where the caps set on capsfilter will provide
3878         additional information.
3879         Fixes #449197
3880
3881 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
3882
3883         * gst/gsttypefindfactory.c:
3884           Fix docs that recommened wrong function to use.
3885
3886 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3887
3888         * tools/gst-inspect.c: (print_plugin_features):
3889           Also give media-type for typefinders in element output.
3890
3891 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3892
3893         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
3894         (gst_registry_remove_features_for_plugin_unlocked),
3895         (gst_registry_add_feature), (gst_registry_remove_feature),
3896         (gst_registry_lookup_feature_locked):
3897         * gst/gstregistry.h:
3898           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
3899           Fixes #459501.
3900
3901 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
3902
3903         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
3904         (gst_plugin_feature_set_name):
3905           Avoid double memory usage for pluginfeature names. Fixes #459466.
3906
3907 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
3908
3909         * gst/gstpad.h:
3910           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
3911           driving the pipeline may need to explicitly check for NOT_LINKED as
3912           well, since IS_FATAL doesn't cover that.
3913
3914 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
3915
3916         * docs/pwg/advanced-types.xml:
3917           Fix typo and duplicate entry in video formats list.
3918
3919 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
3920
3921         * libs/gst/controller/gstinterpolation.c:
3922         Also round to the nearest int when using cubic interpolation.
3923
3924 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
3925
3926         * libs/gst/controller/gstinterpolation.c:
3927         When linearly interpolating integer types, round to the nearest int
3928         by adding 0.5. Don't do it for float/double types.
3929         Fixes the failing controller test on my machine, which is somehow
3930         rounding differently than on the buildbots.
3931
3932 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3933
3934         * tools/gst-plot-timeline.py:
3935           Better log parsing (categories can have -). Adjust text vs. lines, so
3936           that they span the same y-range.        
3937
3938 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3939
3940         * docs/random/ensonic/audiobaseclasses.txt:
3941         * docs/random/ensonic/dynlink.txt:
3942         * docs/random/ensonic/profiling.txt:
3943           Save my thoughts.
3944
3945         * docs/random/moving-plugins:
3946           Add note to use g_assert type macros.
3947
3948 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
3949
3950         * configure.ac:
3951         * libs/gst/check/Makefile.am:
3952           Add libm check as we use in for plugins.
3953
3954 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
3955
3956         * gst/gstbin.c: (gst_bin_continue_func):
3957         Check that the state_cookie hasn't changed since the continue_func
3958         was scheduled. Avoids problems where the state changes back to
3959         something it shouldn't be because it was changed in the meantime.
3960
3961 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
3962
3963         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
3964         (gst_registry_binary_save_string),
3965         (gst_registry_binary_save_pad_template),
3966         (gst_registry_binary_save_feature),
3967         (gst_registry_binary_save_plugin),
3968         (gst_registry_binary_load_feature),
3969         (gst_registry_binary_load_plugin),
3970         (gst_registry_binary_read_cache):
3971           Fix memory leak. Be less verbose in the log.
3972
3973 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3974
3975         * tests/check/elements/.cvsignore:
3976         Add file to cvsignore as commanded.
3977
3978 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3979
3980         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
3981         (mq_dummypad_event), (run_output_order_test):
3982         Use a GStaticMutex to protect all cases where libcheck
3983         fail_if/fail_unless macros might be called from multiple threads
3984         simultaneously to avoid errors like:
3985           "check_pack.c:107: :-1081725400:Bad message type arg"
3986
3987 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3988
3989         * tests/check/pipelines/stress.c: (GST_START_TEST):
3990         Make sure we set the pipeline back to the NULL state before
3991         dropping our final reference.
3992
3993 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
3994
3995         * tests/check/elements/tee.c: (GST_START_TEST):
3996         Make the tee stress-test a little less stressful so it doesn't just
3997         time out on slow-machines, and remove a small race when it's starting 
3998         up by adding a get_state() call.
3999
4000 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
4001
4002         * gst/gst.c:
4003           Avoid reading registry twice on startup. Fixes #457322.
4004
4005 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
4006
4007         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4008         * pkgconfig/gstreamer-check.pc.in:
4009         Substitute the CFLAGS for libcheck into our .pc file too so that
4010         dependent modules will pick it up properly if libcheck is installed
4011         into some other prefix.
4012
4013 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
4014
4015         * configure.ac:
4016         Revert the pkg-config check for libcheck, since it pulls in the
4017         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
4018         a proper solution, either from the check project, or something else.
4019
4020 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
4021
4022         * configure.ac:
4023           Use pkg-config to locate check.
4024
4025 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
4026
4027         * gst/gsttaglist.c:
4028           Fix doc syntax.
4029
4030         * gst/gstutils.c:
4031         * gst/gstutils.h:
4032           Add deprecation guards.
4033
4034         * libs/gst/base/gstcollectpads.h:
4035           Don't document object (this is implicitly private).
4036
4037 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
4038
4039         * gst/gststructure.c: (gst_structure_parse_value):
4040           When deserialising foo=bar without a type cast, check if it's a
4041           boolean before falling back to a string type, otherwise things like
4042           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
4043           because the filtercaps end up having a signed=(string)true field,
4044           which causes problems later when intersection caps.
4045
4046         * tests/check/gst/gststructure.c: (GST_START_TEST):
4047           Add a unit test for this.
4048
4049 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
4050
4051         Reviewed by: Stefan Kost <ensonic@users.sf.net>
4052
4053         * libs/gst/controller/Makefile.am:
4054         * libs/gst/controller/gstcontroller.c:
4055         (gst_controlled_property_add_interpolation_control_source),
4056         (gst_controlled_property_new), (gst_controlled_property_free),
4057         (gst_controller_find_controlled_property),
4058         (gst_controller_new_valist), (gst_controller_new_list),
4059         (gst_controller_new), (gst_controller_remove_properties_valist),
4060         (gst_controller_remove_properties_list),
4061         (gst_controller_remove_properties),
4062         (gst_controller_set_property_disabled),
4063         (gst_controller_set_disabled), (gst_controller_set_control_source),
4064         (gst_controller_get_control_source), (gst_controller_get),
4065         (gst_controller_sync_values), (gst_controller_get_value_array),
4066         (_gst_controller_dispose), (gst_controller_get_type),
4067         (gst_controlled_property_set_interpolation_mode),
4068         (gst_controller_set), (gst_controller_set_from_list),
4069         (gst_controller_unset), (gst_controller_unset_all),
4070         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
4071         * libs/gst/controller/gstcontroller.h:
4072         * libs/gst/controller/gstcontrollerprivate.h:
4073         * libs/gst/controller/gstcontrolsource.c:
4074         (gst_control_source_class_init), (gst_control_source_init),
4075         (gst_control_source_get_value),
4076         (gst_control_source_get_value_array), (gst_control_source_bind):
4077         * libs/gst/controller/gstcontrolsource.h:
4078         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
4079         (gst_object_get_control_source):
4080         * libs/gst/controller/gstinterpolation.c:
4081         (gst_interpolation_control_source_find_control_point_node),
4082         (gst_interpolation_control_source_get_first_value),
4083         (_interpolate_none_get), (interpolate_none_get),
4084         (interpolate_none_get_boolean_value_array),
4085         (interpolate_none_get_enum_value_array),
4086         (interpolate_none_get_string_value_array),
4087         (_interpolate_trigger_get), (interpolate_trigger_get),
4088         (interpolate_trigger_get_boolean_value_array),
4089         (interpolate_trigger_get_enum_value_array),
4090         (interpolate_trigger_get_string_value_array):
4091         * libs/gst/controller/gstinterpolationcontrolsource.c:
4092         (gst_control_point_free), (gst_interpolation_control_source_reset),
4093         (gst_interpolation_control_source_new),
4094         (gst_interpolation_control_source_set_interpolation_mode),
4095         (gst_interpolation_control_source_bind),
4096         (gst_control_point_compare), (gst_control_point_find),
4097         (gst_interpolation_control_source_set_internal),
4098         (gst_interpolation_control_source_set),
4099         (gst_interpolation_control_source_set_from_list),
4100         (gst_interpolation_control_source_unset),
4101         (gst_interpolation_control_source_unset_all),
4102         (gst_interpolation_control_source_get_all),
4103         (gst_interpolation_control_source_get_count),
4104         (gst_interpolation_control_source_init),
4105         (gst_interpolation_control_source_finalize),
4106         (gst_interpolation_control_source_dispose),
4107         (gst_interpolation_control_source_class_init):
4108         * libs/gst/controller/gstinterpolationcontrolsource.h:
4109         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
4110         API: Refactor GstController into the core controller which can take
4111         a GstControlSource for providing actual values for timestamps.
4112         Implement a interpolation control source and use this for backward
4113         compatibility, deprecate a bunch of functions that are now handled
4114         by GstControlSource or GstInterpolationControlSource.
4115         Make it possible to disable the controller completely or only for
4116         specific properties. Fixes #450711.
4117         * docs/libs/gstreamer-libs-docs.sgml:
4118         * docs/libs/gstreamer-libs-sections.txt:
4119         * docs/libs/gstreamer-libs.types:
4120         Add new functions and classes to the docs.
4121         * tests/check/libs/controller.c: (GST_START_TEST),
4122         (gst_controller_suite):
4123         * tests/examples/controller/audio-example.c: (main):
4124         Port unit test and example to the new API and add some new
4125         unit tests.
4126
4127 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
4128
4129         Patch by: Mark Nauwelaerts <manauw at skynet be>
4130
4131         * plugins/elements/gstmultiqueue.c:
4132         (gst_multi_queue_get_internal_links), (apply_buffer),
4133         (single_queue_overrun_cb), (gst_single_queue_new):
4134         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
4135         the pipeline layout can be tracked correctly. Fixes #453732.
4136
4137 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
4138
4139         * docs/gst/Makefile.am:
4140         * docs/libs/Makefile.am:
4141         * docs/plugins/Makefile.am:
4142           Simplify --extra-dir as gtkdoc scans recursively.
4143
4144 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
4145
4146         * tools/gst-launch.c: (main):
4147         When we got an error, there is no point in waiting for preroll when
4148         shutting down.
4149
4150 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
4151
4152         * plugins/elements/gsttee.c: (gst_tee_base_init),
4153         (gst_tee_request_new_pad), (gst_tee_release_pad),
4154         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
4155         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
4156         (gst_tee_chain):
4157         Be a lot smarter when deciding what srcpad to use for proxying
4158         the buffer_alloc. Also handle pad added/removed when doing so.
4159         Fixes #357959.
4160         Keep track of what pads we already pushed on in case we have pads
4161         added/removed while pushing. Fixes #374639 
4162
4163         * tests/check/Makefile.am:
4164         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
4165         (tee_suite):
4166         Added unit test for pad resync.
4167
4168 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4169
4170         * po/nl.po:
4171         * po/sv.po:
4172           Updated translations.
4173
4174 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4175
4176         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
4177
4178         * po/LINGUAS:
4179         * po/fi.po:
4180           Added new Finnish translation.
4181
4182 2007-06-28  Wim Taymans  <wim@fluendo.com>
4183
4184         * plugins/elements/gstmultiqueue.c: (apply_buffer),
4185         (single_queue_overrun_cb):
4186         When figuring out when a queue is filled, use our internal time estimate
4187         based on segments, just like check_full does.
4188
4189 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
4190
4191         * gst/gstminiobject.c: (gst_mini_object_get_type):
4192           Remove 3 do-nothing methods.
4193
4194 2007-06-27  Wim Taymans  <wim@fluendo.com>
4195
4196         Patch by: Tim Angus <tim at ngus dot net>
4197
4198         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
4199         (gst_capsfilter_set_property):
4200         Take a reference instead of a copy when setting "caps".
4201         Fix documentation to clarify this behaviour. Fixes #449414.
4202
4203 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
4204
4205         * gst/gstindexfactory.c: (gst_index_factory_get_type):
4206         * gst/gstplugin.c: (gst_plugin_init):
4207         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
4208         * gst/gstquery.c: (gst_query_get_type):
4209         * gst/gstregistry.c: (gst_registry_init):
4210         * gst/gsturi.c: (gst_uri_handler_base_init):
4211           Remove empty instance_init() functions to save relocs and lessen the
4212           noise. Remove some of the function prototypes that are doubled by
4213           G_DEFINE_TYPE.
4214           
4215 2007-06-27  Wim Taymans  <wim@fluendo.com>
4216
4217         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
4218
4219         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
4220         Add peer and direction in the XML serialisation of ghostpads.
4221         Fixes #449226.
4222
4223 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
4224
4225         * configure.ac:
4226           Preserve useful information, thanks Tim.
4227
4228 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
4229
4230         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
4231         (gst_single_queue_flush), (apply_segment), (apply_buffer),
4232         (gst_single_queue_push_one), (gst_multi_queue_loop),
4233         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
4234         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
4235         (compute_high_id), (gst_single_queue_new):
4236         * plugins/elements/gstmultiqueue.h:
4237         Take the multiqueue lock when updating the fill level so we don't get
4238         confused. 
4239
4240         After applying a buffer or event on the src pad segment, make sure to
4241         call gst_data_queue_limits_changed() to get the data queue to unblock
4242         and check the filled state again.
4243         
4244         Rework the not-linked pad handling so the logic is that not-linked 
4245         pads can push as fast as they like, but only so they never get 
4246         ahead of any linked pads.
4247
4248         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
4249         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
4250         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
4251
4252         Add a test to check that not-linked pads always stay behind
4253         linked pads.
4254
4255         Fixes: #430682
4256
4257 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
4258
4259         * docs/random/release:
4260           Some updates to the release procedure.
4261
4262 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
4263
4264         * gst/gstelementfactory.c: (__gst_element_details_clear):
4265           Microoptimization that saves stunning 80 bytes.
4266
4267 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
4268
4269         * docs/plugins/gstreamer-plugins.args:
4270         * docs/plugins/inspect/plugin-coreelements.xml:
4271         * docs/plugins/inspect/plugin-coreindexers.xml:
4272           Update docs with caps info.
4273
4274 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4275
4276         * po/it.po:
4277           Updated Italian translation.
4278
4279 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
4280
4281         * ChangeLog:
4282         * po/vi.po:
4283           Update Vietnamese translations.
4284
4285 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4286
4287         * libs/gst/base/gstbasesink.c:
4288           Remove unused signal enum.
4289
4290 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
4291
4292         * docs/gst/gstreamer-sections.txt:
4293         * gst/gstelement.c:
4294         * gst/gstutils.c: (gst_type_register_static_full):
4295         Beef up and include the docs for gst_type_register_static_full and
4296         gst_element_class_set_details_simple and add the API keyword
4297         in the ChangeLog.
4298
4299 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
4300
4301         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
4302         (update_time_level), (gst_single_queue_push_one),
4303         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
4304         (single_queue_overrun_cb), (single_queue_underrun_cb),
4305         (single_queue_check_full):
4306         Fix setting max-* properties after adding queues.
4307         Use IS_FILLED for checking visible items.
4308         Signal overrun if multiple queues overrun.
4309         Add extra debug output.
4310         Patch by: Wim Taymans <wim@fluendo.com>
4311
4312 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
4313
4314         * gst/gstelement.c: (gst_element_class_set_details_simple):
4315         * gst/gstelement.h:
4316         * gst/gstutils.c: (gst_type_register_static_full):
4317         * gst/gstutils.h:
4318         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
4319         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
4320         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
4321         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
4322         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
4323         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
4324         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
4325         * plugins/elements/gstidentity.c: (gst_identity_base_init):
4326         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
4327         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4328         (apply_buffer), (gst_queue_chain):
4329         * plugins/elements/gsttee.c: (gst_tee_base_init):
4330         * plugins/elements/gsttypefindelement.c:
4331         (gst_type_find_element_base_init),
4332         (gst_type_find_element_class_init):
4333           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
4334           API: add gst_type_register_static_full
4335           API: add gst_element_class_set_details_simple
4336
4337 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
4338
4339         * docs/pwg/advanced-types.xml:
4340           Fix typo in iana.org URI.
4341
4342 2007-06-19  Andy Wingo  <wingo@pobox.com>
4343
4344         * tests/check/pipelines/simple-launch-lines.c
4345         (test_state_change_returns): Enable pull-mode tests now that
4346         basesink has been fixed.
4347
4348         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
4349         Changed from gst_base_sink_is_prerolled, reversing the sense of
4350         the return value. Returns FALSE also if the sink is in pull mode,
4351         in which case it needs no preroll.
4352         (gst_base_sink_query, gst_base_sink_change_state): Update for
4353         needs_preroll change.
4354         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
4355         chaining up, in which we return SUCCESS directly if we activated
4356         in pull mode instead of ASYNC. Involves countering an async_start
4357         message sent before chaining up; not sure if this is correct, in
4358         an ideal world we only send async-start when activating in push
4359         mode.
4360
4361         * tests/check/pipelines/simple-launch-lines.c
4362         (test_state_change_returns): New test, partially disabled until
4363         basesink is fixed.
4364
4365 2007-06-19  Wim Taymans  <wim@fluendo.com>
4366
4367         * plugins/elements/gstmultiqueue.c: (apply_buffer),
4368         (gst_multi_queue_sink_event):
4369         Fix event leak.
4370
4371 2007-06-19  Wim Taymans  <wim@fluendo.com>
4372
4373         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
4374         (gst_bin_change_state_func), (bin_push_state_continue),
4375         (bin_handle_async_start), (bin_handle_async_done),
4376         (gst_bin_handle_message_func):
4377         Move the common code for posting state-change messages into
4378         one function.
4379         Broadcast the state signal after we posted the messages.
4380         Mark the bin as busy when it's doing a state-change.
4381         Make sure async-start/done messages don't interfere with the bin's
4382         state when it's busy.
4383         After the state change, let the bin check which elements completed the
4384         state change while it was busy so that it can update its state.
4385
4386 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
4387
4388         * docs/random/release:
4389         Add a note about updating the doap file to the release checklist
4390
4391 2007-06-18  Wim Taymans  <wim@fluendo.com>
4392
4393         * plugins/elements/gstmultiqueue.c: (apply_buffer),
4394         (gst_single_queue_push_one), (gst_multi_queue_chain),
4395         (gst_multi_queue_sink_event):
4396         Make sure we don't reference the buffer/event after we have given away
4397         ownership in the queue.
4398
4399 2007-06-18  Wim Taymans  <wim@fluendo.com>
4400
4401         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
4402         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
4403         Update queue state _after_ adding the item in the queue because else we
4404         could end up being full without the element added yet.
4405
4406 2007-06-18  Wim Taymans  <wim@fluendo.com>
4407
4408         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
4409         (gst_bin_remove_func), (gst_bin_get_state_func),
4410         (gst_bin_element_set_state), (gst_bin_continue_func),
4411         (bin_push_state_continue), (bin_handle_async_start),
4412         (bin_handle_async_done), (gst_bin_handle_message_func):
4413         * gst/gstbin.h:
4414         Immediatly commit the toplevel bin state when receiving an async-done
4415         message. This enables us to avoid spawning a thread to commit the state
4416         in some common cases and it also avoids some races.
4417         Avoid spawning a state thread when adding/removing async elements to a
4418         toplevel bin. Instead we immediatly update the bin state.
4419         Get rid of iterating all the children when getting the state in the bin
4420         because it is now always up-to-date.
4421         Fix bug where locked elements would always return _SUCCESS even it they
4422         returned NO_PREROLL before being locked.
4423         Fix the order of the state_change, async-start/done messages that was
4424         sometimes incorrect.
4425         Mark the state_dirty field as deprecated, we don't need it anymore as we
4426         are always up-to-date.
4427
4428         * gst/gstelement.c: (gst_element_get_state_func),
4429         (gst_element_continue_state):
4430         Small debug inprovements.
4431         Return the previous element state return when nothing is pending instead
4432         of blindly returning SUCCESS.
4433
4434         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
4435         (gst_sinks_suite):
4436         Add a whole bunch of new testcases.
4437
4438 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4439
4440         * po/uk.po:
4441         * po/vi.po:
4442           Update translations.
4443
4444 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
4445
4446         * gst/gstpad.c:
4447         Fix typo in the docs.
4448
4449 2007-06-15  Wim Taymans  <wim@fluendo.com>
4450
4451         * docs/libs/gstreamer-libs-sections.txt:
4452         Add docs for new methods.
4453
4454 2007-06-15  Wim Taymans  <wim@fluendo.com>
4455
4456         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
4457         (gst_multi_queue_item_new):
4458         Don't use GSlice because we don't depend on >= 2.10 yet.
4459
4460 2007-06-15  Wim Taymans  <wim@fluendo.com>
4461
4462         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
4463         (update_time_level), (apply_segment), (apply_buffer),
4464         (gst_single_queue_push_one), (gst_multi_queue_item_new),
4465         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
4466         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
4467         (single_queue_underrun_cb), (single_queue_check_full):
4468         Remove debug printf.
4469
4470 2007-06-15  Wim Taymans  <wim@fluendo.com>
4471
4472         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
4473         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
4474         (gst_data_queue_set_flushing), (gst_data_queue_push),
4475         (gst_data_queue_pop), (gst_data_queue_drop_head),
4476         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
4477         * libs/gst/base/gstdataqueue.h:
4478         Various cleanups.
4479         Added methods to get the current levels and to inform the queue that the
4480         'full' limits changed.
4481
4482         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
4483         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
4484         (gst_single_queue_flush), (update_time_level), (apply_segment),
4485         (apply_buffer), (gst_single_queue_push_one),
4486         (gst_multi_queue_item_steal_object),
4487         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
4488         (gst_multi_queue_loop), (gst_multi_queue_chain),
4489         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
4490         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
4491         (gst_multi_queue_src_query), (single_queue_overrun_cb),
4492         (single_queue_underrun_cb), (single_queue_check_full),
4493         (gst_single_queue_new):
4494         Keep track of time in the queue by measuring the difference between
4495         running_time on input and output. This gives more accurate results and
4496         can compensate for segments correctly.
4497         Make a queue by default only 5 buffers deep. We will now increase the
4498         buffer size depending on the filledness of the other queues.
4499         Factor out commong flush code.
4500         Make sure we don't add additional refcounts to buffers when we can avoid
4501         it.
4502         Propagate GstFlowReturn differently.
4503         Use GSlice for intermediate GstMultiQueueItems.
4504         Keep track of EOS.
4505         Resize queues on over and underruns based on filled level of other
4506         queues.
4507         When checking if the queue is filled, prefer to measure in time if we
4508         can and fall back to bytes when no time is known.
4509
4510         * plugins/elements/gstqueue.c:
4511         Fix return value.
4512
4513 2007-06-15  Wim Taymans  <wim@fluendo.com>
4514
4515         * libs/gst/base/gstbasetransform.c:
4516         (gst_base_transform_sink_event):
4517         Work around the brokenness of the event vmethod in basetransform. Prefer
4518         to return TRUE when the subclass returned FALSE (meaning don't forward
4519         the event). 
4520
4521         * libs/gst/base/gstbasetransform.h:
4522         Clarify the docs.
4523
4524 2007-06-15  Wim Taymans  <wim@fluendo.com>
4525
4526         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
4527         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
4528         (gst_base_src_default_query), (gst_base_src_get_range),
4529         (gst_base_src_start):
4530         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
4531         Improve debugging.
4532
4533 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
4534
4535         * docs/pwg/advanced-types.xml:
4536           Added more formats to caps table.
4537
4538 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
4539
4540         * tools/gst-launch.c: (main):
4541           Remove crufy code. GOption does not need this workaround.
4542
4543 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
4544
4545         * libs/gst/controller/gstcontroller.c:
4546         (gst_controlled_property_set_interpolation_mode):
4547           Fix wrong getter for enums in controller.
4548
4549 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4550
4551         * libs/gst/check/gstcheck.c: (gst_check_init):
4552           Intercept criticals and warnings in the Gst-Phonon log domain, so
4553           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
4554           well.
4555         
4556 2007-06-14  Edward Hervey  <edward@fluendo.com>
4557
4558         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
4559         Since this file doesn't include "gst.h" it will not go through the
4560         macros that disable GST_LOG if debugging was disabled.
4561
4562 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4563
4564         * libs/gst/check/Makefile.am:
4565         * libs/gst/check/gstcheck.h:
4566         * pkgconfig/gstreamer-check-uninstalled.pc.in:
4567         * pkgconfig/gstreamer-check.pc.in:
4568           Ugly 'fix' for the controller unit test on the p5 bot: in
4569           fail_unless_equals_float() check whether the values are 'almost
4570           equal' by allowing a small absolute error, which should be good
4571           enough for our use cases (normal numbers and values close to 0).
4572           Proper fixage left to floating point arithmetic aficionados.
4573
4574 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
4575
4576         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
4577         (gst_base_sink_render_object), (gst_base_sink_get_position):
4578           Add two breaks thats where missing.
4579
4580 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4581
4582         * docs/libs/gstreamer-libs-sections.txt:
4583         * libs/gst/check/gstcheck.h:
4584           API: add fail_unless_equals_float() and assert_equals_float().
4585           Add documentation for some of the macros.
4586
4587         * tests/check/libs/controller.c: (GST_START_TEST):
4588           Use newly-added asserts.
4589
4590 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
4591
4592         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
4593           Show the caps change in the log to help spotting the case of not
4594           exactly matching caps.
4595
4596 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
4597
4598         * docs/pwg/building-boiler.xml:
4599           Fix typos, spotted by Thijs Vermeir (#447190).
4600
4601 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
4602
4603         * docs/plugins/tmpl/.cvsignore:
4604         Ignore file to keep the buildbots happy
4605
4606 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
4607
4608         * docs/plugins/Makefile.am:
4609         * docs/plugins/gstreamer-plugins-docs.sgml:
4610         * docs/plugins/gstreamer-plugins-sections.txt:
4611         Pull fdsink into the docs too.
4612
4613 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
4614
4615         * libs/gst/controller/gstinterpolation.c:
4616         Actually use the new functions with min/max checks for the trigger and
4617         none interpolation modes for get() and get_value_array() instead of
4618         just the latter.
4619
4620 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
4621
4622         * libs/gst/controller/gstcontroller.c:
4623         (gst_controlled_property_free):
4624         Unset the minimum and maximum GValues when freeing the corresponding
4625         GstControllerProperty struct.
4626
4627 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
4628
4629         * libs/gst/controller/gstcontroller.c:
4630         (gst_controlled_property_new):
4631         * libs/gst/controller/gstcontrollerprivate.h:
4632         * libs/gst/controller/gstinterpolation.c:
4633         (gst_controlled_property_find_control_point_node),
4634         (interpolate_none_get), (interpolate_none_get_enum_value_array),
4635         (interpolate_none_get_string_value_array),
4636         (interpolate_trigger_get),
4637         (interpolate_trigger_get_enum_value_array),
4638         (interpolate_trigger_get_string_value_array):
4639         Protect against values larger or smaller than the minimum or maximum
4640         allowed value for the property when using values that can be compared.
4641
4642         Optimize trigger interpolator a bit by taking the last requested value
4643         into account instead of always looping through the complete list.
4644
4645         Fix coding style a bit, everywhere else we use "return foo" instead
4646         of "return (foo)".
4647         
4648         * tests/check/libs/controller.c: (GST_START_TEST),
4649         (gst_controller_suite):
4650         Add unit test for the protection against too large or too small
4651         values.
4652
4653 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
4654
4655         * docs/random/slomo/controller.txt:
4656         Add some thoughts about the future of the controller.
4657
4658 2007-06-08  Wim Taymans  <wim@fluendo.com>
4659
4660         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4661         Don't overflow in retimestamping code.
4662
4663 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
4664
4665         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
4666         Use gst_util_guint64_to_gdouble for conversions.
4667         * win32/common/libgstreamer.def:
4668         Add new exported functions.
4669
4670 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
4671
4672         * gst/gstutils.c:
4673           Small docs addition.
4674
4675 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4676
4677         * README:
4678           Remove that test line again.
4679
4680 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4681
4682         * README:
4683           Test commit mail sending.
4684
4685 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4686
4687         * configure.ac:
4688           Fix typo and test commit mail sending.
4689
4690 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
4691
4692         * tests/examples/controller/audio-example.c:
4693           Improve comment and test commit mail sending.
4694
4695 2007-06-07  Wim Taymans  <wim@fluendo.com>
4696
4697         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
4698         (gst_bin_remove_func), (gst_bin_element_set_state),
4699         (bin_handle_async_start), (bin_handle_async_done),
4700         (gst_bin_handle_message_func):
4701         Add helper function to find messages.
4702         Generate the async-done messages together with the state change
4703         messages.
4704         Small cleanups in handling toplevel bins.
4705
4706 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4707
4708         * libs/gst/base/gstdataqueue.c:
4709         * libs/gst/base/gstdataqueue.h:
4710         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
4711         (gst_multi_queue_item_new), (gst_multi_queue_chain),
4712         (gst_multi_queue_sink_event):
4713         * tests/check/elements/multiqueue.c: (multiqueue_suite):
4714           Fix multiqueue leaking buffers and events when downstream or the
4715           queue are flushing. Make refcounting assumptions explicit and
4716           document them (shouldn't break existing code that uses it other than
4717           maybe leak miniobjects, but that already happens anyway). Add unit
4718           test for the most common flushing case. Fixes #423700.
4719           
4720 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
4721
4722         * libs/gst/controller/gstcontroller.c:
4723         Clarify docs: The get_all, get_value_array(s) functions
4724         don't modify the GObject properties.
4725
4726 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
4727
4728         * libs/gst/controller/gstcontroller.c:
4729         (gst_controlled_property_set_interpolation_mode),
4730         (gst_controlled_property_prepend_default),
4731         (gst_controlled_property_new), (gst_controller_set_unlocked),
4732         (gst_controller_set), (gst_controller_set_from_list),
4733         (gst_controller_unset), (gst_controller_unset_all):
4734         * libs/gst/controller/gstcontrollerprivate.h:
4735         * libs/gst/controller/gstinterpolation.c:
4736         Factor out the 'set' logic into gst_controller_set_unlocked for the
4737         gst_controller_set and gst_controller_set_from_list functions.
4738
4739         To make life of the interpolators easier always add a control point
4740         at timestamp zero with the default value.
4741
4742         In the linear interpolator make things more obvious by better variable
4743         naming (slope).
4744
4745         Implement cubic interpolation mode (by using a natural cubic spline)
4746         and map the quadratic interpolation mode to this too (as quadratic
4747         doesn't make much sense, see discussion on the list).
4748
4749         * tests/check/libs/controller.c: (GST_START_TEST),
4750         (gst_controller_suite):
4751         Add unit test for the cubic interpolation mode and check everywhere
4752         if the interpolation mode could be set as expected.
4753
4754 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4755
4756         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
4757           Don't use GLib-2.10 functions, we still depend on
4758           GLib-how-old-is-it-again-2.8.
4759
4760 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
4761
4762         * docs/gst/gstreamer-sections.txt:
4763         * gst/Makefile.am:
4764         * gst/gst.c:
4765         * gst/gst.h:
4766         * gst/gstparamspecs.c: (_gst_param_fraction_init),
4767         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
4768         (_gst_param_fraction_values_cmp),
4769         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
4770         * gst/gstparamspecs.h:
4771         * gst/gstvalue.c:
4772         * tests/check/Makefile.am:
4773         * tests/check/gst/.cvsignore:
4774         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
4775         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
4776         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
4777         (GST_START_TEST), (gst_param_spec_suite):
4778           API: add GstParamSpecFraction, so elements can have fraction
4779           properties without lots of painful string parsing (#444648).
4780
4781 2007-06-05  Wim Taymans  <wim@fluendo.com>
4782
4783         * gst/gstobject.c: (gst_object_class_init):
4784         Fix signal signature.
4785
4786         * gst/gstsegment.c:
4787         Add small clarification in the api docs.
4788
4789         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
4790         States are protected with object lock.
4791
4792 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
4793
4794         * AUTHORS:
4795         I should probably be listed as an author by now.
4796
4797         * docs/random/release:
4798         Update the release doc
4799
4800 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
4801
4802         * gst/gstvalue.c:
4803           Make docs for gst_value_compare() mention return enums that
4804           actually exist.
4805
4806 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
4807
4808         * configure.ac:
4809           Back to CVS
4810
4811 === release 0.10.13 ===
4812
4813 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
4814
4815         * configure.ac:
4816           releasing 0.10.13, "With or without you"
4817
4818 2007-05-25  Wim Taymans  <wim@fluendo.com>
4819
4820         * gst/gstbin.c: (bin_handle_async_done):
4821         Make sure that the child bin stops after completing the async state
4822         change so that the parent can continue the state change to PLAYING.
4823         Fixes #441159.
4824
4825 2007-05-25  Wim Taymans  <wim@fluendo.com>
4826
4827         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
4828         (unref_data), (gst_collect_pads_remove_pad),
4829         (gst_collect_pads_check_pads):
4830         Use additional refcounting to avoid crashes when dynamically adding and
4831         removing pads. Fixes #420206.
4832
4833 2007-05-24  Wim Taymans  <wim@fluendo.com>
4834
4835         * tools/gst-launch.c: (event_loop):
4836         When buffering goes from a two digit to a single digit number, make sure
4837         to remove the old second digit by writing a blank over it.
4838
4839 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
4840
4841         * libs/gst/base/gstdataqueue.c:
4842           Eliminate tabs and trailing comma in enum list; fix some typos.
4843
4844 2007-05-24  Wim Taymans  <wim@fluendo.com>
4845
4846         * tests/check/gst/gstbin.c: (GST_START_TEST):
4847         Allow refcount of 3 and 4 because some state thread might still be busy
4848         with it.
4849
4850 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
4851
4852         * plugins/elements/Makefile.am:
4853         * plugins/elements/gstmultiqueue.h:
4854         * plugins/elements/gstqueue.h:
4855           These are not installed headers, no need for padding.
4856
4857 2007-05-24  Wim Taymans  <wim@fluendo.com>
4858
4859         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
4860         (gst_bin_continue_func):
4861         Enable latency for next release.
4862         Restore STATE_LOCK around recalc_state that was left out during the
4863         rewrite and could result in racy behaviour when _get_state and
4864         recalc_state are run concurrently. See #440463.
4865
4866 2007-05-23  Wim Taymans  <wim@fluendo.com>
4867
4868         * tests/check/gst/gstsystemclock.c: (store_callback),
4869         (GST_START_TEST):
4870         Improve test_async_order to also work when both timers are already
4871         expired when we get scheduled to check it.
4872
4873 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4874
4875         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
4876         (gst_bin_set_property), (gst_bin_get_property),
4877         (gst_bin_remove_func), (gst_bin_handle_message_func):
4878         * gst/gstbin.h:
4879           'private' is a c++ keyword, let's not use that in header files,
4880           otherwise c++ compilers will throw a tantrum.
4881
4882 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4883
4884         * plugins/elements/gstelements.c:
4885         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
4886         (gst_file_sink_get_current_offset):
4887         * plugins/indexers/gstindexers.c: (plugin_init):
4888           Use #ifdef for HAVE_XYZ for consistency.
4889
4890         * tests/check/Makefile.am:
4891         * tests/check/elements/.cvsignore:
4892         * tests/check/elements/filesink.c: (setup_filesink),
4893         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
4894           Add some unit tests for filesink.
4895
4896 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
4897
4898         Patch by: Mark Nauwelaerts <manauw at skynet be>
4899
4900         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
4901         (gst_file_sink_query), (gst_file_sink_do_seek),
4902         (gst_file_sink_get_current_offset), (gst_file_sink_render):
4903         * plugins/elements/gstfilesink.h:
4904           Fix position reporting; rename data_written member to current_pos to
4905           reflect its real meaning (fixes #412648).
4906
4907 2007-05-22  Edward Hervey  <edward@fluendo.com>
4908
4909         * docs/gst/gstreamer-sections.txt:
4910         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
4911         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
4912         (gst_bin_remove_func), (gst_bin_handle_message_func):
4913         * gst/gstbin.h:
4914         Add a property for bins that handle the state change of their childs.
4915         Fixes #435880
4916
4917 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
4918
4919         * libs/gst/controller/gstinterpolation.c:
4920         Use an array of the correct type when using _get_value_array with
4921         linear interpolation.
4922
4923 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
4924
4925         * gst/gstelement.c (gst_element_requires_clock,
4926           gst_element_provides_clock, gst_element_request_pad,
4927           gst_element_class_set_details, gst_element_class_set_details_simple,
4928           gst_element_default_send_event, gst_element_abort_state,
4929           gst_element_continue_state, gst_element_set_state,
4930           gst_element_set_state_func, iterator_activate_fold_with_resync):
4931         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
4932           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
4933           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
4934           gst_pad_get_range, gst_pad_pull_range):
4935         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
4936           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
4937           GstPadActivateModeFunction, GstPadChainFunction,
4938           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
4939           GstPadFixateCapsFunction, GstPadTemplate):
4940         * gst/gstpipeline.c (gst_pipeline_change_state,
4941           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
4942           gst_pipeline_set_clock, gst_pipeline_auto_clock,
4943           gst_pipeline_get_delay):
4944           Whitespace and docs fixes.
4945
4946 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4947
4948         * libs/gst/controller/gstinterpolation.c:
4949         (interpolate_trigger_get_enum_value_array),
4950         (interpolate_trigger_get_string_value_array):
4951         Add support for retrieving value arrays when using the trigger
4952         interpolation mode. 
4953
4954 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4955
4956         * libs/gst/controller/gstcontroller.c:
4957         (gst_controller_get_value_array):
4958         * libs/gst/controller/gstcontroller.h:
4959         Clarify the docs of gst_controller_get_value_array(): The array where
4960         the values should be written to must be allocated as there seems to be
4961         no way to get the size of a random GType. This doesn't change any
4962         behaviour. Also fix some typos all over the place and remove an unused,
4963         commented function that is not necessary as g_object_set() could be
4964         used instead.
4965         * tests/check/libs/controller.c: (GST_START_TEST),
4966         (gst_controller_suite):
4967         Add unit test for gst_controller_get_value_array().
4968
4969 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
4970
4971         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4972
4973         Disable part of the gst_buffer_try_new_and_alloc test, because
4974         it can happily succeed on 64-bit systems where there's more address
4975         space available.
4976
4977 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
4978
4979         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
4980         Add unit test for the improved caps checking from bug #421543.
4981
4982 2007-05-21  Wim Taymans  <wim@fluendo.com>
4983
4984         * docs/design/part-synchronisation.txt:
4985         Small addition.
4986
4987         * gst/gstbin.c: (gst_bin_query):
4988         * plugins/elements/gstqueue.c: (apply_segment):
4989         Improve debugging.
4990
4991         * gst/gstmessage.h:
4992         Improve docs.
4993
4994 2007-05-21  Wim Taymans  <wim@fluendo.com>
4995
4996         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
4997         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
4998         (gst_pad_configure_src):
4999         Added simple version of improved caps checking. It was previously
5000         assumed that a setcaps function would check the validity of the caps but
5001         people prefer us to check caps against the template automatically. 
5002         Fixes #421543.
5003
5004 2007-05-21  Wim Taymans  <wim@fluendo.com>
5005
5006         * libs/gst/base/gstbasetransform.h:
5007         Fix macro for locking/unlocking the transform lock.
5008
5009 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5010
5011         * docs/plugins/tmpl/.cvsignore:
5012           Ignore more.
5013
5014 2007-05-18  Edward Hervey  <edward@fluendo.com>
5015
5016         * plugins/elements/gstqueue.c: (gst_queue_loop):
5017         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
5018         for the subtle art of warning a potentially blocking thread that it
5019         should check the source pad return value, and relay the information
5020         upstream.
5021
5022 2007-05-18  Edward Hervey  <edward@fluendo.com>
5023
5024         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
5025         Release the queue lock !
5026
5027 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
5028
5029         * docs/libs/gstreamer-libs-sections.txt:
5030         Add the two new controller functions to the appropiate places.
5031
5032 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
5033
5034         reviewed by: Stefan Kost <ensonic@users.sf.net>
5035
5036         * libs/gst/controller/gstcontroller.c:
5037         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
5038         (_gst_controller_get_property), (_gst_controller_set_property),
5039         (_gst_controller_init), (_gst_controller_class_init):
5040         * libs/gst/controller/gstcontroller.h:
5041         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
5042         (gst_object_get_control_rate), (gst_object_set_control_rate):
5043         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
5044         Add API that provides sync suggestion timestamps for elements that
5045         call gst_object_sync_values() from which those elements can subdivide
5046         their processing loop to get the best results for the controlled
5047         properties. For now it just suggests last_sync + control_rate as
5048         new timestamp but this will be improved in the future.
5049
5050         While doing that change the control-rate property to a GstClockTime
5051         from guint and change it's meaning from samples to nanoseconds as
5052         the GstController doesn't know anything about sampling rate. Strictly
5053         speaking this breaks ABI but as the control-rate property didn't do
5054         anything in the past and as such couldn't be used this should be no
5055         problem.        
5056
5057 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
5058
5059         reviewed by: Stefan Kost <ensonic@users.sf.net>
5060
5061         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
5062         (gst_controller_unset_all):
5063         * libs/gst/controller/gstcontrollerprivate.h:
5064         * libs/gst/controller/gstinterpolation.c:
5065         (gst_controlled_property_find_control_point_node):
5066         Save last synced value from the list to continue searching from there
5067         in future syncs. This speeds everything up a bit.
5068         
5069 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
5070
5071         reviewed by: Stefan Kost <ensonic@users.sf.net>
5072
5073         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
5074         (gst_control_point_find), (gst_controlled_property_new),
5075         (gst_control_point_free), (gst_controlled_property_free),
5076         (gst_controller_set), (gst_controller_set_from_list),
5077         (gst_controller_unset), (gst_controller_unset_all),
5078         (gst_controller_sync_values):
5079         * libs/gst/controller/gstcontroller.h:
5080         * libs/gst/controller/gstcontrollerprivate.h:
5081         * libs/gst/controller/gstinterpolation.c:
5082         (gst_controlled_property_find_control_point_node),
5083         (interpolate_none_get), (interpolate_trigger_get):
5084         Add a new private GstControlPoint struct which "inherits" from
5085         GstTimedValue to allow different interpolators to store internal
5086         values next to each control point. From the outside everything is
5087         still a GstControlPoint so we don't loose binary compatibility.
5088         Also fixup all the GValue handling to not leak GValues or list nodes.
5089         * tests/check/libs/controller.c: (GST_START_TEST):
5090         Free the list nodes and GValues in the controller_misc test.
5091
5092 2007-05-17  Edward Hervey  <edward@fluendo.com>
5093
5094         * gst/gstsegment.c:
5095         Small doc fix.
5096
5097 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
5098
5099         * gst/gstplugin.c: (gst_plugin_load_file):
5100           If we fail to load a plugin because of unresolved symbols or missing
5101           libraries and spew a warning to stderr, we may just as well mention
5102           which plugin it was that failed to load.
5103
5104 2007-05-13  David Schleef  <ds@schleef.org>
5105
5106         * docs/Makefile.am: the gtk-doc makefile snippet correctly
5107           handles the case when ENABLE_GTK_DOC is false, and installs
5108           the prebuilt documentation.  So gtk-doc subdirs are 
5109           unconditionally enabled.  Fixes: #349099.
5110
5111 2007-05-13  David Schleef  <ds@schleef.org>
5112
5113         * gst/gstutils.h: Reword some documentation.
5114
5115 2007-05-12  David Schleef  <ds@schleef.org>
5116
5117         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
5118           do anything with the passed "module" parameter, so remove it.
5119           Allows removal of additional vestigal code.
5120
5121 2007-05-12  David Schleef  <ds@schleef.org>
5122
5123         * gst/gstplugin.c:
5124           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
5125           Switch to using g_stat() because it's more portable.
5126
5127 2007-05-12  David Schleef  <ds@schleef.org>
5128
5129         * gst/gst.c:
5130           Add GST_DISABLE_OPTION_PARSING, in order to disable option
5131           parsing for embedded systems.
5132         * gst/gstelementfactory.c:
5133           Allow gst_element_register() to be called with plugin==NULL.
5134           Did nobody notice that static elements were broken?
5135
5136 2007-05-12  Wim Taymans  <wim@fluendo.com>
5137
5138         * tools/gst-launch.c: (event_loop):
5139         Give more interesting info when buffering starts and stops.
5140         Fix case where buffering starts but we fail to update the buffering flag
5141         because the target state is not PLAYING.
5142
5143 2007-05-12  Wim Taymans  <wim@fluendo.com>
5144
5145         * plugins/elements/gstqueue.c: (gst_queue_init),
5146         (gst_queue_finalize), (update_time_level), (apply_segment),
5147         (apply_buffer), (gst_queue_locked_flush),
5148         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
5149         (gst_queue_handle_sink_event), (gst_queue_chain),
5150         (gst_queue_push_one), (gst_queue_loop):
5151         * plugins/elements/gstqueue.h:
5152         Refactor an cleanup queue a bit.
5153         Do better time level calculations that also work when the srcpad is not
5154         yet running.
5155         Remove some unneeded debug lines.
5156
5157         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
5158         Added testcase for time level measurement.
5159         Try to make some stuff more racefree.
5160
5161 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
5162
5163         * gst/gsturi.c: (gst_element_make_from_uri):
5164           Don't leak plugin feature.
5165
5166         * tests/check/Makefile.am:
5167         * tests/check/gst/.cvsignore:
5168         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
5169           Add brain-dead unit test.
5170
5171 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
5172
5173         Patch by: Jeroen Wouters <woutersj at gmail com>
5174
5175         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
5176           Treat protocol strings in a case-insensitive way (#437563).
5177
5178 2007-05-11  Michael Smith <msmith@fluendo.com>
5179
5180         * gst/gstplugin.c: (gst_plugin_load_file):
5181         * gst/gstregistry.c: (gst_registry_scan_path_level):
5182           Don't print a g_warning for any failure to load a shared object.
5183           Instead, push this down into gstplugin.c, and warn _only_ if we
5184           failed to open the module (i.e. failure to link).
5185           Avoids warnings on normal, working, non-plugin .so files.
5186
5187 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
5188
5189         * gst/gstplugin.c (gst_plugin_load_file):
5190         * gst/gstregistry.c (GST_CAT_DEFAULT,
5191           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
5192           Print a g_warning if there was an error when loading a plugins during
5193           registry scan. The shuld help beginners starting with gst-plugin
5194           template.
5195
5196 2007-05-10  Wim Taymans  <wim@fluendo.com>
5197
5198         * plugins/elements/gstqueue.c: (gst_queue_class_init),
5199         (update_time_level), (gst_queue_locked_flush),
5200         (gst_queue_handle_sink_event), (gst_queue_chain),
5201         (gst_queue_push_one), (gst_queue_loop):
5202         * plugins/elements/gstqueue.h:
5203         Be smarter when calculating the current amount of data in the queue by
5204         measuring the difference between start and end timestamps (in running
5205         time) inside the queue. Fixes #432876.
5206         API: GstQueue::pushing to notify elements that we are pushing data again
5207         since the running signal is rather broken for this purpose.
5208
5209 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
5210
5211         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
5212           gst_queue_base_init, gst_queue_init):
5213           use GST_BOILERPLATE
5214
5215 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
5216
5217         * win32/common/libgstreamer.def:
5218         Add new exported functions.
5219         * win32/vs6/grammar.dsp:
5220         Use grammar pre-generated files.
5221
5222 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5223
5224         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
5225
5226         * gst/Makefile.am:
5227         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
5228         * gst/gstparse.h:
5229         * gst/gstutils.c: (gst_parse_bin_from_description):
5230         * gst/gstutils.h:
5231           Maintain API and ABI when --disable-parse is used. Now that
5232           we have an appropriate error code, we can just return NULL and the
5233           appropriate error when gst_parse_launch() is used despite it having
5234           been disabled (#342564).
5235
5236         * tests/check/Makefile.am:
5237         * tests/check/pipelines/.cvsignore:
5238         * tests/check/pipelines/parse-disabled.c:
5239           Make sure these functions exist and return NULL plus a GError when
5240           --disable-parse is used.
5241
5242 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
5243
5244         * tests/benchmarks/complexity.c: (main):
5245         * tests/benchmarks/mass-elements.c: (main):
5246           Set a good example and don't leak messages.
5247
5248 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
5249
5250         * docs/gst/Makefile.am:
5251         * docs/libs/Makefile.am:
5252           Correct fixxrefs options.
5253
5254         * docs/plugins/Makefile.am:
5255         * docs/plugins/gstreamer-plugins-docs.sgml:
5256         * docs/plugins/gstreamer-plugins-sections.txt:
5257         * plugins/elements/Makefile.am:
5258         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
5259         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
5260           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
5261           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
5262           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
5263           _GstCapsFilterClass, trans_class):
5264         * plugins/elements/gstelements.c (name, rank, type, _elements):
5265         * plugins/elements/gstidentity.c
5266           (gst_identity_check_imperfect_timestamp,
5267           gst_identity_check_imperfect_offset):
5268           Document capsfilter and add doc-blurb to identity.
5269
5270 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
5271
5272         * libs/gst/controller/gstcontroller.c:
5273         (gst_controlled_property_set_interpolation_mode):
5274         * libs/gst/controller/gstinterpolation.c:
5275           Don't crash if someone tries to set an interpolation mode that
5276           is invalid or that isn't supported yet. Fixes #422295.
5277
5278         * tests/check/libs/controller.c: (GST_START_TEST),
5279         (gst_controller_suite):
5280           Add a test case for the above.
5281
5282 2007-05-03  Edward Hervey  <edward@fluendo.com>
5283
5284         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
5285         Properly set the last_stop position on GstSegment. This will only happen
5286         if there is a buffer to push out.
5287
5288 2007-05-03  Wim Taymans  <wim@fluendo.com>
5289
5290         * libs/gst/base/gstbasetransform.c:
5291         (gst_base_transform_buffer_alloc):
5292         always_in_place does not mean that the sink and source caps are the
5293         same! Make sure we don't blindly proxy the buffer_alloc in this case.
5294
5295 2007-05-03  Wim Taymans  <wim@fluendo.com>
5296
5297         * docs/libs/gstreamer-libs-sections.txt:
5298         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
5299         (gst_base_src_default_query), (gst_base_src_get_range):
5300         * libs/gst/base/gstbasesrc.h:
5301         API: gst_base_src_query_latency(). Added method so that subclasses can
5302         easily get the latency values of the base source class.
5303
5304 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
5305
5306         * tools/gst-inspect.c (print_implementation_info):
5307         Remove 0.8 cruft.
5308
5309 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
5310
5311         * tools/Makefile.am:
5312         * tools/gst-launch.1.in:
5313           Don't create a customised man page based on the host architecture,
5314           describe the default registry path generically. That way the man
5315           page is the same for all architectures and packagers have one
5316           multilib issue less to deal with. Fixes #434926.
5317
5318 2007-05-02  Wim Taymans  <wim@fluendo.com>
5319
5320         * gst/gstpad.c:
5321         Fix documentation as spotted by rg on IRC. 
5322
5323 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
5324
5325         * gst/gstutils.c:
5326           Improve docs for gst_element_{link,unlink}.
5327
5328 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
5329
5330         * docs/design/part-events.txt:
5331         * docs/design/part-overview.txt:
5332         * gst/gstevent.c:
5333         * gst/gsturi.c:
5334         * gst/gsturi.h:
5335         * libs/gst/base/gstbasesink.c:
5336           Typo fixes; minor docs addition.
5337
5338 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
5339
5340         * docs/gst/gstreamer-sections.txt:
5341         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
5342         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
5343         * gst/gsturi.h:
5344         API: Add gst_uri_protocol_is_supported(), which checks if a sink
5345         or src that supports a given URI protocol exists.
5346
5347 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
5348
5349         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5350         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5351         Set the location to NULL if "file://" is set as URI. Otherwise
5352         some random previous URI would still be set if "file://" is
5353         set on an already used filesink/filesrc.
5354
5355 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
5356
5357         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
5358         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
5359         Special case the "file://" URI as as this is used by some
5360         applications to test with gst_element_make_from_uri if there's
5361         an element that supports the URI protocol.
5362         Also move the g_path_is_absolute() check for the location part
5363         of the URI to also check this for "file://localhost/bla" URIs.
5364
5365 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
5366
5367         * docs/gst/gstreamer-sections.txt:
5368         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
5369         * gst/gstbuffer.h:
5370         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
5371         (gst_buffer_suite):
5372           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
5373
5374 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
5375
5376         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
5377         (gst_registry_binary_load_pad_template),
5378         (gst_registry_binary_load_plugin),
5379         (gst_registry_binary_read_cache):
5380         * gst/gstregistrybinary.h:
5381           Implement no-mmap alternative for registry reading. Do code cleanups.
5382           Add more comments about avoiding strdups for all text data. Comments
5383           welcome.
5384
5385 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
5386
5387         * gst/gstregistrybinary.h (GstBinaryPluginElement,
5388           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
5389           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
5390           Comment structs and reformat to fix the build (that stuff should go
5391           into a priv. header).
5392
5393 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
5394
5395         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
5396         (gst_registry_binary_load_feature):
5397         * gst/gstregistrybinary.h:
5398           Refactor so that we can implement multiple features. Add support for
5399           TypeFindFactory features.
5400
5401 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
5402
5403         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
5404
5405         * configure.ac:
5406           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
5407
5408 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
5409
5410         * gst/gstbin.c: (gst_bin_element_set_state),
5411         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
5412         (bin_handle_async_done), (gst_bin_handle_message_func):
5413           Fix build with --gst-disable-gst-debug
5414
5415 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
5416
5417         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
5418           Make sure streaming has finished before calling the ::stop() vfunc,
5419           since that vfunc might clear state which is being used in the
5420           streaming thread. This fixes a race that caused crashes in
5421           audioresample when shutting down a pipeline (#420106).
5422
5423 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
5424
5425         * docs/gst/gstreamer-sections.txt:
5426           That was one byte missing.
5427
5428 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
5429
5430         * configure.ac:
5431         * docs/gst/gstreamer-sections.txt:
5432         * gst/Makefile.am:
5433         * gst/gstconfig.h.in:
5434         * gst/gstobject.c: (gst_object_class_init),
5435         (gst_signal_object_class_init):
5436         * gst/gstobject.h:
5437           2nd attempt to have a xml-less build as a joined effort of #413123
5438           and #421480.
5439
5440 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
5441
5442         * docs/design/draft-tagreading.txt:
5443           Added open issues/thoughts to draft.
5444
5445 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5446
5447         * gst/parse/grammar.tab.pre.c:
5448         * gst/parse/grammar.tab.pre.h:
5449         * gst/parse/lex._gst_parse_yy.pre.c:
5450         Update the prebuild parser sources.
5451
5452 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5453
5454         * gst/parse/Makefile.am:
5455         And now fix the building of the flex sources. Now everything should
5456         work as expected.
5457
5458 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5459
5460         * gst/parse/Makefile.am:
5461         Now hopefully fix the build failures by setting proper rule
5462         dependencies and moving instead of copying.
5463
5464 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
5465
5466         * tests/benchmarks/complexity.gnuplot:
5467         * tests/benchmarks/complexity.scm:
5468         * tests/benchmarks/mass-elements.gnuplot:
5469         * tests/benchmarks/mass-elements.scm:
5470           Total licensification.
5471
5472 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
5473
5474         * gst/parse/Makefile.am:
5475           Fix the build by correcting the rule that gave wrong files to flex.
5476
5477 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
5478
5479         * tests/benchmarks/complexity.c:
5480         * tests/benchmarks/mass-elements.c:
5481           Change licence to LGPL as granted by Benjamin and Andy.
5482
5483 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
5484
5485         * gst/parse/Makefile.am:
5486         Add correct grammar.tab.h dependency if compiling without new enough
5487         flex. Fixes #431150.
5488
5489 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
5490
5491         * gst/parse/Makefile.am:
5492         Fix typo and use outdated sources if the flex/bison sources are newer
5493         than the pregenerated ones but flex is too old. Print a warning in
5494         that case. This should fix the build on the build bot.
5495
5496 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
5497
5498         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
5499         * gst/parse/Makefile.am:
5500         * gst/parse/grammar.y:
5501         * gst/parse/parse.l:
5502         Make the parser reentrant and recursively callable. This requires flex
5503         >= 2.5.31, for older versions pregenerated sources are used as we
5504         can't bump the build dependency. Finally fixes #349180.
5505
5506         * gst/gstparse.c: (gst_parse_launch):
5507         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
5508         now anyway.
5509
5510         * docs/gst/Makefile.am:
5511         * docs/gst/Makefile.am:
5512         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
5513         (__gst_parse_strfree), (__gst_parse_link_new),
5514         (__gst_parse_link_free), (__gst_parse_chain_new),
5515         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
5516         (gst_parse_element_set), (gst_parse_free_link),
5517         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
5518         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
5519         (_gst_parse_launch):
5520         * gst/parse/grammar.tab.pre.h:
5521         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
5522         (yy_get_previous_state), (yy_try_NUL_trans), (input),
5523         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
5524         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
5525         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
5526         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
5527         (_gst_parse_yypop_buffer_state),
5528         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
5529         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
5530         (yy_fatal_error), (_gst_parse_yyget_extra),
5531         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
5532         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
5533         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
5534         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
5535         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
5536         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
5537         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
5538         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
5539         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
5540         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
5541         (_gst_parse_yyfree):
5542         If the installed flex version is too old use pre-generated parser
5543         sources. These pre-generated parser sources are always updated when
5544         the actual flex/bison sources change but require everybody who wants
5545         to change something in the parser to have flex >= 2.5.31 installed.
5546
5547 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
5548
5549         * common/m4/gst-gettext.m4:
5550         * gst/gst-i18n-lib.h:
5551           Make --disable-nls to work
5552
5553 2007-04-17  Wim Taymans  <wim@fluendo.com>
5554
5555         * gst/gstconfig.h.in:
5556         Revert previous change that broke the build.
5557
5558 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
5559
5560         * configure.ac:
5561         * gst/Makefile.am:
5562         * gst/gstconfig.h.in:
5563           Drop libxml2 dependency when building with 
5564           --enable-binary-registry --disable-loadsave
5565
5566 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
5567
5568         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
5569         (gst_registry_binary_read_cache):
5570         * gst/gstregistrybinary.h:
5571           Remove unnecessary <sys/mman.h> include which broke the win32 build
5572           with MingW; move includes from header file to .c file, even if the
5573           header file isn't installed; use g_strerror() where UTF-8 strings
5574           are expected, such as in GST_DEBUG messages.
5575
5576 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5577
5578         * docs/libs/gstreamer-libs-sections.txt:
5579         Remove bogus addition for API I didn't end up keeping.
5580
5581         * libs/gst/base/gstbasesrc.h:
5582         Mention Since: 0.10.13 in the documentation.
5583
5584         Add the API keyword to the previous ChangeLog entry.
5585
5586 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5587
5588         * docs/libs/gstreamer-libs-sections.txt:
5589         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5590         (gst_base_src_default_prepare_seek_segment),
5591         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
5592         * libs/gst/base/gstbasesrc.h:
5593         Allow basesrc derived classes to execute seeks in other formats
5594         by providing a prepare_seek_segment vmethod. Sub-classes can choose
5595         to prepare the GstSegment in any format that their perform_seek method
5596         will be able to understand. The default implementation provides the
5597         old behaviour of attempting to convert the seek offsets to the 
5598         configured native format.
5599
5600         API: basesrc::prepare_seek_segment vmethod.
5601
5602 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5603
5604         * gst/gstelement.c: (gst_element_get_state_func):
5605         Don't output the same debug statement twice.
5606
5607         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
5608         (gst_adapter_peek), (gst_adapter_take_buffer):
5609         Optimise the case where we have buffers at the head of the queue that
5610         can be joined quickly (because they're contiguous sub-buffers) by
5611         merging them together rather than copying data out into new memory.
5612
5613         * gst/parse/grammar.y:
5614         * tests/check/pipelines/parse-launch.c:
5615         Fix a leak in an error path for parse_launch, and add a check 
5616         for it to the testsuite.
5617
5618 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
5619
5620         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
5621           Don't deadlock when releasing a pad - gst_pad_set_active may try
5622           and take the multiqueue lock too.
5623
5624 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
5625
5626         * gst/gsterror.c: (_gst_core_errors_init):
5627         * gst/gsterror.h:
5628           API: add GST_CORE_ERROR_DISABLED (#392804).
5629
5630 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
5631
5632         * docs/faq/gst-uninstalled:
5633           don't get empty paths on the PATH variables
5634         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
5635           Don't format for the uncommon terminal width of 84 characters.
5636
5637 2007-04-06  Wim Taymans  <wim@fluendo.com>
5638
5639         * gst/gstpipeline.c: (reset_stream_time),
5640         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
5641         Only try to select a different pipeline clock when we went back to
5642         PAUSED and not when we merely got flushed.
5643
5644 2007-04-05  Michael Smith  <msmith@fluendo.com>
5645
5646         * tools/gst-launch.1.in:
5647           fractions are better supported in gstreamer than ractions, so
5648           suggest using those.
5649
5650 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
5651
5652         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
5653
5654         * po/LINGUAS:
5655         * po/da.po:
5656           Added Danish translation.
5657
5658 2007-04-05  Wim Taymans  <wim@fluendo.com>
5659
5660         * libs/gst/base/gstbasesink.c:
5661         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
5662         Fix leak caused when refusing newsegment after EOS.
5663
5664         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5665         (gst_fake_sink_init), (gst_fake_sink_set_property),
5666         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
5667         (gst_fake_sink_render), (gst_fake_sink_change_state):
5668         * plugins/elements/gstfakesink.h:
5669         Add num-buffers property to make the element generate EOS after a
5670         configurable amount of buffers.
5671         API: fakesink::num-buffers property.
5672
5673         * tests/check/elements/fakesink.c: (GST_START_TEST),
5674         (fakesink_suite):
5675         Fix GstBus leak in test.
5676         Test for fakesink num-buffers.
5677
5678 2007-04-05  Wim Taymans  <wim@fluendo.com>
5679
5680         * libs/gst/base/gstbasesink.c:
5681         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5682         (gst_base_sink_change_state):
5683         Don't accept anything after an EOS, return UNEXPECTED instead.
5684
5685         * tests/check/elements/fakesink.c: (GST_START_TEST),
5686         (fakesink_suite):
5687         Unit test for new EOS behaviour.
5688
5689 2007-04-05  Wim Taymans  <wim@fluendo.com>
5690
5691         * gst/gstelement.c: (gst_element_get_request_pad):
5692         Make padtemplates also work when they don't contain %s or %d.
5693
5694 2007-04-05  Wim Taymans  <wim@fluendo.com>
5695
5696         * docs/gst/gstreamer-sections.txt:
5697         * gst/gstclock.c: (gst_clock_adjust_unlocked),
5698         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
5699         * gst/gstclock.h:
5700         Improve _adjust_unlocked() so that it overflows less.
5701         Add gst_clock_unadjust_unlocked to convert from external time to
5702         internal time based on calibration.
5703         Add some more debug.
5704         API: GstClock::gst_clock_unadjust_unlocked()
5705
5706 2007-04-03  Wim Taymans  <wim@fluendo.com>
5707
5708         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
5709
5710         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
5711         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
5712         when releasing sink pad. Fixes #425400.
5713
5714 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
5715
5716         * docs/random/ensonic/dynlink.txt:
5717           More work on proposal for new core api.
5718
5719         * docs/libs/gstreamer-libs-sections.txt:
5720         * libs/gst/base/gstbasetransform.h:
5721           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
5722           
5723         * libs/gst/controller/gstcontroller.c:
5724         (on_object_controlled_property_changed),
5725         (gst_controller_sync_values),
5726         (gst_controller_set_interpolation_mode):
5727         * libs/gst/controller/gstcontroller.h:
5728           Less verbose logging add docs for unimplemented parts and correctly
5729           return when using unavailable parts.
5730
5731 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
5732
5733         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
5734         Move all the debug to the CLOCK category, and associate it with
5735         the clock object.
5736
5737 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
5738
5739         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
5740         Make take_buffer a bit quicker by removing redundant checks
5741         caused by calling gst_adapter_take.
5742
5743 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
5744
5745         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
5746           Don't leak GCond.
5747
5748         * tests/check/Makefile.am:
5749         * tests/check/elements/.cvsignore:
5750         * tests/check/elements/multiqueue.c: (setup_multiqueue),
5751         (GST_START_TEST), (multiqueue_suite):
5752           Add some dead simple unit tests for the 'multiqueue' element
5753           (some bits don't work yet and are disabled for now).
5754
5755 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
5756
5757         * gst/gstelement.c: (gst_element_get_request_pad),
5758         (gst_element_class_get_request_pad_template):
5759           Make gst_element_get_request_pad() create request pads only for
5760           request pad templates and not for, say, sometimes pad templates.
5761
5762 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
5763
5764         * docs/design/draft-klass.txt:
5765           Add example that needs more thinking.
5766         
5767         * docs/design/draft-missing-plugins.txt:
5768           More thoughts about wrapper plugins.
5769         
5770         * docs/random/ensonic/embedded.txt:
5771         * docs/random/ensonic/profiling.txt:
5772           More design work.
5773
5774 2007-03-25  Wim Taymans  <wim@fluendo.com>
5775
5776         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
5777         (gst_base_src_loop):
5778         Only push the segment events in the PLAYING state for live sources.
5779
5780 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
5781
5782         * gst/gstpipeline.c: (gst_pipeline_change_state):
5783         Modify the clock distribution path in PAUSED->PLAYING so that we 
5784         never attempt to choose a new clock unless we're actually leaving
5785         the PAUSED state for the first time. This prevents choosing a
5786         different clock when the state_change gets called for a 2nd time due
5787         to some element doing an async state change.
5788
5789 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
5790
5791         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
5792         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
5793         (gst_pad_chain_unchecked), (gst_pad_push):
5794         Revert last commit. This needs some more thoughts.
5795
5796 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
5797
5798         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
5799         (gst_pad_chain_unchecked), (gst_pad_push):
5800         Check in set_caps if the caps are compatible with the pad and remove
5801         two functions that are redundant now. Fixes #421543.
5802
5803 2007-03-22  Wim Taymans  <wim@fluendo.com>
5804
5805         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5806         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
5807         Unref some more to make valgrind happy.
5808
5809 2007-03-22  Wim Taymans  <wim@fluendo.com>
5810
5811         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
5812         (gst_system_clock_id_wait_jitter),
5813         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
5814         Fix anoying regression that survived a few releases. When adding an
5815         async entry while blocking on a sync entry, the sync entry will unblock
5816         but still be busy, so it should continue to wait instead of returning
5817         _BUSY to the app.
5818         Add some comments here and there.
5819
5820         * tests/check/gst/gstsystemclock.c: (mixed_thread),
5821         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
5822         Add testcase for this.
5823
5824 2007-03-22  Wim Taymans  <wim@fluendo.com>
5825
5826         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
5827         Handle errors from the clock sync better, only UNSCHEDULED indicates a
5828         WRONG_STATE and can silently pause the task. All other cases should
5829         error out.
5830
5831 2007-03-22  Wim Taymans  <wim@fluendo.com>
5832
5833         Patch by: Ville Syrjala <syrjala at sci dot fi>
5834
5835         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
5836         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
5837         Improve debugging.
5838
5839 2007-03-21  Michael Smith  <msmith@fluendo.com>
5840
5841         * docs/pwg/advanced-types.xml:
5842           Fix some errors in the typefinding docs pointed out on irc.
5843
5844 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
5845
5846         * libs/gst/base/gstbasesrc.c:
5847         Clarify FIXME comment in the face of having added unlock_stop()
5848
5849 2007-03-21  Wim Taymans  <wim@fluendo.com>
5850
5851         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
5852         Prepare for release where we warn against possible app breakage in the
5853         case of live pipelines along with an env var to enable/disable live
5854         preroll mode (GST_COMPAT=[no-]live-preroll).
5855
5856 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5857
5858         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
5859         So we should use correct constants for checking for None offset.
5860
5861 2007-03-20  Wim Taymans  <wim@fluendo.com>
5862
5863         * docs/design/part-block.txt:
5864         Mention the fact that the newly switched element should be set to at
5865         least PAUSED.
5866
5867 2007-03-20  Wim Taymans  <wim@fluendo.com>
5868
5869         * gst/gst.c:
5870         Fix compilation with registry disabled as spotted by Saur.
5871
5872 2007-03-20  Wim Taymans  <wim@fluendo.com>
5873
5874         Patch by: Olivier Crete <tester at tester dot ca>
5875
5876         * gst/gstelement.c: (gst_element_sync_state_with_parent):
5877         Look at the pending state too when syncing the element state to the
5878         parent. Fixes #420133.
5879
5880 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
5881
5882         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
5883         (gst_base_sink_change_state):
5884         * libs/gst/base/gstbasesink.h:
5885         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
5886         (gst_base_src_default_event), (gst_base_src_unlock_stop),
5887         (gst_base_src_deactivate):
5888         * libs/gst/base/gstbasesrc.h:
5889         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
5890         for sub-classes to correctly clear any state they set trying to
5891         unlock, such as clearing out unlock commands from a command fd.
5892         API: basesrc::unlock_stop
5893         API: basesink::unlock_stop
5894
5895         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
5896         (gst_fd_sink_render), (gst_fd_sink_unlock),
5897         (gst_fd_sink_unlock_stop):
5898         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
5899         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
5900         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
5901
5902         Implement unlock_stop in fdsrc and fdsink.
5903         Implement seeking in fdsrc when a seekable fd is passed, as in
5904         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
5905
5906 2007-03-19  Wim Taymans  <wim@fluendo.com>
5907
5908         Patch by: Evan Nemerson <evan at coeus dash group dot com>
5909
5910         * gst/gstelement.c: (gst_element_class_init):
5911         Fix pad-added and pad-removed signal signatures so that the pad type is
5912         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
5913
5914 2007-03-19  Wim Taymans  <wim@fluendo.com>
5915
5916         * docs/gst/gstreamer-sections.txt:
5917         Add new element field and method.
5918
5919         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5920         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
5921         (gst_bin_recalc_state), (gst_bin_get_state_func),
5922         (gst_bin_element_set_state), (gst_bin_change_state_func),
5923         (gst_bin_continue_func), (bin_bus_handler),
5924         (bin_push_state_continue), (bin_handle_async_start),
5925         (bin_handle_async_done), (gst_bin_handle_message_func):
5926         Make async state changes a bit smarter by using new ASYNC_START and
5927         ASYNC_DONE messages. This reduces the number of times we run the state
5928         recalculation thread.
5929         Don't change state of element with a pending ASYNC_START message.
5930         Deprecate STATE_DIRTY messages.
5931         
5932         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
5933         (gst_element_get_state_func), (gst_element_continue_state),
5934         (gst_element_lost_state), (gst_element_set_state_func),
5935         (gst_element_change_state):
5936         * gst/gstelement.h:
5937         Keep the state that was last set by the app in a new element field.
5938         Don't allow state changes when handling an element event.
5939         Post ASYNC_START and ASYNC_DONE messages.
5940         Change lost_state so that we go to PAUSED and wait for the parent to set
5941         us to PLAYING again (so latency calculation can be performed)
5942         Export gst_element_change_state() method so that subclasses can use it.
5943         API: gst_element_change_state()
5944         API: GST_STATE_TARGET
5945
5946         * gst/gstpipeline.c: (gst_pipeline_class_init),
5947         (reset_stream_time), (gst_pipeline_change_state),
5948         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
5949         Using the new ASYNC_START message we can reset the base_time when
5950         needed. This can then be used to implement base_time redistribution in
5951         flushing seeks so that we can remove the explicit seek handling.
5952         Perform latency query and configuration when going to PLAYING.
5953
5954         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
5955         (gst_base_sink_query), (gst_base_sink_change_state):
5956         Post new ASYNC_START/ASYNC_DONE messages.
5957
5958         * tests/check/generic/sinks.c: (GST_START_TEST):
5959         Fix test because the bin will not set the async element to PLAYING right
5960         away.
5961
5962         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
5963         Make the message check a little stronger.
5964         Handle ASYNC messages.
5965
5966         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
5967         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
5968         Expect ASYNC_DONE messages.
5969
5970 2007-03-19  Wim Taymans  <wim@fluendo.com>
5971
5972         * docs/gst/gstreamer-sections.txt:
5973         * gst/gstmessage.c: (gst_message_new_async_start),
5974         (gst_message_new_async_done), (gst_message_parse_info),
5975         (gst_message_parse_async_start):
5976         * gst/gstmessage.h:
5977         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
5978         support.
5979
5980 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
5981
5982         * tools/gst-inspect.c:
5983         (print_plugin_automatic_install_info_codecs):
5984           Now that we don't check for the 'Codec' keyword any longer in the
5985           klass, we shouldn't spew a warning if the klass isn't a decoder or
5986           encoder (since it might be a Source/Network, for example).
5987
5988 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
5989
5990         * tools/gst-inspect.c:
5991         (print_plugin_automatic_install_info_codecs):
5992           Don't require decoder/demuxer/depayloader elements or
5993           encoder/muxer/paylader elements to have 'Codec' as part of their
5994           factory class string when introspecting a plugin's capabilities.
5995           draft-klass.txt mentions that it might be removed in future, and
5996           flump3dec doesn't have it as part of its class string, so chances
5997           are others might also not have it.
5998
5999 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
6000
6001         * po/af.po:
6002         * po/az.po:
6003         * po/bg.po:
6004         * po/ca.po:
6005         * po/cs.po:
6006         * po/de.po:
6007         * po/en_GB.po:
6008         * po/fr.po:
6009         * po/it.po:
6010         * po/nb.po:
6011         * po/nl.po:
6012         * po/ru.po:
6013         * po/sq.po:
6014         * po/sr.po:
6015         * po/sv.po:
6016         * po/tr.po:
6017         * po/uk.po:
6018         * po/vi.po:
6019         * po/zh_CN.po:
6020         * po/zh_TW.po:
6021           Update translations from translation project
6022
6023 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
6024
6025         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
6026         (gst_child_proxy_set_property):
6027           Invert precondition check to be alike the ones in the mimiced gobject
6028           api.
6029
6030 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
6031
6032         * docs/design/draft-tagreading.txt:
6033         * docs/random/ensonic/audiobaseclasses.txt:
6034           Do some Architect work.
6035
6036         * gst/gstobject.c: (gst_object_set_name):
6037           Add a WARNING.
6038
6039         * gst/gstpad.c:
6040           Add docs that point from gst_pad_get_range to gst_pad_pull_range
6041
6042 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
6043
6044         * gst/gstsystemclock.c: (gst_system_clock_init),
6045         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
6046         Defer starting the async system clock thread until the first async
6047         wait is scheduled. Fixes #414986.
6048
6049 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
6050
6051         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
6052         (gst_single_queue_free):
6053           Fix small leak (free GstSingleQueue structure too, not only contents).
6054
6055 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
6056
6057         * gst/gstbin.c:(gst_bin_add):
6058         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
6059         * win32/common/libgstbase.def:
6060         * win32/common/libgstreamer.def:
6061         Add new exported functions.
6062
6063 2007-03-09  Wim Taymans  <wim@fluendo.com>
6064
6065         * docs/plugins/gstreamer-plugins-sections.txt:
6066         Fix GstTee docs.
6067
6068 2007-03-09  Wim Taymans  <wim@fluendo.com>
6069
6070         * docs/gst/gstreamer-sections.txt:
6071         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
6072         * gst/gstbuffer.h:
6073         Add metadata copy functions. Fixes #393099.
6074         API: gst_buffer_copy_metadata()
6075
6076         * gst/gstutils.c: (gst_buffer_stamp):
6077         * libs/gst/base/gstbasetransform.c:
6078         (gst_base_transform_prepare_output_buffer):
6079         Use new metadata copy functions.
6080
6081 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6082
6083         * plugins/elements/gstidentity.c: (gst_identity_class_init),
6084         (gst_identity_init), (gst_identity_check_perfect),
6085         (gst_identity_check_imperfect_timestamp),
6086         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
6087         (gst_identity_set_property), (gst_identity_get_property):
6088         * plugins/elements/gstidentity.h:
6089         Separate out check-imperfect-timestamp and check-imperfect-offset.
6090         Put back check-perfect as it was to keep compatibility.
6091
6092 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
6093
6094         * gst/gstelement.c: (gst_element_dispose):
6095         There's no need to warn if VOID_PENDING is not NONE here, as
6096         long as the state is NULL it's ok, and that's checked immediately
6097         above.
6098
6099 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6100
6101         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6102         Fix check for perfect stream to ignore buffers with -1 
6103         offsets/offset ends when checking data contiguity.
6104
6105 2007-03-08  Wim Taymans  <wim@fluendo.com>
6106
6107         * tools/gst-launch.c: (event_loop):
6108         Print INFO messages.
6109
6110 2007-03-08  Wim Taymans  <wim@fluendo.com>
6111
6112         * libs/gst/base/gstbasetransform.c:
6113         (gst_base_transform_sink_eventfunc),
6114         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
6115         (gst_base_transform_activate):
6116         * libs/gst/base/gstbasetransform.h:
6117         Add support for dropping buffers with custom GstFlowReturn.
6118         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
6119         buffers or dropped buffers.
6120
6121         * docs/libs/gstreamer-libs-sections.txt:
6122         docs for new custom return code.
6123
6124         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
6125         Use drop support in base class to implement drop-probability.
6126
6127 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
6128
6129         * gst/gst.c: (load_plugin_func):
6130         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
6131         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6132         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
6133           Remove newlines at end of debug log strings.
6134
6135 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6136
6137         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6138         Only post bus message at max, once per buffer received.
6139
6140 2007-03-07  Wim Taymans  <wim@fluendo.com>
6141
6142         * docs/design/Makefile.am:
6143         * docs/design/part-synchronisation.txt:
6144         Add doc about synchronisation
6145
6146         * docs/design/draft-latency.txt:
6147         * docs/design/part-TODO.txt:
6148         * docs/design/part-clocks.txt:
6149         * docs/design/part-events.txt:
6150         * docs/design/part-gstbus.txt:
6151         * docs/design/part-gstpipeline.txt:
6152         * docs/design/part-live-source.txt:
6153         * docs/design/part-messages.txt:
6154         * docs/design/part-overview.txt:
6155         * docs/design/part-streams.txt:
6156         * docs/design/part-trickmodes.txt:
6157         Documentation updates.
6158
6159 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
6160
6161         * gstreamer.doap:
6162         Update the doap file.
6163
6164 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6165
6166         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
6167         Rename non-perfect to imperfect for Mike and for the sanctity of the
6168         language.
6169         Also make sure bus message gets emitted for data-incontiguities.
6170
6171 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6172
6173         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
6174         (gst_identity_start):
6175         * plugins/elements/gstidentity.h:
6176         Emit bus message if check-perfect is true and we encounter a
6177         non-perfect stream between 2 consecutive buffers.
6178         Fixes #415394.
6179
6180 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
6181
6182         * configure.ac:
6183         Back to CVS
6184
6185 === release 0.10.12 ===
6186
6187 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
6188
6189         * configure.ac:
6190           releasing 0.10.12, "Inevitable Demise"
6191
6192 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
6193
6194         * configure.ac:
6195          Version 0.10.11.2 (0.10.12 pre-release)
6196          Bump libtool versioning.
6197
6198 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
6199
6200         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6201           Log flow-names and not numbers.
6202
6203 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6204
6205         * configure.ac:
6206           Convert to new AG_GST style.
6207
6208 2007-02-28  Wim Taymans  <wim@fluendo.com>
6209
6210         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
6211         Don't unref query twice.
6212
6213 2007-02-28  Wim Taymans  <wim@fluendo.com>
6214
6215         * gst/gstvalue.c: (gst_value_transform_object_string),
6216         (_gst_value_initialize):
6217         Implement GstObject -> string transform so we print object names
6218         when serializing GValues containing GstObjects.
6219
6220 2007-02-28  Wim Taymans  <wim@fluendo.com>
6221
6222         * docs/gst/gstreamer-sections.txt:
6223         Add new stuff to docs.
6224
6225 2007-02-28  Wim Taymans  <wim@fluendo.com>
6226
6227         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6228         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
6229         (gst_base_sink_change_state):
6230         Improve latency query code.
6231         Don't leak latency events.
6232
6233         * tests/check/gst/gstbin.c: (GST_START_TEST):
6234         Improve debugging.
6235
6236 2007-02-28  Wim Taymans  <wim@fluendo.com>
6237
6238         * gst/gstelement.c: (gst_element_message_full),
6239         (gst_element_get_state_func):
6240         * gst/gstelement.h:
6241         Improve docs a little. Added Since: for new macro.
6242
6243         * gst/gstobject.c: (gst_object_sink):
6244         * gst/gstpipeline.c: (gst_pipeline_change_state),
6245         (gst_pipeline_set_new_stream_time):
6246         * gst/gstpipeline.h:
6247         Improve debugging and docs.
6248
6249         * gst/gstutils.c: (gst_element_state_change_return_get_name):
6250         Improve debugging.
6251
6252 2007-02-28  Wim Taymans  <wim@fluendo.com>
6253
6254         * gst/gstelement.c: (gst_element_message_full),
6255         (gst_element_set_locked_state), (gst_element_get_state_func),
6256         (gst_element_change_state):
6257         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
6258         Documentation updates.
6259         Small code cleanups.
6260
6261         * gst/gstmessage.c: (gst_message_new_info),
6262         (gst_message_parse_info):
6263         * gst/gstmessage.h:
6264         API: gst_message_new_info()
6265         API: gst_message_parse_info()
6266         Add INFO message create and parse code.
6267
6268 2007-02-28  Wim Taymans  <wim@fluendo.com>
6269
6270         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
6271         (bin_query_latency_done):
6272         Also report the live parameter of a latency query.
6273
6274 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6275
6276         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
6277           Copy the current generic/states example from -base and adapt so
6278           we can use the exact same code everywhere.
6279           Check a STATES_IGNORE_ELEMENTS env var which can be used
6280           to ignore certain element factories for this test, which is
6281           what is being done in -base
6282         * tests/check/Makefile.am:
6283           Mention this environment variable.
6284
6285 2007-02-27  Wim Taymans  <wim@fluendo.com>
6286
6287         * docs/gst/gstreamer-sections.txt:
6288         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
6289         (gst_bus_timed_pop), (gst_bus_pop):
6290         * gst/gstbus.h:
6291         API: gst_bus_timed_pop()
6292         Implement gst_bus_timed_pop() to do a blocking timed wait for a
6293         message to arrive on the bus.
6294
6295         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
6296         (gst_bus_suite):
6297         Two unit tests for new _timed_pop() function.
6298
6299 2007-02-23  Wim Taymans  <wim@fluendo.com>
6300
6301         * gst/gstpipeline.c: (gst_pipeline_change_state),
6302         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
6303         Don't ref a NULL clock in _provide_clock_func().
6304         Don't allow an INVALID delay.
6305         Don't try to calculate base_time with an invalid start_time.
6306         Also distribute and notify a NULL clock when it was selected.
6307
6308         * tools/gst-launch.c: (event_loop):
6309         Don't crash when a NULL clock was selected in the pipeline.
6310
6311 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
6312
6313         * docs/design/Makefile.am:
6314         * docs/design/draft-missing-plugins.txt:
6315         * docs/random/draft-missing-plugins.txt:
6316           Some small updates: update plugin system identifier prefix
6317           ('gstreamer.net' to 'gstreamer'), mention our new install
6318           API in libgstbaseutils rather than libgimme-codec, add
6319           reference to the online docs.
6320
6321 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6322
6323         * win32/common/config.h:
6324           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
6325           use moap cl ci to only check in what is mentioned in the ChangeLog.
6326
6327 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6328
6329         * docs/gst/gstreamer-sections.txt:
6330         * gst/gstelement.h:
6331           Fix up documentation to link to the correct GstGError section.
6332           Add GST_ELEMENT_INFO macro since someone else added a Info message.
6333
6334 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
6335
6336         * tools/gst-launch.c: (event_loop):
6337           Make sure that we actually show the important message part of a
6338           warning message.
6339           No need to check if the gerror is not NULL to free; first of all
6340           g_free accepts NULL; and second the default error handler would
6341           segfault if gerror was NULL.
6342
6343 2007-02-21  Wim Taymans  <wim@fluendo.com>
6344
6345         * docs/gst/gstreamer-sections.txt:
6346         Removed docs as well.
6347
6348 2007-02-21  Wim Taymans  <wim@fluendo.com>
6349
6350         * gst/gstmessage.c: (gst_message_parse_duration):
6351         * gst/gstmessage.h:
6352         Remove new messages for release.
6353
6354 2007-02-20  Wim Taymans  <wim@fluendo.com>
6355
6356         * docs/design/part-gstghostpad.txt:
6357         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
6358         (gst_ghost_pad_new_full):
6359         Make the ghostpad a parent of the internal pad again for better backward
6360         compatibility. Don't write code that relies on this however.
6361
6362         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
6363         (gst_pad_link_check_hierarchy):
6364         Require that parents should be GstElements in the hierarchy check.
6365
6366 2007-02-20  Wim Taymans  <wim@fluendo.com>
6367
6368         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
6369         (gst_bin_change_state_func), (bin_query_min_max_init),
6370         (bin_query_latency_fold), (bin_query_latency_done),
6371         (gst_bin_query):
6372         Improve debug info.
6373         Implement latency query.
6374
6375 2007-02-20  Wim Taymans  <wim@fluendo.com>
6376
6377         * docs/design/part-gstghostpad.txt:
6378         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
6379         (gst_ghost_pad_internal_do_activate_push),
6380         (gst_ghost_pad_internal_do_activate_pull),
6381         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
6382         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
6383         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
6384         Do not set the internal pad as a parent anymore so we can avoid
6385         hierarchy linking errors when the ghostpad has no parent yet. This also
6386         fixes failed activation because of unlinked internal pads, which in
6387         turn fixes the impossible case where you have to activate a pad before
6388         you can add it to a running element.
6389         Also fix the docs.
6390
6391         * gst/gstpad.c: (pre_activate), (post_activate),
6392         (gst_pad_set_active), (gst_pad_activate_pull),
6393         (gst_pad_activate_push), (gst_pad_check_pull_range):
6394         Add some more debug info.
6395         Mark activation mode in pre_activate so that we don't try to activate in
6396         endless loops. Fixes #385084.
6397
6398 2007-02-19  Wim Taymans  <wim@fluendo.com>
6399
6400         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
6401         (gst_base_transform_check_get_range):
6402         Implement a checkgetrange function instead of relying on the default
6403         core behaviour that assumes we can operate in pull mode if we have a
6404         getrange function. First step at fixing #385084.
6405
6406 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
6407
6408         * gst/gstchildproxy.h:
6409         * libs/gst/base/gstbasesink.h:
6410         * libs/gst/base/gstbasesrc.h:
6411         * libs/gst/base/gstbasetransform.h:
6412         More docs coverage and some ChangeLog surgery (add missing names)
6413
6414 2007-02-15  Wim Taymans  <wim@fluendo.com>
6415
6416         * docs/design/part-TODO.txt:
6417         * docs/design/part-activation.txt:
6418         * docs/design/part-block.txt:
6419         * docs/design/part-buffering.txt:
6420         * docs/design/part-clocks.txt:
6421         * docs/design/part-element-source.txt:
6422         * docs/design/part-events.txt:
6423         * docs/design/part-gstbin.txt:
6424         * docs/design/part-gstbus.txt:
6425         * docs/design/part-gstpipeline.txt:
6426         * docs/design/part-live-source.txt:
6427         * docs/design/part-messages.txt:
6428         * docs/design/part-overview.txt:
6429         * docs/design/part-qos.txt:
6430         * docs/design/part-query.txt:
6431         * docs/design/part-states.txt:
6432         * docs/design/part-trickmodes.txt:
6433         Some doc updates. Start renaming from stream_time to running_time where
6434         it was used wrongly.
6435
6436 2007-02-15  Wim Taymans  <wim@fluendo.com>
6437
6438         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
6439         Answer LATENCY query.
6440
6441 2007-02-15  Wim Taymans  <wim@fluendo.com>
6442
6443         * tests/check/gst/gstevent.c: (event_probe), (test_event),
6444         (GST_START_TEST):
6445         Improve debugging.
6446
6447 2007-02-15  Wim Taymans  <wim@fluendo.com>
6448
6449         * gst/gstpad.c: (gst_pad_get_internal_links_default),
6450         (gst_pad_dispatcher):
6451         Improve debugging of default pad dispatcher and query functions.
6452
6453 2007-02-15  Wim Taymans  <wim@fluendo.com>
6454
6455         * docs/gst/gstreamer-sections.txt:
6456         Remove old unused method.
6457
6458 2007-02-13  Wim Taymans  <wim@fluendo.com>
6459
6460         * tests/check/gst/gstsegment.c: (GST_START_TEST):
6461         Fix check
6462
6463 2007-02-13  Wim Taymans  <wim@fluendo.com>
6464
6465         * docs/design/part-seeking.txt:
6466         Some small update.
6467
6468         * gst/gstsegment.c: (gst_segment_set_seek):
6469         Revert old bogus change that should make seeking work again.
6470
6471 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
6472
6473         * docs/random/ensonic/dynlink.txt:
6474         * docs/random/ensonic/interfaces.txt:
6475         * docs/random/ensonic/receipies.txt:
6476           Possible dynamic reconnection api, plus some type fixes the other two
6477           docs.
6478
6479 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
6480
6481         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6482         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6483         Also check for an absolute path following file:// in the filesrc
6484         element. Remove redundant check and call g_path_is_absolute() on the
6485         unescaped location.
6486
6487 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
6488
6489         * docs/design/draft-klass.txt:
6490           Add existing category analysis.
6491           
6492         * gst/gstcaps.c:
6493           Fix doc example, framerate is a fraction.
6494
6495 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
6496
6497         * configure.ac:
6498         * docs/gst/Makefile.am:
6499         * docs/gst/gstreamer-sections.txt:
6500         * docs/libs/Makefile.am:
6501           Erm, forgot a bunch of --extra-dir.
6502
6503 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
6504
6505         * configure.ac:
6506         * docs/gst/Makefile.am:
6507         * docs/libs/Makefile.am:
6508         * docs/plugins/Makefile.am:
6509           Add crossreferences to glib/gobject docs.
6510
6511 2007-02-12  Wim Taymans  <wim@fluendo.com>
6512
6513         * docs/design/draft-latency.txt:
6514         Small update.
6515
6516         * docs/libs/gstreamer-libs-sections.txt:
6517         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6518         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
6519         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
6520         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
6521         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
6522         (gst_base_sink_get_position), (gst_base_sink_query),
6523         (gst_base_sink_change_state):
6524         * libs/gst/base/gstbasesink.h:
6525         API: gst_base_sink_query_latency() to let subclasses query the upstream
6526         latency.
6527         API: gst_base_sink_get_latency() to let subclasses query the configured
6528         latency in the sink.
6529         Implement query and set latency.
6530         Update some docs.
6531         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
6532         don't continue preroll when we are flushing. Fixes #405284.
6533
6534         * tests/check/pipelines/stress.c: (change_state_timeout),
6535         (quit_timeout), (GST_START_TEST), (stress_suite):
6536         Test for #405284.
6537
6538 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
6539
6540         Patch by: René Stadler <mail at renestadler de>
6541
6542         * docs/gst/gstreamer-sections.txt:
6543         * gst/gsttaglist.c: (_gst_tag_initialize):
6544         * gst/gsttaglist.h:
6545           API: add GST_TAG_REFERENCE_LEVEL (#403597).
6546
6547 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
6548
6549         * docs/libs/Makefile.am:
6550           Fix path to core docs.
6551
6552         * gst/gstbin.c: (gst_bin_get_by_interface),
6553         (gst_bin_iterate_all_by_interface):
6554           Refix docs by also renaming 'interface' to 'iface' in implementation.
6555
6556         * docs/gst/gstreamer-sections.txt:
6557         * gst/gstcaps.c:
6558         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
6559         * gst/gstchildproxy.h:
6560         * gst/gstelementfactory.c:
6561         * gst/gstpadtemplate.h:
6562         * libs/gst/controller/gstcontroller.c:
6563         (gst_controlled_property_new):
6564           Document more.
6565
6566 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
6567
6568         * gst/gstbin.h:(gst_bin_get_by_interface),
6569         (gst_bin_iterate_all_by_interface):
6570         Replace interface parameter name by iface as interface is 
6571         a reserved keyword in Visual Studio for C++ projects so it removes
6572         a build error for application developpers using VS.
6573         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
6574         Fix a bug on Windows in uri format check. Now the prefix checked
6575         is file:// and next we check if the path after file:// is absolute.
6576         * win32/common/libgstbase.def:
6577         * win32/common/libgstdataprotocol.def:
6578         * win32/common/libgstgstreamer.def:
6579         Add new exported functions.
6580
6581 2007-02-09  Andy Wingo  <wingo@pobox.com>
6582
6583         * tests/check/pipelines/simple-launch-lines.c
6584         (simple_launch_lines_suite, test_tee): Disable tee test until I
6585         have time to fix it :-(
6586
6587         * tests/check/Makefile.am (noinst_HEADERS): 
6588         * tests/check/libs/libsabi.c: 
6589         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
6590         * tests/check/gst/gstabi.c: 
6591         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
6592
6593         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
6594         tests for push and pull tee behavior.
6595
6596         * plugins/elements/gsttee.h: 
6597         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
6598         mark as deprecated as well as unimplemented. It was a crack idea.
6599         Add support for tee operating in pull mode, off by default.
6600
6601         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
6602         normal-case logs down to LOG, raise errors to WARNING.
6603         (gst_registry_xml_read_cache): Don't log before calling a function
6604         that logs.
6605
6606         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
6607         exit (registry finalize).
6608         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
6609         DEBUG log when we emit signals that people don't even have the
6610         chance to connect to.
6611         (gst_registry_scan_path_level): Less logging in the normal case.
6612
6613 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
6614
6615         Patch by: Michal Benes <michal dot benes at itonis dot tv>
6616
6617         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
6618         Correctly generate EOS for non-seekable files. We don't have a total
6619         length for them and would get an unexpected end of file if we only
6620         special-cased for regular files. (Fixes: #404569)
6621
6622 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
6623
6624         * tests/check/elements/filesrc.c: (GST_START_TEST),
6625         (filesrc_suite):
6626         Add unit test for the GstURIHandler interface in filesrc. This also
6627         tests the newly added file://localhost/foo/bar support.
6628
6629 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
6630
6631         * gst/gstelementfactory.h:
6632           The klass string is not a hierarchy. Add reference to the design doc
6633           for more information and common types.
6634
6635 2007-02-02  Wim Taymans  <wim@fluendo.com>
6636
6637         * gst/gstquery.c: (gst_query_new_latency):
6638         Remove old structure field.
6639
6640 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
6641
6642         * tools/gst-launch.1.in:
6643           Give example for network streaming (#351998)
6644
6645 2007-02-02  Wim Taymans  <wim@fluendo.com>
6646
6647         * docs/gst/gstreamer-sections.txt:
6648         Add docs for new methods.
6649
6650         * gst/gstevent.c: (gst_event_new_latency),
6651         (gst_event_parse_latency):
6652         * gst/gstevent.h:
6653         Add new LATENCY event to configure latency in a pipeline.
6654         API: gst_event_new_latency
6655         API: gst_event_parse_latency
6656
6657         * gst/gstmessage.c: (gst_message_new_buffering),
6658         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
6659         (gst_message_new_latency), (gst_message_parse_buffering),
6660         (gst_message_parse_lost_preroll):
6661         * gst/gstmessage.h:
6662         Added messages used in draft-latency.
6663         API: gst_message_new_lost_preroll
6664         API: gst_message_parse_lost_preroll
6665         API: gst_message_new_prerolled
6666         API: gst_message_new_latency
6667
6668         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
6669         (gst_query_parse_latency):
6670         * gst/gstquery.h:
6671         Implemented new latency query as in design doc.
6672         API: gst_query_new_latency
6673         API: gst_query_set_latency
6674         API: gst_query_parse_latency
6675
6676 2007-02-02  Wim Taymans  <wim@fluendo.com>
6677
6678         * docs/design/draft-latency.txt:
6679         Slight redesign to allow for dynamic latency adjustments.
6680
6681         * docs/design/part-negotiation.txt:
6682         Fix some typos.
6683
6684 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
6685
6686         reviewed by: Wim Taymans <wim@fluendo.com>
6687
6688         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
6689         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
6690         Allow file://localhost/foo/bar URLs and correctly fail for every other
6691         hostname that one sets. This was gnomevfssrc is linked for those if
6692         installed as it can handle it (#403172)
6693
6694 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
6695
6696         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
6697
6698         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6699         (unref_data), (gst_collect_pads_add_pad_full):
6700         * libs/gst/base/gstcollectpads.h:
6701         Don't put the previously added destroy notify in the GstCollectData
6702         struct as all it's padding is already used and we don't want to break
6703         ABI. Instead put in the pad's GObject data for now. This should be
6704         cleaned up for 0.11 (#402393).
6705
6706 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
6707
6708         reviewed by: Wim Taymans <wim@fluendo.com>
6709
6710         * docs/libs/gstreamer-libs-sections.txt:
6711         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6712         (unref_data), (gst_collect_pads_add_pad),
6713         (gst_collect_pads_add_pad_full):
6714         * libs/gst/base/gstcollectpads.h:
6715         API: Add function to specify a destroy notification for custom
6716         GstCollectData when adding new pads in GstCollectPads (#402393).
6717
6718 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
6719
6720         * po/sv.po:
6721           Update Swedish translation (#378255).
6722
6723 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
6724
6725         * docs/design/draft-klass.txt:
6726           Fix the previous change, this is a list of categories and not a hierarchy.
6727
6728 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
6729
6730         * docs/design/draft-klass.txt:
6731           Add info about how to get a list of used classes.
6732
6733 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
6734
6735         * plugins/elements/gsttypefindelement.c:
6736         (gst_type_find_element_chain_do_typefinding),
6737         (gst_type_find_element_change_state):
6738           Don't leak found caps in chain function (no idea why that never
6739           showed up as a leak anywhere).
6740
6741 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
6742
6743         * gst/gstplugin.h:
6744           Fix and expand GstPluginDesc API docs.
6745
6746 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
6747
6748         * gst/gstcaps.c:
6749         * gst/gstelementfactory.c:
6750         * gst/gstpadtemplate.h:
6751           api doc fixes
6752
6753         * libs/gst/controller/gstcontroller.c:
6754         (gst_controlled_property_new):
6755         * tests/examples/controller/audio-example.c:
6756           comment fixes
6757
6758 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
6759
6760         * configure.ac:
6761           comment about refining the xml deps
6762
6763         * docs/manuals.mak:
6764           comments about moving away from jade for docs
6765         
6766         * gst/gst.c:
6767           recommit the ifdefs to use the binary registry
6768         
6769         * gst/gstbin.c: (gst_bin_change_state_func):
6770           this break is obsolete
6771
6772         * gst/gstelementfactory.h:
6773           better GST_ELEMENT_DETAILS docs, add comment about translation
6774
6775         * gst/gstinfo.h:
6776           remove eol slash
6777
6778         * gst/gstobject.c: (gst_signal_object_get_type):
6779           add G_UNLIKELY as usual
6780
6781         * gst/gstpad.c: (gst_pad_event_default):
6782           add fall trhu comment
6783
6784         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6785         (gst_registry_binary_initialize_magic),
6786         (gst_registry_binary_save_string),
6787         (gst_registry_binary_save_pad_template),
6788         (gst_registry_binary_save_feature),
6789         (gst_registry_binary_save_plugin),
6790         (gst_registry_binary_write_cache),
6791         (gst_registry_binary_check_magic),
6792         (gst_registry_binary_load_pad_template),
6793         (gst_registry_binary_load_feature),
6794         (gst_registry_binary_load_plugin),
6795         (gst_registry_binary_read_cache):
6796           comment typo and formatting
6797
6798         * gst/gstutils.c: (gst_element_state_get_name),
6799         (gst_element_state_change_return_get_name):
6800           remove obsolete breaks
6801
6802         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6803           add FIXME 0.11 and remove cpp comment
6804
6805 2007-01-29  Edward Hervey  <edward@fluendo.com>
6806
6807         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6808         Fix print statement in an even more portable way.
6809
6810 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
6811
6812         * docs/gst/gstreamer-sections.txt:
6813         * gst/gstutils.h:
6814           API: add GST_ROUND_DOWN_* macros (#401781).
6815
6816 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
6817
6818         * docs/gst/gstreamer.types.in:
6819         * gst/gstregistry.c: (gst_registry_class_init):
6820           Document registry signals and make gtk-doc pick them up (#401381).
6821
6822 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
6823
6824         * docs/pwg/building-testapp.xml:
6825           Add some audioconverts and audioresample to the pipeline, and some
6826           more comments and error handling.
6827
6828 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
6829
6830         * docs/manual/manual.xml:
6831         * docs/pwg/pwg.xml:
6832           Fix typo (#400987).
6833
6834 2007-01-26  Wim Taymans  <wim@fluendo.com>
6835
6836         * gst/gstcaps.c: (gst_static_caps_get):
6837         Init caps flags too.
6838
6839 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
6840
6841         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
6842
6843         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
6844         If not using mmap'ed files try to seek to the end instead of the
6845         start to determine whether we can seek at all. This fixes the case
6846         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
6847         seeks for everything afterwards fail. Fixes #400656
6848
6849 2007-01-25  Wim Taymans  <wim@fluendo.com>
6850
6851         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
6852         Add some refcount debugging.
6853         Make gst_static_caps_get threadsafe, which is needed when autoplugging
6854         in multiple streaming threads.
6855
6856 2007-01-25  Wim Taymans  <wim@fluendo.com>
6857
6858         Patch by: David Schleef <ds at schleef dot org>
6859
6860         * docs/libs/gstreamer-libs-sections.txt:
6861         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
6862         * libs/gst/base/gstadapter.h:
6863         API: gst_adapter_copy() that can reduce the amount of memcpy when
6864         getting data from the adapter. Fixes #388201.
6865
6866 2007-01-25  Edward Hervey  <edward@fluendo.com>
6867
6868         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6869         In print statements, "%x" is for guint. Fixes build on macosx.
6870
6871 2007-01-24  Edward Hervey  <edward@fluendo.com>
6872
6873         * plugins/elements/gstmultiqueue.c:
6874         (gst_multi_queue_loop):
6875         Small fix.
6876         (single_queue_overrun_cb), (single_queue_underrun_cb),
6877         (single_queue_check_full), (gst_single_queue_new):
6878         Implement single queue growth system.
6879         This uses the extra-size properties, and will grow single queues by
6880         that much if one goes full whereas there are others empty. This is
6881         called extra-mode in the code.
6882         When a single queue's levels go back below the initial max-size
6883         limits, it is no longer in extra-mode. This is to ensure we don't
6884         consume too much memory.
6885         Fixes #399875
6886
6887 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
6888
6889         * gst/gst.c: (gst_init_get_option_group):
6890           Make warning about late g_thread_init() calls a bit more explicit,
6891           so that it's more obvious to application developers what they need
6892           to do if a user files a bug against their application.
6893
6894 2007-01-22  Edward Hervey  <edward@fluendo.com>
6895
6896         * plugins/elements/gstmultiqueue.c:
6897         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
6898         Remove previous hack of unsetting the flushing flag for the source pad
6899         instead of activating it. Instead, fix the source pad activate function
6900         so that it no longer depends on having a parent set or not.
6901
6902 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
6903
6904         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
6905
6906         * docs/manual/basics-bus.xml:
6907           Fix example code, gst_element_unref() doesn't exist any longer.
6908
6909 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
6910
6911         Patch by: Mark Nauwelaerts <manauw at skynet be>
6912
6913         * gst/gstpad.c:
6914           Fix two docs typoes (#399094).
6915
6916 2007-01-19  Edward Hervey  <edward@fluendo.com>
6917
6918         * docs/faq/gst-uninstalled:
6919         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
6920         depending on libgstbaseutils can work in uninstalled environment.
6921
6922 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
6923
6924         * gst/gsttaglist.h:
6925         * gst/gsttagsetter.c:
6926         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
6927         statement for new tag.
6928
6929 2007-01-17  Edward Hervey  <edward@fluendo.com>
6930
6931         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
6932         When dynamically creating single queues, activate sinkpad before adding
6933         it.
6934         We should be doing the same thing for the source pad, but we can't
6935         since it would call a method which needs the parent to be set in order
6936         to work propertly. Instead of activating the source pad, we just unset
6937         the flushing flag, which is the minimal requirement for adding a pad
6938         to an element in a state greater than READY.
6939
6940 2007-01-17  Edward Hervey  <edward@fluendo.com>
6941
6942         * docs/faq/gst-uninstalled:
6943         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
6944         Mac OS X.
6945
6946 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
6947
6948         * tests/check/gst/gstabi.c:
6949         * tests/check/gst/struct_hppa.h:
6950         * tests/check/libs/libsabi.c:
6951         * tests/check/libs/struct_hppa.h:
6952           Add ABI structs for HPPA (see #393796).
6953
6954 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
6955
6956         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
6957           Actually write ABI structs to the file specified in the GST_ABI
6958           environment variable, as the message we print claims we would.
6959
6960 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6961
6962         * tests/check/gst/gsttask.c:
6963           Fix header comment.
6964
6965 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6966
6967         * gst/gsttaglist.c: (_gst_tag_initialize):
6968           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
6969           previous two entries.
6970
6971 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6972
6973         * docs/gst/gstreamer-sections.txt:
6974         * gst/gsttaglist.c: (_gst_tag_initialize):
6975         * gst/gsttaglist.h:
6976           Add tag support for beat-per-minute.
6977
6978 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
6979
6980         * gst/gstregistrybinary.c: (gst_registry_binary_write),
6981         (gst_registry_binary_initialize_magic),
6982         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
6983         (gst_registry_binary_save_pad_template),
6984         (gst_registry_binary_save_feature),
6985         (gst_registry_binary_save_plugin),
6986         (gst_registry_binary_write_cache),
6987         (gst_registry_binary_check_magic),
6988         (gst_registry_binary_load_pad_template),
6989         (gst_registry_binary_load_feature),
6990         (gst_registry_binary_load_plugin),
6991         (gst_registry_binary_read_cache):
6992         * gst/gstregistrybinary.h:
6993           Use glib types, cleanup comments, impement interfaces and uri-types.
6994
6995 2007-01-13  Andy Wingo  <wingo@pobox.com>
6996
6997         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
6998         getrange() to return buffers with other caps, while we fix
6999         demuxers and typefind, or otherwise change part-negotiation.txt.
7000
7001 2007-01-12  Andy Wingo  <wingo@pobox.com>
7002
7003         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
7004         Factor start/stop into this private function instead of partially
7005         in activate functions and partially in the change_state function.
7006         Fixes setup before the element has changed from READY->PAUSED, as
7007         is the case in pull-mode pipelines.
7008         (gst_base_transform_sink_activate_push)
7009         (gst_base_transform_src_activate_pull): Refactor to use
7010         gst_base_transform_activate().
7011         (gst_base_transform_change_state): Removed, not needed any more.
7012
7013         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
7014         Truncate before fixating.
7015         
7016         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
7017         Don't set_caps() if the result of fixating is ANY, as it's not
7018         supported, and not necessary in the case of a link with no
7019         template caps on either side. Fixes tests/check/libs/basesrc in
7020         some pull-mode tests.
7021
7022         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
7023         (gst_base_transform_init, gst_base_transform_sink_activate_push)
7024         (gst_base_transform_src_activate_pull): 
7025         Track the activation mode.
7026         (gst_base_transform_setcaps): In pull mode, when activating the
7027         src pad, after activating the sink pad, activate the sink pad's
7028         peer, as discussed in part-negotiation.txt.
7029
7030         * libs/gst/base/gstbasesrc.h: 
7031         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
7032         vmethod, as in basesink.
7033
7034         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
7035
7036         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
7037         mode, first proxy the setcaps to the peer pad.
7038         (gst_base_sink_pad_fixate): Add a fixate function that calls the
7039         new fixate vmethod.
7040         (gst_base_sink_default_activate_pull): Rename from
7041         gst_base_sink_activate_pull.
7042         (gst_base_sink_negotiate_pull): New function, performs negotiation
7043         in pull mode before calling ::activate_pull().
7044         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
7045         vmethod instead of the default implementation. I have no idea how
7046         this worked before. Negotiate before calling activate_pull.
7047
7048         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
7049         sink pads in pull mode. In addition to being correct, fixes
7050         filesrc ! decodebin ! identity ! fakesink.
7051         (gst_pad_get_range, gst_pad_pull_range): Don't call
7052         gst_pad_set_caps() if the caps changes; instead error out with
7053         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
7054
7055 2007-01-12  Andy Wingo  <wingo@pobox.com>
7056
7057         * docs/design/part-negotiation.txt: Update with more policy.
7058
7059 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
7060
7061         * libs/gst/check/gstbufferstraw.h:
7062         * libs/gst/check/gstcheck.h:
7063           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
7064           belongs.
7065
7066 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
7067
7068         * tests/check/Makefile.am:
7069         * tests/check/gst/.cvsignore:
7070         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
7071         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
7072         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
7073         (GST_START_TEST), (gst_tag_setter_suite):
7074           Add minimal unit test for beforementioned GstTagSetter bug.
7075
7076 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
7077
7078         Patch by: René Stadler <mail at renestadler dot de>
7079
7080         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
7081           gst_tag_list_merge() returns a new list, so it's not the best idea
7082           to ingore its return value. Effectively meant that tags could only
7083           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
7084           Also add function guard to require a non-NULL taglist as input (has
7085           always been so due to gst_tag_list_copy(), just making it explicit).
7086
7087 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
7088
7089         * docs/random/draft-missing-plugins.txt:
7090           Some additions: mention new API that is supposed to be used at the
7091           various stages; short blob about new gst-inspect introspection
7092           option; mention potential future problem with plugins that have
7093           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
7094
7095 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
7096
7097         * tools/gst-inspect.c:
7098         (print_plugin_automatic_install_info_codecs),
7099         (print_plugin_automatic_install_info_protocols),
7100         (print_plugin_automatic_install_info), (main):
7101         Add --print-plugin-auto-install-info option to gst-inspect, so we can
7102         introspect plugin files and get machine-parsable output that corresponds
7103         to the last bit of the missing-plugin installer string (small gotcha:
7104         doesn't take into account ranks).
7105
7106 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
7107
7108         * configure.ac:
7109         * docs/gst/gstreamer-sections.txt:
7110         * gst/Makefile.am:
7111         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
7112         (gst_registry_lookup_locked):
7113         * gst/gstregistry.h:
7114         * gst/gstregistrybinary.c: (gst_registry_binary_write),
7115         (gst_registry_binary_initialize_magic),
7116         (gst_registry_binary_save_string),
7117         (gst_registry_binary_save_pad_template),
7118         (gst_registry_binary_save_feature),
7119         (gst_registry_binary_save_plugin),
7120         (gst_registry_binary_write_cache),
7121         (gst_registry_binary_check_magic),
7122         (gst_registry_binary_load_pad_template),
7123         (gst_registry_binary_load_feature),
7124         (gst_registry_binary_load_plugin),
7125         (gst_registry_binary_read_cache):
7126         * gst/gstregistrybinary.h:
7127         * gst/gstregistryxml.c: (load_feature),
7128         (gst_registry_xml_read_cache):
7129           commit binary registry (disabled by default, see #359653)
7130
7131 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
7132
7133         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
7134           Fix 'make check' too.
7135
7136 2007-01-10  Andy Wingo  <wingo@pobox.com>
7137
7138         * docs/design/part-negotiation.txt: Fix a typo, add a couple
7139         notes.
7140         
7141         * docs/design/part-negotiation.txt: Update with, um, one way that
7142         pull-mode negotiation might work?
7143
7144         * gst/gstpad.h: 
7145         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
7146         that the pad must be a src pad; makes sense to call it the other
7147         way in pull mode, and the logic is symmetric anyway.
7148
7149 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
7150
7151         * plugins/elements/gstfilesink.c:
7152           Include <stdio.h> for fseeko().
7153
7154 2007-01-10  Wim Taymans  <wim@fluendo.com>
7155
7156         * gst/gstevent.c:
7157         * gst/gstevent.h:
7158         Reserve LATENCY event.
7159
7160 2007-01-09  Wim Taymans  <wim@fluendo.com>
7161
7162         * docs/design/draft-latency.txt:
7163         Updates.
7164
7165 2007-01-09  Wim Taymans  <wim@fluendo.com>
7166
7167         * docs/design/draft-latency.txt:
7168         Updates.
7169
7170         * gst/gstelement.h:
7171         * gst/gststructure.c:
7172         * gst/gsttrace.c:
7173         Small typo fixes.
7174
7175 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
7176
7177         * tests/check/.cvsignore:
7178           Ignore test-registry.xml as well.
7179
7180 2007-01-09  Wim Taymans  <wim@fluendo.com>
7181
7182         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
7183         unref data at the end when we are done with the pad.
7184
7185 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
7186
7187         * docs/gst/gstreamer-sections.txt:
7188         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
7189         (init_post), (gst_deinit), (gst_update_registry):
7190         * gst/gst.h:
7191           API: add gst_update_registry() (#391296).
7192
7193         * tests/check/Makefile.am:
7194         * tests/check/gst/gstregistry.c:
7195         * tests/check/gst/.cvsignore:
7196           Simple unit test for the above.
7197
7198 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
7199
7200         * gst/gstregistry.c: (gst_registry_scan_path_level):
7201           Plugin extension on HP-UX is .sl, add that to the list of approved
7202           plugin extensions (see #393796).
7203
7204         * tests/check/gst/gstpad.c: (GST_START_TEST):
7205           ulong => gulong. Fixes compilation with HP-UX compiler.
7206
7207         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7208           Fix compilation if valgrind headers are not available.
7209
7210 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
7211
7212         * win32/common/libgstreamer.def: 
7213           Add new exported function.
7214         * win32/vs6/libgstbase.dsp: 
7215           Add gstdataqueue.c to the build.
7216         * win32/vs6/libgstcoreelements.dsp:
7217           Add gstmultiqueue.c to the build.
7218         
7219 2007-01-06  Andy Wingo  <wingo@pobox.com>
7220
7221         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
7222         activate_pull(), providing for a way to specialize the process of
7223         spawning a thread to pull on the sink pad. There is a default
7224         implementation.
7225
7226         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
7227         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
7228         (gst_base_sink_init): Renamed pad activation functions (inserting
7229         "_pad" in their names). Refactor to use the new activate_pull
7230         vmethod, as appropriate.
7231         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
7232         default activate_pull function to start a task pulling from the
7233         sink pad, as before.
7234
7235         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
7236         on the pads if necessary, as in push()/chain(). Update docs.
7237         Shouldn't affect existing pull() usage as it is currently only
7238         being used on buffers without caps.
7239
7240 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
7241
7242         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
7243         (init_pre):
7244           Call g_thread_init() first thing in gst_init() / gst_check_init().
7245           When initialisation is done via gst_init_get_option_group() and
7246           GOption parsing, issue a warning if the GLib thread system has not
7247           been initialised yet by the time gst_init_get_option_group() is
7248           called, as it's quite likely other GLib functions such as
7249           g_option_context_new() have been called already then, and
7250           g_thread_init() must be called before any other GLib function. The
7251           application in question must be fixed in that case, since memory
7252           corruption might happen otherwise.
7253           We issue the warning because even if the GLib folks decide to work
7254           around the problem on their end in future, this is still an issue
7255           with all GLib versions >= 2.10.0, so we should warn until we depend
7256           on a GLib version we know to be safe.
7257           Update documentation as well.
7258           Closes bug #391278.
7259
7260 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
7261
7262         * tools/gst-inspect.c: (main):
7263         * tools/gst-launch.c: (main):
7264         * tools/gst-typefind.c: (main):
7265         * tools/gst-xmlinspect.c: (main):
7266           Call g_thread_init() really really early, before any other GLib
7267           function (see #342564 and recent discussion on gtk-devel-list).
7268
7269 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
7270
7271         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
7272
7273         * gst/gst_private.h:
7274         * gst/gstconfig.h.in:
7275         * gst/gstinfo.h:
7276           On win32, all the __declspec stuff for symbol exporting is
7277           apparently only needed with MSVC, but doesn't work with MingW.
7278           Fixes compilation with MingW and #391909.
7279
7280 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
7281
7282         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
7283           Change some GST_ERROR_OBJECT that aren't really errors to
7284           GST_WARNING_OBJECT in order to reduce terminal spam.
7285
7286 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
7287
7288         * tests/check/Makefile.am:
7289           disable test again, as there seem to be still race problems
7290
7291 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
7292
7293         * tests/check/Makefile.am:
7294         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7295         (GST_START_TEST), (queue_suite):
7296           enable queue test again, add tests for the leaky behaviour
7297
7298 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
7299
7300         * configure.ac:
7301         * tests/examples/Makefile.am:
7302           Compile adapter test/example only if the required headers are
7303           available (fixes #391915).
7304
7305 2007-01-01  David Schleef  <ds@schleef.org>
7306
7307         * gst/gstplugin.c:
7308           Restore the previous signal handler for SIGSEGV instead of
7309           setting to default, since we may have stolen it away from
7310           someone.  (i.e., Mono)
7311
7312 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
7313
7314         * docs/random/draft-missing-plugins.txt:
7315           Some small additions and clarifications.
7316
7317 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
7318
7319         * gst/gstregistryxml.c: (gst_registry_save_escaped):
7320           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
7321           since that can lead to random memory corruptions and crashes
7322           (may or may not be related to #383244, #386711, and #386711).
7323
7324 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7325
7326         * tests/check/.cvsignore:
7327         * tests/check/Makefile.am:
7328           sync .cvsignome and CLEANFILES
7329
7330 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7331
7332         * tests/check/Makefile.am:
7333           fix distcheck
7334
7335 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7336
7337         * docs/design/part-states.txt:
7338           two tiny additional comments
7339         
7340         * gst/gststructure.c:
7341           doc fixing
7342
7343         * tests/check/Makefile.am:
7344         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7345         (GST_START_TEST):
7346           disable test for now, unless it gets fixed
7347
7348 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7349
7350         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7351         (GST_START_TEST):
7352           fix race in underrun test
7353
7354 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7355
7356         * tests/check/elements/.cvsignore:
7357           ignore more
7358
7359         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7360         (GST_START_TEST):
7361           try to narrow test failure
7362
7363 2006-12-21  David Schleef  <ds@schleef.org>
7364
7365         * plugins/elements/gstfakesrc.c:
7366           Use g_random_int_range(), since it produces better random
7367           numbers in a range than almost-correct floating point code.
7368
7369 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
7370
7371         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
7372         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
7373         (gst_check_teardown_sink_pad):
7374           do not automatically (de)activate pads
7375
7376         * tests/check/Makefile.am:
7377         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
7378         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
7379           add new, yet simple tests for queue
7380
7381         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
7382         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
7383         * tests/check/elements/filesrc.c: (cleanup_filesrc),
7384         (GST_START_TEST):
7385         * tests/check/elements/identity.c: (cleanup_identity):
7386           consistent pad (de)activation
7387
7388 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
7389
7390         Patch by: Sebastian Dröge  <slomo ubuntu com>
7391
7392         * libs/gst/base/gstcollectpads.c:
7393           Fix two doc typos (#387866).
7394
7395 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
7396
7397         * docs/manual/advanced-dparams.xml:
7398           Fix typo (g_object_control_properties() doesn't exist).
7399
7400 2006-12-19  Edward Hervey  <edward@fluendo.com>
7401
7402         * gst/gstsegment.c: (gst_segment_set_seek):
7403         Fine tune the cases where the segment start/stop values are really
7404         updated.
7405         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7406         Add tests for the return values of gst_segment_set_seek().
7407
7408 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
7409
7410         * gst/gst.c:
7411           Docs typo fix.
7412
7413         * plugins/elements/gstqueue.c: (gst_queue_class_init),
7414         (gst_queue_init):
7415           Fix incorrect documentation and flesh it out a bit more.
7416           Set default values for the max properties on the GParamSpec as well,
7417           so it shows up correctly in gst-inspect.
7418
7419 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
7420
7421         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
7422           Correct docs of queue, add more detail and crosslink it more.
7423
7424 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
7425
7426         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
7427           Print additional debug info when the stream isn't perfectly
7428           timestamped; don't try to use invalid durations.
7429
7430 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
7431
7432         * docs/design/Makefile.am:
7433           Dist new design docs.
7434
7435 2006-12-16  Wim Taymans  <wim@fluendo.com>
7436
7437         Patch by: Sjoerd Simons <sjoerd at luon dot net>
7438
7439         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
7440         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
7441         (gst_collect_pads_stop), (gst_collect_pads_event),
7442         (gst_collect_pads_chain):
7443         * libs/gst/base/gstcollectpads.h:
7444         Add refcounting to the collectpads data so we can track when it's safe
7445         to free the data. Fixes #383382.
7446
7447 2006-12-15  Wim Taymans  <wim@fluendo.com>
7448
7449         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
7450         (gst_collect_pads_remove_pad):
7451         Automatically activate/deactivate pads when they are added to a
7452         started/stoped collectpads.
7453
7454 2006-12-15  Wim Taymans  <wim@fluendo.com>
7455
7456         * gst/gstelement.c: (gst_element_add_pad):
7457         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
7458         * gst/gstpad.c: (gst_pad_init):
7459         Set pads to FLUSHING when they are created. Check, warn and fix when a
7460         demuxer adds an inactive pad to itself when running. Fixes #339326.
7461
7462 2006-12-15  Wim Taymans  <wim@fluendo.com>
7463
7464         * gst/gstelement.c: (gst_element_class_init),
7465         (gst_element_default_send_event), (gst_element_send_event),
7466         (gst_element_default_query), (gst_element_query):
7467         Expose default element send_event and query handling as vmethods that
7468         subclasses can chain up to.
7469
7470 2006-12-15  Wim Taymans  <wim@fluendo.com>
7471
7472         * gst/gstelement.c: (gst_element_set_state_func):
7473         Small documentation fixes.
7474
7475 2006-12-15  Wim Taymans  <wim@fluendo.com>
7476
7477         * docs/design/draft-latency.txt:
7478         Checked in draft for handling latency in pipelines.
7479
7480 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
7481
7482         * Makefile.am:
7483         * gstreamer.doap:
7484         * gstreamer.spec.in:
7485           adding .doap file
7486
7487 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
7488
7489         * gst/gst.c: (init_pre), (init_post):
7490           init_pre() and init_post() might be called via our GOptionGroup or
7491           from gst_init(), and we should skip both of them if we've already
7492           been initialised, otherwise we will init some things twice or add
7493           two default log functions.
7494
7495 2006-12-13  Edward Hervey  <edward@fluendo.com>
7496
7497         * docs/manual/basics-bus.xml:
7498         No, gst_main_loop does not exist. Its g_main_loop.
7499         Discovered by somebody who abused the copy-paste technique of coding :)
7500
7501 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
7502
7503         * gst/gstghostpad.c:
7504           Log ghostpad debug stuff to the GST_PADS category as well rather
7505           than just to the default category.
7506
7507 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
7508
7509         * configure.ac:
7510         * gst/gst.c: (init_pre):
7511           Add some basic system details such as OS and architecture
7512           to the debug output if possible, courtesy of uname().
7513
7514 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
7515
7516         * docs/gst/running.xml:
7517           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
7518           environment variables.
7519
7520 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
7521
7522         * tests/check/gst/gstbin.c: (GST_START_TEST):
7523         It is acceptable to have a refcount of 2 or 3 at this point in the
7524         test, because the pipeline might be just posting its state_change
7525         message. The next line then waits for that message to appear using
7526         bus_poll, so that should be fine too.
7527
7528 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
7529
7530         * gst/gst.c: (ensure_current_registry_forking):
7531         Ignore EINTR when reading from the child registry pipe.
7532         Explicitly ignore the return value from close, since it makes no
7533         difference.
7534
7535         * gst/gstminiobject.c: (gst_mini_object_ref),
7536         (gst_mini_object_unref):
7537         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
7538
7539         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
7540         When removing cached plugins, remove their features too, so they're
7541         not visible after they've disappeared.
7542
7543         * gst/gstutils.c: (prepare_link_maybe_ghosting):
7544         In the unlikely case that we are linking pads with no parents, don't
7545         crash trying to get the non-existent parent bin.
7546
7547         * gst/parse/grammar.y:
7548         Output debug in the PIPELINE category
7549
7550 2005-03-08  Wim Taymans  <wim@fluendo.com>
7551
7552         Patch by: René Stadler <mail at renestadler dot de>
7553
7554         * gst/gstclock.c: (gst_clock_new_periodic_id):
7555         Reject invalid clock times for interval of periodic ids.
7556         Fixes ##383506.
7557
7558 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
7559
7560         * gst/gstelementfactory.c: (gst_element_factory_create):
7561         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7562         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
7563         * tools/gst-inspect.c: (print_element_info):
7564         Fix refcounting of gst_plugin_feature_load to match the docs. 
7565         Fixes: #380129
7566
7567 2006-12-07  Wim Taymans  <wim@fluendo.com>
7568
7569         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
7570         (gst_base_sink_get_position):
7571         Improve debugging of events.
7572
7573 2006-12-07  Wim Taymans  <wim@fluendo.com>
7574
7575         Patch by: René Stadler <mail at renestadler dot de>
7576
7577         * gst/gstclock.c: (gst_clock_id_wait):
7578         Make period ids add the interval to the origial requested time instead
7579         of the possibly updated time which can be wrong when there are multiple
7580         waiters for the same id. Fixes #382592.
7581
7582         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
7583         (gst_system_clock_id_wait_jitter_unlocked),
7584         (gst_system_clock_id_wait_jitter):
7585         Fix restart in the async notify thread when an async entry is added to
7586         the front of the list. Fixes #381492. 
7587
7588         * tests/check/gst/gstsystemclock.c: (store_callback),
7589         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
7590         Added test for multiple async waits.
7591         Added test for async wait order.
7592
7593 2006-12-07  Wim Taymans  <wim@fluendo.com>
7594
7595         * gst/gstbin.c: (gst_bin_query):
7596         Add some more docs about the POSITION query.
7597
7598 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
7599
7600         * configure.ac:
7601         Bump version nano - back to CVS.
7602
7603 === release 0.10.11 ===
7604
7605 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
7606
7607         * configure.ac:
7608           releasing 0.10.11, "Love never runs on time"
7609
7610 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
7611
7612         * win32/common/libgstbase.def:
7613         * win32/common/libgstreamer.def:
7614         * win32/vs8/libgstbase.vcproj:
7615         * win32/vs8/libgstcoreelements.vcproj:
7616         * win32/vs8/libgstreamer.vcproj:
7617         Fix compilation on win32 under VS8
7618         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7619         Partially fixes #381175
7620
7621 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
7622
7623         * gst/gstvalue.c: (gst_value_compare_fraction):
7624         If someone is foolish enough to compare 2 fractions with denominator =
7625         0, return UNORDERED rather than aborting.
7626
7627 2006-11-28  Edward Hervey  <edward@fluendo.com>
7628
7629         * libs/gst/base/Makefile.am:
7630         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
7631         (gst_data_queue_base_init), (gst_data_queue_class_init),
7632         (gst_data_queue_init), (gst_data_queue_new),
7633         (gst_data_queue_cleanup), (gst_data_queue_finalize),
7634         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
7635         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
7636         (gst_data_queue_is_empty), (gst_data_queue_is_full),
7637         (gst_data_queue_set_flushing), (gst_data_queue_push),
7638         (gst_data_queue_pop), (gst_data_queue_drop_head),
7639         (gst_data_queue_set_property), (gst_data_queue_get_property):
7640         * libs/gst/base/gstdataqueue.h:
7641         New GstDataQueue object for threadsafe queueing. Most useful for
7642         elements that need some queueing functionnality.
7643         * docs/libs/gstreamer-libs-docs.sgml:
7644         * docs/libs/gstreamer-libs-sections.txt:
7645         Insert documentation for GstDataQueue
7646         * plugins/elements/Makefile.am:
7647         * plugins/elements/gstelements.c:
7648         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
7649         (gst_multi_queue_class_init), (gst_multi_queue_init),
7650         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7651         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
7652         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
7653         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7654         (gst_multi_queue_loop), (gst_multi_queue_chain),
7655         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7656         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
7657         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
7658         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
7659         (wake_up_next_non_linked), (compute_next_non_linked),
7660         (single_queue_overrun_cb), (single_queue_underrun_cb),
7661         (single_queue_check_full), (gst_single_queue_new):
7662         * plugins/elements/gstmultiqueue.h:
7663         New multiqueue element, using GstDataQueue. Used for queuing multiple
7664         streams.
7665         Closes #344639 and #347785
7666
7667 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
7668
7669         * docs/pwg/advanced-types.xml:
7670           add more missing type details
7671
7672         * tools/gst-run.c: (main):
7673           remove unused variable
7674
7675 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
7676
7677         * docs/libs/Makefile.am:
7678         * docs/libs/gstreamer-libs.types:
7679           add types of base classes to enable gobject specific stuff in the docs
7680
7681         * docs/random/ensonic/embedded.txt:
7682           more ideas about isolating platform specific things
7683
7684 2006-11-20  Wim Taymans  <wim@fluendo.com>
7685
7686         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
7687
7688         * libs/gst/check/gstcheck.h:
7689         Fix compilation and running against 0.9.4. Fixes #377332.
7690
7691 2006-11-20  Wim Taymans  <wim@fluendo.com>
7692
7693         * gst/gstsegment.c: (gst_segment_set_seek),
7694         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
7695         (gst_segment_to_running_time):
7696         Fix boundary checking in to_running_time() and to_stream_time().
7697         Fixes #377183.
7698
7699         * tests/check/gst/gstsegment.c: (GST_START_TEST):
7700         stream and running time can now be calculated for the complete
7701         clipped segment.
7702
7703 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
7704
7705         * gst/gstpad.c: (gst_pad_push_event):
7706           Can't access event structure after giving away ownership of
7707           the event.
7708
7709 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
7710
7711         * docs/random/ensonic/embedded.txt:
7712         * docs/random/ensonic/profiling.txt:
7713         * docs/random/ensonic/receipies.txt:
7714           more thinking
7715
7716 2006-11-13  Wim Taymans  <wim@fluendo.com>
7717
7718         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7719
7720         * gst/gstpad.c:
7721         Fix documentation for gst_pad_dispatcher. Fixes #374475.
7722
7723 2006-11-13  Wim Taymans  <wim@fluendo.com>
7724
7725         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
7726
7727         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
7728         Store new length in segment duration so we don't keep on calling the
7729         potentially expensize get_size() call. Fixes #370865.
7730
7731 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
7732
7733         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
7734
7735         * win32/common/libgstreamer.def:
7736           Add two missing symbols (#366492).
7737
7738 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
7739
7740         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
7741         (gst_adapter_take_buffer):
7742         Fix format string to use all its arguments.
7743         Remove useless >= check on a guint
7744
7745 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7746
7747         * tests/examples/adapter/.cvsignore:
7748         Ignore build file as commanded by the build-bot
7749
7750 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7751
7752         * tests/examples/adapter/Makefile.am:
7753         * tests/examples/adapter/adapter_test.c: (run_test_take),
7754         (run_test_take_buffer), (run_tests), (main):
7755
7756         Add new files from the previous commit
7757
7758 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
7759
7760         * Makefile.am:
7761         * configure.ac:
7762         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
7763         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
7764         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
7765         * libs/gst/base/gstadapter.h:
7766         * tests/check/libs/adapter.c: (create_and_fill_adapter),
7767         (GST_START_TEST), (gst_adapter_suite):
7768         * tests/examples/Makefile.am:
7769         Do some optimisation work in GstAdapter to avoid copies in more cases.
7770         It could still do slightly better by merging buffers when
7771         gst_buffer_is_span_fast is true, but is already faster. 
7772
7773         Also, avoid traversing a single-linked list to append each incoming 
7774         buffer inside the adapter.
7775
7776         Add simple test app that times the adapter behaviour in different
7777         situations, and extend the unit test to check that bytes enter and
7778         exit the adapter in their original order.
7779
7780 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7781
7782         * docs/random/draft-missing-plugins.txt:
7783           Update: use element message instead of adding a new message
7784           type to the core; don't provide GStreamer API to initiate the
7785           plugin download, just provide API to compose the strings needed
7786           and let an external libgimmestuff handle the rest.
7787
7788 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
7789
7790         * tools/gst-inspect.c: (print_element_properties_info):
7791         Print a string instead of 'unknown type' for GValueArray properties
7792
7793 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
7794
7795         * docs/random/draft-missing-plugins.txt:
7796         More small fixes.
7797
7798 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7799
7800         * tests/examples/typefind/typefind.c: (type_found), (main):
7801           Make typefind element example work again (#371894); add a
7802           license header.
7803
7804 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7805
7806         * docs/random/draft-missing-plugins.txt:
7807           Commit initial draft about how to deal with missing plugins,
7808           needs work (API too).
7809
7810 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
7811
7812         * docs/pwg/advanced-types.xml:
7813           documents the new caps elements (see #363118)
7814
7815 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
7816
7817         * gst/gstplugin.c: (gst_plugin_load_file):
7818         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
7819         (gst_file_src_map_region), (gst_file_src_start):
7820         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
7821         (gst_file_index_commit):
7822           Use g_strerror() instead of strerror() - we want UTF-8.
7823
7824 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
7825
7826         Patch by: Peter Kjellerstedt <pkj at axis com>
7827
7828         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7829           Another printf fix (#371493).
7830
7831 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7832
7833         * tests/check/gst/gsttag.c:
7834           relicence (okay with author=company)
7835
7836 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7837
7838         * gst/gstpad.c: (gst_pad_event_default_dispatch),
7839         (gst_pad_push_event):
7840           Enhance debug and improve docs
7841         
7842         * gst/gsturi.c:
7843           Fix docs
7844
7845 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7846
7847         * docs/random/ensonic/distributed.txt:
7848         * docs/random/ensonic/profiling.txt:
7849           more ideas
7850
7851 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
7852
7853         * docs/gst/gstreamer-sections.txt:
7854           add new API and fix the build
7855           
7856         * gst/gstbin.c: (gst_bin_recalc_state):
7857         * gst/gstelement.c: (gst_element_message_full),
7858         (gst_element_get_state_func), (gst_element_set_state_func):
7859           use new API and improve logging
7860         
7861         * gst/gstutils.c: (gst_element_state_change_return_get_name):
7862         * gst/gstutils.h:
7863           API: add function to get StateChangereturn names to improve logs 
7864
7865 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
7866
7867         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
7868           I'm considering shooting the next person to put strerror stuff
7869           in the translateable part of the message.
7870
7871 2006-11-03  Wim Taymans  <wim@fluendo.com>
7872
7873         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
7874         Get the type and printf conversion specifiers right.
7875
7876 2006-11-03  Wim Taymans  <wim@fluendo.com>
7877
7878         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
7879
7880         * gst/gstpad.c: (gst_pad_init), (pre_activate),
7881         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
7882         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
7883         Some small cleanups. Improve debugging.
7884         * gst/gstpad.h:
7885         Signal all waiting threads with a broadcast instead of just one.
7886         Fixes #369942.
7887
7888 2006-11-03  Wim Taymans  <wim@fluendo.com>
7889
7890         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
7891         (gst_fd_src_create):
7892         Add some debugging. 
7893         Only update fd when it's different from the old.
7894
7895 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7896
7897         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
7898           Printf fixes for PPC/OSX, take two (#369366).
7899
7900 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7901
7902         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
7903
7904         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
7905         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
7906         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
7907           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
7908           don't cast to long long for portability reasons, but use
7909           GLib's types instead.
7910
7911 2006-10-30  Michael Smith  <msmith@fluendo.com>
7912
7913         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
7914           Get the arguments to lseek() the right way around.
7915           Fixes 367677.
7916
7917 2006-10-30  Wim Taymans  <wim@fluendo.com>
7918
7919         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
7920
7921         * gst/gstinfo.h:
7922         _declspec should be __declspec (two underscores, not one). Fixes 366572.
7923
7924 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
7925
7926         Patch by: Kjartan Maraas  <kmaraas at gnome org>
7927
7928         * docs/design/part-MT-refcounting.txt:
7929         * docs/random/wtay/capsnego2-docs:
7930         * gst/gstclock.c:
7931         * gst/gstxml.c:
7932           Typo fixes (#366212).
7933
7934 2006-10-28  Wim Taymans  <wim@fluendo.com>
7935
7936         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
7937
7938         * gst/gst.c:
7939         * win32/common/libgstbase.def:
7940         * win32/common/libgstreamer.def:
7941         * win32/vs8/libgstbase.vcproj:
7942         * win32/vs8/libgstcontroller.vcproj:
7943         Add needed entries in .def files.
7944         Use HAVE_UNISTD_H.
7945         Rearrange def files in vs8 solutions. Fixes #366286.
7946
7947 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
7948
7949         * win32/common/gstconfig.h:
7950           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
7951           hand-made win32 gstconfig.h. Fixes #366321.
7952
7953 2006-10-27  Wim Taymans  <wim@fluendo.com>
7954
7955         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
7956         (gst_ghost_pad_new_full):
7957         Make acceptcaps return TRUE when we don't have a target, just like
7958         setcaps does.
7959
7960 2006-10-27  Wim Taymans  <wim@fluendo.com>
7961
7962         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7963         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
7964
7965 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
7966
7967         * gst/gststructure.c: (gst_structure_id_set_value):
7968           If someone tries to set a non-UTF8 string field on a structure,
7969           don't just print a warning, but also ignore the request and do
7970           not change/add that field to the structure.
7971
7972         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
7973           Test for the above.
7974
7975 2006-10-25  David Schleef  <ds@schleef.org>
7976
7977         * gst/gstinfo.c:
7978           g_hash_table_insert() needs a cast to a non-const pointer duh.
7979
7980 2006-10-25  David Schleef  <ds@schleef.org>
7981
7982         * gst/gstinfo.c:
7983         * gst/gstinfo.h:
7984           Change name parameter of _gst_debug_register_funcptr to const
7985           to reflect the constness of its use in the function as well
7986           as to quiet a gcc warning.
7987
7988 2006-10-25  Edward Hervey  <edward@fluendo.com>
7989
7990         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
7991         Don't push the buffer if it's empty.
7992         Closes #363095
7993
7994 2006-10-24  Wim Taymans  <wim@fluendo.com>
7995
7996         * gst/gstevent.h:
7997         Add small comment.
7998
7999         * libs/gst/base/gstbasetransform.c:
8000         (gst_base_transform_sink_eventfunc):
8001         Debug segment values *after* updating them as this is more
8002         interesting.
8003
8004 2006-10-23  Wim Taymans  <wim@fluendo.com>
8005
8006         * docs/design/part-events.txt:
8007         Update some docs.
8008
8009         * docs/design/part-block.txt:
8010         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
8011         (gst_pad_push_event):
8012         Revert BLOCKING patch, it tries to be smart without really having a
8013         clear idea what or how. So, now we discard all FLUSHING events again on
8014         a blocking pad. Should fix gnonlin again.
8015
8016 2006-10-23  Wim Taymans  <wim@fluendo.com>
8017
8018         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
8019
8020         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
8021         (gst_base_src_start), (gst_base_src_activate_push):
8022         Make sure size is always initialized. Fixes #364388.
8023
8024 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
8025
8026         * docs/random/ensonic/distributed.txt:
8027           add some ideas about doing distributed processing
8028
8029         * docs/random/ensonic/profiling.txt:
8030           get_rusage look promising
8031
8032 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
8033
8034         * docs/manual/basics-helloworld.xml:
8035           Add a cast in example to fix compile warning
8036
8037 2006-10-18  Wim Taymans  <wim@fluendo.com>
8038
8039         * gst/gstsegment.c: (gst_segment_set_last_stop),
8040         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
8041         Relax arg checking again, -1 is allowed.
8042
8043 2006-10-18  Wim Taymans  <wim@fluendo.com>
8044
8045         * gst/gstsegment.c: (gst_segment_set_last_stop),
8046         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
8047         _set_last_stop() must be with a value != -1
8048         A _TYPE_SET to -1 means seek to 0.
8049         Calc last_stop correctly for negative rates.
8050         Make sure we work with positive durations when updating a segment.
8051
8052 2006-10-18  Wim Taymans  <wim@fluendo.com>
8053
8054         * docs/design/part-live-source.txt:
8055         * gst/gstclock.h:
8056         Small docs fixes.
8057
8058 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
8059
8060         * gst/gstbuffer.h:
8061           Add an explicit cast to GstBuffer** to keep old code that added an
8062           explicit cast to GstMiniObject** for gst_mini_object_replace()
8063           compiling without warning.
8064
8065 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
8066
8067         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
8068           check for validity of dates
8069
8070 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
8071
8072         * docs/gst/gstreamer-sections.txt:
8073           Forgot this one, makes gtk-doc shut up.
8074
8075 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
8076
8077         Patch by: Peter Kjellerstedt <pkj at axis com>
8078
8079         * gst/gstobject.h:
8080           Don't define xmlNodePtr to gpointer if the core was built with
8081           --disable-loadsave and --disable-registry, this will break
8082           applications that want to use libxml2 but are buildling against a
8083           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
8084           instead so we don't have to mess with the libxml2 namespace
8085           (#361675).
8086
8087 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
8088
8089         * gst/gstbuffer.h:
8090           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
8091           type-punned pointer warnings.
8092
8093 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
8094
8095         * gst/gstelement.h:
8096           Add casts to the correct return type to state <=> state transition
8097           macros.
8098
8099 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
8100
8101         * docs/design/part-live-source.txt:
8102           describe howto handle latency
8103         
8104         * docs/random/ensonic/profiling.txt:
8105           more ideas
8106
8107         * tools/gst-plot-timeline.py:
8108           fix log parsing for solaris, remove unused function
8109
8110 2006-10-16  Wim Taymans  <wim@fluendo.com>
8111
8112         * docs/design/part-trickmodes.txt:
8113         * gst/gstevent.c:
8114         Update some docs regarding reverse playback.
8115
8116 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8117
8118         Patch by: Marcus Granado  <mrc dot gran at gmail com>
8119
8120         * win32/vs8/grammar.vcproj:
8121           Error out with a warning if glib-genmarshal.exe is not in path,
8122           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
8123
8124 2006-10-13  Wim Taymans  <wim@fluendo.com>
8125
8126         * gst/gstsegment.c: (gst_segment_set_seek):
8127         When seeking to stop -1, set last_stop (current position) to the
8128         duration of the segment.
8129
8130 2006-10-13  Wim Taymans  <wim@fluendo.com>
8131
8132         * gst/gstelement.h:
8133         Clarify _NO_PREROLL a bit more.
8134
8135         * gst/gstevent.c:
8136         Fix docs.
8137
8138         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
8139         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
8140         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
8141         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
8142         due to wrong locking order. Fixes #361769.
8143         Remove some redundant/misplaced checks in pad_block.
8144
8145         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8146         For negative rates, count backwards from the duration.
8147
8148 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8149
8150         * gst/gsterror.c: (_gst_library_errors_init):
8151           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
8152           up with something better).
8153
8154 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
8155
8156         * win32/vs6/libgstreamer.dsp:
8157         * win32/vs7/libgstreamer.vcproj:
8158         * win32/vs8/libgstreamer.vcproj:
8159           Don't reference glib-compat.c which is currently not used and not
8160           disted; add gstquark.c which was recently added. Fixes #361730.
8161
8162 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
8163
8164         * win32/common/libgstbase.def:
8165         * win32/common/libgstcontroller.def:
8166         * win32/common/libgstreamer.def:
8167           Add gst_caps_merge() and a bunch of other recently-added functions.
8168           Fixes #361732.
8169
8170 2006-10-11  Wim Taymans  <wim@fluendo.com>
8171
8172         * docs/plugins/gstreamer-plugins.args:
8173         * docs/plugins/inspect/plugin-coreelements.xml:
8174         * docs/plugins/inspect/plugin-coreindexers.xml:
8175         Update element args.
8176
8177         * gst/gstsystemclock.c:
8178         Small comment update.
8179
8180         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
8181         (gst_tee_request_new_pad), (gst_tee_release_pad),
8182         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
8183         (gst_tee_sink_activate_pull):
8184         * plugins/elements/gsttee.h:
8185         Some tee loving:
8186         Add default property defines.
8187         Implement release pad function.
8188         Give properties better blubs etc.
8189         Activate pads before adding them to a running tee.
8190         Do simple buffer_alloc on the first requested pad.
8191         Post error when activation fails.
8192
8193 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
8194
8195         * gst/gst.c: (ensure_current_registry_forking):
8196           Check return value of write() to make compiler happy.
8197
8198 2006-10-11  Wim Taymans  <wim@fluendo.com>
8199
8200         Patch by: Sjoerd Simons <sjoerd at luon dot net>
8201
8202         * plugins/elements/gstqueue.c: (gst_queue_chain):
8203         Recheck queue filledness after signalling the overrun when we're about
8204         to leak downstream because we released the lock when emitting the signal
8205         and the queue could be empty again. Fixes #352345.
8206
8207 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
8208
8209         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
8210           Fix refcounting here too, just like we did for _new_valist() a few
8211           days ago (#357180) (thanks to René Stadler). Also remove all those
8212           'Since: 0.9' from the gtk-doc blobs.
8213
8214         * tests/check/libs/controller.c: (controller_refcount_new_list),
8215         (gst_controller_suite):
8216           Unit test for the above.
8217
8218 2006-10-10  Wim Taymans  <wim@fluendo.com>
8219
8220         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
8221
8222         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8223         (gst_pad_save_thyself):
8224         Update some docs.
8225         Write pad direction in XML output. Fixes #345496.
8226
8227 2006-10-10  Wim Taymans  <wim@fluendo.com>
8228
8229         Patch by: René Stadler <mail at renestadler dot de>
8230
8231         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8232         (gst_controller_new_list), (_gst_controller_dispose),
8233         (_gst_controller_finalize), (_gst_controller_class_init):
8234         Take ref to controlled object so that it cannot disappear. 
8235         Fixes #357432.
8236
8237 2006-10-10  Wim Taymans  <wim@fluendo.com>
8238
8239         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
8240         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
8241         (gst_check_teardown_sink_pad):
8242         Activate/deactivate pads in setup/teardown respectively.
8243
8244 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8245
8246         Patch by: Josep Torra Valles <josep@fluendo.com>
8247
8248         * gst/Makefile.am:
8249         Cast values when making gstenumtypes.h.  This pacifies Forte
8250         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
8251         in the enumeration.
8252
8253 2006-10-09  Wim Taymans  <wim@fluendo.com>
8254
8255         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
8256         Rename some more @cur to @start to fix docs. 
8257
8258         * gst/gstsegment.c: (gst_segment_set_seek):
8259         Fix typo.
8260         time and start must always stay in sync as defined in design doc.
8261
8262         * gst/gsttaglist.c: (gst_tag_list_is_empty):
8263         Rename param to fix docs.
8264
8265         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8266         Check that start and time are in sync.
8267
8268         * tests/check/pipelines/parse-launch.c:
8269         (gst_parse_test_element_change_state):
8270         Activate pad before adding to the element.
8271
8272 2006-10-09  Wim Taymans  <wim@fluendo.com>
8273
8274         * docs/design/part-qos.txt:
8275         Fix typo.
8276
8277         * gst/gstevent.c:
8278         * gst/gstevent.h:
8279         Update seek event docs regarding negative rates.
8280         Rename @cur to @start. 
8281
8282         * gst/gstsegment.c: (gst_segment_set_seek):
8283         * gst/gstsegment.h:
8284         Update set_seek docs regarding negative rates.
8285         Correctly update last_stop to @stop when dealing with negative
8286         rates.
8287         Rename @cur to @start. 
8288
8289         * tests/check/gst/gstpad.c: (GST_START_TEST):
8290         Activate pads before trying to use them.
8291
8292         * tests/check/gst/gstsegment.c: (GST_START_TEST),
8293         (gst_segment_suite):
8294         Add simple check for segments and negative rates.
8295
8296 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
8297
8298         * gst/gsttaglist.c: (gst_tag_list_is_empty):
8299         * gst/gsttaglist.h:
8300         * docs/gst/gstreamer-sections.txt:
8301           API: add gst_tag_list_is_empty() (#360467).
8302
8303         * tests/check/gst/gsttag.c: (GST_START_TEST):
8304           And a test case.
8305
8306 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8307
8308         * gst/gstmessage.h:
8309         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
8310         a value that doesn't fit on enumeration.
8311
8312 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8313
8314         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8315         Remove local debugging system and use Gstreamer's instead.
8316
8317 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8318
8319         Patch by: Josep Torra Valles <josep@fluendo.com>
8320
8321         * common/m4/gst-error.m4:
8322         Disable warning of statement not reached on Forte.
8323         * gst/gstmessage.h:
8324         Fix warning on Forte (value doesn't fit on enumeration).
8325         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
8326         Fix warning on Forte (value doesn't fit on enumeration).
8327         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8328         DEBUG macro says it takes minimum of 2 args and so Forte
8329         complains about the use with just 1 arg.
8330         * plugins/elements/gstfdsink.c:
8331         * plugins/elements/gstfdsrc.c:
8332         * plugins/elements/gstfilesink.c:
8333         * plugins/elements/gstfilesrc.c:
8334         Use correct return type for the uri handler implementations.
8335
8336         All these fix warnings in Forte.  Fixes bug #360860.
8337
8338 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
8339
8340         * gst/gstelement.h:
8341           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
8342           format string, so don't use G_GNUC_PRINTF for those versions.
8343
8344 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
8345
8346         * gst/gsttaglist.c: (gst_is_tag_list):
8347         * gst/gsttaglist.h:
8348           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
8349
8350         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
8351           Small test for the above.
8352
8353 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
8354
8355         * gst/gsttaglist.h:
8356           Less tabs, more spaces.
8357
8358 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
8359
8360         * gst/gstinfo.h:
8361           Those two function declarations do actually belong there, revert
8362           commit from yesterday that turned them intro macros.
8363
8364 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8365
8366         Patch by: Josep Torra Valles <josep@fluendo.com>
8367
8368         * gst/gst.c: (gst_init_get_option_group):
8369         Fix empty declaration and type mismatch.
8370         * gst/gstbin.c: (gst_bin_change_state_func):
8371         Fix type mismatch.
8372         * gst/gstelement.c: (gst_element_continue_state),
8373         (gst_element_set_state_func), (gst_element_change_state),
8374         (gst_element_change_state_func):
8375         Fix type mismatches.
8376         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
8377         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
8378         Cast as appropriate.
8379         * gst/gstobject.c: (gst_class_signal_connect):
8380         Cast as appropriate.  The function pointer parameter really
8381         has the wrong type but would break API if we change it.
8382         * gst/gstquery.c:
8383         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
8384         order of including string.h.
8385         * gst/gstutils.c: (gst_element_state_get_name):
8386         Remove unreachable line.
8387         * gst/gstxml.c: (gst_xml_parse_doc):
8388         Fix type mismatch.
8389         All these caught by Forte.
8390
8391 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8392
8393         Patch by: Josep Torra Valles <josep@fluendo.com>
8394
8395         * common/m4/gst-error.m4:
8396         Fixed bug #360151.
8397         We need to disable warnings on Forte for empty declarations
8398         due to gst-indent adding ;s to lines that just use macros
8399         where the macro actually doesn't need a ; at end to end
8400         statement.
8401
8402 2006-10-06  Wim Taymans  <wim@fluendo.com>
8403
8404         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8405         (gst_file_sink_close_file), (gst_file_sink_event),
8406         (gst_file_sink_render):
8407         Add some FIXME for the NEWSEGMENT handling.
8408
8409 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8410
8411         * gst/parse/grammar.y:
8412         Remove static function gst_parse_element_lock as all it does
8413         is return.  Looks like cruft from 0.8.
8414
8415 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
8416
8417         Patch by: Josep Torra Valles <josep@fluendo.com>
8418
8419         * common/m4/gst-error.m4:
8420         * configure.ac:
8421         * libs/gst/net/Makefile.am:
8422         Fix a compilation issue with Forte on Solaris.  inet_aton is in
8423         libresolv.
8424
8425 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
8426
8427         * gst/gstpad.c: (pre_activate):
8428         * gst/gstregistry.c: (gst_registry_scan_path_level):
8429         * gst/gstregistryxml.c: (load_plugin):
8430         * libs/gst/controller/gstcontroller.c:
8431         (gst_controlled_property_set_interpolation_mode):
8432         * libs/gst/dataprotocol/dataprotocol.c:
8433         (gst_dp_packet_from_event_1_0):
8434         * libs/gst/net/gstnetclientclock.c:
8435         (gst_net_client_clock_observe_times):
8436         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
8437           Printf fixes.
8438
8439 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
8440
8441         * configure.ac:
8442         * docs/gst/gstreamer-sections.txt:
8443         * gst/gstconfig.h.in:
8444         * gst/gstelement.h:
8445         * gst/gstinfo.h:
8446           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
8447           whether we can use G_GNUC_PRINTF in other header files and at
8448           least check the printf format/arguments of debug messages and
8449           GST_ELEMENT_ERROR messages when the printf extension is not
8450           being used.
8451           Replace more tabs with spaces in gstinfo.h and remove two spurious
8452           function declarations in GST_DISABLE_DEBUG part with macros.
8453
8454 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
8455
8456         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
8457           More docs for the sync-message signal (mention that it is not
8458           emitted by default); log message structures of messages posted on
8459           the bus as well.
8460
8461 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
8462
8463         * gst/gst.c: (ensure_current_registry_forking):
8464         Use a pipe pair to receive status results from the forked child, and
8465         ignore the result from waitpid. Fixes #355499
8466
8467 2006-10-02  Wim Taymans  <wim@fluendo.com>
8468
8469         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
8470         (gst_ghost_pad_suite):
8471         Fix leak in check.
8472
8473 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8474
8475         * gst/gstpad.c:
8476           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
8477
8478 2006-10-02  Edward Hervey  <edward@fluendo.com>
8479
8480         * docs/design/part-block.txt:
8481         Further explain the use of flushing on blocked pads.
8482         * docs/gst/gstreamer-sections.txt:
8483         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
8484         (gst_pad_push_event):
8485         * gst/gstpad.h:
8486         Added new GstPadFlag : GST_PAD_BLOCKING.
8487         Adds the notion of pads really blocking, which enables to properly
8488         handle FLUSH_START/FLUSH_STOP events on blocked pads.
8489         Fixes #358999
8490         API: gst_pad_is_blocking()
8491         API: GST_PAD_IS_BLOCKING() macro
8492         API: GST_PAD_BLOCKING GstPadFlag
8493         
8494 2006-10-02  Wim Taymans  <wim@fluendo.com>
8495
8496         Patch by: mrcgran <mrc.gran at gmail dot com>
8497
8498         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
8499         Filter the proxied caps against the padtemplate if we have one.
8500
8501         * gst/gstquery.c: (gst_query_new_segment):
8502         Add include for gstinfo.h so that compilation with
8503         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
8504
8505 2006-10-02  Wim Taymans  <wim@fluendo.com>
8506
8507         Patch by: Alessandro Decina  <alessandro at nnva org>
8508
8509         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
8510         (gst_file_sink_set_location), (gst_file_sink_open_file),
8511         (gst_file_sink_close_file), (gst_file_sink_event),
8512         (gst_file_sink_render):
8513         Set file to NULL when closing filesink so that we can set a new filename
8514         in READY. Fixes #358613.
8515
8516 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
8517
8518         Patch by: Alessandro Decina  <alessandro at nnva org>
8519
8520         * gst/gstevent.c: (_gst_event_copy):
8521           Fix gst_mini_object_make_writable() and gst_event_copy() for events
8522           with event structures by setting the parent refcount address of the
8523           copied structure to the address of the refcount member of the newly
8524           copied event rather than the address of the refcount member of the
8525           original event. Fixes #358737.
8526
8527         * tests/check/gst/gstevent.c: (GST_START_TEST):
8528           Unit test for the above.
8529
8530 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
8531
8532         * docs/design/Makefile.am:
8533           Dist some more files.
8534
8535 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8536
8537         * tests/check/libs/controller.c: (GST_START_TEST),
8538         (gst_controller_suite):
8539           Add test for the previous fix; add some more tests
8540           for correct refcounting behaviour; fix a few leaks
8541           in test cases; call gst_controller_init() at start
8542           of all tests.
8543
8544 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
8545
8546         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8547         (gst_controller_set_from_list):
8548           Don't g_return_val_if_fail() on timed values with invalid timestamps
8549           inside a critical section without unlocking the mutex. Spotted by
8550           René Stadler. (#357617)
8551           Also, fix up refcounting properly: when returning an existing
8552           controller, we should increase the reference only once and not
8553           once per property and when trying to control a property again
8554           we should also increase the refcount.
8555
8556 2006-09-29  Wim Taymans  <wim@fluendo.com>
8557
8558         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
8559         * libs/gst/net/gstnettimeprovider.c:
8560         (gst_net_time_provider_thread):
8561         Stop reading commands when EOF as well.
8562
8563         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
8564         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
8565         * plugins/elements/gstidentity.c: (gst_identity_class_init):
8566         Unify description of the dump property.
8567
8568 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8569
8570         * tests/examples/manual/.cvsignore:
8571         OK, so it's actually cvsignore that needs changing. Stop laughing.
8572
8573 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8574
8575         * tests/examples/manual/Makefile.am:
8576         Gah, declare vars *before* using them
8577
8578 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8579
8580         * gst/gst.c: (init_pre), (scan_and_update_registry),
8581         (ensure_current_registry_nonforking),
8582         (ensure_current_registry_forking), (ensure_current_registry),
8583         (init_post), (gst_debug_help), (gst_deinit):
8584         * gst/gst_private.h:
8585         * gst/gstregistry.c: (gst_registry_finalize),
8586         (gst_registry_remove_features_for_plugin_unlocked),
8587         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8588         (gst_registry_scan_path),
8589         (_priv_gst_registry_remove_cache_plugins),
8590         (_priv_gst_registry_cleanup):
8591         * gst/gstregistry.h:
8592         Re-commit the registry changes, along with an extra fix:
8593           When a cached plugin is encountered at a different file path,
8594           update the stored path in the registry cache so that the parent
8595           process knows where it actually is now when it re-reads the registry
8596           cache. Fixes the thing that broke distcheck with the previous commit.
8597
8598         * tests/check/Makefile.am:
8599         Clean up files named 'core' too when running make clean.
8600
8601         * tests/examples/manual/Makefile.am:
8602         Set up a registry path for running these tests, and clean it properly
8603         for distcheck.
8604
8605 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
8606
8607         * configure.ac:
8608         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
8609         want gmodule-no-export-2.0.pc instead so that we don't drag in
8610         --export-dynamic on every project that links to GStreamer.
8611
8612         Also, make our export regex only match the start of symbols, rather 
8613         than any symbol that contains '_gst' somewhere.
8614
8615         * libs/gst/check/Makefile.am:
8616         The libgstcheck we build does however need export-dynamic, as it
8617         produces some symbols that don't match our _gst... style regex.
8618         Fixes: #318031
8619
8620 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
8621
8622         * gst/gst.c: (init_pre), (scan_and_update_registry),
8623         (ensure_current_registry_nonforking),
8624         (ensure_current_registry_forking), (ensure_current_registry),
8625         (init_post), (gst_debug_help), (gst_deinit):
8626         * gst/gst_private.h:
8627         * gst/gstregistry.c: (gst_registry_finalize),
8628         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8629         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
8630         (_gst_registry_cleanup):
8631         * gst/gstregistry.h:
8632           Revert previous change until I figure out why it breaks distcheck.
8633
8634 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
8635
8636         * gst/gst.c: (init_pre), (scan_and_update_registry),
8637         (ensure_current_registry_nonforking),
8638         (ensure_current_registry_forking), (ensure_current_registry),
8639         (init_post), (gst_debug_help), (gst_deinit):
8640
8641           Make init_pre and init_post take the full complement of GOptionFunc
8642           args so they can return useful GErrors. Make the registry updating
8643           functions do so.
8644
8645           Call _priv_gst_registry_remove_cache_plugins after scanning files to
8646           ensure that the registry we're about to write out doesn't contain
8647           stale information about old-deleted plugin files.
8648
8649           Make _priv_gst_registry_remove_cache_plugins return a boolean so
8650           that deletion of plugin files is considered a registry change.
8651
8652         * gst/gst_private.h:
8653         * gst/gstregistry.c: (gst_registry_finalize),
8654         (gst_registry_remove_features_for_plugin_unlocked),
8655         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
8656         (gst_registry_scan_path),
8657         (_priv_gst_registry_remove_cache_plugins),
8658         (_priv_gst_registry_cleanup):
8659         * gst/gstregistry.h:
8660         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
8661         by adding _priv prefix, so that they won't appear in the global
8662         symbol table. They still do atm though because of #318031. Move the
8663         prototypes to gst_private.h
8664
8665         When removing a plugin, remove all features for that plugin too. 
8666         Fixes #340878.
8667
8668 2006-09-27  Wim Taymans  <wim@fluendo.com>
8669
8670         * docs/random/moving-plugins:
8671         Make it clear that the "compiled-in descriptions" really mean
8672         the element details.
8673
8674         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8675         (gst_base_sink_wait_preroll):
8676         Update docs.
8677
8678         * docs/libs/gstreamer-libs-sections.txt:
8679         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
8680         (gst_base_src_get_range), (gst_base_src_activate_push):
8681         * libs/gst/base/gstbasesrc.h:
8682         Added function to block while waiting for PLAYING, this function
8683         is used by live sources that block on the clock.
8684         API: gst_base_src_wait_playing()
8685
8686 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8687
8688         Patch by: Peter Kjellerstedt <pkj at axis com>
8689
8690         * Makefile.am:
8691           gst-element-check.m4 is generated and should therefore be
8692           copied from the build dir rather than the source dir (#357593).
8693           'make distcheck' hasn't noticed this because we were disting
8694           the file as well, so stop doing that.
8695
8696 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
8697
8698         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
8699           Add some tests for gst_caps_intersect().
8700
8701         * tools/gst-launch.c: (event_loop):
8702           Print all buffering percentages we get, even the 100% one.
8703
8704 2006-09-26  Wim Taymans  <wim@fluendo.com>
8705
8706         * tools/gst-inspect.c: (print_element_properties_info),
8707         (print_signal_info):
8708         Fix printing of flags to match the look of enums.
8709
8710 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8711
8712         * gst/gstelementfactory.c:
8713           Fix typo in docs blurb.
8714
8715 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8716
8717         * gst/gsturi.c: (search_by_entry):
8718           Don't assert/crash here if a uri handler doesn't return any
8719           supported protocols. The list of protocols could be generated
8720           dynamically at runtime or at plugin registration, and an error
8721           in the underlying library shouldn't be fatal (#353301).
8722
8723 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
8724
8725         * gst/gstinfo.c:
8726           Fix warning if HAVE_PRINTF_EXTENSION is undefined
8727           (spotted by Peter Kjellerstedt).
8728
8729 2006-09-23  Wim Taymans  <wim@fluendo.com>
8730
8731         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
8732
8733         * libs/gst/base/gstbasesrc.c:
8734         (gst_base_src_default_check_get_range), (gst_base_src_start),
8735         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8736         (gst_base_src_change_state):
8737         Match _start/_stop calls in the activate functions. Remove redundant
8738         _stop call from the state change function. Fixes #356910.
8739         Turn failure DEBUG into ERROR. 
8740
8741 2006-09-22  Wim Taymans  <wim@fluendo.com>
8742
8743         * docs/design/part-buffering.txt:
8744         * gst/gstmessage.c: (gst_message_new_buffering),
8745         (gst_message_parse_buffering):
8746         Update docs about buffering.
8747
8748         * docs/design/part-trickmodes.txt:
8749         Fix typo.
8750
8751 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
8752
8753         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
8754         (gst_controller_new_list):
8755           Ref instances when returning them again (fixes #357180)
8756
8757 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
8758
8759         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
8760           Don't forget to release proxy lock when there's an error.
8761
8762 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
8763
8764         * gst/gstcaps.h:
8765           Add extra initialisers for Caps things, to fix some plugin warnings
8766           when using -Wextra
8767
8768 2006-09-18  Wim Taymans  <wim@fluendo.com>
8769
8770         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
8771           Also set template on the internal pad so that a getcaps from the 
8772           target pad returns the template caps.
8773
8774 2006-09-18  Wim Taymans  <wim@fluendo.com>
8775
8776         * gst/gstelement.c: (gst_element_post_message),
8777         (gst_element_dispose):
8778         Use _DEBUG_OBJECT some more.
8779
8780         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
8781         Avoid typechecks.
8782
8783         * tools/gst-launch.c: (main):
8784         If the toplevel element is not a GstPipeline, it must be put in a
8785         pipeline so that a bus and clock is selected.
8786
8787 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
8788
8789         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
8790           JITTER, RATE, and LATENCY query should be handled by the
8791           default case and not by the CONVERT query code.
8792
8793 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
8794
8795         * gst/gstformat.c: (gst_format_register):
8796           Fix locking order (must take lock before using n_values).
8797
8798         * gst/gstvalue.c: (gst_value_serialize_enum),
8799         (gst_value_deserialize_enum_iter_cmp),
8800         (gst_value_deserialize_enum):
8801           Fix serialisation/deserialisation of custom registered GstFormats.
8802
8803         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
8804           Unit test for custom format serialisation/deserialisation.
8805
8806 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
8807
8808         * docs/pwg/building-boiler.xml:
8809         * plugins/elements/gstcapsfilter.c:
8810         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
8811         section.
8812
8813 2006-09-16  Edward Hervey  <edward@fluendo.com>
8814
8815         * libs/gst/base/gstbasetransform.c:
8816         (gst_base_transform_buffer_alloc):
8817         Check if requested caps are the same as the sinks caps IF
8818         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
8819         is FALSE.
8820         This fixes the renegotiation issues stated in #352827.
8821
8822 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8823
8824         * configure.ac:
8825         * docs/manual/advanced-autoplugging.xml:
8826         * tests/examples/Makefile.am:
8827         * tests/examples/manual/.cvsignore:
8828         * tests/examples/manual/Makefile.am:
8829         * tests/examples/manual/extract.pl:
8830           Extract the manual examples again like we used to do.
8831           Fix one of them.
8832
8833 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8834
8835         * win32/common/config.h:
8836           update for version
8837
8838 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
8839
8840         * gst/gsterror.c:
8841           Documents how to receive errors.
8842
8843 2006-09-15  Wim Taymans  <wim@fluendo.com>
8844
8845         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
8846         (event_loop), (main):
8847         Added some comments here and there.
8848         Post an application message when an interrupt is caught instead of doing
8849         an uncontrolled state change.
8850         Clean up the event loop.
8851         Handle buffering messages, pause/resume the pipeline.
8852         Make shutdown because of an interrupt more reliable.
8853
8854 2006-09-15  Wim Taymans  <wim@fluendo.com>
8855
8856         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8857         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
8858         (gst_base_sink_preroll_object):
8859         Make sure that our internal state is correct when we commit our state
8860         asynchronously. This solves a race where a state change to PLAYING
8861         could cause the sink to remain blocked in preroll in some situations.
8862
8863 2006-09-15  Wim Taymans  <wim@fluendo.com>
8864
8865         * tools/gst-inspect.c: (print_element_properties_info),
8866         (print_signal_info):
8867         List flags as hex so it's easier to deal with.
8868
8869 2006-09-15  Wim Taymans  <wim@fluendo.com>
8870
8871         * docs/libs/gstreamer-libs-sections.txt:
8872         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
8873         (gst_base_sink_do_sync):
8874         * libs/gst/base/gstbasesink.h:
8875         Expose logic to wait for preroll so that subclasses such as audiosink
8876         can also use this method.
8877         API: gst_base_sink_wait_preroll()
8878
8879 2006-09-15  Wim Taymans  <wim@fluendo.com>
8880
8881         * gst/gstobject.c: (gst_object_set_parent):
8882         * gst/gstpipeline.c: (do_pipeline_seek):
8883         Small cleanups in docs and code.
8884
8885         * gst/gstsegment.c: (gst_segment_clip):
8886         * tests/check/gst/gstsegment.c: (GST_START_TEST):
8887         if stop == start and start is in the segment, no clipping should be
8888         done. Also add a test for this.
8889
8890 2006-09-15  Wim Taymans  <wim@fluendo.com>
8891
8892         * docs/design/part-buffering.txt:
8893         * docs/gst/gstreamer-sections.txt:
8894         * gst/gstmessage.c: (gst_message_new_buffering),
8895         (gst_message_parse_buffering):
8896         * gst/gstmessage.h:
8897         Added methods to create and parse BUFFERING messages.
8898         Added preliminary docs about buffering.
8899         API: gst_message_new_buffering
8900         API: gst_message_parse_buffering
8901
8902 2006-09-06  Wim Taymans  <wim@fluendo.com>
8903
8904         * gst/gstbin.c:
8905         Update documentation.
8906
8907         * gst/gstelement.c: (gst_element_class_init),
8908         (gst_element_release_request_pad), (gst_element_set_clock),
8909         (gst_element_get_index), (gst_element_add_pad),
8910         (gst_element_remove_pad), (gst_element_get_random_pad),
8911         (gst_element_send_event), (gst_element_get_query_types),
8912         (gst_element_query), (gst_element_post_message),
8913         (gst_element_message_full), (gst_element_continue_state),
8914         (gst_element_lost_state), (gst_element_save_thyself),
8915         (gst_element_restore_thyself):
8916         Documentation updates.
8917         Rename last bit of the new-pad -> pad-added signal rename.
8918         Fix the case where an element query would only work if the source
8919         pad was linked.
8920         Avoid some useless type checking in message handling.
8921
8922         * gst/gstevent.c:
8923         * gst/gstevent.h:
8924         * gst/gstutils.c:
8925         Documentation updates.
8926
8927 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8928
8929         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
8930           add an INFO line for when we actually update the fd
8931
8932 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
8933
8934         * configure.ac:
8935           back to TRUNK
8936
8937 === release 0.10.10 ===
8938
8939 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
8940
8941         * configure.ac:
8942           releasing 0.10.10, "Pais"
8943
8944 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
8945
8946         * docs/manual/advanced-position.xml:
8947           Fix typo in sample code.
8948
8949 2006-09-05  Wim Taymans  <wim@fluendo.com>
8950
8951         * libs/gst/net/gstnetclientclock.c: (inet_aton),
8952         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
8953         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
8954         * libs/gst/net/gstnetclientclock.h:
8955         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
8956         * libs/gst/net/gstnettimepacket.h:
8957         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
8958         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
8959         (gst_net_time_provider_thread), (gst_net_time_provider_new):
8960         * libs/gst/net/gstnettimeprovider.h:
8961         Make stuff compile on windows. Fixes #345295.
8962
8963 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8964
8965         * gst/gst.c: (ensure_current_registry_forking):
8966           Print better details when child was terminated by signal.
8967
8968 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
8969
8970         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
8971           Print a warning rather than g_assert() if a plugin feature
8972           is a URI handler but returns no protocols (#353976).
8973
8974 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
8975
8976         * docs/random/moving-plugins:
8977         Fix two typos.         
8978
8979 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
8980
8981         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
8982           Fix locking order, handle NULL function values properly.
8983
8984         * gst/gstinfo.h:
8985           Fix docs.
8986
8987         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
8988           Initialise variable before using it and fix debug statement to
8989           print the address of the function rather than the address of the
8990           variable on the stack holding the address of the function.
8991
8992 2006-09-01  Wim Taymans  <wim@fluendo.com>
8993
8994         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
8995         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
8996         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
8997         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
8998         (gst_ghost_pad_parent_unset),
8999         (gst_ghost_pad_internal_do_activate_push),
9000         (gst_ghost_pad_internal_do_activate_pull),
9001         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9002         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9003         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
9004         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
9005         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
9006         (gst_ghost_pad_new_no_target_from_template),
9007         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
9008         More cleanups.
9009         Avoid needless typechecking in macros.
9010         Since the internal pad is always present and never changes, there is
9011         no need to locking or ref when retrieving it.
9012         Improve debugging a bit.
9013         Handle link errors when setting the target. Fixes #341029.
9014
9015 2006-09-01  Wim Taymans  <wim@fluendo.com>
9016
9017         * docs/libs/gstreamer-libs-sections.txt:
9018         * docs/plugins/gstreamer-plugins-sections.txt:
9019         Fix docs some more.
9020
9021         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
9022         (gst_collect_pads_event):
9023         * libs/gst/base/gstcollectpads.h:
9024         Documentation updates.
9025         Free queued buffer when removing a pad.
9026
9027 2006-08-31  Michael Smith  <msmith@fluendo.com>
9028
9029         * gst/gstutils.c: (gst_element_link_pads),
9030         (gst_element_link_pads_filtered):
9031           Ensure that we set a capsfilter to NULL if we failed to link it
9032           when doing filtered linking, to avoid criticals.
9033
9034           No need to check for unreffing srcpad, which is explicly NULLed
9035           above (a trivial code cleanup).
9036
9037 2006-08-31  Wim Taymans  <wim@fluendo.com>
9038
9039         * docs/design/part-gstghostpad.txt:
9040         Update ascii art in documentation.
9041
9042         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
9043         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
9044         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
9045         (gst_ghost_pad_internal_do_activate_push),
9046         (gst_ghost_pad_internal_do_activate_pull),
9047         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9048         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
9049         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
9050         (gst_ghost_pad_set_target):
9051         Small cleanups and leak fixes.
9052         Remove some checks now that the internal pad is never NULL.
9053         Fix the case where linking pads without a target would create nasty
9054         criticals. Fixes #341029.
9055         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
9056         value of _set_target().
9057
9058         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
9059         (gst_ghost_pad_suite):
9060         Some more tests for creating and linking untargeted ghostpads.
9061
9062 2006-08-31  Edward Hervey  <edward@fluendo.com>
9063
9064         * docs/gst/gstreamer-sections.txt:
9065         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
9066         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
9067         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
9068         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
9069         (gst_ghost_pad_new_from_template),
9070         (gst_ghost_pad_new_no_target_from_template):
9071         * gst/gstghostpad.h:
9072         Refactored *_new() functions.
9073         Templates are now used as a g_object_new() parameter.
9074         Use template in _do_getcaps() if we don't have a target.
9075         Small documentation cleanups.
9076         Added two new constructors:
9077         gst_ghost_pad_new_from_template()
9078         gst_ghost_pad_new_no_target_from_template()
9079         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
9080         (gst_ghost_pad_suite):
9081         Added tests for new ghostpad instanciation functions.
9082
9083         API additions: gst_ghost_pad_new_from_template,
9084         gst_ghost_pad_new_no_target_from_template
9085
9086 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
9087
9088         * docs/random/ensonic/profiling.txt:
9089           Ideas about qos profiling.
9090
9091 2006-08-29  Wim Taymans  <wim@fluendo.com>
9092
9093         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
9094         Code cleanups.
9095         Fix memleak.
9096
9097 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
9098
9099         * gst/gstxml.c:
9100           Improve and detypofy docs.
9101
9102         * tests/check/Makefile.am:
9103         * tests/check/gst/.cvsignore:
9104         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
9105           Add a basic test suite for GstXML.
9106
9107 2006-08-29  Wim Taymans  <wim@fluendo.com>
9108
9109         * gst/gstelement.c: (activate_pads), (clear_caps),
9110         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
9111         Clear the pad caps when the element shut down all of the pads and
9112         is not streaming data that could modify the caps. 
9113         Fixes #352958.
9114
9115 2006-08-28  Michael Smith  <msmith@fluendo.com>
9116
9117         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9118           Revert previous change; I misunderstood single-segment mode.
9119
9120 2006-08-28  Michael Smith  <msmith@fluendo.com>
9121
9122         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9123           Unset DISCONT on buffers when using single-segment mode.
9124
9125 2006-08-28  Wim Taymans  <wim@fluendo.com>
9126
9127         * gst/gstcaps.c: (gst_caps_merge_structure):
9128         * gst/gstcaps.h:
9129         Fix docs and indentation again.
9130
9131         * tests/check/gst/gstquery.c: (GST_START_TEST):
9132         Fix leak in tests and add some more tests.
9133
9134 2006-08-28  Edward Hervey  <edward@fluendo.com>
9135
9136         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
9137         Inform GstSegment of the last stop position in order for the current
9138         segment to have a proper duration if it doesn't have a specific stop
9139         position from which a duration could be calculated.
9140         This bug was noticeable when a non-flushing, non-update new segment was
9141         followed by another segment (all buffers from the new segment were being
9142         dropped).
9143
9144 2006-08-28  Wim Taymans  <wim@fluendo.com>
9145
9146         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
9147         Small comment update.
9148
9149         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9150         (gst_identity_transform_ip):
9151         Drop-probability is broken, mention this in the code with a 
9152         FIXME and also in the property description.
9153         Make silent also be silent about the drop messages.
9154
9155 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
9156
9157         * docs/manual/appendix-win32.xml:
9158           Remove mention of popt, we don't depend on that any
9159           longer (#353136). Add some comments pointing out that
9160           this section is slightly outdated.
9161
9162 2006-08-28  Wim Taymans  <wim@fluendo.com>
9163
9164         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
9165
9166         * gst/gstquery.c: (gst_query_new_segment):
9167         * tests/check/gst/gstquery.c: (GST_START_TEST):
9168         Initialize variables when creating a new segment query.
9169         Fixes #353121.
9170
9171 2006-08-28  Wim Taymans  <wim@fluendo.com>
9172
9173         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
9174
9175         * gst/gstelement.c: (gst_element_get_bus):
9176         * tests/check/gst/gstelement.c: (GST_START_TEST):
9177         Check for NULL before _reffing the bus. Fixes #353122.
9178
9179 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
9180
9181         * docs/manual/basics-bus.xml:
9182           Docs update: fix wrong callback return value explanation; add
9183           some lines about the implicit relationship between main loop
9184           and main context; remove duplicate main loop variable declaration.
9185
9186 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
9187
9188         * tests/check/gst/gstcaps.c: (GST_START_TEST):
9189           Don't leak caps in unit test; add a few more simple
9190           checks. 
9191
9192 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
9193
9194         * docs/gst/gstreamer-sections.txt:
9195         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
9196         (gst_caps_structure_is_subset), (gst_caps_merge),
9197         (gst_caps_merge_structure):
9198         * gst/gstcaps.h:
9199         * libs/gst/base/gstbasetransform.c:
9200         (gst_base_transform_transform_caps):
9201         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
9202           implement caps merging (fixes #352580)
9203
9204 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
9205
9206         * tools/Makefile.am:
9207         * tools/gst-plot-timeline.py:
9208           add debug-log plotting developer tool (#340674)
9209
9210 2006-08-23  Wim Taymans  <wim@fluendo.com>
9211
9212         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
9213         (gst_pad_stop_task):
9214         Improve debugging for task functions.
9215
9216         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
9217         (gst_task_start), (gst_task_pause), (gst_task_join):
9218         Make sure that the task function started and finished after a 
9219         join(). 
9220         Don't try to push the task function on the threadpool multiple
9221         times.
9222         Improve the g_warning message with some useful suggestions
9223         about how to fix the problem. 
9224
9225 2006-08-23  Wim Taymans  <wim@fluendo.com>
9226
9227         * gst/gstutils.c: (gst_pad_proxy_getcaps):
9228         Handle RESYNC correctly in _proxy_getcaps.
9229
9230 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
9231
9232         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
9233         (gst_xml_parse_memory), (gst_xml_get_element):
9234           Chain up to parent class in dispose function and also
9235           unref the elements in the toplevel_elements GList.
9236           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
9237           Always return a reference in gst_xml_get_element() rather
9238           than only sometimes.
9239
9240         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
9241           Don't leak GstXml object.
9242
9243 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
9244
9245         * docs/gst/gstreamer-sections.txt:
9246         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
9247         (gst_caps_merge):
9248         * gst/gstcaps.h:
9249         * libs/gst/base/gstbasetransform.c:
9250         (gst_base_transform_transform_caps):
9251           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
9252           in a better way
9253
9254 2006-08-21  Edward Hervey  <edward@fluendo.com>
9255
9256         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
9257         Implement GObject::dispose virtual method in GstXML so we can free the
9258         top_elements GList.
9259
9260 2006-08-21  Wim Taymans  <wim@fluendo.com>
9261
9262         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
9263         (gst_buffer_create_sub):
9264         Copy duration/offset_end/caps when creating a subbuffer of the
9265         complete parent.
9266         Make the subbuffer read-only when we make the metadata writable for
9267         now. Fixes #351768.
9268
9269         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
9270         Added check for metadata copy when creating subbuffers.
9271
9272 2006-08-21  Edward Hervey  <edward@fluendo.com>
9273
9274         * libs/gst/base/gstbasetransform.c:
9275         (gst_base_transform_buffer_alloc):
9276         Only call downstream buffer_alloc if transform element is passthrough
9277         or always_in_place. Closes #350449.
9278
9279 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
9280
9281         * ChangeLog:
9282           ChangeLog surgery to add comments to previous changes
9283
9284 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
9285
9286         * gst/gst.c:
9287           Add comments
9288
9289         * gst/gstpad.c: (gst_pad_set_active):
9290           Be more verbose in the log
9291
9292         * libs/gst/base/gstbasetransform.c:
9293         (gst_base_transform_transform_caps):
9294           Simplify caps to get rid of duplicates, fixes #345444
9295
9296 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
9297
9298         * gst/gstvalue.c:
9299         * gst/gstvalue.h:
9300           Use these optimizations only internally.
9301
9302 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
9303
9304         * gst/gstvalue.c: (gst_value_compare_list),
9305         (gst_value_compare_fraction_range),
9306         (gst_value_intersect_fraction_fraction_range),
9307         (gst_value_intersect_fraction_range_fraction_range),
9308         (gst_value_subtract_fraction_fraction_range),
9309         (gst_value_subtract_fraction_range_fraction_range),
9310         (gst_value_get_compare_func), (gst_value_compare),
9311         (gst_value_compare_with_func):
9312         * gst/gstvalue.h:
9313           Saves the expensive lookup of the compare function in many cases
9314          (#345444)
9315
9316 2006-08-18  Edward Hervey  <edward@fluendo.com>
9317
9318         * tests/check/gst/gstinfo.c: (gst_info_suite):
9319         Disable test that require gstdebug if it wasn't built in core.
9320
9321 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
9322
9323         * docs/random/ensonic/logging.txt:
9324           update ideas
9325           
9326         * gst/gstinfo.c: (gst_debug_log_default):
9327           reorder fields, save some columns, add optional color codes for log
9328           levels
9329
9330 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
9331
9332         * docs/random/ensonic/logging.txt:
9333           add ideas about making the logs a bit more useful
9334
9335 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
9336
9337         * docs/pwg/advanced-events.xml:
9338         * docs/pwg/titlepage.xml:
9339           Update for 0.10 API (#340627). Add myself
9340           to authors list.
9341
9342 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
9343
9344         * docs/libs/gstreamer-libs-docs.sgml:
9345         * docs/libs/gstreamer-libs-sections.txt:
9346         * libs/gst/check/gstbufferstraw.c:
9347           Make gstcheck stuff show up in docs (still needs to
9348           be documented properly though).
9349
9350 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
9351
9352         * docs/gst/gstreamer-sections.txt:
9353         * gst/Makefile.am:
9354         * gst/gst.c: (init_post):
9355         * gst/gst_private.h:
9356         * gst/gstquark.c: (_priv_gst_quarks_initialize):
9357         * gst/gstquark.h:
9358         * gst/gstquery.c: (gst_query_new_position),
9359         (gst_query_set_position), (gst_query_parse_position),
9360         (gst_query_new_duration), (gst_query_set_duration),
9361         (gst_query_parse_duration), (gst_query_new_convert),
9362         (gst_query_set_convert), (gst_query_parse_convert),
9363         (gst_query_new_segment), (gst_query_set_segment),
9364         (gst_query_parse_segment), (gst_query_new_seeking),
9365         (gst_query_set_seeking), (gst_query_parse_seeking):
9366         Add internal helpers for pre-registering quarks from static strings
9367         and using the quark values directly instead of looking them up when
9368         creating and parsing queries. Can be used for event construction too.
9369         Closes #350432.
9370
9371 2006-08-16  Wim Taymans  <wim@fluendo.com>
9372
9373         * gst/gstbin.c:
9374         Fix bogus docs.
9375
9376 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
9377
9378         * gst/gstutils.c: (gst_util_set_value_from_string):
9379           Fix memleak (#351502).
9380
9381         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9382           Add unit test for most of gst_util_set_value_from_string()
9383           (not that one would want to encourage use of this function).
9384
9385 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
9386
9387         * libs/gst/check/gstcheck.h:
9388           Use const gchar * variables in fail_unless_equals_string
9389           macro to avoid compiler warnings (and don't use tabs for
9390           indenting).
9391
9392 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
9393
9394         * tools/gst-launch.c: (print_tag):
9395           More space on the left for the tag names, to cater
9396           for the 'extended comment' tag (not touching the
9397           string for the first line since it's translated).
9398
9399 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
9400
9401         * libs/gst/check/gstcheck.h:
9402           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
9403           print something when they fail.
9404
9405 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
9406
9407         * docs/gst/gstreamer-sections.txt:
9408         * gst/gsttaglist.c: (_gst_tag_initialize):
9409         * gst/gsttaglist.h:
9410           API: add GST_TAG_EXTENDED_COMMENT (#350935).
9411           Also change merge function for GST_TAG_COMMENT to
9412           use_first.
9413
9414 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
9415
9416         * gst/gstinfo.c: (gst_debug_print_object):
9417           Make GST_PTR_FORMAT print messages as well.
9418
9419         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
9420         (GST_START_TEST), (gst_info_suite):
9421           More tests.
9422
9423 2006-08-14  Edward Hervey  <edward@fluendo.com>
9424
9425         * gst/gstelementfactory.c: (gst_element_register):
9426         If the GstElementClass doesn't have a GstElementDetails with all fields
9427         filled up correctly (longname, description AND author), then error out
9428         nicely instead of crashing.
9429
9430 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
9431
9432         * gst/gststructure.c:
9433           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
9434
9435         * gst/gstvalue.h:
9436           Expand on the difference between arrays and lists as we use them.
9437           
9438 2006-08-14  Wim Taymans  <wim@fluendo.com>
9439
9440         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
9441         If the parent state change function failed, don't assume we can safely
9442         stop the source, this will be done when the pads are deactivated.
9443
9444 2006-08-14  Wim Taymans  <wim@fluendo.com>
9445
9446         * gst/gstbuffer.c:
9447         * gst/gsttask.c: (gst_task_join):
9448         Small doc updates.
9449
9450         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9451         (gst_pad_stop_task):
9452         When pad (de)activation failed for some reason, restore the old
9453         activation mode and set the pad to flushing instead of assuming the
9454         pad is deactivated.
9455         If the _task_join() failed, reinstall the task on the pad so that it can
9456         be stopped later and return an error.
9457
9458 2006-08-11  Andy Wingo  <wingo@pobox.com>
9459
9460         * configure.ac:
9461         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
9462         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
9463         is only for users of API that don't want to see deprecated
9464         functions in the headers; people that want to compile out
9465         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
9466         CFLAGS. Fixes the build of multifdsink, or will soon..
9467
9468 2006-08-11  Wim Taymans  <wim@fluendo.com>
9469
9470         * docs/gst/gstreamer-sections.txt:
9471         Add GstClockClass vmethod docs.
9472
9473         * gst/gstcaps.h:
9474         Mark #endif with comment for associated #if
9475
9476         * gst/gstclock.c: (gst_clock_id_wait):
9477         * gst/gstclock.h:
9478         Add vmethod wait_jitter to avoid an unneeded _get_time() for
9479         most clock implementations.
9480         Document vmethods.
9481         Flesh out docs about resolution methods.
9482         API: GstClockClass::wait_jitter
9483
9484         * gst/gstsystemclock.c: (gst_system_clock_class_init),
9485         (gst_system_clock_async_thread),
9486         (gst_system_clock_id_wait_jitter_unlocked),
9487         (gst_system_clock_id_wait_jitter):
9488         Use base class wait_jitter variant for improved performance
9489         due to less clock polling.
9490
9491 2006-08-11  Edward Hervey  <edward@fluendo.com>
9492
9493         * gst/gst.c: (gst_init_check), (init_post):
9494         Set gst as being initialized before scanning/updating the registry,
9495         since there might be my python plugin loader that calls gst_init() and
9496         we don't want to loop back in.
9497         Closes #350879
9498
9499 2006-08-11  Wim Taymans  <wim@fluendo.com>
9500
9501         * docs/design/part-qos.txt:
9502         Bring docs in line with the code. Mostly the sign of the jitter was
9503         wrong in the docs. Fixes #349943.
9504
9505         * gst/gstclock.c:
9506         Fix the docs for the jitter.
9507
9508         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
9509         (gst_event_parse_tag), (gst_event_new_buffer_size),
9510         (gst_event_parse_buffer_size), (gst_event_parse_qos),
9511         (gst_event_new_seek), (gst_event_parse_seek),
9512         (gst_event_new_navigation):
9513         Make sure the GstStructure has no parent when creating custom
9514         events.
9515         Add some more argument checking so that we avoid 0.0 rates.
9516         Flesh out the docs for the QoS event some more.
9517
9518 2006-08-11  Wim Taymans  <wim@fluendo.com>
9519
9520         * docs/gst/gstreamer-sections.txt:
9521         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9522         (ensure_current_registry_forking), (ensure_current_registry),
9523         (parse_one_option), (parse_goption_arg), (gst_deinit),
9524         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
9525         * gst/gst.h:
9526         Doc updates.
9527         Added API and command line option to disable registry forking in
9528         addition to the environment variable.
9529         Constify some static arrays.
9530         Added some more debug.
9531         Don't deinit twice.
9532         API: gst_registry_fork_is_enabled()
9533         API: gst_registry_fork_set_enabled()
9534         API: --gst-disable-registry-fork command line option
9535         Fixes #348918.
9536
9537 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
9538
9539         * gst/gst.c: (gst_init):
9540           Fix typo in error message.
9541
9542 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
9543
9544         * libs/gst/controller/gstcontroller.h:
9545           fix ABI size-correction
9546
9547         * tests/check/libs/gdp.c: (gst_dp_suite):
9548           make tests that use deprecated API conditional
9549
9550 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
9551
9552         * docs/libs/gstreamer-libs-sections.txt:
9553         * libs/gst/controller/gstcontroller.c:
9554         (_gst_controller_get_property), (_gst_controller_set_property),
9555         (_gst_controller_init), (_gst_controller_class_init):
9556         * libs/gst/controller/gstcontroller.h:
9557         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
9558         (gst_object_set_control_rate):
9559           API: add gst_object_{s,g}et_control_rate(), add private data section,
9560           fix docs
9561
9562         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
9563         * libs/gst/dataprotocol/dataprotocol.h:
9564           add deprecation guards to make gtk-doc happy and allow disabling cruft
9565
9566 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
9567
9568         * tests/check/Makefile.am:
9569         * tests/check/gst/.cvsignore:
9570           Let's enable the new unit test as well.
9571
9572 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
9573
9574         * configure.ac:
9575         * docs/gst/gstreamer-sections.txt:
9576         * gst/gstconfig.h.in:
9577         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
9578         (_gst_info_printf_extension_ptr),
9579         (_gst_info_printf_extension_segment):
9580           API: add GST_SEGMENT_FORMAT, which is a printf extension we
9581           register that lets us easily dump GstSegments into debug
9582           logs (#350419).
9583
9584         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
9585         (info_segment_format_printf_extension), (gst_info_suite):
9586           Add simple unit test that logs a bunch of different segments (not
9587           valgrinded at the moment because of leaks in
9588           gst_debug_add_log_function).
9589
9590 2006-08-09  Edward Hervey  <edward@fluendo.com>
9591
9592         * libs/gst/base/gstbasetransform.c:
9593         (gst_base_transform_buffer_alloc):
9594         Even if we can't figure out the proper format to request downstream,
9595         call buffer_alloc() downstream with the input parameters without setting
9596         the caps on the srcpad. This will force negotiation in the chain
9597         function.
9598         Closes #350449
9599
9600 2006-08-08  Edward Hervey  <edward@fluendo.com>
9601
9602         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
9603         Unlinking from a pad without a target is now a perfectly valid case
9604         which should NOT raise an assertion.
9605         This case would happen if a linked ghostpad its target set to NULL after
9606         it was previously linked.
9607
9608 2006-08-08  Edward Hervey  <edward@fluendo.com>
9609
9610         * tests/check/libs/gdp.c:
9611         Also comment out the test (see below).
9612
9613 2006-08-08  Edward Hervey  <edward@fluendo.com>
9614
9615         * tests/check/libs/gdp.c: (gst_dp_suite):
9616         Use the architecture information from config.h and not gcc macros
9617         in order to properly disable a test that fails on PPC64.
9618
9619 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
9620
9621         * gst/gstelement.c: (gst_element_remove_pad):
9622           Don't crash printing the warning if the pad has no parent.
9623
9624 2006-08-02  Wim Taymans  <wim@fluendo.com>
9625
9626         * libs/gst/dataprotocol/dataprotocol.c:
9627         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
9628         (gst_dp_crc), (gst_dp_header_payload_length),
9629         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
9630         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
9631         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
9632         (gst_dp_event_from_packet), (gst_dp_validate_header),
9633         (gst_dp_validate_payload):
9634         Make debug category static
9635         Constify the crc table.
9636         Do some more arg checking in public functions.
9637         Fix some docs and do some small cleanups.
9638
9639         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
9640         Add some more checks to see if GDP deals with bogus input.
9641
9642 2006-07-31  Wim Taymans  <wim@fluendo.com>
9643
9644         * gst/gstvalue.c: (gst_value_compare_list):
9645         Fix GstValueList comparison code. Fixes #347293.
9646
9647         * tests/check/gst/gstvalue.c: (GST_START_TEST):
9648         Check to test GstValueList comparison.
9649
9650 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
9651
9652         * gst/gstelementfactory.c: (gst_element_factory_create):
9653         Remove unnecessary ref/unref pair
9654
9655         * gst/parse/grammar.y:
9656         Make sure to free the parse buffer on all code paths.
9657         Move a g_free up to the error handler where it's easier to see.
9658
9659         * tests/check/gst/gstevent.c: (test_event):
9660         Extending timeout for downstream travelling events to 10 seconds to
9661         hopefully avoid intermittent failure on the buildbots.
9662
9663         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
9664         Don't manually set the state of the src element - it will happen as a
9665         natural consequence of the pipeline changing state, and that way it
9666         will do it in the right order too.
9667
9668 2006-07-31  Wim Taymans  <wim@fluendo.com>
9669
9670         * libs/gst/base/gstbasetransform.c:
9671         (gst_base_transform_buffer_alloc):
9672         Use OBJECT_LOCK and refcounting to get the pad caps in the
9673         buffer_alloc function because the caps could change while we are
9674         busy with them. Fixes #349105
9675
9676 2006-07-31  Wim Taymans  <wim@fluendo.com>
9677
9678         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
9679         Protect _PAD_CAPS with OBJECT_LOCK.
9680
9681 2006-07-31  Wim Taymans  <wim@fluendo.com>
9682
9683         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
9684         (gst_pad_get_property), (gst_pad_activate_pull),
9685         (gst_pad_activate_push), (gst_pad_set_blocked_async),
9686         (gst_pad_set_activate_function),
9687         (gst_pad_set_activatepull_function),
9688         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
9689         (gst_pad_set_getrange_function),
9690         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
9691         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
9692         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
9693         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
9694         (gst_pad_set_acceptcaps_function),
9695         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
9696         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
9697         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
9698         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
9699         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
9700         (gst_pad_configure_sink), (gst_pad_configure_src),
9701         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
9702         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
9703         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
9704         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
9705         (gst_pad_send_event):
9706         Use _DEBUG_OBJECT when it makes sense.
9707         Protect GST_PAD_CAPS with the OBJECT_LOCK.
9708         Small cleanups and code reflows.
9709         Avoid caps refcounting in _accept_caps.
9710         Refactor alloc_buffer so that the code performed on the peer is in a
9711         separate function. Also if the pad does not implement a buffer alloc
9712         function, we should still check if the pad is flushing before falling
9713         back to the default allocator.
9714
9715 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
9716
9717         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9718         Make all uses of identity and fakesink have silent=true to avoid
9719         serialising every passing data structure, which is breaking tests
9720         on FC4 for some unknown reason.
9721
9722 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
9723
9724         * gst/parse/Makefile.am:
9725         * gst/parse/grammar.y:
9726         * gst/parse/parse.l:
9727           Reverted previous patch as it required to bump the flex dependency to
9728           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
9729
9730 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
9731
9732         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
9733
9734         * gst/parse/Makefile.am:
9735         * gst/parse/grammar.y:
9736         * gst/parse/parse.l:
9737           push & pop the state of the lexer for reentrant use case
9738           Fixes #349180
9739
9740 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
9741
9742         * libs/gst/base/gstbasesrc.h:
9743           Note in the docs that the ::newsegment vfunc is not actually used by
9744           GstBaseSrc.
9745
9746 2006-07-28  Wim Taymans  <wim@fluendo.com>
9747
9748         * libs/gst/base/gstcollectpads.c:
9749         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
9750         (gst_collect_pads_clear), (gst_collect_pads_flush),
9751         (gst_collect_pads_event), (gst_collect_pads_chain):
9752         When flushing a pad, also clear the queued buffer so that we don't
9753         accidentally use it when we shouldn't.
9754         Fix leaks by inreffing incomming buffer.
9755         Flush out queued buffers in case of errors.
9756         Fixes #347452.
9757
9758 2006-07-28  Wim Taymans  <wim@fluendo.com>
9759
9760         * docs/random/phonon-gst:
9761         Random notes about a Phonon backend.
9762
9763 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
9764
9765         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
9766         Extra debug output
9767         * tests/check/libs/gdp.c: (gst_dp_suite):
9768         Take a whack at fixing the ppc compile using a different define to
9769         disable the broken test.
9770
9771         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
9772         Remove excess g_print()
9773
9774 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
9775
9776         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
9777         Oops, meant to uncomment this line too to dampen the noise a bit.
9778
9779 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
9780
9781         * gst/parse/grammar.y:
9782         * gst/parse/parse.l:
9783         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
9784         (GST_START_TEST), (parse_suite):
9785         Fix some of the leaks exposed by extending the parse-launch testsuite,
9786         and move the 3 I can't figure out into a separate test that won't run
9787         the pipelines unless the appropriate line is uncommented.
9788
9789 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
9790
9791         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9792           Requesting 0 bytes before the end of the file should result in
9793           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
9794           unit test.
9795
9796 2006-07-27  Wim Taymans  <wim@fluendo.com>
9797
9798         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
9799         Fix useless assert, a uint is always positive.
9800
9801         * gst/gststructure.c: (gst_structure_nth_field_name),
9802         (gst_structure_foreach), (gst_structure_map_in_place):
9803         Check input arguments for public functions to avoid obvious crashes.
9804
9805         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
9806         * plugins/elements/gstfakesink.h:
9807         Do less useless typechecking.
9808
9809 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
9810
9811         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
9812           Do not use mmap() by default since there are a number of error
9813           conditions that we would like to handle in a non-fatal way that
9814           will result in a SIGBUS if we use mmap(). Examples: external
9815           devices (USB harddrive, portable music player) being unplugged
9816           while in use; file on mounted CD/DVD that can't be read because
9817           the medium is partly damaged. Fixes #348455 and #348475.
9818
9819 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
9820
9821         * gst/gstquery.h:
9822         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
9823         rates are a gdouble
9824
9825 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
9826
9827         * gst/gstregistry.c:
9828           Move big documentation comment into class section header, so that it
9829           appears in the API docs.
9830
9831 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9832
9833         * docs/gst/gstreamer-sections.txt:
9834         Oops. Commit the docs additions too for new API.
9835         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
9836
9837 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9838
9839         * gst/gststructure.c: (gst_structure_id_set),
9840         (gst_structure_id_set_valist):
9841         * gst/gststructure.h:
9842         Add API for setting values into structures without performing
9843         a quark lookup, if the appropriate quark is already known.
9844
9845         API: gst_structure_id_set
9846         API: gst_structure_id_set_valist
9847
9848         * gst/parse/grammar.y:
9849         * gst/parse/parse.l:
9850         Remove some dead code shown by the coverage information.
9851         Don't throw a critical g_warning when encountering a syntax error,
9852         just warn and let the normal error path handle it.
9853
9854         * plugins/elements/gstelements.c:
9855         Bump the rank of filesink up to PRIMARY so that it is preferred over
9856         gnomevfssink for file:// sink uri's
9857
9858         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
9859         (GST_START_TEST), (run_delayed_test),
9860         (gst_parse_test_element_base_init),
9861         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
9862         (gst_parse_test_element_change_state),
9863         (gst_register_parse_element), (parse_suite):
9864         Beef up the tests for parse syntax to check that more error cases
9865         fail as they are supposed to. Increases the test coverage a bit.
9866
9867 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
9868
9869         * docs/manual/basics-elements.xml:
9870           Fix gst_element_link() example.
9871
9872         * gst/gstutils.c:
9873           Mention in API docs that one should usually gst_bin_add()
9874           elements to a bin or pipeline before doing the linking.
9875           
9876 2006-07-26  Wim Taymans  <wim@fluendo.com>
9877
9878         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
9879         (gst_subbuffer_get_type), (gst_buffer_create_sub):
9880         Avoid function call for known types by keeping the buffer and
9881         subbuffer GType global.
9882
9883         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9884         Random silly optimisations in read() path.
9885
9886 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
9887
9888         * tools/gst-launch.c: (main):
9889           If the top-level of the parse is a normal bin, it doesn't do the
9890           right logic to run as a top-level element, so place it inside a
9891           pipeline.
9892
9893 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
9894
9895         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
9896           Remove superfluous g_object_notify() calls, GObject does
9897           that for us automatically.
9898
9899 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
9900
9901         * gst/gstinfo.h:
9902           on Win32, use dllspec to export the debug category symbols
9903
9904 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
9905
9906         * gst/gsttaglist.c: (_gst_tag_initialize):
9907           Allow more than one GST_TAG_IMAGE per taglist.
9908
9909 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
9910
9911         * gst/gstminiobject.c:
9912           update docs
9913         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
9914         (gst_fd_src_create):
9915           log recurring events at LOG level
9916           add more debug for when the fd gets set
9917
9918 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
9919
9920         * gst/gstparse.c: (gst_parse_launch):
9921           Also remove reentrance checks if flex is MT safe (#348179)
9922          Fix my empty ChangeLog entry below
9923
9924 2006-07-21  Andy Wingo  <wingo@pobox.com>
9925
9926         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
9927
9928         * libs/gst/check/Makefile.am
9929         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
9930         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
9931         * libs/gst/check/gstbufferstraw.h:
9932         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
9933         functions, thus proving I am still a GStreamer haxor. OK I wrote
9934         them a long time ago, but anyways.
9935
9936 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
9937
9938         * configure.ac:
9939         * gst/gstparse.c: (gst_parse_launch):
9940           Check for flex version and omit mutex if we have a MT save flex
9941           (fixes #348179)
9942
9943 2006-07-21  Wim Taymans  <wim@fluendo.com>
9944
9945         * gst/gstparse.c: (gst_parse_launch):
9946         Protect recursive calls to _parse with a recursive mutex
9947         and busy flag.
9948
9949 2006-07-21  Wim Taymans  <wim@fluendo.com>
9950
9951         * tests/check/gst/gstpad.c: (GST_START_TEST):
9952         Fix leak in test.
9953
9954 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
9955
9956         * gst/gstparse.c: (gst_parse_launch):
9957           Do not hang on recursive usage of gst_parse_launch()
9958
9959 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
9960
9961         * gst/gsttaglist.c:
9962           Add some more docs, comments and FIXME 0.11s here and there
9963           and also fix some typos.
9964
9965 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
9966
9967         * gst/gstsegment.h:
9968           Convert tabs to spaces for better readability. 
9969
9970 2006-07-20  Edward Hervey  <edward@fluendo.com>
9971
9972         * tests/check/libs/gdp.c: (gst_dp_suite):
9973         the test_buffer test fails at line 140 on ppc64 at the following
9974         check:
9975         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
9976                 GST_BUFFER_FLAG_IN_CAPS),
9977                 "GST_BUFFER_IN_CAPS flag should have been copied !");
9978         See bug #348114 for more details.
9979
9980 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
9981
9982         * docs/pwg/advanced-scheduling.xml:
9983         * gst/gstpad.c:
9984           Fix typos (#348000).
9985
9986 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
9987
9988         * docs/pwg/intro-basics.xml:
9989           Fix wrong links (#347927).
9990
9991 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
9992
9993         * gst/gstregistry.h:
9994         * gst/gstregistryxml.c: (load_feature),
9995         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
9996         * win32/common/config.h:
9997           make --disable-index work (#342564)
9998
9999 2006-07-18  Wim Taymans  <wim@fluendo.com>
10000
10001         Patch by: Peter Kjellerstedt <pkj at axis dot com>
10002
10003         * gst/Makefile.am:
10004         * gst/gsttrace.h:
10005         The attached patch adds two missing defines to gsttrace.h when tracing
10006         is disabled.  It also corrects one existing define.
10007         Fixes #347756.
10008
10009 2006-07-17  Wim Taymans  <wim@fluendo.com>
10010
10011         * docs/gst/gstreamer-sections.txt:
10012         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
10013         * gst/gst.h:
10014         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
10015         Add two functions to check and change the SIGSEGV behaviour
10016         when loading plugins.
10017         Don't mess with the SIGSEGV handler when we were told not to.
10018         Fixes #347794.
10019         API: gst_segtrap_is_enabled
10020         API: gst_segtrap_set_enabled
10021
10022 2006-07-14  Wim Taymans  <wim@fluendo.com>
10023
10024         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
10025         * tests/check/elements/filesrc.c: (GST_START_TEST):
10026         Revert fix for regression in #347408 after release.
10027
10028 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
10029
10030         Patch by: Antoine Tremblay <hexa00 at gmail com>
10031
10032         * gst/gstutils.c: (gst_element_unlink):
10033           Free iterator when done (#347311).
10034
10035         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10036           And add a test case for this.
10037
10038 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
10039
10040         * configure.ac:
10041         Bump nano back to CVS
10042
10043 === release 0.10.9 ===
10044
10045 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
10046
10047         * configure.ac:
10048           releasing 0.10.9, "On the road again"
10049
10050 2006-07-13  Wim Taymans  <wim@fluendo.com>
10051
10052         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
10053         * tests/check/elements/filesrc.c: (GST_START_TEST):
10054         Revert pull-0 fix for release. Disable check. Fixes #347408.
10055
10056 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10057
10058         * libs/gst/dataprotocol/dataprotocol.c:
10059         (gst_dp_event_from_packet_1_0):
10060           Fixes #347337: failure to deserialize event packets with
10061           empty payload (only event type)
10062
10063 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10064
10065         * gst/Makefile.am:
10066           do not install a .c file in the header directory
10067
10068 2006-07-13  Edward Hervey  <edward@fluendo.com>
10069
10070         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
10071         GhostPad no longer implicitely use the padtemplates of the targets.
10072         Fixes #347384
10073
10074 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
10075
10076         * gst/gstvalue.c: (gst_value_compare_list),
10077         (gst_value_compare_array), (_gst_value_initialize):
10078         * tests/check/gst/gstvalue.c: (GST_START_TEST):
10079         Make GstValueArray comparison be order dependent as designed.
10080         Add checks for value lists and value array comparisons.
10081         Fixes #347221
10082
10083 2006-07-11  Edward Hervey  <edward@fluendo.com>
10084
10085         * gst/gstbin.c: (activate_pads),
10086         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
10087         (gst_bin_change_state_func):
10088         (de)activate src pads before calling state_change on the childs.
10089         This is to avoid the case where a src ghostpad is blocked (holding the
10090         stream lock), which would block the deactivation of the ghostpad's
10091         target pad.
10092         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
10093         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
10094         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
10095         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
10096         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
10097         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
10098         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
10099         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
10100         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
10101         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
10102         (gst_ghost_pad_class_init),
10103         (gst_ghost_pad_internal_do_activate_push),
10104         (gst_ghost_pad_internal_do_activate_pull),
10105         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
10106         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
10107         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
10108         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
10109         GhostPads now create their internal GstProxyPad at creation (and not
10110         when they're linked, as it was being done previously).
10111         The internal and target pads are linked straight away.
10112         The data will also travel through the other pad in order to make
10113         pad blocking and probes non-hackish (the probe/block now really happens
10114         on the GhostPad and not on the target).
10115         * gst/gstpad.c: (gst_pad_set_blocked_async),
10116         (gst_pad_link_prepare), (gst_pad_push_event):
10117         Remove previous ghostpad cruft.
10118         * gst/gstutils.c: (gst_pad_add_data_probe),
10119         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
10120         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
10121         (gst_pad_remove_buffer_probe):
10122         Remove previous ghost pad cruft.
10123         Added more detailed debug statements.
10124         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
10125         Fix the testsuite for refcounting changes.
10126         The comments about who has references were correct, but the refcount
10127         being checked wasn't the same (!?!).
10128
10129         Fixes #341029
10130
10131 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
10132
10133         * docs/gst/gstreamer-sections.txt:
10134         * gst/gstconfig.h.in:
10135         More docs for configuration options, add docs to gtk-doc.
10136
10137 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
10138
10139         * gst/Makefile.am:
10140         * gst/gstconfig.h.in:
10141         * win32/common/config.h:
10142         Fix build when disabling tracing (fixes #344016). Also start to document
10143         the defines that disable the sub-systems.
10144
10145 2006-07-10  Edward Hervey  <edward@fluendo.com>
10146
10147         * gst/gst.c: (ensure_current_registry_forking):
10148         let's make valgrind happy...
10149
10150 2006-07-09  Wim Taymans  <wim@fluendo.com>
10151
10152         * gst/gstelement.c: (activate_pads),
10153         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
10154         Better pad activation code: Reset the collect value too on resync.
10155         Add some comments.
10156
10157 2006-07-09  Wim Taymans  <wim@fluendo.com>
10158
10159         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
10160         (gst_pad_activate_push):
10161         Use some more macros where it makes sense.
10162         Allow pad mode switching instead of asserting. When a pad
10163         is activated in one mode and we activate it in another, 
10164         deactivate it first before activating it in a different mode.
10165         Fixes #329198.
10166
10167 2006-07-08  Andy Wingo  <wingo@pobox.com>
10168
10169         * tools/gst-launch.c (main): Handle err == NULL.
10170
10171         * gst/gst.c (init_post, ensure_current_registry)
10172         (ensure_current_registry_forking)
10173         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
10174         factoring out the registry scanning into separate functions. Don't
10175         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
10176         Better environment var name/interface suggestions accepted.
10177
10178 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
10179
10180         * gst/gstobject.c: (gst_object_set_name_default),
10181         (gst_object_set_name):
10182           Random micro-optimisation: don't use a hash table
10183           with strings as keys and the usual strdup/strcmp
10184           involved, but rather just use the GQuark of the
10185           type name as key, since it needs to be looked up
10186           anyway to get the type name string.
10187
10188         * tests/check/gst/gstobject.c: (GST_START_TEST):
10189           Fix various leaks.
10190
10191 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
10192
10193         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
10194         (gst_bin_iterate_all_by_interface):
10195           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
10196           GTypes are gulongs and thus the top 4 bytes might be cut
10197           off on some platforms when doing GPOINTER_TO_INT, leading
10198           to invalid GTypes and bad things happening (see RH bug #179654).
10199           Also add a check to make sure the type passed in is really
10200           an interface type.
10201
10202 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
10203
10204         * .cvsignore:
10205           Ignore more.
10206
10207 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
10208
10209         * Makefile.am:
10210         * configure.ac:
10211         * gst-element-check.m4:
10212         * gst-element-check.m4.in:
10213           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
10214           instead of the unversioned gst-inspect (#324176, #168659).
10215
10216 2006-07-06  Wim Taymans  <wim@fluendo.com>
10217
10218         * gst/gstmessage.h:
10219         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
10220         warnings.
10221
10222 2006-07-06  Wim Taymans  <wim@fluendo.com>
10223
10224         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
10225         (gst_base_src_wait), (gst_base_src_update_length),
10226         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
10227         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
10228         (gst_base_src_loop), (gst_base_src_start),
10229         (gst_base_src_activate_pull):
10230         Update docs.
10231         blocksize == 0 now means the default blocksize when working in push
10232         based mode.
10233         Remove some pointless asserts in _wait function.
10234         Fix offset/length calculations and EOS handling. We can now pull 0
10235         bytes as well, which is allowed.
10236         use _check_get_range() to decide if we can operate in _pull based
10237         mode.
10238         Fix refcounting leak when check_get_range function was not 
10239         implemented.
10240         API GstBaseSrc::blocksize range can be 0 too now (default)
10241
10242         * tests/check/elements/filesrc.c: (GST_START_TEST),
10243         (filesrc_suite):
10244         Added check to test _get_range() behaviour.
10245
10246 2006-07-06  Wim Taymans  <wim@fluendo.com>
10247
10248         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
10249         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
10250         (gst_pad_pull_range):
10251         * gst/gstpad.h:
10252         Lots of comments and docs added to the pad functions.
10253         Flesh out the expected behaviour of the get_range() functions.
10254
10255 2006-07-06  Wim Taymans  <wim@fluendo.com>
10256
10257         * gst/gstbus.h:
10258         * gst/gstclock.h:
10259         * gst/gstevent.h:
10260         * gst/gstiterator.h:
10261         * gst/gstpad.h:
10262         * gst/gstplugin.h:
10263         * gst/gsttask.h:
10264         Remove comma at end of enumerator list. 
10265
10266 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
10267
10268         * win32/common/libgstbase.def:
10269         * win32/common/libgstdataprotocol.def:
10270         * win32/common/libsgtreamer.def:
10271         Add new exported functions.
10272
10273 2006-07-05  Wim Taymans  <wim@fluendo.com>
10274
10275         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
10276         Add some more docs here and there.
10277
10278 2006-07-05  Wim Taymans  <wim@fluendo.com>
10279
10280         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
10281         (gst_base_sink_loop), (gst_base_sink_get_position):
10282         When operating in pull mode update the offset so that we
10283         read sequentially.
10284
10285 2006-07-05  Wim Taymans  <wim@fluendo.com>
10286
10287         * gst/gstregistryxml.c: (read_string):
10288         Avoid strdup. (will happen in libxml, but hey!)
10289
10290         * gst/gsturi.c:
10291         Add some more docs.
10292
10293 2006-07-05  Wim Taymans  <wim@fluendo.com>
10294
10295         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
10296         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
10297         (gst_buffer_suite):
10298         No point in checking if the size of the subbuffer > 0, the
10299         code handles it correclty as demonstrated by unit test.
10300         Also add a unit test for the zero sized _new_and_alloc and
10301         _copy. Fixes #346663.
10302
10303 2006-07-05  Wim Taymans  <wim@fluendo.com>
10304
10305         * libs/gst/base/gstbasetransform.c:
10306         (gst_base_transform_prepare_output_buffer),
10307         (gst_base_transform_buffer_alloc),
10308         (gst_base_transform_handle_buffer):
10309         Make sure the buffer we pass to transform_ip has a refcount of
10310         1 and thus is writable. Fixes #343196
10311
10312 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
10313
10314         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
10315         (gst_file_src_init), (gst_file_src_set_property),
10316         (gst_file_src_get_property), (gst_file_src_map_region):
10317         * plugins/elements/gstfilesrc.h:
10318         Add "sequential" property, off by default, to use madvise and hint
10319         to the kernel that sequential access is desired.
10320         Touch all retrieved pages by default to ensure they are pulled
10321         into memory. (Closes #345720)
10322
10323 2006-07-03  Wim Taymans  <wim@fluendo.com>
10324
10325         * docs/design/part-block.txt:
10326         * docs/design/part-dynamic.txt:
10327         Small docs updates.
10328
10329 2006-07-03  Wim Taymans  <wim@fluendo.com>
10330
10331         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
10332         (gst_caps_unref), (gst_static_caps_get),
10333         (gst_caps_append_structure):
10334         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
10335         Use GSlice when the glib we build against is >= 2.10
10336
10337 2006-07-03  Wim Taymans  <wim@fluendo.com>
10338
10339         * gst/gstelement.c: (gst_element_pads_activate):
10340         Small cleanup in pad activation code.
10341
10342 2006-07-03  Wim Taymans  <wim@fluendo.com>
10343
10344         Patch by: Peter Kjellerstedt <pkj at axis dot com>
10345
10346         * gst/gst-i18n-app.h:
10347         * gst/gst-i18n-lib.h:
10348         * tools/gst-inspect.c: (print_signal_info):
10349         The attached patch will make the inclusion of gettext.h unconditional in
10350         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
10351         libintl.h in tools/gst-inspect.c.
10352         This allows use of --disable-nls again and fixes #344642.
10353
10354 2006-07-03  Edward Hervey  <edward@fluendo.com>
10355
10356         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
10357         Implement pad blocking on events according to part-block.txt.
10358         More comments on behaviour.
10359         * tests/check/gst/gstevent.c: (test_event):
10360         Send event to peer pad of blocked pad (else it will block).
10361
10362 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10363
10364         * libs/gst/check/gstcheck.c: (gst_check_message_error),
10365         (gst_check_run_suite):
10366           if we get the wrong message, give us the types as string
10367         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10368           Fix a translatable
10369         * tests/check/elements/filesrc.c: (GST_START_TEST):
10370           add a test for trying to open a non-existing file
10371
10372 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10373
10374         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10375           add a test for adding self
10376
10377 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
10378
10379         * libs/gst/check/gstcheck.h:
10380           add some assert_ as alias for fail_unless_*
10381         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
10382           increase test coverage
10383
10384 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10385
10386         * Makefile.am:
10387           include lcov.mak for lcov coverage generation
10388         * tools/Makefile.am:
10389           add to CLEANFILES
10390
10391 2006-07-02  Edward Hervey  <edward@fluendo.com>
10392
10393         * tests/check/elements/.cvsignore:
10394         moaping
10395
10396 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10397
10398         * configure.ac:
10399           don't set CFLAGS and friends for gcov, done from GST_GCOV now
10400         * tests/check/Makefile.am:
10401           clean up gcov files
10402
10403 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10404
10405         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
10406           remove gst_caps_simplify; it was not declared and not used
10407           and deprecated in 0.8
10408
10409 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10410
10411         * docs/faq/gst-uninstalled:
10412           don't put empty paths on PYTHONPATH
10413         * docs/gst/gstreamer-sections.txt:
10414           remove some symbols that are not there
10415
10416 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10417
10418         * gst/gstcaps.c: (gst_caps_compare_structures):
10419           whitespace fixes
10420         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
10421         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
10422           add more tests
10423
10424 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10425
10426         * libs/gst/dataprotocol/Makefile.am:
10427           build dataprotocol test by linking to the lib, instead of
10428           compiling the source, so we get coverage
10429         * tests/check/Makefile.am:
10430         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
10431         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
10432           add a test for filesrc
10433
10434 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10435
10436         * tests/check/gst/gststructure.c: (GST_START_TEST),
10437         (gst_structure_suite):
10438           Push coverage from 59.04% to 70.00%
10439
10440 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10441
10442         * tests/check/Makefile.am:
10443           gst-inspect every element; this makes sure that we also get
10444           coverage on element's get/set functions
10445
10446 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10447
10448         * configure.ac:
10449           set CFLAGS and friends to -O0 if gcov is being used
10450           add GCOV LIBS
10451         * gst/Makefile.am:
10452         * libs/gst/base/Makefile.am:
10453         * libs/gst/check/Makefile.am:
10454         * libs/gst/controller/Makefile.am:
10455         * libs/gst/dataprotocol/Makefile.am:
10456         * libs/gst/net/Makefile.am:
10457         * plugins/elements/Makefile.am:
10458         * plugins/indexers/Makefile.am:
10459           add makefile rules to generate gcov data and clean up
10460         * tests/check/Makefile.am:
10461           add a coverage target that generates an html overview
10462           of coverage data
10463
10464 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10465
10466         * tests/check/elements/fakesink.c:
10467         * tests/check/elements/fakesrc.c:
10468         * tests/check/elements/fdsrc.c:
10469         * tests/check/elements/identity.c:
10470         * tests/check/generic/sinks.c: (gst_sinks_suite):
10471         * tests/check/generic/states.c:
10472         * tests/check/gst/gst.c:
10473         * tests/check/gst/gstabi.c:
10474         * tests/check/gst/gstbin.c:
10475         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
10476         * tests/check/gst/gstbus.c: (gst_bus_suite):
10477         * tests/check/gst/gstcaps.c: (GST_START_TEST):
10478         * tests/check/gst/gstelement.c:
10479         * tests/check/gst/gstevent.c: (gst_event_suite):
10480         * tests/check/gst/gstghostpad.c:
10481         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
10482         * tests/check/gst/gstmessage.c: (gst_message_suite):
10483         * tests/check/gst/gstminiobject.c:
10484         * tests/check/gst/gstobject.c:
10485         * tests/check/gst/gstpad.c:
10486         * tests/check/gst/gstpipeline.c:
10487         * tests/check/gst/gstplugin.c:
10488         * tests/check/gst/gstquery.c: (gst_query_suite):
10489         * tests/check/gst/gstsegment.c: (gst_segment_suite):
10490         * tests/check/gst/gststructure.c:
10491         * tests/check/gst/gstsystemclock.c:
10492         * tests/check/gst/gsttag.c:
10493         * tests/check/gst/gsttask.c: (gst_task_suite):
10494         * tests/check/gst/gstutils.c:
10495         * tests/check/gst/gstvalue.c:
10496         * tests/check/libs/adapter.c:
10497         * tests/check/libs/basesrc.c:
10498         * tests/check/libs/collectpads.c:
10499         * tests/check/libs/controller.c:
10500         * tests/check/libs/gdp.c: (gst_dp_suite):
10501         * tests/check/libs/gstnetclientclock.c:
10502         * tests/check/libs/gstnettimeprovider.c:
10503         * tests/check/libs/libsabi.c: (libsabi_suite):
10504         * tests/check/libs/typefindhelper.c:
10505         * tests/check/pipelines/cleanup.c:
10506         * tests/check/pipelines/parse-launch.c:
10507         * tests/check/pipelines/simple-launch-lines.c:
10508         * tests/check/pipelines/stress.c: (stress_suite):
10509           use the new macro
10510
10511 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10512
10513         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
10514         * libs/gst/check/gstcheck.h:
10515           create a macro and function so that the simple unit test
10516           case can be just one macro to create main()
10517
10518 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
10519
10520         * gst/gstbin.c: (gst_bin_restore_thyself):
10521         * gst/gstxml.c: (gst_xml_make_element):
10522           Fix deserialisation from XML. Set parent manually
10523           instead of using gst_bin_add(), since gst_bin_add()
10524           will unlink all pads of the element being added.
10525           Fixes #341667.
10526
10527 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
10528
10529         Patch by: Peter Kjellerstedt <pkj at axis com>
10530
10531         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
10532           Fix missing g_strdup() and double free when using the
10533           --gst-plugin-load command line option (#346097).
10534
10535 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
10536
10537         * gst/gstinfo.c:
10538           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
10539
10540         * libs/gst/net/gstnetclientclock.c:
10541         * libs/gst/net/gstnettimeprovider.c:
10542           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
10543
10544 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
10545
10546         * docs/manual/advanced-dataaccess.xml:
10547           Fix buffer probe example compilation in
10548           ADM (#345708).
10549         
10550 2006-06-22  Edward Hervey  <edward@fluendo.com>
10551
10552         * gst/gstelement.c: (gst_element_pads_activate):
10553         We need to deactivate src pads first and then sink pads.
10554         The reason is the src pads might be blocking while holding the streaming
10555         lock, so we need to deactivate them first so that deactivating the sink
10556         pads doesn't block (since it will require the streaming lock).
10557
10558 2006-06-22  Wim Taymans  <wim@fluendo.com>
10559
10560         * libs/gst/base/gstbasetransform.c:
10561         (gst_base_transform_buffer_alloc):
10562         Forgot to remove two unneeded unrefs.
10563         Simplify a check _is_equal allready checks the obvious case.
10564
10565 2006-06-22  Wim Taymans  <wim@fluendo.com>
10566
10567         * docs/design/part-block.txt:
10568         Some docs about what pad_block should do.
10569
10570 2006-06-22  Wim Taymans  <wim@fluendo.com>
10571
10572         * gst/gstcaps.c: (gst_caps_replace):
10573         Fix crasher when passed NULL. Doc clarification.
10574         Optimize for the trivial case.
10575
10576         * gst/gstpipeline.c: (gst_pipeline_change_state):
10577         Small cleanups.
10578
10579         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
10580         Small documentation cleanup.
10581
10582         * libs/gst/base/gstbasetransform.c:
10583         (gst_base_transform_buffer_alloc):
10584         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
10585         is what we need and it avoids a whole lot of redundant 
10586         refcount operations.
10587
10588 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
10589
10590         Patch by: Philip Jägenstedt  <philip at lysator liu se>
10591
10592         * docs/manual/advanced-dataaccess.xml:
10593           Fix 'Embedding static elements' section to use
10594           GST_PLUGIN_DEFINE_STATIC (#345607).
10595
10596 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
10597
10598         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
10599           Attempt to 'fix' spuriously failing test case: it seems like the
10600           timeout of half a second is simply too small when the system is under
10601           load otherwise, and the timeout doesn't really seem to serve any
10602           particular purpose here. Give the pipeline a few seconds to preroll
10603           first, and then give it another half a second to go from PAUSED to
10604           PLAYING and marshal the message into the main thread.
10605
10606 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
10607
10608         * tools/gst-feedback-m.m:
10609           Don't only use unversioned tools, try versioned tools as well
10610           (#345086).
10611
10612 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
10613
10614         * gst/gstbus.c: (gst_bus_class_init):
10615           Fix some typos, make docs more explicit.
10616
10617 2006-06-20  Wim Taymans  <wim@fluendo.com>
10618
10619         * tests/check/gst/gstghostpad.c: (block_callback),
10620         (GST_START_TEST), (gst_ghost_pad_suite):
10621         Added some more ghostpad tests, mainly blocking
10622         and probes.
10623
10624 2006-06-16  Wim Taymans  <wim@fluendo.com>
10625
10626         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
10627         (gst_file_sink_close_file), (gst_file_sink_do_seek),
10628         (gst_file_sink_event), (gst_file_sink_render):
10629         * plugins/elements/gstfilesink.h:
10630         Check if we can seek in the file instead of assuming
10631         we always can. Post an error when we are asked to seek in a
10632         non-seekable file (like a fifo). Fixes #343312.
10633         Some cleanups.
10634
10635 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
10636
10637         * tools/gst-launch.1.in:
10638           Un-garble (fourcc) bit in filtered caps section.
10639
10640 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
10641
10642         * docs/manual/advanced-autoplugging.xml:
10643         * docs/manual/basics-helloworld.xml:
10644         * docs/manual/highlevel-components.xml:
10645           Don't leak bus reference in sample code.
10646
10647 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
10648
10649         * autogen.sh:
10650           Add default for new --enable-plugin-docs switch.
10651
10652         * configure.ac:
10653           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
10654           Fixes #344039.
10655
10656         * docs/Makefile.am:
10657           Use new ENABLE_PLUGIN_DOCS conditional.
10658
10659 2006-06-14  Wim Taymans  <wim@fluendo.com>
10660
10661         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
10662         Make it clear with a FIXME and a real define what the #if 0
10663         previously disabled.
10664
10665 2006-06-14  Wim Taymans  <wim@fluendo.com>
10666
10667         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10668         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
10669         * libs/gst/base/gstbasetransform.c:
10670         (gst_base_transform_sink_eventfunc):
10671         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
10672         Don't randomly and silently reset a segment when the format 
10673         changes as this is a bug somewhere upstream. Fixes #330379.
10674
10675 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
10676
10677         Patch by: Wouter Paesen  <wouter at kangaroot net>
10678
10679         * libs/gst/controller/gstcontroller.c:
10680         (gst_controlled_property_new):
10681           Fix controlling of float properties (#344849).
10682
10683         * tests/check/libs/controller.c:
10684         (gst_test_mono_source_get_property),
10685         (gst_test_mono_source_set_property),
10686         (gst_test_mono_source_class_init), (GST_START_TEST):
10687           While we're at it, add some float stuff to unit test.
10688
10689 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10690
10691         * docs/README:
10692         * docs/images/gdp-header.svg:
10693           add a gdp image
10694         * docs/libs/Makefile.am:
10695         * docs/libs/gdp-header.png:
10696         * libs/gst/dataprotocol/dataprotocol.c:
10697           add it to the API docs
10698         * docs/manual/intro-motivation.xml:
10699           fix typo
10700
10701 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
10702
10703         * gst/gst.c: (scan_and_update_registry), (init_post):
10704           If the fork()'ed child process can't write the updated registry cache
10705           file to disk for some reason, make it exit with a failure exit code,
10706           so that the parent can then re-scan the plugins itself and update the
10707           registry structures in memory and work with that (rather than failing
10708           when creating elements because seemingly no plugins are available).
10709           Refactor registry scanning code into separate function for this and
10710           also separate fork() and non-fork() code paths. Fixes #344748.
10711
10712 2006-06-13  Wim Taymans  <wim@fluendo.com>
10713
10714         * docs/manual/advanced-dataaccess.xml:
10715         Fix wrong PluginDesc. Fixes #344755.
10716
10717 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
10718
10719         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
10720           Fix silly bug that prevented us from creating
10721           ~/.gstreamer-0.10 and writing the registry in one
10722           go (the first call to g_mkstemp() would overwrite the
10723           placeholder in the template string, so the second call
10724           to g_mkstemp() after creating the missing directory
10725           would then error out with 'invalid argument').
10726
10727 2006-06-13  Edward Hervey  <edward@fluendo.com>
10728
10729         * gst/gst.c: (init_post):
10730         Free string.
10731
10732 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
10733
10734         * gst/glib-compat-private.h:
10735         * gst/glib-compat.c:
10736         * gst/glib-compat.h:
10737         * gst/gstvalue.c: (gst_value_serialize_flags):
10738           remove GLib 2.6 compatibility code
10739
10740 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
10741
10742         * gst/parse/Makefile.am:
10743           Fix build with 'make -j N' even more (#340016).
10744
10745 2006-06-12  Wim Taymans  <wim@fluendo.com>
10746
10747         * docs/gst/gstreamer-sections.txt:
10748         Fix docs.
10749
10750 2006-06-12  Wim Taymans  <wim@fluendo.com>
10751
10752         * gst/gstsegment.c: (gst_segment_set_duration),
10753         (gst_segment_set_last_stop), (gst_segment_set_seek),
10754         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
10755         (gst_segment_to_running_time), (gst_segment_clip):
10756         Use G_UNLIKELY to help the compiler a bit.
10757
10758 2006-06-12  Wim Taymans  <wim@fluendo.com>
10759
10760         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
10761
10762         * gst/gstevent.c: (gst_event_get_type):
10763         * gst/gstmessage.c:
10764         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
10765         (gst_pad_push):
10766         constify quark registration strings. Fixes #344115
10767         Avoid unneeded type checking is _pad_push() by internally
10768         calling gst_pad_chain_unchecked().
10769
10770 2006-06-12  Wim Taymans  <wim@fluendo.com>
10771
10772         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
10773         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
10774         (gst_subbuffer_finalize), (gst_buffer_create_sub),
10775         (gst_buffer_is_span_fast), (gst_buffer_span):
10776         Init _type for consistency.
10777         Use _FLAGS macro to avoid type check.
10778         Avoid unneeded type checks in subbufer code.
10779
10780 2006-06-12  Wim Taymans  <wim@fluendo.com>
10781
10782         * gst/gst.c: (gst_debug_help):
10783         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
10784         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
10785         (gst_plugin_feature_list_free):
10786         * gst/gstregistry.c: (gst_registry_add_plugin),
10787         (gst_registry_add_feature), (gst_registry_plugin_filter),
10788         (gst_registry_feature_filter), (gst_registry_find_plugin),
10789         (gst_registry_find_feature), (gst_registry_get_plugin_list),
10790         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
10791         * gst/gstregistryxml.c: (load_feature),
10792         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
10793         * gst/gstminiobject.c: (gst_mini_object_unref),
10794         (gst_mini_object_replace), (gst_value_mini_object_free),
10795         (gst_value_mini_object_copy):
10796         Use _CAST macros to avoid unneeded type checking.
10797         Added some more G_UNLIKELY.
10798
10799 2006-06-12  Wim Taymans  <wim@fluendo.com>
10800
10801         * gst/gstbuffer.h:
10802         Avoid unneeded type checking.
10803         API: GST_BUFFER_IS_DISCONT
10804
10805         * gst/gstminiobject.h:
10806         Avoid type check in flag accessor.
10807
10808         * gst/gstelementfactory.h:
10809         * gst/gstplugin.h:
10810         * gst/gstpluginfeature.h:
10811         Add _CAST macros.
10812         API: GST_ELEMENT_FACTORY_CAST
10813         API: GST_PLUGIN_CAST
10814         API: GST_PLUGIN_FEATURE_CAST
10815
10816 2006-06-12  Wim Taymans  <wim@fluendo.com>
10817
10818         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
10819         (gst_object_unref):
10820         Add G_UNLIKELY in type registration.
10821         Avoid type check in _ref/_unref since that is also
10822         done in glib.
10823
10824 2006-06-12  Wim Taymans  <wim@fluendo.com>
10825
10826         * gst/gsterror.c: (gst_g_error_get_type):
10827         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10828         (gst_static_pad_template_get_type):
10829         * gst/gsttaglist.c: (gst_tag_list_get_type):
10830         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
10831         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
10832         * gst/gsturi.c: (gst_uri_handler_get_type):
10833         * gst/gstvalue.c: (gst_date_get_type):
10834         * gst/gstxml.c: (gst_xml_get_type):
10835         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
10836         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
10837         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
10838         Add G_UNLIKELY in type registration.
10839
10840 2006-06-12  Wim Taymans  <wim@fluendo.com>
10841
10842         * tools/gst-inspect.c: (print_signal_info):
10843         Properly print enum values.
10844
10845 2006-06-12  Wim Taymans  <wim@fluendo.com>
10846
10847         * gst/gstinfo.c: (gst_debug_set_active),
10848         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
10849         * gst/gstinfo.h:
10850         Add some G_[UN]LIKELY.
10851         Maintain __gst_debug_min to avoid formatting the arguments of
10852         debug messages that will be dropped anyway to avoid a lot of 
10853         overhead from the debugging system.
10854
10855 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10856
10857         * po/POTFILES.in:
10858         * po/POTFILES.skip:
10859           add missing files containing translatable strings, tell intltool about
10860           one exception
10861
10862 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10863
10864         * tests/check/libs/.cvsignore:
10865         add test-binary to ignore list
10866
10867 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
10868
10869         * docs/libs/gstreamer-libs-docs.sgml:
10870         reorder (put dp into a chapter) and indent
10871
10872 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10873
10874         * configure.ac:
10875           back to HEAD
10876
10877 === release 0.10.8 ===
10878
10879 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
10880
10881         * configure.ac:
10882           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
10883
10884 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10885
10886         * gst/gst.c: (init_post):
10887           move pid declaration to declaration block
10888
10889 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
10890
10891         * gst/gst.c: (init_post):
10892           use _exit() instead of exit() in our forked child; this ensures
10893           that none of the registered exit handlers from whatever is using
10894           GStreamer get executed.  This fixes gnome-mixer-applet failing
10895           to load, because ORBit would shut down.
10896           Spotted by: Edward Hervey  <edward@fluendo.com>
10897           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
10898           Fixes #344474
10899
10900 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
10901
10902         * configure.ac:
10903           back to TRUNK
10904
10905 === release 0.10.7 ===
10906
10907 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
10908
10909         * configure.ac:
10910           releasing 0.10.7, "Soepeke, ik zie ou"
10911
10912 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
10913
10914         * configure.ac:
10915         * po/af.po:
10916         * po/az.po:
10917         * po/bg.po:
10918         * po/ca.po:
10919         * po/cs.po:
10920         * po/de.po:
10921         * po/en_GB.po:
10922         * po/fr.po:
10923         * po/it.po:
10924         * po/nb.po:
10925         * po/nl.po:
10926         * po/ru.po:
10927         * po/sq.po:
10928         * po/sr.po:
10929         * po/sv.po:
10930         * po/tr.po:
10931         * po/uk.po:
10932         * po/vi.po:
10933         * po/zh_CN.po:
10934         * po/zh_TW.po:
10935         * win32/common/config.h:
10936           0.10.6.2 prerelease
10937
10938 2006-06-07  Wim Taymans  <wim@fluendo.com>
10939
10940         * gst/gstindex.c: (gst_index_gtype_resolver):
10941         * tools/gst-xmlinspect.c: (print_plugin_info):
10942         Fix leak spotted by coverity checker. Fixes #343827
10943         Fix another other leak found by paolo borelli.
10944
10945 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10946
10947         * libs/gst/dataprotocol/dataprotocol.c:
10948         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
10949         (gst_dp_version_get_type), (gst_dp_init),
10950         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
10951         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
10952         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
10953         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
10954         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
10955         (gst_dp_packetizer_free):
10956         * libs/gst/dataprotocol/dataprotocol.h:
10957           API: add a GstDPPacketizer object, and create/free functions
10958           API: add GstDPVersion enum
10959           Add 1.0 event function that uses the string serialization
10960           Serialize more useful buffer flags
10961           Fixes #343988
10962
10963 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10964
10965         * tests/check/Makefile.am:
10966         * tests/check/gst/gstabi.c:
10967         * tests/check/gst/struct_ppc64.h:
10968         * tests/check/libs/libsabi.c:
10969         * tests/check/libs/struct_ppc64.h:
10970           add ppc64 structure sizes
10971
10972 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10973
10974         * tests/check/Makefile.am:
10975         * tests/check/gst/gstabi.c:
10976         * tests/check/gst/struct_x86_64.h:
10977         * tests/check/libs/libsabi.c:
10978         * tests/check/libs/struct_x86_64.h:
10979           generate and add structure size lists for x86_64
10980
10981 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10982
10983         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10984         * libs/gst/check/gstcheck.h:
10985           factor out the method from tests that checks size of structures,
10986           and add code to generate the header containing these sizes
10987         * tests/check/gst/gstabi.c: (GST_START_TEST):
10988         * tests/check/gst/struct_i386.h:
10989         * tests/check/libs/libsabi.c: (GST_START_TEST):
10990         * tests/check/libs/struct_i386.h:
10991           use it
10992
10993 2006-06-06  Michael Smith  <msmith@fluendo.com>
10994
10995         * gst/gstsegment.h:
10996           Don't use c++-style comments, fixes #343929
10997
10998 2006-06-05  Edward Hervey  <edward@fluendo.com>
10999
11000         * gst/gst.c:
11001         plugin_paths is not used if we build without registry support.
11002
11003         * gst/gstsegment.c: (gst_segment_copy): 
11004         _copy() was always returning NULL...
11005
11006 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11007
11008         * libs/gst/dataprotocol/dataprotocol.c:
11009         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11010         (gst_dp_packet_from_event):
11011           factor out CRC code
11012
11013 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11014
11015         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
11016           make sure we unset caps
11017
11018 2006-06-02  Michael Smith  <msmith@fluendo.com>
11019
11020         * libs/gst/check/gstcheck.c: (gst_check_init),
11021         (gst_check_chain_func):
11022         * libs/gst/check/gstcheck.h:
11023           Add a cond/mutex to the check support lib, signal this whenever we
11024           add to the buffers list. This will allow tests to not busy-wait on
11025           the buffer-list.
11026
11027 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11028
11029         * libs/gst/dataprotocol/dataprotocol.c:
11030         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
11031         (gst_dp_packet_from_event):
11032           factor out some common header init code
11033
11034 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11035
11036         * docs/libs/gstreamer-libs-sections.txt:
11037         * docs/libs/tmpl/gstdataprotocol.sgml:
11038         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
11039         * libs/gst/dataprotocol/dataprotocol.h:
11040           API: make gst_dp_crc() public
11041
11042 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
11043
11044         * plugins/indexers/gstindexers.c: (plugin_init):
11045         conditionally register fileindexer (fixes #343598)
11046
11047 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
11048
11049         * gst/gsttagsetter.h:
11050         Can't cast ifaces to a class
11051
11052         * libs/gst/net/gstnetclientclock.h:
11053         * libs/gst/net/gstnettimeprovider.h:
11054         * plugins/elements/gstfakesink.h:
11055         * plugins/elements/gstfakesrc.h:
11056         * plugins/elements/gstfdsink.h:
11057         * plugins/elements/gstfdsrc.h:
11058         * plugins/elements/gstfilesink.h:
11059         * plugins/elements/gstfilesrc.h:
11060         * plugins/elements/gstidentity.h:
11061         * plugins/elements/gstqueue.h:
11062         * plugins/elements/gsttee.h:
11063         * plugins/indexers/gstfileindex.c:
11064         * plugins/indexers/gstmemindex.c:
11065         * tests/old/examples/plugins/example.h:
11066         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
11067
11068 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
11069
11070         * libs/gst/dataprotocol/dataprotocol.c:
11071         (gst_dp_header_from_buffer):
11072           make sure we zero the whole ABI-compatible area
11073
11074 2006-06-01  Wim Taymans  <wim@fluendo.com>
11075
11076         Patch by: Alessandro Decina <alessandro at nnva dot org>
11077
11078         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
11079         Make sure the EOS flag is cleared from pads after a flush
11080         or stop. Fixes #343538.
11081
11082         * tests/check/libs/collectpads.c: (GST_START_TEST),
11083         (gst_collect_pads_suite):
11084         Added test for collectpads reusage after EOS.
11085
11086 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
11087
11088         * gst/gst.c:
11089          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
11090         * win32/common/libgstbase.def:
11091          export gst_collect_pads_set_flushing
11092         * win32/common/libgstreamer.def:
11093          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
11094          gst_value_fraction_multiply
11095         * win32/vs6/gst_inspect.dsp:
11096          add a link to intl.lib
11097
11098 2006-05-30  Wim Taymans  <wim@fluendo.com>
11099
11100         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
11101         (gst_collect_pads_chain):
11102         Handle the case where a pad is removed from the collection
11103         that could cause the other pads to become collectable.
11104
11105 2006-05-30  Wim Taymans  <wim@fluendo.com>
11106
11107         * gst/gstelement.c:
11108         Clarify the use of _release_request_pad() and
11109         _get_request_pad() a bit better.
11110
11111         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
11112         (gst_adapter_take_buffer):
11113         Fix some doc and comment typos.
11114
11115 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
11116
11117         * docs/gst/gstreamer-sections.txt:
11118         * docs/libs/gstreamer-libs-sections.txt:
11119           add declared symbols
11120
11121 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
11122
11123         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
11124         Add debug that can be enabled using a #define at the top of the file,
11125         for dumping stats about how late/early we were when waking up from
11126         waiting on the clock.
11127
11128 2006-05-30  Wim Taymans  <wim@fluendo.com>
11129
11130         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
11131         When rebuilding the pad list, don't leak the previous list.
11132
11133 2006-05-30  Wim Taymans  <wim@fluendo.com>
11134
11135         Patch by: Lutz Mueller <lutz at topfrose dot de>
11136
11137         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
11138         (gst_base_src_get_query_types), (gst_base_src_update_length):
11139         Publish supported query types.
11140         Update last_stop field in get_range mode so the position
11141         query works. Fixes #342321.
11142
11143 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
11144
11145         * docs/gst/gstreamer-sections.txt:
11146         * gst/gsttaglist.c: (_gst_tag_initialize):
11147         * gst/gsttaglist.h:
11148           API: add GST_TAG_PREVIEW_IMAGE (#343341).
11149
11150 2006-05-30  Wim Taymans  <wim@fluendo.com>
11151
11152         Patch by: Alessandro Decina <alessandro at nnva dot org>
11153
11154         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
11155         Unlock mutex when removing an unknown pad.
11156         Fixes #343334.
11157
11158         * tests/check/Makefile.am:
11159         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
11160         (push_event), (setup), (teardown), (GST_START_TEST),
11161         (gst_collect_pads_suite), (main):
11162         Added collecpads check, disabled for now as check crashes for
11163         some reason.
11164
11165 2006-05-29  Wim Taymans  <wim@fluendo.com>
11166
11167         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
11168         Don't leak pads lists.
11169
11170 2006-05-29  Wim Taymans  <wim@fluendo.com>
11171
11172         * docs/libs/gstreamer-libs-sections.txt:
11173         * libs/gst/base/gstcollectpads.c:
11174         (gst_collect_pads_set_flushing_unlocked),
11175         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
11176         (gst_collect_pads_stop):
11177         * libs/gst/base/gstcollectpads.h:
11178         API: gst_collect_pads_set_flushing()
11179         Added api to set the pads to flushing, useful for seeking
11180         code in elements using collectpads.
11181         Clear segment when receiving a flush.
11182
11183 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
11184
11185         * gst/gst.c: (add_path_func), (init_post):
11186           Don't scan registry paths passed via --gst-plugin-path immediately
11187           (will crash, because absolutely nothing is set up and no types are
11188           registered etc.); do this later in init_post(). Fixes #343057.
11189
11190 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11191
11192         * gst/gst.c: (init_post):
11193           if we have fork, fork while reading/rebuilding the registry
11194           so the parent doesn't take the hit of having all plugins loaded
11195           in memory.  Fixes #342777.
11196         * configure.ac:
11197           Check if we have fork()
11198         * win32/common/config.h.in:
11199           no fork() on win32
11200
11201 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
11202
11203         * plugins/elements/gstelements.c:
11204         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11205         (gst_file_src_init), (gst_file_src_set_property),
11206         (gst_file_src_get_property), (gst_file_src_start):
11207         * plugins/elements/gstfilesrc.h:
11208           API: GstFileSrc::use-mmap
11209
11210         Add a use-mmap property to enable easier testing of all code paths.
11211         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
11212         in the absence of gnomevfssrc. (Closes #340501)
11213
11214 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11215
11216         * tools/gst-inspect.c:
11217         Add missing include, removes warning of ngettext not being defined on
11218         some arches.
11219
11220 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
11221
11222         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11223         Handle NULL input and output pointers silently as a failed conversion,
11224         rather than g_warnings.
11225
11226 2006-05-25  Wim Taymans  <wim@fluendo.com>
11227
11228         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
11229         Initialize variable before using. Fixes #342820.
11230
11231 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
11232
11233         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
11234           Fix off-by-one bug that would only allow peeks of N-1 bytes
11235           from the start even if the buffer to typefind on contains
11236           in fact N bytes of data (makes vorbis typefinding from a
11237           vorbis identification header buffer work).
11238
11239         * tests/check/Makefile.am:
11240         * tests/check/libs/.cvsignore:
11241         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
11242         (gst_typefindhelper_suite), (main), (foobar_typefind),
11243         (plugin_init):
11244           Add very basic unit test for gst_type_find_helper_for_buffer()
11245           that checks for the problem fixed above.
11246
11247 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11248
11249         * tools/gst-inspect.c: (print_interfaces),
11250         (print_element_properties_info), (print_element_list), (main):
11251           add more translatable strings
11252
11253 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
11254
11255         Patch by: Julien Moutte  <julien at moutte net>
11256
11257         * docs/gst/gstreamer-sections.txt:
11258           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
11259           
11260         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
11261         (gst_fake_sink_preroll):
11262         * plugins/elements/gstfakesink.h:
11263           API: Add new GstFakeSink::preroll-handoff signal (#337100).
11264
11265 2006-05-23  Wim Taymans  <wim@fluendo.com>
11266
11267         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
11268         * gst/gstpad.h:
11269         Added _CUSTOM error and success GstFlowReturn that can be
11270         used be elements internally. 
11271         Added macro to check for SUCCESS flowreturns.
11272         API: GST_FLOW_CUSTOM_SUCCESS
11273         API: GST_FLOW_CUSTOM_ERROR
11274         API: GST_FLOW_IS_SUCCESS
11275
11276         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
11277         Added check for GstFlowReturn sanity.
11278
11279 2006-05-23  Wim Taymans  <wim@fluendo.com>
11280
11281         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11282
11283         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
11284         (gst_collect_pads_event):
11285         clear/reset segment info in FLUSH_STOP.
11286         Fixes #336929.
11287
11288 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
11289
11290         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
11291         (gst_collect_pads_check_collected):
11292         Flush queued buffer on _stop(), fixes playing again (#342454)
11293
11294 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11295
11296         * tests/check/gst/gststructure.c: (GST_START_TEST),
11297         (gst_structure_suite):
11298           add a test for a complete structure
11299
11300 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
11301
11302         * docs/faq/developing.xml:
11303         * docs/faq/faq.xml:
11304         * docs/faq/troubleshooting.xml:
11305         * docs/faq/using.xml:
11306           Some minor FAQ updates that won't change the fact that
11307           our FAQ is badly structured, full of information hardly
11308           anyone new to GStreamer needs to know and lacking lots
11309           of information people constantly ask for.
11310           
11311 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
11312
11313         * gst/gstpad.c: (gst_pad_set_caps):
11314           Short-circuit gst_pad_set_caps if setting the existing
11315           caps pointer again, and avoid printing debug and 
11316           reffing/unreffing the caps.
11317
11318         * plugins/elements/gstqueue.c: (gst_queue_push_one):
11319           There's actually no need to set the caps before pushing -
11320           the acceptcaps method will handle it anyway.
11321
11322 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
11323
11324         * docs/gst/gstreamer-sections.txt:
11325         * win32/common/libgstreamer.def:
11326         * gst/gstutils.c: (gst_element_seek_simple):
11327         * gst/gstutils.h:
11328           API: add gst_element_seek_simple() (#342238).
11329
11330 2006-05-18  Edward Hervey  <edward@fluendo.com>
11331
11332         * gst/gsttypefind.c: (gst_type_find_get_type):
11333         * gst/gsttypefind.h:
11334         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
11335         registered for GstTypeFind pointers. This allows wrapping the structure
11336         in bindings (i.e. gst-python).
11337
11338 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
11339
11340         * gst/gsttagsetter.c:
11341           Docs additions and fixes (see #339918).
11342
11343 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
11344
11345         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
11346         The caps intersection algorithm can produce multiple copies of the
11347         caps. Until that is fixed, we need to simplify the result to be
11348         sure whether the allowed caps are fixed or not.
11349
11350         * plugins/elements/gstqueue.c: (gst_queue_init),
11351         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
11352         (gst_queue_push_one):
11353         Proxied buffer alloc should not set the caps on the source pad.
11354         When pushing buffers, we always accept the caps change that triggers.
11355         This prevents negotiation errors caused by caps changing mid-stream 
11356         and then being refused on our source pad (because upstream is now
11357         refusing those caps).
11358
11359 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
11360
11361         * tests/examples/helloworld/helloworld.c: (main):
11362           Must plug audioconvert and audioresample between decoder
11363           and audio sink.
11364
11365 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
11366
11367         * gst/gstregistryxml.c: (read_string), (load_pad_template),
11368         (load_feature), (load_plugin):
11369         Allow empty strings for some of the plugin fields so we don't 
11370         drop valid plugin entries that were written out correctly
11371         (Fixes #341479)
11372
11373 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
11374         
11375         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
11376           Use g_remove and g_rename instead of remove and rename that don't 
11377           handle utf8 characters. rename was failing for users who had specific
11378           characters in their name then the registry was built at each 
11379           gstreamer init.
11380         * win32/vs6/gst_inspect.dsp:
11381         * win32/vs6/gst_launch.dsp:
11382         * win32/vs6/libgstbase.dsp:
11383         * win32/vs6/libgstcoreelements.dsp:
11384         * win32/vs6/libgstreamer.dsp:
11385           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
11386           build of libgstreamer and clean unused libraries in projects link 
11387           settings.
11388
11389 2006-05-17  Edward Hervey  <edward@fluendo.com>
11390
11391         * plugins/elements/gstqueue.c: (gst_queue_push_one):
11392         The queue is not responsible for pushing an EOS when receiving a fatal
11393         flow error. It's up to the real element driving the pipeline to do that.
11394
11395 2006-05-16  Edward Hervey  <edward@fluendo.com>
11396
11397         * plugins/elements/gstqueue.c: (gst_queue_push_one):
11398         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
11399         buffer returned a fatal error. It should just send an EOS and stop
11400         its task.
11401         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
11402         when pushing buffers on the queue and will be able to handle the event.
11403
11404 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
11405
11406         * docs/manual/basics-bins.xml:
11407         * docs/manual/basics-init.xml:
11408           Fix typos and minor errors in sample code (#341856).
11409
11410 2006-05-16  Wim Taymans  <wim@fluendo.com>
11411
11412         * docs/design/part-qos.txt:
11413         Fix indexes in formulas to make more sense.
11414
11415 2006-05-15  Wim Taymans  <wim@fluendo.com>
11416
11417         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11418         Don't report POSITION based on clock time if sync is
11419         disabled in a sink.
11420
11421 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
11422
11423         * gst/gstobject.h:
11424           Add cast to make compiler happy - refcount variable was a gint
11425           in GstObject but is a guint in GObject and g_atomic_int_get()
11426           wants a gint *.
11427
11428 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
11429
11430         * gst/parse/Makefile.am:
11431           chain commands using &&, which also makes parallel make work
11432
11433 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
11434
11435         * docs/gst/gstreamer-sections.txt:
11436         * gst/gstevent.c:
11437         * gst/gstevent.h:
11438         * gst/gstmessage.h:
11439           Minor docs fixes.
11440
11441 === release 0.10.6 ===
11442
11443 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
11444
11445         * configure.ac:
11446           releasing 0.10.6, "Take the cannoli"
11447
11448 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
11449
11450         * tools/gst-launch.c: (print_tag):
11451           Fix use of uninitialized variable in the hypothetical
11452           case that some broken plugin creates a GST_TAG_IMAGE
11453           tag containing a NULL buffer (#341667).
11454
11455 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
11456
11457         * tools/gst-launch.c: (print_tag):
11458           Print something more intelligible for image tags when
11459           using the -t switch (#341556).
11460
11461 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11462
11463         * Makefile.am:
11464           updates for win32
11465         * configure.ac:
11466           define GST_MAJORMINOR so we have it available in win32/common/config.h
11467           Possibly remove it from our Makefile.am files later
11468         * win32/common/config.h:
11469         * win32/common/config.h.in:
11470           added GST_MAJORMINOR
11471         * win32/common/gstenumtypes.c: (register_gst_resource_error):
11472         * win32/common/gstversion.h:
11473           updated
11474
11475 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
11476
11477         * win32/MANIFEST:
11478           Update win32 files listing.
11479         * win32/common/gstversion.h:
11480           Add GST_MAJORMINOR definition.
11481         * win32/common/libgstreamer.def:
11482           Add new exported functions.
11483           
11484 2006-05-12  Michael Smith  <msmith@fluendo.com>
11485
11486         * gst/gstplugin.c: (gst_plugin_load_file):
11487           If an so file has no plugin entry point, unload the module.
11488
11489 2006-05-11  Wim Taymans  <wim@fluendo.com>
11490
11491         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
11492         (gst_queue_set_property):
11493         Don't forget to signal the _chain or _loop function 
11494         when the queue size or thresholds change since that might
11495         cause them to make progres again.
11496
11497 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
11498
11499         * gst/gstclock.c: (gst_clock_class_init):
11500         * gst/gstindex.c: (gst_index_class_init):
11501         * gst/gstobject.c: (gst_object_class_init):
11502         * gst/gstpad.c: (gst_pad_class_init):
11503         * gst/gstpipeline.c: (gst_pipeline_class_init):
11504         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
11505         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
11506         * libs/gst/base/gstbasetransform.c:
11507         (gst_base_transform_class_init):
11508         * libs/gst/net/gstnetclientclock.c:
11509         (gst_net_client_clock_class_init):
11510         * libs/gst/net/gstnettimeprovider.c:
11511         (gst_net_time_provider_class_init):
11512         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
11513         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11514         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11515         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
11516         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
11517         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11518         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
11519         * plugins/elements/gstidentity.c: (gst_identity_class_init):
11520         * plugins/elements/gsttee.c: (gst_tee_class_init):
11521         * tests/old/examples/plugins/example.c: (gst_example_class_init):
11522         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
11523           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
11524
11525 2006-05-11  Wim Taymans  <wim@fluendo.com>
11526
11527         * gst/gstbuffer.c: (_gst_buffer_initialize):
11528         Register subbufer along with the buffer type so that
11529         it does not accidentally gets registered from N
11530         different streaming threads in a non threadsafe way.
11531
11532 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
11533
11534         * gst/gstbuffer.h:
11535         * gst/gstevent.h:
11536         * gst/gstmessage.h:
11537           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
11538           gst_event_ref() and gst_message_ref() functions again
11539           (ugly hack, please do fix if there's a better way besides
11540           overrides.txt, which doesn't seem to work).
11541
11542 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11543
11544         * libs/gst/check/gstcheck.h:
11545           add an assert for setting state to avoid lots of repetitive code
11546           in the future
11547
11548 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11549
11550         * gst/gstvalue.c: (gst_value_serialize_flags):
11551           fix a leak if no flags are set
11552         * tests/check/gst/gstvalue.c: (GST_START_TEST):
11553           fix leak in tests
11554
11555 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
11556
11557         * docs/manual/basics-pads.xml:
11558           Expand a bit on caps and filtered links and update
11559           examples that were still using the no longer existing
11560           gst_pad_link_filtered() (#338206).
11561
11562 2006-05-10  Wim Taymans  <wim@fluendo.com>
11563
11564         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
11565         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
11566         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
11567         (gst_collect_pads_stop):
11568         * libs/gst/base/gstcollectpads.h:
11569         No need to call _stop in _finalize.
11570         Iterate the main pad list in _finalize.
11571         Added some more debug.
11572         Free lists and data in the right order.
11573         Also free data whem doing _remove_pad when stopped for
11574         backward compatibility protect ::started with PAD_LOCK as
11575         well.
11576
11577 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11578
11579         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
11580         (gst_structure_parse_value):
11581           add some comments
11582           rename a method so that it actually says what it does better
11583
11584 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
11585
11586         * gst/gstevent.c: (_gst_event_initialize):
11587         * gst/gstformat.c: (_gst_format_initialize):
11588           make sure some essential types used by events are registered
11589           as part of gst_init()
11590         * gst/gstvalue.c: (gst_value_serialize_flags):
11591           if no flags are set, serialize them to a value that represents NONE
11592           so that deserializing them works
11593         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11594           add tests for serialization and deserialization of flags
11595
11596 2006-05-10  Wim Taymans  <wim@fluendo.com>
11597
11598         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
11599         (gst_collect_pads_collect_range), (gst_collect_pads_available),
11600         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
11601         (gst_collect_pads_event), (gst_collect_pads_chain):
11602         Update docs.
11603         Better debug info.
11604         Catch and return errors from the collect function
11605         Refuse data on eos pads.
11606
11607 2006-05-10  Edward Hervey  <edward@fluendo.com>
11608
11609         * gst/gstinterface.h:
11610         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
11611         GInterface type checking.
11612         They were previously using non-defined macros.
11613
11614 2006-05-09  Wim Taymans  <wim@fluendo.com>
11615
11616         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
11617         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
11618         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
11619         (gst_collect_pads_start), (gst_collect_pads_stop),
11620         (gst_collect_pads_peek), (gst_collect_pads_pop),
11621         (gst_collect_pads_available), (gst_collect_pads_read),
11622         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
11623         (gst_collect_pads_is_collected), (gst_collect_pads_event),
11624         (gst_collect_pads_chain):
11625         * libs/gst/base/gstcollectpads.h:
11626         Clean up the mess that is collectpads, add comments and
11627         FIXMEs where needed.
11628         Maintain a separate pad list so we can add pads while
11629         collecting the other ones. For this we need a new separate 
11630         lock (see comics).
11631         Fix memory leak in finalize.
11632         Refactor some weird code to set/unset pad flushing flags, mark
11633         with comments.
11634         Don't crash in _available, _read, _flush when we're EOS.
11635
11636         * tests/check/libs/.cvsignore:
11637         Ignore adapter check binary.
11638
11639 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11640
11641         * gst/gstindex.c: (gst_index_resolver_get_type):
11642         * plugins/elements/gstfakesink.c:
11643         (gst_fake_sink_state_error_get_type):
11644         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11645         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
11646         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
11647           Const-ify GEnumValue arrays.
11648
11649 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11650
11651         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
11652           Add test case for flags + gst_buffer_make_metadata_writable().
11653
11654 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11655
11656         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
11657           gst_buffer_make_metadata_writable() should maintain the
11658           buffer flags (those that make sense at least) (see #340859).
11659
11660 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11661
11662         * tools/gst-inspect.c:
11663         * tools/gst-launch.c:
11664         * tools/gst-typefind.c:
11665         * tools/gst-xmlinspect.c:
11666         * tools/tools.h:
11667           Fix up includes: need to include stdlib.h in tools.h for exit().
11668
11669 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
11670
11671         * gst/gsttaglist.c: (_gst_tag_initialize):
11672         * gst/gsttaglist.h:
11673           API: add GST_TAG_IMAGE tag (#340721).
11674
11675 2006-05-08  Wim Taymans  <wim@fluendo.com>
11676
11677         * gst/gstquery.c:
11678         Added some docs for the segment query.
11679
11680 2006-05-08  Wim Taymans  <wim@fluendo.com>
11681
11682         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
11683         (gst_base_src_loop), (gst_base_src_change_state):
11684         Always push non-flushing serialized events in the streaming 
11685         thread.
11686
11687 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
11688
11689         * gst/gsterror.c: (_gst_stream_errors_init):
11690           Add a missing error string.
11691
11692 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
11693
11694         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
11695         Add applied_rate to the debug
11696
11697         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
11698         Copy applied_rate into the outgoing NEWSEGMENT event
11699
11700 2006-05-08  Wim Taymans  <wim@fluendo.com>
11701
11702         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
11703
11704         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
11705         (gst_base_sink_change_state):
11706         call ::unlock before taking the PREROLL_LOCK so we can safely
11707         handle elements that lock in ::render.
11708         Fixes #340174.
11709
11710 2006-05-08  Edward Hervey  <edward@fluendo.com>
11711
11712         * autogen.sh: (CONFIGURE_DEF_OPT): 
11713         Darwin's libtoolize is in fact called glibtoolize.
11714         Adding glibtoolize to the list of accepted names for libtoolize.
11715
11716 2006-05-08  Wim Taymans  <wim@fluendo.com>
11717
11718         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
11719         Unify error handling, don't post an error message
11720         when a push() returns EOS but perform our normal EOS
11721         handling code. Fixes #340772.
11722
11723 2006-05-08  Wim Taymans  <wim@fluendo.com>
11724
11725         * docs/design/part-overview.txt:
11726         Make upsteam/downstream concepts more clear.
11727         Give an example of serialized/non-serialized events.
11728
11729         * docs/design/part-events.txt:
11730         * docs/design/part-streams.txt:
11731         Mention applied_rate.
11732
11733         * docs/design/part-trickmodes.txt:
11734         Mention applied rate, flesh out some more use cases.
11735
11736         * gst/gstevent.c: (gst_event_new_new_segment),
11737         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
11738         (gst_event_parse_new_segment_full), (gst_event_new_tag),
11739         (gst_event_parse_tag), (gst_event_new_buffer_size),
11740         (gst_event_parse_buffer_size), (gst_event_new_qos),
11741         (gst_event_parse_qos), (gst_event_parse_seek),
11742         (gst_event_new_navigation):
11743         * gst/gstevent.h:
11744         Add applied_rate field to NEWSEGMENT event.
11745         API: gst_event_new_new_segment_full()
11746         API: gst_event_parse_new_segment_full()
11747
11748         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
11749         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
11750         (gst_segment_to_stream_time), (gst_segment_to_running_time):
11751         * gst/gstsegment.h:
11752         Add applied_rate to GstSegment structure.
11753         Make calculation of stream_time and running_time more correct
11754         wrt rate/applied_rate.
11755         Add some more docs.
11756         API: GstSegment::applied_rate field
11757         API: gst_segment_set_newsegment_full();
11758
11759         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
11760         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
11761         * libs/gst/base/gstbasetransform.c:
11762         (gst_base_transform_sink_eventfunc),
11763         (gst_base_transform_handle_buffer):
11764         Parse and use applied_rate in the GstSegment field.
11765
11766         * tests/check/gst/gstevent.c: (GST_START_TEST):
11767         Add check for applied_rate field.
11768
11769         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11770         (gstsegments_suite):
11771         Add more checks for various GstSegment operations.
11772
11773 2006-05-08  Wim Taymans  <wim@fluendo.com>
11774
11775         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
11776         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
11777         (gst_base_sink_get_position), (gst_base_sink_change_state):
11778         Store the sync time of the buffer end position separatly in a
11779         new variable eos_rtime so we can properly sync the EOS event.
11780         Fixes #340697.
11781         Fix the docs for gst_base_sink_set_qos_enabled().
11782         Don't set segment start to invalid value when we receive a 
11783         non TIME newsegment.
11784         get closer to handling position reporting for negative rates 
11785         correctly.
11786
11787 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
11788
11789         * gst/gstcaps.c:
11790         Docs about how to print caps for debug purposes.
11791
11792         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
11793         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
11794
11795 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
11796
11797         * gst/gstelement.c:
11798           use full enum names and preprend a '%' in docs strings to make recent 
11799           gtk-doc turn that into a link
11800
11801 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11802
11803         * docs/manual/basics-bins.xml:
11804         * docs/manual/basics-bus.xml:
11805         * docs/manual/basics-pads.xml:
11806           Some typo fixes, some additions, some clarifications. 
11807
11808 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11809
11810         * tools/gst-inspect.c: (main):
11811         * tools/gst-launch.c: (main):
11812         * tools/gst-run.c: (main):
11813         * tools/gst-typefind.c: (main):
11814         * tools/gst-xmlinspect.c: (main):
11815           Use the string passed to g_option_context_new() for
11816           what it's intended for - the program name is already
11817           printed elsewhere.
11818
11819 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11820
11821         * tools/Makefile.am:
11822         * tools/gst-inspect.c: (main):
11823         * tools/gst-launch.c: (main):
11824         * tools/gst-xmlinspect.c: (main):
11825         * tools/tools.h:
11826           Add back --version command line option (#340460).
11827
11828         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
11829           Add --version option and use GOption for argument parsing; refactor a
11830           bit; accept directories as arguments and recurse into them; lastly,
11831           print a decent error message when things go wrong.
11832
11833 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11834
11835         * docs/manual/basics-bins.xml:
11836         Don't mention GstThread (#340611)
11837         * docs/manual/basics-elements.xml:
11838         Update link to GObject tutorial (#340607)
11839         
11840 2006-05-05  Wim Taymans  <wim@fluendo.com>
11841
11842         * gst/gstbuffer.h:
11843         * gst/gstminiobject.c:
11844         Add note about refcounting and miniobject/buffer writeability
11845         to docs. Fixes #340604
11846
11847         * gst/gstelementfactory.h:
11848         Added some explanation about @klass.
11849
11850 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11851
11852         * docs/manual/intro-motivation.xml:
11853         * docs/manual/manual.xml:
11854         Avoid CORBA & Bonobo references (#340598)
11855
11856 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11857
11858         * docs/manual/basics-bus.xml:
11859         * docs/manual/basics-pads.xml:
11860         Fix up some inaccuracies and omissions (#340609)
11861         
11862 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
11863
11864         * gst/gstghostpad.c:
11865           Small typo in docs (#340625)
11866
11867 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11868
11869         * gst/parse/Makefile.am:
11870           Make 'make -j' proof (see #340698).
11871
11872 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
11873
11874         * configure.ac:
11875           Require GLib-2.8 here as well.
11876
11877 2006-05-05  Wim Taymans  <wim@fluendo.com>
11878
11879         * gst/glib-compat.c:
11880         * gst/gst.c: (init_pre):
11881         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
11882         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
11883         (gst_object_dispatch_properties_changed):
11884         * gst/gstobject.h:
11885         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
11886         * gst/gststructure.c: (gst_structure_set_valist):
11887         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
11888         Remove pre glib2.8 compatibility, fixes #340508
11889
11890 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
11891
11892         * gst/gsttaglist.h:
11893           Mention type of tags in doc blurbs.
11894
11895 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
11896
11897         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
11898         (gst_pad_configure_src), (gst_pad_push):
11899         Restore acceptcaps checking behaviour now that good plugins have
11900         been released.
11901
11902 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
11903
11904         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
11905
11906         * gst/gst.c:
11907         * gst/gstbus.c:
11908         * gst/gstclock.c:
11909         * gst/gstevent.c:
11910         * gst/gstformat.c:
11911         * gst/gstmessage.c:
11912         * gst/gstparse.c:
11913         * gst/gstquery.c:
11914         * gst/gstutils.c:
11915         * gst/parse/Makefile.am:
11916         * libs/gst/base/gstadapter.c:
11917         * libs/gst/base/gstbasesrc.c:
11918         * libs/gst/base/gstpushsrc.c:
11919         * libs/gst/base/gsttypefindhelper.c:
11920         * plugins/elements/gstfakesrc.c:
11921         * plugins/elements/gstidentity.c:
11922           Make sure gstprivate.h and/or config.h are
11923           always included first, otherwise some of our
11924           defines (like _FILE_OFFSET_BITS) might be
11925           redefined in the system headers. Fixes build
11926           on opensolaris (#340016).
11927
11928 2006-05-04  Wim Taymans  <wim@fluendo.com>
11929
11930         * docs/libs/gstreamer-libs-sections.txt:
11931         API: addition: gst_adapter_take_buffer()
11932         
11933         * libs/gst/base/gstadapter.c: (gst_adapter_push),
11934         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
11935         (gst_adapter_available_fast):
11936         * libs/gst/base/gstadapter.h:
11937         Prepare for optimizing the hell out of this hugely inefficient
11938         piece of code. 
11939         Added gst_adapter_take_buffer() so we can at least start thinking
11940         about subbuffering and merging.
11941         Added some comments.
11942
11943         * tests/check/Makefile.am:
11944         * tests/check/libs/adapter.c: (GST_START_TEST),
11945         (gst_adapter_suite), (main):
11946         Added GstAdapter check.
11947
11948 2006-05-04  Wim Taymans  <wim@fluendo.com>
11949
11950         * docs/design/part-overview.txt:
11951         Fix some typos, add blurb about buffer flags.
11952
11953 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11954
11955         * docs/libs/gstreamer-libs-sections.txt:
11956           make sure GstBaseTransformClass shows up in the docs
11957         * libs/gst/base/gstbasetransform.c:
11958         * libs/gst/base/gstbasetransform.h:
11959           move docs so gtk-doc picks it up now
11960
11961 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
11962
11963         * docs/libs/gstreamer-libs-sections.txt:
11964           add missing symbols to docs
11965
11966 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
11967
11968         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
11969           back out the newsegment handling change, see #340060 for ongoing
11970           discussion
11971
11972 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
11973
11974         * tools/gst-run.c: (get_candidates), (main):
11975           Fix wrong g_file_test() usage (see glib docs for why it doesn't
11976           work); fix typo in error message. Fixes #340079.
11977
11978 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11979
11980         * common/Makefile.am:
11981         * docs/Makefile.am:
11982         * docs/faq/Makefile.am:
11983         * docs/gst/Makefile.am:
11984         * docs/libs/Makefile.am:
11985         * docs/manual/Makefile.am:
11986         * docs/plugins/Makefile.am:
11987         * docs/pwg/Makefile.am:
11988         * docs/slides/Makefile.am:
11989         * docs/upload.mak:
11990         * common/upload.mak:
11991           move upload.mak to common
11992
11993 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11994
11995         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
11996           add more asserts on refcounts
11997           do more cleanup at end of tests
11998           fix test leaks showing in FC5
11999
12000 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
12001
12002         * plugins/elements/gsttypefindelement.c:
12003         (gst_type_find_element_handle_event):
12004         reverted wrong change and reflowed code to avoid others falling into
12005         this trap
12006
12007 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
12008
12009         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
12010           fix changelog entry about last collectpads change,
12011           add notes about proper fix
12012
12013 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
12014
12015         * gst/gst.c:
12016         * gst/gstregistry.c: (gst_registry_scan_path_level),
12017         (gst_registry_scan_path):
12018         * gst/gstregistry.h:
12019           only write out registry if it has changed, fixes #338339
12020
12021 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
12022
12023         * gst/gstbin.c:
12024         * gst/gstpipeline.c:
12025         * plugins/elements/gstcapsfilter.c:
12026         * plugins/elements/gstfakesink.c:
12027         * plugins/elements/gstfakesrc.c:
12028         * plugins/elements/gstfdsink.c:
12029         * plugins/elements/gstfdsrc.c:
12030         * plugins/elements/gstfilesink.c:
12031         * plugins/elements/gstfilesrc.c:
12032         * plugins/elements/gstidentity.c:
12033         * plugins/elements/gstqueue.c:
12034         * plugins/elements/gsttee.c:
12035         * plugins/elements/gsttypefindelement.c:
12036         (gst_type_find_element_handle_event):
12037           make GstElementDetails const
12038
12039 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
12040
12041         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
12042         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12043         (gst_collect_pads_is_collected), (gst_collect_pads_event):
12044           more detailed debug and formatting cleanup,
12045           forward newsegments to src-pad (so that e.g. adder not eats them)
12046
12047 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
12048
12049         * gst/gstutils.c: (gst_element_link_pads):
12050           cleanup double code
12051
12052 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
12053
12054         * libs/gst/controller/gstcontroller.c:
12055         (gst_controller_sync_values):
12056           some little tuning
12057         * tests/check/libs/controller.c: (GST_START_TEST),
12058         (gst_controller_suite):
12059           a new test for live value handling
12060
12061 2006-04-28  Wim Taymans  <wim@fluendo.com>
12062
12063         * gst/gstutils.c: (push_and_ref):
12064         Added some more docs.
12065         Fix refcount issue whith gst_element_found_tags() helper 
12066         function. Fixes #338335
12067
12068         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12069         Added testsuite for gst_element_found_tags().
12070
12071 2006-04-28  Michael Smith  <msmith@fluendo.com>
12072
12073         * gst/gstvalue.c: (gst_value_serialize_flags):
12074           Avoid NULL dereference when trying to serialize flags containing
12075           invalid values.
12076
12077 2006-04-28  Michael Smith  <msmith@fluendo.com>
12078
12079         * plugins/elements/gsttypefindelement.c:
12080         (gst_type_find_element_handle_event):
12081           If we get EOS before any data is accumulated, don't use
12082           uninitialised local variables.
12083
12084 2006-04-28  Michael Smith  <msmith@fluendo.com>
12085
12086         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
12087         (gst_dp_event_from_packet):
12088           Fixes in reading/writing events over GDP (not currently used?) - 
12089           dereferencing NULL events for unknown/invalid event types, memory
12090           leak, and change g_warning to GST_WARNING.
12091
12092 2006-04-28  Wim Taymans  <wim@fluendo.com>
12093
12094         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
12095         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
12096         (gst_base_sink_get_position), (gst_base_sink_change_state):
12097         When frame dropping is enabled, we should not ignore frames
12098         without a duration.
12099         Update some documentation.
12100
12101 2006-04-28  Wim Taymans  <wim@fluendo.com>
12102
12103         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
12104         (gst_base_src_send_event), (gst_base_src_change_state):
12105         Documentation updates.
12106
12107 2006-04-28  Wim Taymans  <wim@fluendo.com>
12108
12109         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
12110         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
12111         handle EAGAIN, EINTR and short writes correctly. Also clean
12112         up some error cases, avoid a deadlock on bad file descriptors and
12113         use GST_DEBUG_OBJECT.
12114         Fixes #339843
12115
12116 2006-04-28  Wim Taymans  <wim@fluendo.com>
12117
12118         * gst/gstvalue.c: (gst_value_serialize_buffer),
12119         (gst_value_deserialize_buffer):
12120         Don't try to serialize a GValue with a NULL buffer. 
12121         Fixes #339821.
12122
12123         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12124         Added check for serialisation of NULL buffers.
12125
12126 2006-04-28  Wim Taymans  <wim@fluendo.com>
12127
12128         * gst/gstminiobject.c: (gst_value_take_mini_object):
12129         Taking a NULL miniobject is valid, fix the case where
12130         we try to unref the NULL miniobject.
12131
12132 2006-04-28  Wim Taymans  <wim@fluendo.com>
12133
12134         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
12135
12136         * gst/gstbin.c: (gst_bin_handle_message_func):
12137         Update docs.
12138         Don't leak bin refcount when a state recalc is
12139         in progress and we delay another one #339808.
12140
12141 2006-04-28  Wim Taymans  <wim@fluendo.com>
12142
12143         * docs/design/part-TODO.txt:
12144         Mention QoS as an ongoing work item.
12145
12146         * docs/design/part-buffering.txt:
12147         New doc about buffering that needs to be fleshed out
12148         at some point.
12149
12150         * docs/design/part-qos.txt:
12151         More QoS policy for decoders/demuxers/transforms
12152
12153         * docs/design/part-trickmodes.txt:
12154         Small update.
12155
12156 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
12157
12158         * configure.ac:
12159           back to HEAD
12160
12161 === release 0.10.5 ===
12162
12163 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
12164
12165         * configure.ac:
12166           releasing 0.10.5, "Fogo"
12167
12168 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12169
12170         patch by: Wim Taymans
12171
12172         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
12173         (gst_pad_configure_src), (gst_pad_push):
12174         * gst/gstpipeline.c: (gst_pipeline_init):
12175           Fix internal data flow errors.  Fixes #338711.
12176
12177 2006-04-12  Wim Taymans  <wim@fluendo.com>
12178
12179         * tests/check/gst/gstelement.c: (GST_START_TEST):
12180         Don't leak the factory.
12181
12182 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
12183
12184         * configure.ac:
12185         * win32/common/config.h:
12186           prerelease
12187
12188 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
12189
12190         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
12191         (gst_controller_unset_all):
12192           Free allocated GstTimedValues when freeing list nodes.
12193           Should fix leaks 'make check-valgrind' complains about.
12194
12195         * win32/common/libgstcontroller.def:
12196           Add gst_controller_unset_all.
12197
12198 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
12199
12200         * docs/libs/gstreamer-libs-sections.txt:
12201         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
12202         (gst_controller_unset_all):
12203         * libs/gst/controller/gstcontroller.h:
12204         API: Added new method gst_controller_unset_all()
12205         fixed gst_controller_unset()
12206         * tests/check/libs/controller.c: (GST_START_TEST),
12207         (gst_controller_suite):
12208         Added two testcases for new and fixed method
12209
12210 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
12211
12212         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12213           MSG_DONTWAIT is not defined on Cygwin, so work
12214           around that (fixes #317048).
12215           
12216 2006-04-11  Wim Taymans  <wim@fluendo.com>
12217
12218         * gst/gstelementfactory.c: (gst_element_register),
12219         (gst_element_factory_create), (gst_element_factory_make):
12220         Some cleanups.
12221         Fixed a FIXME.
12222         Updated docs (Fixes #131079)
12223
12224         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
12225         Small cleanups.
12226
12227         * tests/check/gst/gstelement.c: (GST_START_TEST),
12228         (gst_element_suite):
12229         Added testcase for elementfactory class field.
12230
12231 2006-04-10  Wim Taymans  <wim@fluendo.com>
12232
12233         * gst/gstsegment.c:
12234         Added some more docs.
12235
12236         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
12237         (gst_base_sink_reset_qos):
12238         Calculate more accurate rate values.
12239
12240 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
12241
12242         * gst/gst_private.h:
12243           add a new #ifdef to use __declspec(dllimport) only for
12244           other modules and not for gstreamer core
12245         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
12246           use gst_guint64_to_gdouble for conversion
12247         * win32/common/libgstreamer.def:
12248           add new exported functions
12249         * win32/vs6/gst_inspect.dsp:
12250         * win32/vs6/gst_launch.dsp:
12251         * win32/vs6/libgstbase.dsp:
12252         * win32/vs6/libgstcontroller.dsp:
12253         * win32/vs6/libgstcoreelements.dsp:
12254         * win32/vs6/libgstdataprotocol.dsp:
12255         * win32/vs6/libgstnet.dsp:
12256           update project files
12257
12258 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
12259
12260         * gst/gstbuffer.c: (gst_subbuffer_class_init):
12261         * gst/gstclock.c: (gst_clock_class_init):
12262         * gst/gstelement.c: (gst_element_class_init):
12263         * gst/gstindex.c: (gst_index_class_init):
12264         * gst/gstindexfactory.c: (gst_index_factory_class_init):
12265         * gst/gstobject.c: (gst_object_class_init),
12266         (gst_signal_object_class_init):
12267         * gst/gstpad.c: (gst_pad_class_init):
12268         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
12269         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
12270         * gst/gstregistry.c: (gst_registry_class_init):
12271         * gst/gstsystemclock.c: (gst_system_clock_class_init):
12272         * gst/gsttask.c: (gst_task_class_init):
12273         * gst/gstxml.c: (gst_xml_class_init):
12274         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
12275         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
12276         (gst_base_src_loop):
12277         * libs/gst/controller/gstcontroller.c:/
12278         (_gst_controller_class_init):
12279         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
12280         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
12281         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
12282         * tests/old/examples/plugins/example.c: (gst_example_class_init):
12283         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
12284         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
12285
12286 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
12287
12288         * gst/gstpad.c: (gst_pad_link):
12289           Must set peer pads before calling the link function, otherwise
12290           a task started from a link function might get a flow-not-linked
12291           result when trying to push because the other thread where the
12292           linking happens hasn't had a chance to set the peers yet. This
12293           might happen for example when a queue gets linked to a downstream
12294           element, as queue starts a streaming task when its source pad
12295           gets linked. Happens in real life when playing back flac/musepack
12296           files in playbin (#332390).
12297           
12298 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
12299
12300         * gst/gstindex.h:
12301         * gst/gstxml.h:
12302         * libs/gst/base/gstadapter.h:
12303         * libs/gst/base/gstbasesink.h:
12304         * libs/gst/base/gstbasesrc.h:
12305         * libs/gst/base/gstbasetransform.h:
12306         * libs/gst/base/gstcollectpads.h:
12307         * libs/gst/base/gstpushsrc.h:
12308         Fix broken GObject macros
12309
12310 2006-04-07  Wim Taymans  <wim@fluendo.com>
12311
12312         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12313         Initialize start and stop times, thanks valgrind.
12314
12315 2006-04-07  Wim Taymans  <wim@fluendo.com>
12316
12317         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12318         Be a bit nicer to badly behaving upstream elements that expect
12319         us to deal with non TIME segments and timestamps (such as fakesrc
12320         in the testsuite).
12321
12322 2006-04-07  Wim Taymans  <wim@fluendo.com>
12323
12324         * gst/gstbus.c:
12325         Small documentation clarification about the signal watch.
12326
12327         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
12328         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
12329         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12330         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
12331         (gst_base_sink_get_position_last),
12332         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
12333         Convert and store timestamps in stream time and running time, the
12334         raw timestamps are not useful, also document this better.
12335         Use different window sizes for good and bad QoS observations so
12336         we react to badness a little quicker.
12337         Keep track of the amount of rendered and dropped buffers.
12338         Send QoS timestamps in running time.
12339
12340         * libs/gst/base/gstbasetransform.c:
12341         (gst_base_transform_sink_eventfunc),
12342         (gst_base_transform_handle_buffer):
12343         Compare QoS timestamps against running time.
12344
12345 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
12346
12347         * gst/gstpad.c:
12348           Typo fixes in docs.
12349
12350 2006-04-06  Michael Smith  <msmith@fluendo.com>
12351
12352         * gst/gstpad.c: (gst_pad_set_property):
12353           Use g_value_get_object() instead of g_value_dup_gst_object(),
12354           to avoid double-reffing the pad template (which we then sink,
12355           so this worked previously if (and only if) the pad template
12356           was floating.
12357
12358         * gst/gstpadtemplate.c: (gst_pad_template_init),
12359         (gst_pad_template_pad_created):
12360           Never return floating references to pad templates, create
12361           them as initially-sunken.
12362
12363           Document an extra function (and make this stop sinking our
12364           pad template, since that is now guaranteed to do nothing,
12365           since we created it sunken).
12366
12367         * gst/gstghostpad.c:
12368           Fix docs typo.
12369
12370 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
12371
12372         * gst/gstinfo.c: (__gst_in_valgrind):
12373           Add some newlines.
12374
12375         * plugins/elements/gsttypefindelement.c:
12376         (gst_type_find_element_chain):
12377           Don't leak buffer caps.
12378
12379 2006-04-06  Michael Smith  <msmith@fluendo.com>
12380
12381         * gst/parse/grammar.y:
12382           Fix a leak in parse-launch for any source-or-sink named element 
12383           references used.
12384
12385         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
12386           Unref the pipeline if it exists after we've failed parsing.
12387
12388 2006-04-05  Michael Smith  <msmith@fluendo.com>
12389
12390         * gst/gstpipeline.c: (gst_pipeline_init):
12391           When we create a pipeline bus, initially create it in flushing mode.
12392           Fixes leaks in at least one test, and makes a new pipeline work the
12393           same as one that has gone to READY and then back to NULL.
12394
12395         * gst/gstelement.c:
12396           Typo fix in docs.
12397
12398 2006-04-05  Michael Smith  <msmith@fluendo.com>
12399
12400         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
12401           Unref a pad we reffed.
12402         * tests/check/gst/gstutils.c: (GST_START_TEST):
12403           Unref bins
12404
12405 2006-04-05  Michael Smith  <msmith@fluendo.com>
12406
12407         * gst/gstquery.c: (gst_query_set_formats),
12408         (gst_query_set_formatsv):
12409           Fix leaking GValues in queries, as shown by valgrind/testsuite.
12410
12411 2006-04-05  Michael Smith  <msmith@fluendo.com>
12412
12413         * tests/check/generic/sinks.c: (GST_START_TEST):
12414           Fix a variety of memleaks in sinks check, which are only sometimes 
12415           shown by running the tests under valgrind (weird?).
12416
12417 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
12418
12419         * docs/version.entities.in:
12420           Fix the substituted entity name after thomas' changes on the
12421           weekend.
12422
12423 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
12424
12425         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
12426         VALGRIND_PRINTF
12427         
12428 2006-04-05  Andy Wingo  <wingo@pobox.com>
12429
12430         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
12431
12432         * libs/gst/base/gstbasetransform.c
12433         (gst_base_transform_sink_eventfunc): When resetting our segment on
12434         FLUSH_STOP, also update the flag saying we haven't seen a
12435         newsegment.
12436
12437 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
12438
12439         Patch by: Paolo Borelli  <pborelli at katamail dot com>
12440
12441         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
12442         (gst_plugin_check_license):
12443           minor clean-ups: G_DEFINE_TYPE already takes care of the
12444           parent_class stuff, no need to do it twice. Mark array of
12445           license strings as constant. (#337103)
12446           
12447 2006-04-04  Michael Smith  <msmith@fluendo.com>
12448
12449         * tools/gst-inspect.c: (print_element_list):
12450           Free the right plugin list; fixes a memory leak.
12451
12452 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
12453
12454         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
12455
12456         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
12457           Don't error out on empty buffers (#336945).
12458           
12459 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
12460
12461         * docs/libs/gstreamer-libs-sections.txt:
12462         * gst/gsttaglist.c:
12463         * libs/gst/base/gstbasesink.c:
12464         * libs/gst/base/gstbasesink.h:
12465         * libs/gst/base/gstbasesrc.c:
12466         * libs/gst/base/gstbasesrc.h:
12467           Documentation updates. Make BaseSink and BaseSrc docs contain the
12468           class structure so that people can actually see the prototypes for
12469           virtual functions they're supposed to be overriding.
12470
12471 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
12472
12473         * plugins/elements/gsttypefindelement.c:
12474         (gst_type_find_element_chain):
12475           More debug info; when skipping typefinding, send cached
12476           events in all cases.
12477
12478 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
12479
12480         * configure.ac:
12481           use new AS_VERSION and AS_NANO macros
12482         * gst/gst-i18n-lib.h:
12483         * gst/gst.c:
12484         * gst/gsterror.c:
12485         * gst/gstversion.h.in:
12486         * win32/common/config.h:
12487         * win32/common/config.h.in:
12488           update accordingly
12489
12490 2006-03-31  Michael Smith  <msmith@fluendo.com>
12491
12492         * plugins/elements/gsttypefindelement.c:
12493         (gst_type_find_element_chain):
12494           Do not typefind content if the buffers already have caps.
12495           Neccesary for icydemux (#333657), and the right thing to do anyway.
12496
12497 2006-03-30  Wim Taymans  <wim@fluendo.com>
12498
12499         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12500         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
12501         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
12502         (gst_base_sink_record_qos_observation),
12503         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12504         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
12505         (gst_base_sink_change_state):
12506         More QoS measurements as described in the design doc.
12507         Get rid of ringbuffer with observations, running average is
12508         more simple and equally good.
12509         Calculates valid proportion now.
12510         Added beginning of flood measurement.
12511
12512 2006-03-29  Wim Taymans  <wim@fluendo.com>
12513
12514         * docs/design/part-qos.txt:
12515         * gst/gstclock.c:
12516         Small documentation updates and additions.
12517
12518 2006-03-29  Wim Taymans  <wim@fluendo.com>
12519
12520         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
12521         (gst_base_src_send_event), (gst_base_src_loop),
12522         (gst_base_src_change_state):
12523         Perform the EOS logic when we reach the segment stop position.
12524         Fix compilation on gcc4.1
12525
12526 2006-03-29  Wim Taymans  <wim@fluendo.com>
12527
12528         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
12529
12530         * plugins/elements/gstqueue.c: (gst_queue_init),
12531         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
12532         (gst_queue_set_property):
12533         * plugins/elements/gstqueue.h:
12534         In queue, when EOS is received, if minimum threshold > max_size -
12535         current_level, there is chance that queue blocks forever in conditional
12536         item del wait. This is because the queue is not emptied completely due
12537         to minimum threshold.  Here is another approach. Instead of setting
12538         cur_levels to max in EOS, just zero all minimum threshold levels. This
12539         should make sure that queue gives out all data. When going to READY
12540         (stop) state, just reset the original minimum threshold levels.
12541         Fixes #336336.
12542
12543 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
12544
12545         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
12546         (gst_type_find_element_handle_event),
12547         (gst_type_find_element_send_cached_events),
12548         (gst_type_find_element_change_state):
12549         * plugins/elements/gsttypefindelement.h:
12550           When typefinding is done in push mode, we should cache
12551           events we receive during typefinding instead of just
12552           dropping them (e.g. newsegment, custom events from
12553           dvdreadsrc etc.) and then send them out once we've
12554           determined the type of the stream (and decodebin
12555           has had a chance to plug in a decoder/demuxer).
12556           
12557 2006-03-27  Wim Taymans  <wim@fluendo.com>
12558
12559         * docs/design/part-qos.txt:
12560         First QoS ideas.
12561
12562 2006-03-27  Wim Taymans  <wim@fluendo.com>
12563
12564         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
12565
12566         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
12567         (gst_base_src_send_event), (gst_base_src_change_state):
12568         Handle element seek correctly when we are streaming.
12569         Fixes #326998.
12570
12571 2006-03-24  Michael Smith  <msmith@fluendo.com>
12572
12573         * docs/faq/gst-uninstalled:
12574           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
12575           allow you to correctly run intalled applications built against old 
12576           core, using plugins that require updated core (e.g. running
12577           installed totem against a full uninstalled gstreamer stack)
12578
12579 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
12580
12581         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
12582         more debug details
12583
12584 2006-03-24  Wim Taymans  <wim@fluendo.com>
12585
12586         * docs/gst/gstreamer-sections.txt:
12587         Rearrange the order of the methods so that related methods
12588         are grouped together in sections.
12589
12590 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
12591
12592         * gst/gstelement.c:
12593           Little clarification in the docs
12594
12595 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
12596
12597         * docs/README:
12598         formatting fix
12599         * plugins/elements/gstidentity.c:
12600         * plugins/elements/gstqueue.c:
12601         * plugins/elements/gsttee.c:
12602         * plugins/elements/gsttypefindelement.c:
12603         GST_ELEMENT_DETAILS formatting
12604
12605 2006-03-24  Wim Taymans  <wim@fluendo.com>
12606
12607         * libs/gst/base/gstbasesink.h:
12608         Only add fields, not insert or we break ABI.
12609
12610 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
12611
12612         * win32/common/libgstbase.def:
12613         * win32/common/libgstreamer.def:
12614           Update, add recently added functions.
12615
12616 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
12617
12618         * docs/gst/gstreamer-sections.txt:
12619         * gst/gstutils.c: (gst_pad_query_peer_position),
12620         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
12621         * gst/gstutils.h:
12622           API: add some new utility functions:
12623            - gst_pad_query_peer_position()
12624            - gst_pad_query_peer_duration()
12625            - gst_pad_query_peer_convert()
12626           
12627 2006-03-23  Wim Taymans  <wim@fluendo.com>
12628
12629         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
12630         (gst_base_sink_init), (gst_base_sink_finalize),
12631         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
12632         (gst_base_sink_set_property), (gst_base_sink_get_property),
12633         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
12634         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
12635         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
12636         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
12637         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
12638         (gst_base_sink_preroll_object), (gst_base_sink_event),
12639         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
12640         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
12641         (gst_base_sink_query), (gst_base_sink_change_state):
12642         Decouple max-lateness and the fact that QoS messages are generated
12643         with a new property (qos).
12644         added API: GstBaseSink::async_play()
12645         Add vmethod so subclasses can be notified of ASYNC playing
12646         state changes.
12647         Collect timestamp start and stop to report better current
12648         position in EOS/PLAYING/PAUSED/READY/NULL.
12649         Refactor QoS/frame dropping and other measurements.
12650         API: GstBaseSrc::qos
12651         Fixes #326311
12652
12653         * libs/gst/base/gstbasesink.h:
12654         Added Private struct.
12655         API: gst_base_sink_set_qos_enabled()
12656         API: gst_base_sink_is_qos_enabled()
12657
12658 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
12659
12660         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
12661           If compiling against GLib-2.8 or newer, try to read the
12662           registry file using GMappedFile first before falling back
12663           to fopen() + fread() (#332151).
12664
12665 2006-03-22  Wim Taymans  <wim@fluendo.com>
12666
12667         * gst/gstinfo.c: (gst_debug_set_active),
12668         (gst_debug_category_set_threshold):
12669         Disable debugging unless explicitly activated.
12670         Fixes #335480.
12671
12672 2006-03-22  Wim Taymans  <wim@fluendo.com>
12673
12674         * gst/gstelement.c: (gst_element_set_locked_state),
12675         (gst_element_dispose):
12676         Cleanup the error case.
12677
12678         * gst/gstobject.c: (gst_object_dispose):
12679         print a critical when some object was disposed with
12680         a parent, also revive the object since it might
12681         crash the parent.
12682
12683 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
12684
12685         * tools/gst-launch.1.in:
12686           Fix another typo.
12687
12688 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12689
12690         * configure.ac:
12691         * tests/check/Makefile.am:
12692           disable some tests when we don't have a registry
12693         * tests/check/gst/gstutils.c: (gst_utils_suite):
12694           don't build the part that needs parsing
12695
12696 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12697
12698         * gst/Makefile.am
12699         * tests/examples/Makefile.am:
12700           fix --disable-parse build
12701
12702 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12703
12704         * tools/gst-feedback.1.in:
12705           Fix typo: s/feeback/feedback/ (#133494).
12706
12707 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12708
12709         * tools/Makefile.am:
12710         * tools/gst-launch.1.in:
12711           Add FILES section and correct entry about GST_REGISTRY_PATH
12712           environment variable (#133495; #133494).
12713
12714 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12715
12716         * tools/Makefile.am:
12717         * tools/gst-md5sum.1.in:
12718         * tools/gst-md5sum.c:
12719           Remove gst-md5sum and man page (the md5sink element
12720           required was removed ages ago)
12721
12722 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12723
12724         * gst/gststructure.c: (gst_structure_id_set_value):
12725           Make sure that string fields in structures/taglists
12726           contain valid UTF-8 - we don't want to pass rubbish to
12727           applications because of a buggy plugin (cp. #334167).
12728
12729 2006-03-21  Edward Hervey  <edward@fluendo.com>
12730
12731         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12732         (gst_bin_handle_message_func):
12733         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
12734         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
12735         (gst_element_set_bus_func):
12736         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
12737         * gst/gstminiobject.c: (gst_value_set_mini_object),
12738         (gst_value_take_mini_object):
12739         * gst/gstpad.c: (gst_pad_set_pad_template):
12740         * gst/gstpipeline.c: (gst_pipeline_dispose),
12741         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
12742         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
12743         (gst_collect_pads_chain):
12744         * libs/gst/net/gstnettimeprovider.c:
12745         (gst_net_time_provider_set_property):
12746         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
12747         It's in fact all issues with gst_*object_replace().
12748
12749 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
12750
12751         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
12752         
12753         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12754         * pkgconfig/gstreamer-check.pc.in:
12755           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
12756
12757 2006-03-21  Edward Hervey  <edward@fluendo.com>
12758
12759         * gst/gstbuffer.h:
12760         * gst/gstevent.h:
12761         * gst/gstmessage.h:
12762         gst_[buffer|event|message]_ref() macros are replaced by a static
12763         inline functions because gcc-4.1 will about if the return value
12764         isn't used.
12765         * tests/check/gst/gstevent.c: (event_probe):
12766         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
12767
12768 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
12769
12770         * gst/gstutils.h:
12771         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
12772         the type' case. (Closes: #335195 for now). In the future, when we
12773         depend on GLib 2.10, we could also intern the type name using
12774         g_intern_static_string()
12775
12776 2006-03-20  Wim Taymans  <wim@fluendo.com>
12777
12778         * gst/gstbin.c: (gst_bin_handle_message_func),
12779         (bin_query_max_init), (bin_query_position_fold),
12780         (bin_query_position_done), (gst_bin_query):
12781         Position query should also take max of all streams.
12782
12783 2006-03-20  Wim Taymans  <wim@fluendo.com>
12784
12785         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
12786         (gst_fake_src_finalize):
12787         Fix leaks in fakesrc.
12788
12789         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12790         Fix leaks in the testcase.
12791
12792 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
12793
12794         * gst/gst_private.h:
12795           add win32 specific import decoration(__declspec(dllimport)) 
12796           for all extern GstDebugCategory * variables
12797         * win32/common/libgstbase.def:
12798         * win32/common/libgstcontroller.def:
12799         * win32/common/libgstreamer.def:
12800           Add some exports, remove empty lines
12801         * win32/common/libgstdataprotocol.def:
12802         * win32/common/libgstdataprotocol.dsp:
12803         * win32/common/libgstnet.def:
12804         * win32/common/libgstnet.dsp:
12805           new project files and exportation files added
12806         
12807 2006-03-19  Wim Taymans  <wim@fluendo.com>
12808
12809         * tests/check/libs/basesrc.c: (eos_event_counter):
12810         Use proper return value for probe.
12811
12812 2006-03-17  Wim Taymans  <wim@fluendo.com>
12813
12814         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
12815         (gst_pad_push):
12816         Don't leak buffers, caps and pads on negotiation errors.
12817
12818 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
12819
12820         * docs/faq/cvs.xml:
12821         * docs/faq/dependencies.xml:
12822         * docs/faq/developing.xml:
12823         * docs/faq/faq.xml:
12824         * docs/faq/general.xml:
12825         * docs/faq/getting.xml:
12826         * docs/faq/legal.xml:
12827         * docs/faq/troubleshooting.xml:
12828         * docs/faq/using.xml:
12829         Faq review and update.
12830
12831 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
12832
12833         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
12834         (gst_pad_push):
12835         Don't pound the cpu to pieces by checking get_caps when accept_caps
12836         is called with the same caps as the pad already has.
12837         Use GST_DEBUG_OBJECT when outputting caps change information.
12838
12839 2006-03-15  Wim Taymans  <wim@fluendo.com>
12840
12841         * gst/gstclock.c: (gst_clock_class_init):
12842         Fix docs.
12843
12844 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
12845
12846         * gst/gstbuffer.h:
12847         Documentation fix.
12848
12849         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
12850         (gst_pad_accept_caps), (gst_pad_configure_sink),
12851         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
12852         Make the default acceptcaps behaviour be to check the requested 
12853         caps against the gst_pad_get_caps output. 
12854
12855         Ensure that gst_pad_accept_caps is used to check caps when a pad
12856         doesn't have a setcaps function, so that pads automatically refuse 
12857         caps that they don't allow in their pad template. (Fixes #332986)
12858
12859         When a buffer with attached caps is pushed, ensure that the source 
12860         pad receives those caps even if the element didn't call
12861         gst_pad_set_caps first.
12862
12863 2006-03-15  Wim Taymans  <wim@fluendo.com>
12864
12865         * libs/gst/base/gstadapter.c:
12866         Add some docs.
12867
12868 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
12869
12870         * win32/common/libgstbase.def:
12871         * win32/common/libgstcontroller.def:
12872         * win32/common/libgstreamer.def:
12873           Add a whole bunch of missing functions (#334434).
12874
12875 2006-03-14  Wim Taymans  <wim@fluendo.com>
12876
12877         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
12878         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
12879         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
12880         Better debug info when we receive a segment event.
12881         Reorganize a bit so we can pass the get_times() results around.
12882         Use the segment format when calculating the running time.
12883         Don't do QoS is sync is disabled or we have no clock or the
12884         element does not want us to sync to the clock.
12885         Don't drop buffers if QoS is disabled for now.
12886
12887 2006-03-14  Wim Taymans  <wim@fluendo.com>
12888
12889         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
12890         Marked the stats property as unimplemented so people don't get
12891         wild ideas.
12892         Add debug message when regression goes wrong.
12893         Added some more docs.
12894
12895 2006-03-14  Wim Taymans  <wim@fluendo.com>
12896
12897         * gst/gstsegment.c: (gst_segment_to_stream_time):
12898         Return correct return type in case of errors.
12899
12900 2006-03-14  Wim Taymans  <wim@fluendo.com>
12901
12902         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
12903           Don't segfault on invalid formats.
12904
12905 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
12906
12907         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12908           Can't use gst_segment_to_running_time() when the segment
12909           is not in GST_TIME_FORMAT (like with filesink, for example).
12910           Stops flac encoding pipelines from spewing critical warnings
12911           at EOS (#331248).
12912           
12913 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
12914
12915         * gst/gstpipeline.c: (gst_pipeline_class_init):
12916           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
12917
12918         * plugins/elements/gsttypefindelement.c:
12919         (gst_type_find_element_handle_event):
12920           Don't try to typefind empty streams.
12921
12922 2006-03-14  Wim Taymans  <wim@fluendo.com>
12923
12924         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
12925         (gst_base_sink_do_qos):
12926         Separate QoS calculation.
12927         Only drop buffers when lateness is bigger than the 
12928         duration of the buffer.
12929
12930 2006-03-13  Wim Taymans  <wim@fluendo.com>
12931
12932         * gst/gstpipeline.c: (gst_pipeline_set_property),
12933         (gst_pipeline_get_property), (do_pipeline_seek),
12934         (gst_pipeline_change_state), (gst_pipeline_set_delay),
12935         (gst_pipeline_get_delay):
12936         Don't deadlock when reading properties.
12937
12938 2006-03-13  Wim Taymans  <wim@fluendo.com>
12939
12940         * libs/gst/base/gstbasetransform.c:
12941         (gst_base_transform_class_init), (gst_base_transform_init),
12942         (gst_base_transform_sink_event),
12943         (gst_base_transform_sink_eventfunc),
12944         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
12945         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
12946         (gst_base_transform_set_property),
12947         (gst_base_transform_get_property),
12948         (gst_base_transform_change_state), (gst_base_transform_update_qos),
12949         (gst_base_transform_set_qos_enabled),
12950         (gst_base_transform_is_qos_enabled):
12951         * libs/gst/base/gstbasetransform.h:
12952         Make basetransform virtual method for src events too.
12953         Handle QOS in basetransform.
12954         API: gst_base_transform_update_qos()
12955         API: gst_base_transform_set_qos_enabled()
12956         API: gst_base_transform_is_qos_enabled()
12957
12958 2006-03-13  Wim Taymans  <wim@fluendo.com>
12959
12960         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
12961         (gst_base_sink_do_sync):
12962         Small cleanups.
12963         Use QOS debug category.
12964
12965 2006-03-13  Wim Taymans  <wim@fluendo.com>
12966
12967         * plugins/elements/gstqueue.c:
12968         Very small doc update.
12969
12970 2006-03-13  Wim Taymans  <wim@fluendo.com>
12971
12972         * gst/gst_private.h:
12973         * gst/gstinfo.c: (_gst_debug_init):
12974         Added QOS debug category
12975
12976 2006-03-13  Wim Taymans  <wim@fluendo.com>
12977
12978         * docs/gst/gstreamer-sections.txt:
12979         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
12980         * gst/gstbin.h:
12981         * gst/gstbus.c: (gst_bus_class_init):
12982         * gst/gstbus.h:
12983         * gst/gstclock.c:
12984         * gst/gstelement.c: (gst_element_set_locked_state):
12985         * gst/gstsegment.c:
12986         Documentation updates.
12987
12988         * gst/gstpipeline.c: (gst_pipeline_get_type),
12989         (gst_pipeline_class_init), (gst_pipeline_init),
12990         (gst_pipeline_dispose), (gst_pipeline_set_property),
12991         (gst_pipeline_get_property), (do_pipeline_seek),
12992         (gst_pipeline_send_event), (gst_pipeline_change_state),
12993         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
12994         (gst_pipeline_get_delay):
12995         * gst/gstpipeline.h:
12996         Added methods for setting the delay.
12997         API: gst_pipeline_set_delay()
12998         API: gst_pipeline_get_delay()
12999         Add pipeline debug category
13000         Various cleanups.
13001         Updated docs.
13002         Don't reset stream time when seek failed.
13003
13004 2006-03-13  Wim Taymans  <wim@fluendo.com>
13005
13006         * docs/design/draft-klass.txt:
13007         * docs/design/part-clocks.txt:
13008         * docs/design/part-events.txt:
13009         * docs/design/part-gstbin.txt:
13010         * docs/design/part-gstpipeline.txt:
13011         * docs/design/part-messages.txt:
13012         * docs/design/part-negotiation.txt:
13013         * docs/design/part-overview.txt:
13014         * docs/design/part-preroll.txt:
13015         * docs/design/part-seeking.txt:
13016         * docs/design/part-states.txt:
13017         * docs/design/part-streams.txt:
13018         Documentation updates.
13019
13020 2006-03-12  Julien MOUTTE  <julien@moutte.net>
13021
13022         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
13023         us to leak strings...
13024
13025 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13026
13027         * libs/gst/net/gstnettimeprovider.c:
13028           fix docs
13029         * win32/common/config.h:
13030           update
13031
13032 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
13033
13034         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
13035
13036         * configure.ac:
13037           Don't check for libgnomeui (leftover from old examples
13038           that aren't built or disted any longer) (#334303).
13039           
13040 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
13041
13042         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
13043         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
13044           Emit RESOURCE_NO_SPACE_LEFT error here as well when
13045           there's no space left on the device.
13046
13047 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
13048
13049         * gst/gstclock.h:
13050           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
13051           to cast the input to GstClockTime before comparing with
13052           another GstClockTime value.
13053
13054 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13055
13056         * configure.ac:
13057           back to trunk
13058
13059 === release 0.10.4 ===
13060
13061 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
13062
13063         * configure.ac:
13064           releasing 0.10.4, "Light"
13065
13066 2006-03-10  Michael Smith  <msmith@fluendo.com>
13067
13068         * libs/gst/dataprotocol/dataprotocol.c:
13069           Fix docs for dataprocotol to not get the return types completely
13070           wrong for a few functions.
13071
13072 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
13073
13074         * docs/gst/gstreamer-sections.txt:
13075         * gst/gstpipeline.c: (gst_pipeline_class_init),
13076         (gst_pipeline_init), (gst_pipeline_set_property),
13077         (gst_pipeline_get_property), (gst_pipeline_change_state),
13078         (gst_pipeline_set_auto_flush_bus),
13079         (gst_pipeline_get_auto_flush_bus):
13080         * gst/gstpipeline.h:
13081           Add new API: gst_pipeline_set_auto_flush_bus() and
13082           gst_pipeline_get_auto_flush_bus() to disable automatic
13083           flushing of the pipeline's GstBus when going from READY
13084           to NULL state (#332045).
13085
13086 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
13087
13088         * docs/gst/gstreamer-sections.txt:
13089         * gst/gsturi.c: (gst_uri_has_protocol):
13090         * gst/gsturi.h:
13091            Add new API: gst_uri_has_protocol() (#333779).
13092
13093 2006-03-09  Wim Taymans  <wim@fluendo.com>
13094
13095         * gst/gstclock.c: (gst_clock_entry_new),
13096         (gst_clock_id_compare_func), (gst_clock_id_wait),
13097         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
13098         (gst_clock_init), (gst_clock_get_internal_time),
13099         (gst_clock_set_master), (do_linear_regression),
13100         (gst_clock_add_observation), (gst_clock_set_property):
13101         * gst/gstclock.h:
13102         Review docs.
13103         Small cleanups.
13104         Fix a possible segfault when the window-size is made smaller.
13105         Calculate jitter before performing the clock wait. Ideally
13106         the clock implementation should calculate jitter but we need
13107         API breakage for that.
13108
13109         * gst/gstsystemclock.c: (gst_system_clock_init):
13110         Docs review.
13111         
13112         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13113         Remove leftover else
13114
13115         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
13116         (gst_systemclock_suite):
13117         Added check to test GST_CLOCK_DIFF.
13118
13119 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
13120
13121         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
13122         (gst_type_find_helper_get_range):
13123           If we are provided with the size, we should implement
13124           GstTypeFind::get_length, so that typefind functions who
13125           want to can actually peek at the middle of a file.
13126
13127 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
13128
13129         * docs/manual/advanced-dataaccess.xml:
13130           Add some very very basic error checking.
13131
13132         * docs/pwg/appendix-checklist.xml:
13133           Some updates to the list of things to check when writing an element.
13134
13135 2006-03-08  Wim Taymans  <wim@fluendo.com>
13136
13137         * docs/design/part-element-transform.txt:
13138         Added some docs about the design of tranform elements.
13139
13140         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
13141         (gst_base_src_loop), (gst_base_src_change_state):
13142         Mark buffers with the DISCONT flag.
13143
13144 2006-03-08  Michael Smith  <msmith@fluendo.com>
13145
13146         * gst/gstregistry.h:
13147         * gst/gstregistryxml.c: (gst_registry_save),
13148         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
13149         (gst_registry_xml_save_pad_template),
13150         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
13151         (gst_registry_xml_write_cache):
13152           Rewrite registry-saving to avoid race conditions and check for
13153           failed writes.
13154
13155 2006-03-08  Wim Taymans  <wim@fluendo.com>
13156
13157         * libs/gst/base/gstbasetransform.c:
13158         (gst_base_transform_transform_caps),
13159         (gst_base_transform_transform_size),
13160         (gst_base_transform_prepare_output_buffer),
13161         (gst_base_transform_get_unit_size),
13162         (gst_base_transform_buffer_alloc),
13163         (gst_base_transform_handle_buffer),
13164         (gst_base_transform_change_state):
13165         Cleanups, separate normal flow from errors, add sensible
13166         DEBUG lines.
13167         Don't try to renegotiate when allocating an output buffer.
13168         Also copy DISCONT buffer flag when copying a buffer.
13169         Reset the transform after we finish streaming, not during.
13170
13171 2006-03-08  Wim Taymans  <wim@fluendo.com>
13172
13173         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13174         Use last buffer timestamp in qos message.
13175
13176 2006-03-07  Wim Taymans  <wim@fluendo.com>
13177
13178         Patch by: Christophe Fergeau
13179
13180         * docs/pwg/advanced-tagging.xml:
13181         * docs/pwg/building-pads.xml:
13182           fixes #333416
13183
13184 2006-03-07  Wim Taymans  <wim@fluendo.com>
13185
13186         * docs/libs/gstreamer-libs-sections.txt:
13187         Added basesink new methods.
13188
13189         * gst/gstevent.c:
13190         * gst/gstevent.h:
13191         Docs updates. Flesh out the QoS docs.
13192
13193         * libs/gst/base/gstadapter.c:
13194         Small doc clarification about ownership and flushing.
13195
13196         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
13197         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
13198         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
13199         (gst_base_sink_get_property), (gst_base_sink_do_sync):
13200         * libs/gst/base/gstbasesink.h:
13201         API additions: 
13202         Added new methods to allow subclass to control max-lateness 
13203         and sync.
13204         Generate very basic QoS events based on last sync observation.
13205         Updated docs, fix typo, added some QoS blurb.
13206
13207         * libs/gst/base/gstbasesrc.c:
13208         Remove obsolete _get_state() calls from docs.
13209
13210 2006-03-07  Wim Taymans  <wim@fluendo.com>
13211
13212         * docs/libs/gstreamer-libs-sections.txt:
13213         * libs/gst/base/gstbasetransform.h:
13214         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
13215         Fix docs for GstBaseSrc.
13216
13217 2006-03-07  Wim Taymans  <wim@fluendo.com>
13218
13219         * docs/gst/gstreamer-sections.txt:
13220         * gst/gstbuffer.h:
13221         * gst/gstvalue.c:
13222         * libs/gst/base/gstbasetransform.h:
13223         Small documentation fixes.
13224
13225 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
13226
13227         * gst/gstvalue.c:
13228           Document thread-unsafety of gst_value_register_foo_func()
13229           when used at the same time as gst_value_foo() (#322628).
13230
13231 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
13232
13233         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
13234         (gst_push_src_check_get_range):
13235           Push sources don't support pull mode by default.
13236
13237 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
13238
13239         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13240         (gst_base_src_init), (gst_base_src_pad_check_get_range),
13241         (gst_base_src_default_check_get_range):
13242         * libs/gst/base/gstbasesrc.h:
13243           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
13244           provide default implementation, and rename
13245           gst_base_src_check_get_range() to
13246           gst_base_src_pad_check_get_range() for clarity.
13247
13248 2006-03-06  Wim Taymans  <wim@fluendo.com>
13249
13250         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
13251         Make property overridable.
13252
13253 2006-03-06  Wim Taymans  <wim@fluendo.com>
13254
13255         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
13256         (gst_base_sink_init), (gst_base_sink_set_property),
13257         (gst_base_sink_get_property), (gst_base_sink_do_sync):
13258         * libs/gst/base/gstbasesink.h:
13259         API addition: Make max-lateness a property.
13260
13261 2006-03-06  Wim Taymans  <wim@fluendo.com>
13262
13263         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
13264         (gst_base_sink_do_sync), (gst_base_sink_render_object):
13265         Don't ever draw a frame that is >10ms late.
13266
13267 2006-03-06  Michael Smith  <msmith@fluendo.com>
13268
13269         * gst/gstmessage.c: (_gst_message_copy):
13270           When copying a message, set the parent_refcount of the enclosed
13271           structure to point at the copy, not the original message.
13272
13273 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
13274
13275         Patch by: Christophe Fergeau
13276
13277         * gst/gstutils.h:
13278           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
13279           usable in c++ code (#333417)
13280
13281 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
13282
13283         * gst/gstclock.h:
13284           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
13285
13286 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
13287
13288         * libs/gst/base/gstbasetransform.c:
13289         (gst_base_transform_transform_caps):
13290           Make sure caps are writable before passing them to
13291           gst_caps_append().
13292
13293 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
13294
13295         * gst/gsterror.h:
13296           Fix some minor docs errors.
13297
13298 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
13299
13300           Patch by: Ross Burton <ross at burtonini dot com>
13301
13302         * gst/gsterror.c: (_gst_resource_errors_init):
13303         * gst/gsterror.h:
13304           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
13305
13306 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
13307
13308         * gst/gst.c:
13309         Add a check and output a g_warning when GStreamer is built
13310         against GLib 2.6 but running against 2.8 or higher, and vice 
13311         versa. (Closes: #323542)
13312
13313 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
13314
13315         * gst/parse/parse.l:
13316           Commit patch for parse_launch syntax from #331255. Removes 
13317           support for quoted strings and mimetypes when writing filtered 
13318           caps. See the bug report for more details - I'm pretty sure this
13319           obscure feature is not in use by _anyone_ anywhere.
13320
13321           With this simple change, the size of the gstreamer.so here 
13322           drops from 2193KB to 1565KB.
13323
13324 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
13325
13326         * plugins/elements/gsttypefindelement.h:
13327         * plugins/elements/gsttypefindelement.c:
13328         (gst_type_find_element_src_event), (start_typefinding),
13329         (stop_typefinding), (gst_type_find_element_handle_event),
13330         (gst_type_find_element_chain),
13331         (gst_type_find_element_chain_do_typefinding):
13332           Use gst_type_find_helper_for_buffer() for chain-based
13333           typefinding.
13334
13335 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
13336
13337         * plugins/elements/gsttypefindelement.c:
13338         (gst_type_find_element_class_init),
13339         (gst_type_find_element_set_property),
13340         (gst_type_find_element_get_property):
13341           Deprecate "maximum" property (not only was it only taken into
13342           account for typefinding in push-mode anyway, it also was never
13343           actually possible to set it in the first place because the
13344           property was registered with the numeric property ID for the
13345           "minimum" property). Register "maximum" property correctly,
13346           for the sake of future copy'n'pasters. Remove some cruft
13347           from property get/set functions.
13348
13349 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
13350
13351         * plugins/elements/gsttypefindelement.c:
13352         (gst_type_find_element_activate):
13353           Use gst_type_find_helper_get_range() here, so we
13354           can honour the "minimum" property and also emit
13355           the signal with the correct probability of the found caps.
13356
13357 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
13358
13359         * docs/libs/gstreamer-libs-sections.txt:
13360         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
13361         (helper_find_suggest), (gst_type_find_helper_get_range),
13362         (gst_type_find_helper):
13363         * libs/gst/base/gsttypefindhelper.h:
13364           New API: gst_type_find_helper_get_range() (#333042).
13365
13366 2006-03-02  Michael Smith  <msmith@fluendo.com>
13367
13368         * gst/gstregistryxml.c: (load_feature):
13369           Asserting on a failure to read part of the registry is Not Cool.
13370           Just log a warning and return NULL (which is already handled)
13371
13372 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
13373
13374         * win32/common/libgstbase.def:
13375           added export of gst_type_find_helper_for_buffer
13376         * win32/common/libgstbase.def:
13377           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
13378           gst_ghost_pad_get_target
13379
13380 2006-02-28  Wim Taymans  <wim@fluendo.com>
13381
13382         * docs/design/draft-klass.txt:
13383         We use Filter now.
13384         Added Connector to mark elements that are only used to
13385         allow pipeline connections.
13386         Moved Debug to extra feature since most of them are 
13387         functionally something else.
13388
13389 2006-02-28  Wim Taymans  <wim@fluendo.com>
13390
13391         * docs/design/draft-klass.txt:
13392         Some updates and clarifications.
13393
13394 2006-02-28  Wim Taymans  <wim@fluendo.com>
13395
13396         * docs/design/draft-klass.txt:
13397         Proposal for klass field values.
13398
13399         * docs/design/part-streams.txt:
13400         Start of a doc describing stream anatomy.
13401
13402 2006-02-28  Wim Taymans  <wim@fluendo.com>
13403
13404         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
13405         Help the compiler a bit with type registration.
13406         Use existing forward cod path instead of duplicating it when 
13407         handling a message.
13408         
13409         * gst/gstbus.c: (gst_bus_get_type):
13410         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
13411         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
13412         * gst/gstclock.c: (gst_clock_get_type):
13413         * gst/gstelement.c: (gst_element_get_type),
13414         * gst/gstelementfactory.c: (gst_element_factory_get_type):
13415         * gst/gstindexfactory.c: (gst_index_factory_get_type):
13416         * gst/gstminiobject.c: (gst_mini_object_get_type):
13417         * gst/gstpad.c: (gst_pad_get_type):
13418         * gst/gstsegment.c: (gst_segment_get_type):
13419         * gst/gststructure.c: (gst_structure_get_type):
13420         * gst/gstsystemclock.c: (gst_system_clock_get_type):
13421         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
13422         * gst/gstvalue.c:
13423         Help compiler with type registration.
13424
13425         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
13426         Small doc update.
13427
13428 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13429
13430         * plugins/elements/gsttypefindelement.c:
13431         (gst_type_find_element_handle_event):
13432           When we get an EOS event and have not found a type yet
13433           (most likely because we had not yet accumulated
13434           TYPE_FIND_MIN_SIZE of data yet), try to determine the
13435           type given the data we have so far. Fixes typefinding
13436           for very short streams again, most notably quicktime
13437           redirections as used on Apple's trailer site (#331701).
13438
13439 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13440
13441         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
13442         (gst_type_find_helper):
13443           Try typefinding factories with the highest rank first.
13444
13445 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13446
13447         * docs/libs/gstreamer-libs-docs.sgml:
13448         * docs/libs/gstreamer-libs-sections.txt:
13449         * libs/gst/base/gsttypefindhelper.c:
13450           Add section for typefind helper and add documentation
13451           for the old and the new function.
13452
13453 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13454
13455         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
13456         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
13457         (gst_type_find_helper_for_buffer):
13458         * libs/gst/base/gsttypefindhelper.h:
13459           New API: gst_type_find_helper_for_buffer() (#332723).
13460           
13461 2006-02-27  Michael Smith  <msmith@fluendo.com>
13462
13463         Patch by: Loïc Minier
13464
13465         * configure.ac:
13466         * docs/Makefile.am:
13467         * docs/slides/Makefile.am:
13468           prevent CVS directories getting disted.
13469
13470 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
13471
13472         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
13473           Use the REFCOUNTING category for caps refcounting.
13474           
13475 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
13476
13477         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
13478           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
13479
13480 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
13481
13482         * plugins/elements/gsttypefindelement.c:
13483         (gst_type_find_element_activate):
13484           Use gst_pad_check_pull_range() before _activate_pull()
13485           to avoid unnecessary open/close (see #331690).
13486
13487 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
13488
13489         * gst/gstutils.c:
13490           Docs enhancement: make it crystal clear what the
13491           gst_pad_add_*_probe() callbacks should look like.
13492
13493 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
13494
13495         * libs/gst/base/gstbasesrc.c:
13496           Document how applications can stop recording from
13497           live sources (see #330996).
13498
13499 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13500
13501         * tests/check/Makefile.am:
13502         * tests/check/libs/basesrc.c: (eos_event_counter),
13503         (basesrc_eos_events_pull), (basesrc_eos_events_push),
13504         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
13505         (gst_basesrc_suite), (main):
13506           ... and add some tests for the base source EOS stuff.
13507
13508 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13509
13510         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
13511           Test case originally showed the problem fixed below,
13512           but was then amended. Add checks back at the place
13513           where they used to be.
13514
13515 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13516
13517         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13518         (gst_base_src_init), (gst_base_src_loop),
13519         (gst_base_src_activate_push), (gst_base_src_activate_pull),
13520         (gst_base_src_change_state):
13521         * libs/gst/base/gstbasesrc.h:
13522           Don't unconditionally send EOS when going from PAUSED to
13523           READY state, esp. make sure we don't send two EOS events
13524           in some cases (e.g. one when reaching EOS and one when
13525           going from PAUSED to READY). Also, we don't want to send
13526           EOS events when operating in pull mode. However, we do
13527           want to send an EOS event when shutting down a live
13528           source explicitly, for example (fixes #330996).
13529           
13530 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
13531
13532         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13533           Update src->read_position after a seek when not using mmap.
13534           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
13535
13536 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
13537
13538         * gst/Makefile.am:
13539         * gst/gstparse.h:
13540         * gst/gstutils.c:
13541         * gst/gstutils.h:
13542         Make things work with --disable-parse as they do with 
13543         --disable-load-save - the symbols involved disappear, but the
13544         header is still installed and GST_DISABLE_PARSE is included via
13545         gstconfig.h
13546
13547 2006-02-20  Julien MOUTTE  <julien@moutte.net>
13548
13549         * libs/gst/base/gstbasetransform.c:
13550         (gst_base_transform_change_state): Fix a stupid bug. I was 
13551         sure I compiled that.
13552
13553 2006-02-20  Julien MOUTTE  <julien@moutte.net>
13554
13555         * gst/gstpad.c: (gst_pad_set_blocked_async):
13556         * gst/gstutils.c: (gst_pad_add_data_probe),
13557         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13558         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13559         (gst_pad_remove_buffer_probe): Make those function act on the
13560         ghostpad target when it's a ghostpad. (Closes #331727)
13561
13562 2006-02-20  Julien MOUTTE  <julien@moutte.net>
13563
13564         * libs/gst/base/gstbasetransform.c:
13565         (gst_base_transform_change_state): Make basetransform reusable.
13566         (Closes #331898)
13567
13568 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
13569
13570         * docs/random/release:
13571         Move the current documentation of how to do a release to the top
13572         of the file.
13573
13574         * gst/gstbin.c: (gst_bin_class_init),
13575         (gst_bin_handle_message_func):
13576         Allow multiple state-recalculation threads. (Closes #328873)
13577
13578 2006-02-19  Julien MOUTTE  <julien@moutte.net>
13579
13580         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
13581         * gst/gstpad.c: (gst_pad_set_event_function),
13582         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13583         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
13584         2 strings. You can't use the STR_NULL macro on that.
13585
13586 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
13587
13588         * gst/gstpad.c: (gst_pad_set_event_function),
13589         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13590         (gst_pad_set_getcaps_function)
13591         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
13592           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
13593           So now, we can use --gst-debug-level=5 on Windows
13594         * win32/common/libgstcontroller.def:
13595           Added export of gst_controller_init
13596         * win32/vs6/libgstcontroller.dsp:
13597           Fixed Release post build configuration
13598
13599 2006-02-17  Wim Taymans  <wim@fluendo.com>
13600
13601         * tests/check/gst/gstquery.c: (GST_START_TEST):
13602         Added another check.
13603
13604 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
13605
13606         * plugins/elements/gsttypefindelement.c: (find_peek):
13607           We can do peeks at non-zero offsets, as long as they
13608           fall within the buffer we have.
13609
13610 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
13611
13612         * tests/check/Makefile.am:
13613         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
13614         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
13615         (parse_suite), (main):
13616           Add testsuite for parse launch syntax
13617
13618 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
13619
13620         * plugins/elements/gsttypefindelement.c:
13621         (gst_type_find_element_chain):
13622           When typefinding is unsuccessful in the chain function, don't
13623           error out immediately. Only error out with NO_CAPS_FOUND if
13624           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
13625           otherwise simply wait for more data so we can try typefinding
13626           again with more data later. Also, don't attempt to typefind
13627           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
13628           this should improve typefinding from network sources where the
13629           size of the first buffer can be somewhat random.
13630
13631 2006-02-14  Wim Taymans  <wim@fluendo.com>
13632
13633         * docs/gst/gstreamer-sections.txt:
13634         * gst/gstpadtemplate.c:
13635         * gst/gstpadtemplate.h:
13636         Fix padtemplate docs, fixes #328805.
13637
13638 2006-02-14  Wim Taymans  <wim@fluendo.com>
13639
13640         * tools/gst-launch.c: (main):
13641         NO_PREROLL is not an ERROR so don't send confusing messages
13642         to the user.
13643
13644 2006-02-14  Wim Taymans  <wim@fluendo.com>
13645
13646         Patch by: Torsten Schoenfeld
13647
13648         * gst/gstregistry.c: (gst_registry_get_default),
13649         (_gst_registry_cleanup):
13650         Protect default registry with lock and ref/sink it.
13651         Fixes #324818
13652
13653 2006-02-14  Wim Taymans  <wim@fluendo.com>
13654
13655         * gst/gstbuffer.c:
13656         * gst/gstquery.c: (gst_query_list_add_format),
13657         (gst_query_set_formatsv), (gst_query_parse_formats_length),
13658         (gst_query_parse_formats_nth):
13659         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
13660         Docs fixes.
13661
13662 2006-02-14  Wim Taymans  <wim@fluendo.com>
13663
13664         * docs/gst/gstreamer-sections.txt:
13665         Reworked query docs.
13666
13667         * gst/gstquery.c: (gst_query_new_formats),
13668         (gst_query_list_add_format), (gst_query_set_formats),
13669         (gst_query_set_formatsv), (gst_query_parse_formats_length),
13670         (gst_query_parse_formats_nth):
13671         * gst/gstquery.h:
13672         Flesh out formats query, added some new methods.
13673         Fix part of #324398.
13674
13675         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
13676         Added query creation tests.
13677
13678 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
13679
13680         * gst/gstpad.c: (fixate_value):
13681         Add a default fixation for fraction lists.
13682
13683 2006-02-13  Wim Taymans  <wim@fluendo.com>
13684
13685         * gst/gsttask.c: (gst_task_init), (gst_task_func),
13686         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
13687         (gst_task_join):
13688         * gst/gsttask.h:
13689         Detect and warn for obvious deadlocks. fixes #320340
13690         Fix error case where lock was not released.
13691
13692         * tests/check/Makefile.am:
13693         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
13694         (task_func), (gst_element_suite), (main):
13695         Add task check.
13696
13697 2006-02-13  Wim Taymans  <wim@fluendo.com>
13698
13699         * docs/gst/gstreamer-sections.txt:
13700         * gst/gstbus.c:
13701         Add new functions to docs.
13702
13703 2006-02-13  Wim Taymans  <wim@fluendo.com>
13704
13705         * docs/design/part-TODO.txt:
13706         Updated TODO list, basesrc supports seeking to non-bytes
13707         formats.
13708
13709         * docs/design/part-element-sink.txt:
13710         Update docs.
13711
13712         * gst/gstbin.c: (bin_replace_message),
13713         (gst_bin_handle_message_func):
13714         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
13715         * gst/gstevent.c: (gst_event_finalize):
13716         * gst/gstpad.c: (gst_pad_event_default_dispatch),
13717         (gst_pad_send_event):
13718         Use shiny new _TYPE_NAME macros.
13719
13720         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
13721         Move debug statement up.
13722
13723         * gst/gstelement.c: (gst_element_set_locked_state):
13724         Add some debugging.
13725
13726 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
13727
13728         * docs/gst/gstreamer-sections.txt:
13729         * gst/gstmessage.h:
13730         * gst/gstquery.h:
13731           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
13732           macros (#330906). Also, document the already existing
13733           GST_QUERY_TYPE macro.
13734
13735 2006-02-13  Wim Taymans  <wim@fluendo.com>
13736
13737         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
13738         (event_probe), (GST_START_TEST):
13739         Only events up to the pipeline EOS are counted, there are
13740         some more when going to NULL currently which we don't care
13741         about for now.
13742
13743 2006-02-13  Wim Taymans  <wim@fluendo.com>
13744
13745         * gst/gstpad.c: (gst_pad_send_event):
13746         Correctly check flushing and emit probes. fixes #330125
13747
13748 2006-02-10  Andy Wingo  <wingo@pobox.com>
13749
13750         * gst/gstbus.c (gst_bus_class_init): Declare our private data
13751         structure.
13752         (gst_bus_init): Cache the location of the private data in the
13753         instance structure.
13754         (gst_bus_enable_sync_message_emission) 
13755         (gst_bus_disable_sync_message_emission): Implement new public
13756         functions.
13757         (gst_bus_post): Emit the sync-message signal if the user asked for
13758         it. Fixes #330684.
13759
13760         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
13761         location of the bus-private structure.
13762         (gst_bus_enable_sync_message_emission)
13763         (gst_bus_disable_sync_message_emission): API addition
13764
13765 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
13766
13767         Patch by: Vincent Torri
13768
13769         * docs/pwg/building-boiler.xml:
13770         PWG patch from #326800
13771
13772 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
13773
13774         * configure.ac:
13775         * docs/Makefile.am:
13776         * docs/design/Makefile.am:
13777           Dist design docs.
13778
13779 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
13780
13781         * configure.ac:
13782           back to CVS
13783
13784 === release 0.10.3 ===
13785
13786 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
13787
13788         * configure.ac:
13789           releasing 0.10.3, "Like a virgin"
13790
13791 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
13792
13793         * configure.ac:
13794           2nd prerelease of 0.10.3
13795           Bump libtool versioning.
13796
13797 2006-02-07  Andy Wingo  <wingo@pobox.com>
13798
13799         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
13800         update last_stop if we're in TIME format and the timestamp is
13801         valid.
13802
13803         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
13804         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
13805         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
13806         If we get a new newsegment with a different format, adapt
13807         accordingly.
13808
13809         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
13810         of 0. Not a problem, really.
13811
13812         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
13813         warn if sync=true.
13814
13815 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
13816
13817         * configure.ac:
13818           Prelease of 0.10.3
13819
13820 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
13821
13822         * win32/vs7:
13823           project files updated to the default vs7 configuration
13824         * win32/common/libgstbase.def:
13825         * win32/common/libgstreamer.def:
13826           added new symbols,
13827           removed empty lines,
13828           sorted all exported symbols alphabetically
13829         * win32/common/dirent.c:
13830         * win32/common/dirent.h:
13831         * win32/common/gchar.h:
13832           use windows line end.
13833           
13834 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
13835
13836         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
13837           Send EOS event when stopping.
13838
13839 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
13840
13841         * docs/README:
13842           Tell folks what to do if the plugin-foobar.xml file
13843           hasn't been generated for a newly-added plugin.
13844
13845 2006-02-05  Julien MOUTTE  <julien@moutte.net>
13846
13847         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
13848         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
13849         (gst_collect_pads_start), (gst_collect_pads_stop),
13850         (gst_collect_pads_event): Collectpads now holds a reference
13851         to the GstPad that was added. Indeed we don't want to look
13852         at pads that might just go away with no warning...
13853
13854 2006-02-05  Julien MOUTTE  <julien@moutte.net>
13855
13856         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
13857         (gst_collect_pads_start), (gst_collect_pads_stop),
13858         (gst_collect_pads_event), (gst_collect_pads_chain):
13859         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
13860         Mark Nauwelaerts's patch on bug #328491.
13861
13862 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
13863
13864         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
13865         (gst_utils_suite):
13866           Add some simple tests for gst_parse_bin_from_description() and
13867           gst_bin_find_unconnected_pad() (#329069).
13868
13869 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
13870
13871         * tools/gst-launch.c: (event_loop), (main):
13872           Catch errors during preroll (#320084).
13873
13874 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
13875
13876         * plugins/elements/gsttypefindelement.c:
13877         (gst_type_find_element_activate):
13878           Post TYPE_NOT_FOUND error message when typefinding
13879           is unsuccessful in the activate function as well.
13880
13881 2006-02-02  Wim Taymans  <wim@fluendo.com>
13882
13883         * docs/design/part-element-sink.txt:
13884         Updated doc.
13885
13886 2006-02-02  Wim Taymans  <wim@fluendo.com>
13887
13888         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
13889         (gst_base_sink_render_object),
13890         (gst_base_sink_queue_object_unlocked):
13891         Only keep track of prerollable items when we are 
13892         prerolling.
13893         Before rendering after preroll, always check if we
13894         have queued items.
13895         Added some more debugging.
13896
13897 2006-02-02  Wim Taymans  <wim@fluendo.com>
13898
13899         * gst/gstelement.c: (gst_element_continue_state),
13900         (gst_element_set_state_func), (gst_element_change_state):
13901         Fixed #326576, been running this for quite some time with
13902         no regressions at all.
13903
13904 2006-02-02  Wim Taymans  <wim@fluendo.com>
13905
13906         * common/gst.supp:
13907         Added more suppressions
13908
13909 2006-02-02  Wim Taymans  <wim@fluendo.com>
13910
13911         * docs/design/part-element-sink.txt:
13912         Updated document.
13913
13914         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
13915         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
13916         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
13917         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
13918         (gst_base_sink_do_sync), (gst_base_sink_render_object),
13919         (gst_base_sink_preroll_object),
13920         (gst_base_sink_queue_object_unlocked),
13921         (gst_base_sink_queue_object), (gst_base_sink_event),
13922         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
13923         (gst_base_sink_loop), (gst_base_sink_activate_pull),
13924         (gst_base_sink_get_position), (gst_base_sink_change_state):
13925         * libs/gst/base/gstbasesink.h:
13926         Totally refactored matching the design doc.
13927         Use two segments, one to clip incomming buffers and another to
13928         perform sync.
13929         Handle queueing correctly, bypass the queue when playing.
13930         Make EOS cancelable.
13931         Handle errors correctly when operating in pull based mode.
13932
13933         * tests/check/elements/fakesink.c: (GST_START_TEST),
13934         (fakesink_suite):
13935         Added new check for sinks.
13936
13937 2006-02-02  Wim Taymans  <wim@fluendo.com>
13938
13939         * gst/gstsegment.c: (gst_segment_clip):
13940         No reason to refuse to clip when start == -1
13941
13942 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
13943
13944         * docs/README:
13945         * docs/manual/intro-basics.xml:
13946         * docs/manual/intro-preface.xml:
13947         * docs/manual/manual.xml:
13948         * docs/pwg/advanced-dparams.xml:
13949         * docs/pwg/intro-basics.xml:
13950         * docs/pwg/intro-preface.xml:
13951         * docs/pwg/pwg.xml:
13952           describe dparams (controller) for plugins
13953           unify docs a little more
13954
13955 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
13956
13957         * docs/gst/gstreamer-sections.txt:
13958         * gst/gstutils.c: (element_find_unconnected_pad),
13959         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
13960         * gst/gstutils.h:
13961           Add new API: gst_parse_bin_from_description() and
13962           gst_bin_find_unconnected_pad() (#329069).
13963
13964 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
13965
13966         * docs/manual/README:
13967           uncover a nasty detail of the docs build
13968
13969 2006-01-31  Wim Taymans  <wim@fluendo.com>
13970
13971         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
13972         Don't cache duration messages if we're not going to use or
13973         free them.
13974
13975 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
13976
13977         * docs/manual/advanced-dparams.xml:
13978         * docs/pwg/advanced-dparams.xml:
13979           more dparam docs
13980         * gst/gstindex.c:
13981           fix docs
13982         * libs/gst/controller/lib.c: (gst_controller_init):
13983           init just once
13984
13985 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
13986
13987         * gst/gstelement.c: (gst_element_message_full):
13988           also show file/line/func if no additional debug was given
13989
13990 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
13991         
13992         * win32/vs7/grammar.vcproj:
13993           activate copy of autogenerated files for Release mode
13994
13995 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
13996         
13997         * win32/common/libgstreamer.def:
13998           export gst_value_compare
13999
14000 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
14001
14002         * plugins/elements/Makefile.am:
14003         * plugins/elements/gstelements.c:
14004         * plugins/elements/gstfdsink.c: (_do_init),
14005         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
14006         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
14007         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
14008         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
14009         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
14010         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
14011         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
14012         * plugins/elements/gstfdsink.h:
14013         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
14014
14015 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
14016
14017         * docs/manual/advanced-dparams.xml:
14018           describe controller
14019         * docs/manual/advanced-position.xml:
14020         * docs/manual/basics-init.xml:
14021         * docs/manual/manual.xml:
14022         * docs/manual/titlepage.xml:
14023         * docs/pwg/pwg.xml:
14024         * docs/pwg/titlepage.xml:
14025           cleanup xml (more to come)
14026         * libs/gst/controller/gstcontroller.c:
14027           fix typo
14028
14029 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
14030         
14031         * win32/vs6/grammar.dsp:
14032           add autogen of gstmarshal.c,h for Release mode
14033                 
14034 2006-01-30  Wim Taymans  <wim@fluendo.com>
14035
14036         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
14037         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
14038         (gst_base_sink_handle_object), (gst_base_sink_event),
14039         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
14040         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14041         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
14042         (gst_base_sink_deactivate), (gst_base_sink_activate),
14043         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
14044         (gst_base_sink_query), (gst_base_sink_change_state):
14045         Basesink cleanups, remove some old code.
14046         Handle the case where a subclass can preroll in the render
14047         method (mostly audiosinks).
14048         Handle more events.
14049         Remove some locks around variables that are now protected
14050         with the PREROLL_LOCK (clock_id, flushing, ..).
14051         Optimize position query some more, do correct locking.
14052         Remove old code to push queue in state change, this is not
14053         needed anymore since preroll blocks on all prerollable items 
14054         now.
14055         Almost implemented as described in design doc.
14056
14057 2006-01-30  Wim Taymans  <wim@fluendo.com>
14058
14059         * tests/check/gst/gstbin.c: (GST_START_TEST):
14060         Wait for refcount to settle down before checking.
14061
14062 2006-01-30  Wim Taymans  <wim@fluendo.com>
14063
14064         * docs/design/part-element-sink.txt:
14065         Pseudo code overview of desired sink behaviour regarding
14066         preroll.
14067
14068 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
14069         * win32/vs6/grammar.dsp:
14070           fix some bugs in Release mode for autogenerated files
14071                 
14072 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
14073         * win32/common/libgstbase.def:
14074         * win32/common/libgstreamer.def:
14075           export some new symbols: gst_base_src_set_format,
14076           gst_iterator_next, gst_structure_set_valist
14077
14078 2006-01-29  Julien MOUTTE  <julien@moutte.net>
14079
14080         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
14081         Set pad functions unconditionally. Fixes #329105.
14082
14083 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
14084         * win32/vs8:
14085           add vs8 project files created by Sergey Scobich
14086
14087 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
14088
14089         * gst/gstutils.c: (gst_element_unlink_pads):
14090         Don't leak pad references.
14091
14092         * tests/check/elements/fakesink.c: (GST_START_TEST):
14093         * tests/check/generic/sinks.c: (GST_START_TEST):
14094         * tests/check/generic/states.c: (GST_START_TEST):
14095         * tests/check/gst/gstbin.c: (GST_START_TEST):
14096         * tests/check/gst/gstcaps.c: (GST_START_TEST):
14097         * tests/check/gst/gstelement.c: (GST_START_TEST):
14098         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
14099         * tests/check/gst/gstiterator.c: (GST_START_TEST):
14100         * tests/check/gst/gstvalue.c: (GST_START_TEST):
14101         Fix a bunch of leaks. Make generic/sinks.c
14102         use a bit less cpu by slowing the buffer rate
14103         between fakesrc and fakesink.
14104         
14105 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
14106         * gst/gstcaps.c:
14107         * gst/gstelement.c: (gst_element_send_event):
14108         * gst/gstevent.c:
14109         * gst/gstinfo.c:
14110         * gst/gstiterator.c:
14111         * gst/gstiterator.h:
14112         * gst/gstpad.c: (gst_pad_send_event):
14113         * gst/gststructure.c:
14114         * gst/gsturi.c:
14115         * gst/gstutils.c:
14116         * gst/gstvalue.c:
14117         * libs/gst/base/gstadapter.c:
14118           doc fixes, to link to function, just write gst_cool_function(), don't
14119           prefix with '#'
14120
14121 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
14122
14123         * plugins/elements/gsttee.c: (gst_tee_do_push),
14124         (gst_tee_handle_buffer):
14125         Always prefer an actual return value from a src
14126         pad in place of NOT_LINKED. This means we return
14127         WRONG_STATE when all src pads are WRONG_STATE
14128         instead of NOT_LINKED.
14129
14130         Lock when replacing the last message to prevent
14131         racing with the get_property method.
14132
14133         Add debug output
14134
14135 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
14136
14137         * tests/check/Makefile.am:
14138         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
14139         (main):
14140         Add a very simple check that should have caught the memleak I fixed
14141         last night (if not for the slice allocator hiding it)
14142
14143 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
14144
14145         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
14146         (gst_bin_remove_func), (gst_bin_handle_message_func),
14147         (bin_query_duration_fold), (bin_query_generic_fold):
14148         Clean up references to the clock provider when disposed or when
14149         handling a clock-lost message from it.
14150
14151         Unref sinks when performing a query via gst_iterator_fold, as the
14152         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
14153
14154         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
14155         (gst_clock_set_master):
14156         Drop our reference to the master clock, if any, when we are disposed.
14157
14158         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
14159         Chain up in dispose. 
14160
14161 2006-01-26  Wim Taymans  <wim@fluendo.com>
14162
14163         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
14164         Add some debugging.
14165
14166 2006-01-26  Julien MOUTTE  <julien@moutte.net>
14167
14168         * plugins/elements/gsttee.c: (gst_tee_do_push),
14169         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
14170         handles pad being NOT_LINKED or in WRONG_STATE.
14171
14172 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
14173
14174         * win32/MANIFEST:
14175           more updating
14176
14177 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
14178
14179         * win32/MANIFEST:
14180           remove obsolete entry
14181
14182 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
14183
14184         * docs/gst/gstreamer-sections.txt:
14185         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
14186         (gst_bin_iterate_sources), (gst_bin_send_event):
14187         * gst/gstbin.h:
14188         * gst/gstelement.c: (gst_element_send_event):
14189         * gst/gstevent.c:
14190         * gst/gstpad.c: (gst_pad_send_event):
14191           added code for downstream events, reviewed docs in gstevent.c
14192
14193 2006-01-25  Julien MOUTTE  <julien@moutte.net>
14194
14195         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14196         We only query position using the clock in the playing state.
14197         Query peer in the other cases.
14198         * win32/common/config.h: Updates.
14199
14200 2006-01-24  Wim Taymans  <wim@fluendo.com>
14201
14202         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14203         A clock entry that is scheduled for the exact time of the
14204         clock is still in time.
14205
14206         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14207         (gst_base_sink_do_sync):
14208         Add some more debug info.
14209
14210 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
14211
14212         * win32/vs7:
14213           Add new vs7 project files and solution.
14214
14215 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
14216
14217         * win32/vs7:
14218           all files removed as they were out-dated.
14219
14220 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14221
14222         * docs/random/release:
14223           update notes
14224         * gst/gstbin.c: (gst_bin_init):
14225         * gst/gstbus.c: (gst_bus_new):
14226         * gst/gstbus.h:
14227         * gst/gstpipeline.c: (gst_pipeline_init):
14228           use gst_bus_new(), improve logging, fix docs
14229         * win32/common/config.h:
14230           update for cvs build
14231
14232 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
14233
14234         * autogen.sh:
14235           up required version of automake to 1.7
14236
14237 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
14238
14239         * win32/common/libgstreamer.def:
14240           export gst_buffer_is_metadata_writable
14241
14242 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
14243
14244         * docs/gst/gstreamer-sections.txt:
14245         * gst/gstevent.h:
14246           Add gst_event_replace() (#327001)
14247
14248 2006-01-20  Wim Taymans  <wim@fluendo.com>
14249
14250         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14251         Make it actually compile too..
14252
14253 2006-01-20  Wim Taymans  <wim@fluendo.com>
14254
14255         * gst/gstcaps.c:
14256         Clarify behaviour of _is_equal() when passing NULL parameters.
14257
14258         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
14259         (gst_pad_set_caps):
14260         Cleanups. Don't unref NULL caps.
14261         When setting the same caps, protect caps of the pad with
14262         proper lock.
14263         Use full functionality of _is_equal() when comparing caps.
14264
14265 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
14266
14267         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
14268         Don't loop infinitely if there are no buffers to present. Partially
14269         fixes #327197, but collectpads is just broken for reusing elements
14270         to do multiple encodes atm.
14271
14272 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
14273
14274         * tools/gst-inspect.c: (print_element_features):
14275         * tools/gst-xmlinspect.c: (main):
14276         URL_HANDLER is not a plugin feature we can search for in
14277         the registry.
14278
14279 2006-01-19  Edward Hervey  <edward@fluendo.com>
14280
14281         * gst/gstelement.c: (gst_element_pads_activate): 
14282         When activating, do src pads first, then sink pads.
14283         When de-activating, do sink pads first, then src pads.
14284
14285 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
14286
14287         * docs/gst/gstreamer-sections.txt:
14288         Add gst_index_add_associationv to the docs
14289
14290 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
14291
14292         * gst/gstevent.c:
14293           Fix docs typo
14294
14295         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
14296         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
14297           Do some refactoring. Doesn't actually change functionality,
14298           but makes landing the DRAIN event easier later.
14299
14300 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
14301
14302         * docs/pwg/advanced-scheduling.xml:
14303           Update from 0.9.x to 0.10 API and make example a bit
14304           clearer.
14305
14306 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
14307
14308         * docs/gst/gstreamer-sections.txt:
14309         Add gst_buffer_(is|make)_metadata_writable methods.
14310
14311 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
14312
14313         * docs/design/part-sparsestreams.txt:
14314         Update sparse streams doc, hopefully for greater clarity
14315
14316 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
14317
14318         * docs/design/part-events.txt:
14319         Remove mention of FILLER events.
14320         Add DRAIN event.
14321
14322         * docs/design/part-sparsestreams.txt:
14323         Write some things about using NEWSEGMENT to keep sparse streams
14324         flowing.
14325
14326 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
14327
14328         * gst/gstbin.c: (gst_bin_dispose):
14329           Guard gst_object_unref call against a NULL object (dispose
14330           can theoretically be called multiple times).
14331           
14332 2006-01-18  Wim Taymans  <wim@fluendo.com>
14333
14334         * gst/gstbin.c: (gst_bin_element_set_state):
14335         * gst/gstclock.c: (gst_clock_id_wait):
14336         Added some more debug info.
14337
14338         * libs/gst/base/gstadapter.c:
14339         Added more docs.
14340
14341         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14342         (gst_base_sink_do_sync), (gst_base_sink_chain):
14343         Added some comments.
14344
14345 2006-01-18  Wim Taymans  <wim@fluendo.com>
14346
14347         * tests/check/Makefile.am:
14348         * tests/check/elements/fakesink.c: (chain_async_buffer),
14349         (chain_async), (chain_async_return), (GST_START_TEST),
14350         (fakesink_suite), (main):
14351         Added fakesink test that checks prerolling and clipping
14352         behaviour.
14353
14354         * tests/check/gst/gstutils.c: (GST_START_TEST):
14355         Make check run faster so that buildbots don't timeout.
14356
14357 2006-01-18  Wim Taymans  <wim@fluendo.com>
14358
14359         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14360         (gst_base_sink_do_sync):
14361         Some cleanups.
14362         When the sink finishes blocking on the preroll buffer, it can
14363         immediatly render it instead of rendering when the next buffer
14364         arrives.
14365
14366 2006-01-18  Wim Taymans  <wim@fluendo.com>
14367
14368         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
14369         (gst_base_sink_get_property), (gst_base_sink_do_sync),
14370         (gst_base_sink_chain):
14371         Small cleanups.
14372         GST_ELEMENT_CLOCK and sync are protected with LOCK.
14373         Don't store _last_stop if the buffer is dropped.
14374
14375 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
14376
14377         * plugins/elements/gsttypefindelement.c:
14378         (gst_type_find_element_class_init):
14379           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
14380           object method handler that sets the caps on the pad and we want
14381           that to happen before we emit the signal (fixes e.g. feeding a
14382           plain text file to decodebin).
14383
14384 2006-01-18  Christian Schaller  <Christian@fluendo.com>
14385
14386         * gst/gstplugin.c: Add MPL and Proprietary as license options
14387
14388 2006-01-18  Andy Wingo  <wingo@pobox.com>
14389
14390         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
14391         symbol was exported before, it appears this was just an oversight.
14392         Fixes #168703.
14393         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
14394
14395         * gst/gstindex.c (gst_index_add_associationv): Changed int in
14396         prototype to gint. OK since this prototype was not in the header.
14397
14398 2006-01-17  Andy Wingo  <wingo@pobox.com>
14399
14400         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
14401         registry while we remove plugins.
14402
14403         * tools/gst-inspect.c (print_element_info): Don't unref the
14404         factory arg, that should be the responsibility of whatever code
14405         received the ref. Fixes a double-free when called from
14406         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
14407         (main): Unref the factory if we have one.
14408         (print_element_list): No change -- relies on the
14409         plugin_feature_list_free to free the list of features.
14410
14411 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
14412
14413         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
14414         (gst_buffer_make_metadata_writable):
14415         * gst/gstbuffer.h:
14416         * libs/gst/base/gstbasetransform.c:
14417         (gst_base_transform_prepare_output_buf):
14418         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14419         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14420           Replace gst_buffer_(make|is)_metadata_writable patch now
14421           that the release is out.
14422
14423 2006-01-17  Andy Wingo  <wingo@pobox.com>
14424
14425         * gst/gstregistry.c: Reflow design comment. Update so as to speak
14426         in the present tense without reference to versions.
14427
14428         * gst/gstregistry.c (gst_registry_add_plugin)
14429         (gst_registry_remove_plugin, gst_registry_remove_feature)
14430         (gst_registry_find_feature, gst_registry_get_feature_list)
14431         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
14432         (gst_registry_lookup, gst_registry_scan_path)
14433         (_gst_registry_remove_cache_plugins)
14434         (gst_registry_get_feature_list_by_plugin): Add argument
14435         validation.
14436
14437 === release 0.10.2 ===
14438
14439 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
14440
14441         * configure.ac:
14442           releasing 0.10.2, "If man is five"
14443
14444 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
14445
14446         * gst/gstbuffer.c:
14447         * gst/gstbuffer.h:
14448         * libs/gst/base/gstbasetransform.c:
14449         (gst_base_transform_prepare_output_buf):
14450         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14451         * tests/check/gst/gstbuffer.c: (gst_test_suite):
14452           Back out patch until after the release.
14453
14454 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
14455
14456         * gst/gstminiobject.c:
14457           Spelling fix in docs.
14458         * ChangeLog - remove conflict indicator
14459
14460 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
14461
14462         Reviewed By: Andy Wingo
14463
14464         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
14465         (gst_buffer_make_metadata_writable):
14466         * gst/gstbuffer.h:
14467           Add gst_buffer_(is|make)_metadata_writable as analogues of
14468           gst_buffer_(is|make)_writable.
14469
14470         * libs/gst/base/gstbasetransform.c:
14471         (gst_base_transform_prepare_output_buf):
14472         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14473           Use name gst_buffer_(is|make)_metadata_writable functions.
14474
14475         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14476           Test gst_buffer_(is|make)_metadata_writable
14477         
14478           (Closes: #324162)
14479
14480 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14481
14482         * docs/manual/Makefile.am:
14483           don't do parallel make
14484         * configure.ac:
14485           AC_SUBST HOST_CPU
14486         * win32/common/config.h.in:
14487           add generations for HOST_CPU and GST_MAJORMINOR
14488         * win32/common/config.h:
14489           commit generated result
14490
14491 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
14492
14493         * docs/manual/appendix-integration.xml:
14494           Update GNOME integration section to use gst_init_get_option_group()
14495           instead of the old popt stuff (#322911). Also, GNOME applications
14496           should  now use gconf*sink and gconf*src instead of the old gconf
14497           helper lib we had.
14498
14499 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
14500
14501
14502         * docs/gst/gstreamer-docs.sgml:
14503         * docs/gst/gstreamer-sections.txt:
14504         * docs/libs/gstreamer-libs-sections.txt:
14505           add new API entries to the docs
14506         * libs/gst/controller/Makefile.am:
14507         * libs/gst/controller/gstcontroller.c:
14508         * libs/gst/controller/gstcontroller.h:
14509         * libs/gst/controller/gstcontrollerprivate.h:
14510         * libs/gst/controller/gsthelper.c:
14511         * libs/gst/controller/gstinterpolation.c:
14512           move private structs to private header
14513         * po/README:
14514           gstreamer-0.7 -> gstreamer-0.10
14515         * tests/check/libs/struct_i386.h:
14516           remove private structs
14517
14518 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14519
14520         * plugins/indexers/Makefile.am:
14521           Fixes as part of #317048
14522
14523 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14524
14525         * plugins/indexers/Makefile.am:
14526           fix #316086 - compilation when mmap is missing
14527
14528 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
14529
14530         * libs/gst/base/gstbasesink.c:
14531           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
14532           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
14533         * win32/common/config.h:
14534           added some defines GST_MAJORMINOR and HOST_CPU
14535         * win32/common/libgstbase.def:
14536         * win32/common/libgstreamer.def:
14537           added some exported functions.
14538
14539 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
14540
14541         * libs/gst/controller/gstcontroller.c:
14542         (gst_controlled_property_set_interpolation_mode),
14543         (gst_controlled_property_new):
14544         * libs/gst/controller/gstcontroller.h:
14545         * libs/gst/controller/gstinterpolation.c:
14546         (interpolate_none_get_string_value_array):
14547           make G_TYPE_STRING controlable
14548
14549 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
14550
14551         * tools/README:
14552         * tools/gst-feedback.1.in:
14553         * tools/gst-inspect.1.in:
14554         * tools/gst-launch.1.in:
14555         * tools/gst-md5sum.1.in:
14556         * tools/gst-typefind.1.in:
14557         * tools/gst-xmlinspect.1.in:
14558         * tools/gst-xmllaunch.1.in:
14559           cleanup man-pages, remove reference to gst-register, document env-vars
14560
14561 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
14562
14563         * gst/gstbuffer.c: (gst_buffer_span):
14564           gst_buffer_span should copy the timestamp of the first buffer
14565           if they were both originally overlapping subbuffers of the 
14566           same parent, using the same logic as the 'slow copy' case.
14567
14568 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
14569
14570         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
14571           Need to awaken ALL the pads when we pop a buffer, otherwise
14572           collectpads only works when there is 2 input streams.
14573
14574 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
14575
14576         * docs/random/ensonic/media-device-daemon.txt:
14577           more ideas (dbus)
14578         * gst/gstbuffer.c:
14579           fix doc example, add clarification
14580         * tools/gst-launch.1.in:
14581           add initial info about GST_PLUGIN_PATH, needs more work
14582
14583 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
14584
14585         * docs/manual/basics-bins.xml:
14586         * docs/manual/basics-elements.xml:
14587         * docs/manual/intro-basics.xml:
14588           Some more minor docs additions and updates.
14589
14590 2006-01-11  Wim Taymans  <wim@fluendo.com>
14591
14592         * docs/manual/basics-bins.xml:
14593         * docs/manual/basics-elements.xml:
14594         Some small fixes as pointed out by Ser-ver on IRC.
14595
14596 2006-01-10  Edward Hervey  <edward@fluendo.com>
14597
14598         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
14599         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
14600         the single-segment mode.
14601
14602 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
14603
14604         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14605
14606         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
14607         (gst_base_src_perform_seek), (gst_base_src_send_event),
14608         (gst_base_src_set_property), (gst_base_src_get_property),
14609         (gst_base_src_loop), (gst_base_src_start),
14610         (gst_base_src_activate_push):
14611         * libs/gst/base/gstbasesrc.h:
14612           Name (private) union; makes Sun's Forte compiler happy (#324900).
14613
14614 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
14615
14616         * README:
14617           gst-register is gone.
14618
14619 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14620
14621         * gst/gstvalue.c: (_gst_value_initialize):
14622           make the G_TYPE_DATE instantiation work if debug is disabled
14623
14624 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
14625
14626         * gst/gstmessage.c: (gst_message_parse_tag),
14627         (gst_message_parse_error), (gst_message_parse_warning):
14628           Don't crash when return location for error/warning debug
14629           string is NULL; add fact that return locations can be
14630           NULL to docs where appropriate.
14631
14632 2006-01-05  Wim Taymans  <wim@fluendo.com>
14633
14634         * gst/gstplugin.c: (gst_plugin_load_file):
14635         Replace strdup by g_strdup.
14636
14637 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14638
14639         * docs/pwg/advanced-types.xml:
14640           fix doc borkage
14641
14642 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
14643
14644         submitted by: Abel Cheung
14645
14646         * po/LINGUAS:
14647         * po/zh_TW.po:
14648           Added Chinese (traditional) translation
14649
14650 2006-01-04  Wim Taymans  <wim@fluendo.com>
14651
14652         * docs/manual/basics-pads.xml:
14653         * docs/plugins/Makefile.am:
14654         * docs/plugins/gstreamer-plugins-docs.sgml:
14655         * docs/plugins/gstreamer-plugins-sections.txt:
14656         * docs/pwg/advanced-clock.xml:
14657         * docs/pwg/advanced-scheduling.xml:
14658         * docs/pwg/advanced-types.xml:
14659         * plugins/elements/gstfdsink.c:
14660         * plugins/elements/gstfdsrc.c:
14661         * plugins/elements/gstfdsrc.h:
14662         * plugins/elements/gstidentity.c: (gst_identity_class_init):
14663         * plugins/elements/gstidentity.h:
14664         * plugins/elements/gstqueue.h:
14665         * plugins/elements/gsttee.c:
14666         * plugins/elements/gsttee.h:
14667         * plugins/elements/gsttypefindelement.c:
14668         (gst_type_find_element_class_init):
14669         * plugins/elements/gsttypefindelement.h:
14670         Small updates to various docs.
14671         Added core plugins to docs.
14672
14673 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14674
14675         * common/gst.supp:
14676           add a suppression for liboil's uninitialized variable
14677
14678 2006-01-02  James Livingston  <jrl at ids dot org dot au>
14679
14680         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14681
14682         * gst/gstutils.h:
14683           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
14684           macro, so that gcc doesn't complain if the -Wmissing-prototypes
14685           compiler switch is being used (#325429).
14686
14687 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
14688
14689         * gst/gstbin.c: (gst_bin_query):
14690           Disable duration query caching in bins until it gets
14691           fixed (see #324807).
14692
14693 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
14694
14695         * tools/gst-inspect.c: (print_element_properties_info):
14696           Handle properties of POINTER and BOXED type.
14697
14698 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
14699
14700         * gst/gst.c: (init_post):
14701           Init tags stuff and some other things before loading
14702           any static plugins (there may be other static plugins
14703           than just the GStreamer ones, and they may want to
14704           register their own tags or formats or whatever, and
14705           preferably without segfaulting).
14706
14707         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
14708           Print at least a warning in the debug logs if we drop a
14709           query just because we don't know how to adjust the value
14710           in the particular format.
14711
14712 2005-12-24  David Schleef  <ds@schleef.org>
14713
14714         * tools/gstreamer-completion:
14715           Replacement for gst-complete written in sh and sed.  Only
14716           completes names of features, but that's 90% of what I want
14717           it for.  Properties are not available in registry.xml.  (Maybe
14718           they should be...)
14719
14720 === release 0.10.1 ===
14721
14722 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
14723
14724         * configure.ac:
14725           releasing 0.10.1, "Nollaig chridheil"
14726
14727 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
14728
14729         * docs/faq/cvs.xml:
14730           Add missing quote, should be make ERROR_CFLAGS="".
14731
14732 2005-12-20  Wim Taymans  <wim@fluendo.com>
14733
14734         * docs/design/part-trickmodes.txt:
14735         More documentation on trickmodes.
14736
14737 2005-12-20  Edward Hervey  <edward@fluendo.com>
14738
14739         * gst/gstcaps.c: (gst_static_caps_get_type):
14740         * gst/gstcaps.h:
14741           API addition: GST_TYPE_STATIC_CAPS
14742         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
14743         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
14744         * gst/gstpadtemplate.h:
14745           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
14746         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
14747         bindings.
14748
14749 2005-12-18  Wim Taymans  <wim@fluendo.com>
14750
14751         * libs/gst/base/gstadapter.c:
14752         * libs/gst/base/gstadapter.h:
14753         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
14754         (gst_base_sink_get_position):
14755         * libs/gst/base/gstbasesink.h:
14756         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14757         (gst_base_src_default_query), (gst_base_src_default_do_seek),
14758         (gst_base_src_do_seek), (gst_base_src_perform_seek),
14759         (gst_base_src_send_event), (gst_base_src_update_length),
14760         (gst_base_src_get_range), (gst_base_src_loop),
14761         (gst_base_src_start):
14762         * libs/gst/base/gstbasesrc.h:
14763         * libs/gst/base/gstbasetransform.h:
14764         * libs/gst/base/gstcollectpads.h:
14765         * libs/gst/base/gstpushsrc.c:
14766         * libs/gst/base/gstpushsrc.h:
14767         * libs/gst/dataprotocol/dataprotocol.c:
14768         * libs/gst/dataprotocol/dataprotocol.h:
14769         * libs/gst/net/gstnetclientclock.h:
14770         * libs/gst/net/gstnettimeprovider.h:
14771         Documentation updates.
14772
14773 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
14774
14775         * docs/manual/basics-helloworld.xml:
14776           Remove superfluous closing bracket in helloworld example.
14777
14778 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
14779
14780         * tools/gst-launch.1.in:
14781           Update gst-launch man page; add a section with useful
14782           environment variables. Fixes #323882.
14783
14784 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
14785
14786         * gst/gst.c:
14787         * gst/gst_private.h:
14788           change some char* into char[]
14789
14790 2005-12-16  Wim Taymans  <wim@fluendo.com>
14791
14792         * gst/gstregistryxml.c: (load_feature):
14793         Cleanups.
14794         Don't use g_object_unref on GstObjects so that we avoid
14795         leaks on unsafe glibs.
14796
14797 2005-12-16  Wim Taymans  <wim@fluendo.com>
14798
14799         * gst/gstbin.c: (gst_bin_recalc_state):
14800         Small doc updates.
14801
14802 2005-12-16  Wim Taymans  <wim@fluendo.com>
14803
14804         * common/check.mak:
14805         Added make forever target for check.
14806
14807 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
14808
14809         * gst/gst.c: (init_post):
14810           make the registry cache file HOST_CPU-dependent
14811
14812 2005-12-16  Andy Wingo  <wingo@pobox.com>
14813
14814         * plugins/elements/gstbufferstore.c
14815         (gst_buffer_store_cleared_func): Pay attention to g_list_append
14816         return value.
14817
14818         * tests/check/gst/gstobject.c
14819         (test_fake_object_name_threaded_unique): Pay attention to
14820         g_list_sort return value.
14821
14822 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
14823
14824         * tools/gst-feedback-m.m:
14825           Update for 0.9/0.10 (fixes #323870).
14826
14827 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
14828
14829         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
14830           Fix lcopy for mini objects, the mini object needs to be ref'ed.
14831           
14832         * tests/check/gst/gstminiobject.c: (my_foo_init),
14833         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
14834         (test_value_collection), (gst_mini_object_suite):
14835           Add test to ensure refcounts end up as expected when passing
14836           GstMiniObjects through g_object_get() and g_object_set().
14837
14838 2005-12-14  Julien MOUTTE  <julien@moutte.net>
14839
14840         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
14841         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
14842         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
14843         of collectpads. This version removes a lot of races without
14844         touching API/ABI. Yay !
14845
14846 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
14847
14848         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
14849           Don't allow activation of a srcpad in pull_range if it has no
14850           getrange function.
14851           Change some debug statements to be a little clearer
14852
14853         * plugins/elements/gsttypefindelement.c:
14854         (gst_type_find_handle_src_query):
14855           Check that we have a peer before executing queries thereupon.
14856
14857         * tests/examples/metadata/read-metadata.c: (message_loop):
14858           Use gst_bus_pop instead of gst_bus_poll when we just want it to
14859           immediately return us any available message with 0 timeout.
14860
14861 2005-12-12  Michael Smith  <msmith@fluendo.com>
14862
14863         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
14864           Don't unref factories after calling them.
14865         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
14866         * plugins/elements/gsttypefindelement.c:
14867         (gst_type_find_element_chain):
14868           Free lists of factories after using them. Fixing typefinding memory
14869           leaks.
14870
14871 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14872
14873         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14874         (gst_plugin_feature_load):
14875           more meaningful debug output
14876         * configure.ac:
14877         * tests/Makefile.am:
14878         * tests/old/examples/Makefile.am:
14879           make make distcheck happy again
14880
14881 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
14882
14883         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
14884           Catch the special case where we are operating chain-based,
14885           but the downstream peer pad has no chain function. Emit a
14886           custom error message in this case instead of letting the
14887           core generate one implying that this is some sort of core
14888           bug. It's not, it just means that whatever got plugged
14889           into the pipeline downstream when we announced the type
14890           can only operate pull-based, while our source can only
14891           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
14892           Error string has not been marked for translation yet, as
14893           it probably needs some more work first.
14894
14895         (gst_type_find_element_get_best_possibility):
14896           Add helper function to find the best of all available
14897           found possibilities that qualify given the min. threshold.
14898
14899         (gst_type_find_element_handle_event):
14900           Fix the case where we get an EOS while still in TYPEFIND
14901           mode (we want to chose the best of all possible types,
14902           not just the first type that happens to be in our unsorted
14903           list of possible types).
14904
14905         (gst_type_find_element_chain):
14906           Make sure we return GST_FLOW_ERROR when we errored out
14907           in stop_typefinding(); also, don't just find the best of
14908           all found type entries and then use the last examined
14909           type entry, but actually use the best entry.
14910
14911 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
14912
14913         * tests/examples/typefind/typefind.c: (type_found):
14914         * tests/examples/xml/runxml.c: (xml_loaded):
14915           More gcc4 fixes and a mem leak fix.
14916
14917 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14918
14919         * tests/examples/xml/createxml.c: (object_saved):
14920           gcc 4 fixes
14921
14922 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14923
14924         * tests/Makefile.am:
14925           enable the examples even more
14926
14927 2005-12-12  Andy Wingo  <wingo@pobox.com>
14928
14929         * libs/gst/net/gstnettimeprovider.c
14930         (gst_net_time_provider_class_init, gst_net_time_provider_init)
14931         (gst_net_time_provider_set_property)
14932         (gst_net_time_provider_get_property):
14933         API addition: Export "active" as a GObject property.
14934         (gst_net_time_provider_thread): Only respond to time queries if
14935         the time provider is active.
14936
14937         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
14938         NetTimeProvider, preserving binary compat.
14939
14940 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14941
14942         * tests/examples/controller/audio-example.c: (main):
14943         * tests/examples/launch/Makefile.am:
14944           convert comments again
14945
14946 2005-12-12  Wim Taymans  <wim@fluendo.com>
14947
14948         * libs/gst/base/gstpushsrc.c:
14949         Fix typo.
14950
14951 2005-12-12  Wim Taymans  <wim@fluendo.com>
14952
14953         * docs/libs/gstreamer-libs-sections.txt:
14954         Added new symbol to docs.
14955
14956         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14957         (gst_base_src_init), (gst_base_src_set_format),
14958         (gst_base_src_default_query), (gst_base_src_query),
14959         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
14960         (gst_base_src_perform_seek), (gst_base_src_send_event),
14961         (gst_base_src_default_event), (gst_base_src_event_handler),
14962         (gst_base_src_set_property), (gst_base_src_get_property),
14963         (gst_base_src_wait), (gst_base_src_do_sync),
14964         (gst_base_src_update_length), (gst_base_src_get_range),
14965         (gst_base_src_check_get_range), (gst_base_src_loop),
14966         (gst_base_src_default_negotiate), (gst_base_src_start),
14967         (gst_base_src_activate_push), (gst_base_src_activate_pull),
14968         (gst_base_src_change_state):
14969         * libs/gst/base/gstbasesrc.h:
14970         Implement seeking to other formats than _BYTES.
14971         Implement more seeking methods correctly.
14972         Doc updates.
14973         Added query vmethod.
14974         Added do_seek vmethod to make life easier for subclasses
14975         when seeking.
14976         API addition: gst_base_src_set_format()
14977
14978 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14979
14980         * tests/examples/Makefile.am:
14981           added that too
14982
14983 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
14984
14985         * configure.ac:
14986         * docs/random/ensonic/media-device-daemon.txt:
14987         * tests/examples/controller/.cvsignore:
14988         * tests/examples/controller/Makefile.am:
14989         * tests/examples/controller/audio-example.c: (main):
14990         * tests/examples/helloworld/.cvsignore:
14991         * tests/examples/helloworld/Makefile.am:
14992         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
14993         * tests/examples/launch/.cvsignore:
14994         * tests/examples/launch/Makefile.am:
14995         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
14996         * tests/examples/metadata/.cvsignore:
14997         * tests/examples/metadata/Makefile.am:
14998         * tests/examples/metadata/read-metadata.c: (message_loop),
14999         (make_pipeline), (print_tag), (main):
15000         * tests/examples/queue/.cvsignore:
15001         * tests/examples/queue/Makefile.am:
15002         * tests/examples/queue/queue.c: (event_loop), (main):
15003         * tests/examples/typefind/.cvsignore:
15004         * tests/examples/typefind/Makefile.am:
15005         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
15006         (main):
15007         * tests/examples/xml/.cvsignore:
15008         * tests/examples/xml/Makefile.am:
15009         * tests/examples/xml/createxml.c: (object_saved), (main):
15010         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
15011         * tests/old/examples/Makefile.am:
15012         * tests/old/examples/TODO:
15013         * tests/old/examples/controller/.cvsignore:
15014         * tests/old/examples/controller/Makefile.am:
15015         * tests/old/examples/controller/audio-example.c:
15016         * tests/old/examples/helloworld/.cvsignore:
15017         * tests/old/examples/helloworld/Makefile.am:
15018         * tests/old/examples/helloworld/helloworld.c:
15019         * tests/old/examples/launch/.cvsignore:
15020         * tests/old/examples/launch/Makefile.am:
15021         * tests/old/examples/launch/mp3parselaunch.c:
15022         * tests/old/examples/launch/mp3play:
15023         * tests/old/examples/manual/Makefile.am:
15024         * tests/old/examples/metadata/Makefile.am:
15025         * tests/old/examples/metadata/read-metadata.c:
15026         * tests/old/examples/queue/.cvsignore:
15027         * tests/old/examples/queue/Makefile.am:
15028         * tests/old/examples/queue/queue.c:
15029         * tests/old/examples/typefind/.cvsignore:
15030         * tests/old/examples/typefind/Makefile.am:
15031         * tests/old/examples/typefind/typefind.c:
15032         * tests/old/examples/xml/.cvsignore:
15033         * tests/old/examples/xml/Makefile.am:
15034         * tests/old/examples/xml/createxml.c:
15035         * tests/old/examples/xml/runxml.c:
15036           applied some simple fixing to some examples
15037           re-enabled the working examples
15038
15039 2005-12-12  Wim Taymans  <wim@fluendo.com>
15040
15041         * gst/gstsegment.c: (gst_segment_init),
15042         (gst_segment_set_last_stop), (gst_segment_set_seek),
15043         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
15044         (gst_segment_to_running_time):
15045         Added more documentation.
15046         Make sure the last_pos value is updated properly.
15047         Make sure to_stream_time and to_running_time don't
15048         operate on wrong values.
15049
15050         * tests/check/gst/gstsegment.c: (GST_START_TEST):
15051         Update check.
15052
15053 2005-12-12  Michael Smith  <msmith@fluendo.com>
15054
15055         * plugins/elements/gsttypefindelement.c: (free_entry),
15056         (gst_type_find_element_chain):
15057           Now that we're not leaking factories, make sure we keep references
15058           to them while we need them.
15059
15060 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15061
15062         * tests/check/gst/struct_i386.h:
15063           ifdef out the XML structs
15064
15065 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15066
15067         * gst/gstvalue.c: (gst_value_transform_double_fraction):
15068           floor is not needed, F is always positive; this obviates the
15069           need for adding -lm when building without libxml
15070
15071 2005-12-12  Wim Taymans  <wim@fluendo.com>
15072
15073         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15074         Take current playback rate into account when reporting
15075         the position.
15076
15077 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
15078
15079         * docs/manual/mime-world.fig:
15080           Let's try this again, this time with a file that is
15081           actually in XFig format.
15082
15083 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
15084
15085         * docs/manual/mime-world.fig:
15086           Add audioconvert element to diagram so that it
15087           matches the text and the code (fixes #319526).
15088
15089 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
15090
15091         * docs/pwg/building-chainfn.xml:
15092         * docs/pwg/building-pads.xml:
15093         * docs/pwg/building-state.xml:
15094         * docs/pwg/other-source.xml:
15095           Update state change stuff for 0.10 (fixes #322969).
15096
15097 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
15098
15099         * docs/manual/advanced-dataaccess.xml:
15100         * docs/manual/appendix-checklist.xml:
15101         * docs/manual/appendix-programs.xml:
15102         * docs/manual/basics-pads.xml:
15103         * docs/manual/highlevel-components.xml:
15104         * docs/manual/manual.xml:
15105           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
15106           add converters in front of pipelines; remove curly
15107           brackets for threads stuff, they no longer exist; use
15108           GST_TYPE_FRACTION for framerates; update some pieces of
15109           code to 0.10, but there's plenty more to do.
15110
15111         * docs/manual/appendix-porting.xml:
15112           Expand on asynchroneous state changes; s/0.9/0.10/;
15113           mention disappearance of gst_init_get_popt_table()
15114           (fixes #322916).
15115
15116 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
15117
15118         * docs/faq/using.xml:
15119           Spider no longer exists, and neither does gst-launch-ext.
15120           Update examples to use decodebin and playbin and put
15121           converters in front of sinks (fixes #323726).
15122
15123 2005-12-09  Michael Smith  <msmith@fluendo.com>
15124
15125         * plugins/elements/gsttypefindelement.c: (find_peek),
15126         (gst_type_find_element_chain):
15127           Fix leaking element factories in typefinding.
15128           Fix problem where we forgot about a probable type on non-seekable
15129           files, and thus later mis-typefound it.
15130
15131 2005-12-09  Michael Smith  <msmith@fluendo.com>
15132
15133         * common/m4/gst-makecontext.m4:
15134         * common/m4/gst-mcsc.m4:
15135         * configure.ac:
15136         * win32/common/config.h:
15137         * win32/common/config.h.in:
15138           Remove makecontext stuff; not used in 0.10 and causes problems on
15139           HPUX according to bug #322441
15140
15141 2005-12-07  Wim Taymans  <wim@fluendo.com>
15142
15143         * tests/check/Makefile.am:
15144         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
15145         (main):
15146         * tests/check/libs/struct_i386.h:
15147         Added ABI check for libs
15148
15149 2005-12-07  Wim Taymans  <wim@fluendo.com>
15150
15151         * tests/check/Makefile.am:
15152         And add the struct_i386.h to dist.
15153
15154 2005-12-07  Wim Taymans  <wim@fluendo.com>
15155
15156         * tests/check/Makefile.am:
15157         * tests/check/gst/.cvsignore:
15158         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
15159         (main):
15160         * tests/check/gst/struct_i386.h:
15161         Added check for ABI compatibility.
15162
15163 2005-12-07  Wim Taymans  <wim@fluendo.com>
15164
15165         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15166         (gst_fake_src_get_times), (gst_fake_src_create):
15167         Fix broken sync option, fixes #323259
15168
15169 2005-12-07  Wim Taymans  <wim@fluendo.com>
15170
15171         * gst/gstbuffer.c:
15172         Small docs update.
15173
15174         * gst/gstcaps.c: (gst_caps_is_equal):
15175         Don't assert on NULL <--> X. Fixes #323260
15176
15177         * gst/gstminiobject.c: (gst_mini_object_replace):
15178         If we're doing atomic operations, we might just as well use
15179         the proper way to get an atomic pointer.
15180
15181         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
15182         Clean up debugging.
15183
15184 2005-12-07  Michael Smith  <msmith@fluendo.com>
15185
15186         * gst/parse/grammar.y:
15187           Remove handling of { } for threads.
15188
15189 2005-12-06  David Schleef  <ds@schleef.org>
15190
15191         * libs/gst/base/gstbasetransform.c: speling fix.
15192
15193 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15194
15195         * docs/libs/tmpl/gstdataprotocol.sgml:
15196         * docs/random/omega/testing/gstobject.c:
15197         * gst/gst.c:
15198         * gst/gstclock.c:
15199         * gst/gstelement.c:
15200         * gst/gstelementfactory.c:
15201         * gst/gsterror.c:
15202         * gst/gstevent.c:
15203         * gst/gstghostpad.c:
15204         * gst/gstinfo.c:
15205         * gst/gstpadtemplate.c:
15206         * gst/gstregistryxml.c:
15207         * gst/gsttaglist.c:
15208         * gst/gsttagsetter.c:
15209         * gst/gsttypefind.c:
15210         * gst/gstvalue.c:
15211         * libs/gst/base/gstbasesrc.c:
15212         * libs/gst/net/gstnetclientclock.c:
15213         * libs/gst/net/gstnettimeprovider.c:
15214         * plugins/elements/gstfakesrc.c:
15215         * plugins/elements/gstfdsrc.c:
15216         * plugins/elements/gstfilesrc.c:
15217         * plugins/elements/gstidentity.c:
15218         * plugins/elements/gstqueue.c:
15219         * plugins/elements/gsttypefindelement.c:
15220         * plugins/indexers/gstfileindex.c:
15221         * plugins/indexers/gstmemindex.c:
15222         * tests/check/gst/gsttag.c:
15223         * tests/old/examples/cutter/cutter.c:
15224         * tests/old/examples/mixer/mixer.c:
15225         * tests/old/examples/xml/runxml.c: (main):
15226         * tests/old/testsuite/caps/normalisation.c:
15227         * tests/old/testsuite/debug/global.c:
15228         * tests/old/testsuite/parse/parse1.c:
15229         * tools/gst-xmlinspect.c:
15230         * win32/common/dirent.c:
15231           expand tabs
15232
15233 === release 0.10.0 ===
15234
15235 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15236
15237         * configure.ac:
15238           releasing 0.10.0, "Maroilles"
15239
15240 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15241
15242         submitted by: Funda Wang <fundawang@linux.net.cn>
15243
15244         * po/LINGUAS:
15245         * po/zh_CN.po:
15246           added Chinese (Traditional) translation
15247
15248 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15249
15250         * docs/gst/gstreamer-sections.txt:
15251         * docs/libs/tmpl/gstdataprotocol.sgml:
15252         * docs/random/thomasvs/TODO:
15253         * gst/gstutils.c:
15254         * gst/gstutils.h:
15255           fix docs
15256
15257 2005-12-05  Andy Wingo  <wingo@pobox.com>
15258
15259         patch by: Wim Taymans <wim@fluendo.com>
15260
15261         * libs/gst/base/gstbasetransform.c
15262         (gst_base_transform_prepare_output_buf)
15263         (gst_base_transform_buffer_alloc):
15264         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
15265         alloc_buffer_and_set_caps.
15266
15267         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
15268         set_caps on the source pad.
15269         (gst_pad_alloc_buffer_and_set_caps): New function, does what
15270         alloc_buffer used to do. Fixes #322874.
15271
15272         * docs/gst/gstreamer-sections.txt: 
15273         * docs/design/part-negotiation.txt: 
15274         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
15275         changes.
15276
15277 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15278
15279         patch by: Sebastien Moutte
15280
15281         * win32/MANIFEST:
15282         * win32/common/config.h.in:
15283         * win32/vs6/libgstcontroller.dsp:
15284           win32 build fixes
15285
15286 2005-12-05  Wim Taymans  <wim@fluendo.com>
15287
15288         * gst/gstcaps.c: (gst_caps_is_equal):
15289         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15290         (gst_fake_src_create):
15291         Back out previous code changes, leave doc updates, file bugs 
15292         instead. 
15293
15294 2005-12-05  Wim Taymans  <wim@fluendo.com>
15295
15296         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
15297         (gst_fake_src_get_times), (gst_fake_src_create):
15298         * plugins/elements/gstfakesrc.h:
15299         Fix broken sync code.
15300
15301 2005-12-05  Wim Taymans  <wim@fluendo.com>
15302
15303         * gst/gstcaps.c: (gst_caps_is_equal):
15304         Comparing NULL against !NULL yields different caps, not a
15305         failure.
15306
15307 2005-12-05  Wim Taymans  <wim@fluendo.com>
15308
15309         * gst/gstpipeline.c:
15310         Fix small typo in docs.
15311
15312 2005-12-05  Andy Wingo  <wingo@pobox.com>
15313
15314         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
15315
15316         * gst/gst.c (init_post): remove hard-coded 0.9 location for
15317         registries/plugins with a MAJORMINOR one.
15318         (plugin_desc): Rename library from gstcoreleements to
15319         staticelements. Fixes #323222.
15320
15321 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
15322
15323         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
15324           Change debug category to 'collectpads' from 'collect_pads'
15325           (fixes #323250).
15326
15327 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
15328
15329         patch by: Sebastien Moutte
15330
15331         * libs/gst/controller/gstinterpolation.c:
15332           use convert function for uint64/double
15333         * win32/vs6/libgstcontroller.dsp:
15334           link to GLib
15335
15336 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
15337
15338         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
15339         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
15340         * gst/gstutils.h:
15341         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15342           add tests that seem to show that the guint64/gdouble conversions
15343           are correct.
15344
15345 2005-12-02  Wim Taymans  <wim@fluendo.com>
15346
15347         * gst/gstregistry.c: (gst_registry_add_path):
15348         * gst/gstregistry.h:
15349         * gst/gstregistryxml.c:
15350         Fix docs again.
15351
15352 2005-12-02  Wim Taymans  <wim@fluendo.com>
15353
15354         * gst/gstutils.c: (gst_util_uint64_scale_int64),
15355         (gst_util_uint64_scale_int):
15356         Small cleanup.
15357
15358         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15359         Add debug log line.
15360
15361         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
15362         Add FIXME.
15363
15364 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15365
15366         * win32/MANIFEST:
15367         * win32/common/config.h:
15368         * win32/vs6/gstreamer.dsw:
15369         * win32/vs6/libgstcoreelements.dsp:
15370         * win32/vs6/libgstelements.dsp:
15371           renamed core elements plugin
15372
15373 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
15374
15375         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
15376         (get_candidates):
15377           do piece-wise major/minor comparison so 0.9 < 0.10
15378           also allow .exe extensions for tools
15379
15380 2005-12-02  Michael Smith  <msmith@fluendo.com>
15381
15382         * gst/gst.c:
15383           Escape a % to make gtkdoc happier; bug 322958.
15384
15385 === release 0.9.7 ===
15386
15387 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
15388
15389         * configure.ac:
15390           releasing 0.9.7, "My Dog Has No Nose"
15391
15392 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15393
15394         * common/gst-xmlinspect.py:
15395         * configure.ac:
15396         * docs/libs/tmpl/gstdataprotocol.sgml:
15397         * docs/random/release:
15398         * po/af.po:
15399         * po/az.po:
15400         * po/bg.po:
15401         * po/ca.po:
15402         * po/cs.po:
15403         * po/de.po:
15404         * po/en_GB.po:
15405         * po/fr.po:
15406         * po/it.po:
15407         * po/nb.po:
15408         * po/nl.po:
15409         * po/ru.po:
15410         * po/sq.po:
15411         * po/sr.po:
15412         * po/sv.po:
15413         * po/tr.po:
15414         * po/uk.po:
15415         * po/vi.po:
15416         * win32/common/config.h:
15417         * win32/common/config.h.in:
15418         * win32/vs6/gst_inspect.dsp:
15419         * win32/vs6/gst_launch.dsp:
15420         * win32/vs6/libgstbase.dsp:
15421         * win32/vs6/libgstelements.dsp:
15422         * win32/vs6/libgstreamer.dsp:
15423         * win32/vs7/GStreamer.vcproj:
15424         * win32/vs7/gst-inspect.vcproj:
15425         * win32/vs7/gst-launch.vcproj:
15426         * win32/vs7/libgstbase.vcproj:
15427           bump GST_MAJORMINOR to 0.10
15428           reset libtool version
15429
15430 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15431
15432         * po/LINGUAS:
15433         * po/bg.po:
15434           Added Bulgarian translation by (Alexander Shopov)
15435
15436 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15437
15438         * tests/check/gst/gstplugin.c:
15439           fix test
15440
15441 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15442
15443         * common/gst-xmlinspect.py:
15444         * common/gtk-doc-plugins.mak:
15445         * configure.ac:
15446         * docs/Makefile.am:
15447         * docs/gst/Makefile.am:
15448         * docs/gst/gstreamer-docs.sgml:
15449         * docs/gst/gstreamer-sections.txt:
15450         * docs/gst/gstreamer.types:
15451         * docs/gst/gstreamer.types.in:
15452         * docs/plugins/Makefile.am:
15453         * docs/plugins/gstreamer-plugins-docs.sgml:
15454         * docs/plugins/gstreamer-plugins-sections.txt:
15455         * docs/plugins/gstreamer-plugins.types:
15456         * docs/plugins/inspect.stamp:
15457         * docs/plugins/inspect/plugin-coreelements.xml:
15458         * docs/plugins/inspect/plugin-coreindexers.xml:
15459         * docs/plugins/scanobj-build.stamp:
15460         * gstreamer.spec.in:
15461         * plugins/elements/Makefile.am:
15462         * plugins/elements/gstelements.c:
15463         * plugins/elements/gstfakesink.c:
15464         * plugins/elements/gstfakesrc.c:
15465         * plugins/elements/gstfilesink.c:
15466         * plugins/elements/gstfilesrc.c:
15467         * plugins/elements/gstqueue.c:
15468         * plugins/indexers/Makefile.am:
15469         * plugins/indexers/gstindexers.c:
15470           document core plugins in a separate document just like all the
15471           others
15472           rename these plugins to something starting with core
15473
15474 2005-12-01  Andy Wingo  <wingo@pobox.com>
15475
15476         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
15477         padding here before, but it missed the commit.
15478
15479 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15480
15481         * libs/gst/controller/gstinterpolation.c:
15482           whitespace prices have crashed, we should feel free to use some now
15483           use gst_guint64_to_gdouble
15484
15485 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15486
15487         * libs/gst/controller/gstcontroller.c:
15488         * libs/gst/controller/gsthelper.c:
15489         * libs/gst/controller/gstinterpolation.c:
15490         * libs/gst/controller/lib.c:
15491           wrap config.h include
15492
15493 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15494
15495         * docs/gst/gstreamer-sections.txt:
15496           update docs
15497
15498 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15499
15500         * plugins/elements/gstelements.c:
15501         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
15502         (gst_fd_sink__class_init), (gst_fd_sink__init),
15503         (gst_fd_sink__chain), (gst_fd_sink__set_property),
15504         (gst_fd_sink__get_property):
15505         * plugins/elements/gstfdsink.h:
15506         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
15507         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
15508         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
15509         (gst_fd_src_unlock), (gst_fd_src_set_property),
15510         (gst_fd_src_get_property), (gst_fd_src_create),
15511         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
15512         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
15513         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
15514         (gst_fd_src_uri_handler_init):
15515         * plugins/elements/gstfdsrc.h:
15516         * plugins/elements/gstqueue.c: (gst_queue_get_type):
15517           more anal cleanup
15518
15519 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15520
15521         * docs/gst/Makefile.am:
15522         * docs/gst/gstreamer.types.in:
15523         * gst/Makefile.am:
15524           fix the docs build
15525
15526 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15527
15528         * configure.ac:
15529         * gst/Makefile.am:
15530         * gst/gst.c:
15531         * gst/gstplugin.h:
15532         * gst/gstregistry.h:
15533         * tests/benchmarks/complexity.c:
15534         * tests/benchmarks/mass-elements.c:
15535         * tests/check/Makefile.am:
15536         * tools/Makefile.am:
15537         * tools/gst-inspect.c:
15538         * tools/gst-xmlinspect.c:
15539           various fixes to make
15540           --disable-nls --disable-registry --disable-loadsave
15541           --disable-parse --disable-gst-debug
15542           work and get the core .so down to 360444 bytes after stripping
15543
15544 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15545
15546         * Makefile.am:
15547         * configure.ac:
15548           descend into tests
15549         * docs/random/thomasvs/TODO:
15550         * tests/Makefile.am:
15551         * tests/README:
15552           add a README
15553
15554 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15555
15556         * win32/GStreamer.vcproj:
15557         * win32/MANIFEST:
15558         * win32/Makefile:
15559         * win32/Makefile.inspect:
15560         * win32/Makefile.launch:
15561         * win32/Makefile.register:
15562         * win32/README.txt:
15563         * win32/gst-inspect.vcproj:
15564         * win32/gst-launch.vcproj:
15565         * win32/gst-register.vcproj:
15566         * win32/gstelements.vcproj:
15567         * win32/gstgetbits.def:
15568         * win32/gstgetbits.vcproj:
15569         * win32/gstreamer-dbg.def:
15570         * win32/gstreamer.def:
15571         * win32/libgstbase.def:
15572         * win32/libgstbase.vcproj:
15573         * win32/link_oldruntime.c:
15574         * win32/mman.c:
15575         * win32/mman.h:
15576         * win32/mman.inl:
15577         * win32/msvc71.sln:
15578           move even more stuff, win32/ is nice and clean now
15579
15580 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15581
15582         * libs/gst/control/.cvsignore:
15583         * win32/MANIFEST:
15584         * win32/config.h:
15585         * win32/dirent.c:
15586         * win32/dirent.h:
15587         * win32/gstbytestream.def:
15588         * win32/gstbytestream.vcproj:
15589         * win32/gstconfig.h:
15590         * win32/gstenumtypes.c:
15591         * win32/gstenumtypes.h:
15592         * win32/gstoptimalscheduler.vcproj:
15593         * win32/gstversion.h:
15594         * win32/gtchar.h:
15595         * win32/testsuite/bins.vcproj:
15596         * win32/testsuite/bytestream.vcproj:
15597         * win32/testsuite/caps.vcproj:
15598         * win32/testsuite/cleanup.vcproj:
15599         * win32/testsuite/clock.vcproj:
15600         * win32/testsuite/debug.vcproj:
15601         * win32/testsuite/dlopen.vcproj:
15602         * win32/testsuite/dynparams.vcproj:
15603         * win32/testsuite/elements.vcproj:
15604         * win32/testsuite/ghostpads.vcproj:
15605         * win32/testsuite/indexers.vcproj:
15606         * win32/testsuite/negotiation.vcproj:
15607         * win32/testsuite/parse.vcproj:
15608         * win32/testsuite/plugin.vcproj:
15609         * win32/testsuite/refcounting.vcproj:
15610         * win32/testsuite/schedulers.vcproj:
15611         * win32/testsuite/states.vcproj:
15612         * win32/testsuite/tags.vcproj:
15613         * win32/testsuite/threads.vcproj:
15614           remove old win32 stuff that isn't maintained and should be
15615           reorganized
15616
15617 2005-11-30  Andy Wingo  <wingo@pobox.com>
15618
15619         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
15620         loading the gst.interfaces python module bork.
15621
15622         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
15623         available since GLib 2.2. Fixes #318031.
15624
15625 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15626
15627         * Makefile.am:
15628         * check/.cvsignore:
15629         * check/Makefile.am:
15630         * check/elements/.cvsignore:
15631         * check/elements/fakesrc.c:
15632         * check/elements/fdsrc.c:
15633         * check/elements/identity.c:
15634         * check/generic/.cvsignore:
15635         * check/generic/states.c:
15636         * check/gst-libs/.cvsignore:
15637         * check/gst-libs/controller.c:
15638         * check/gst-libs/gdp.c:
15639         * check/gst/.cvsignore:
15640         * check/gst/capslist.h:
15641         * check/gst/gst.c:
15642         * check/gst/gstbin.c:
15643         * check/gst/gstbuffer.c:
15644         * check/gst/gstbus.c:
15645         * check/gst/gstcaps.c:
15646         * check/gst/gstelement.c:
15647         * check/gst/gstevent.c:
15648         * check/gst/gstghostpad.c:
15649         * check/gst/gstiterator.c:
15650         * check/gst/gstmessage.c:
15651         * check/gst/gstminiobject.c:
15652         * check/gst/gstobject.c:
15653         * check/gst/gstpad.c:
15654         * check/gst/gstpipeline.c:
15655         * check/gst/gstplugin.c:
15656         * check/gst/gstsegment.c:
15657         * check/gst/gststructure.c:
15658         * check/gst/gstsystemclock.c:
15659         * check/gst/gsttag.c:
15660         * check/gst/gstutils.c:
15661         * check/gst/gstvalue.c:
15662         * check/net/.cvsignore:
15663         * check/net/gstnetclientclock.c:
15664         * check/net/gstnettimeprovider.c:
15665         * check/pipelines/.cvsignore:
15666         * check/pipelines/cleanup.c:
15667         * check/pipelines/simple_launch_lines.c:
15668         * check/pipelines/stress.c:
15669         * check/states/.cvsignore:
15670         * check/states/sinks.c:
15671         * configure.ac:
15672         * examples/Makefile.am:
15673         * examples/appreader/.cvsignore:
15674         * examples/appreader/Makefile.am:
15675         * examples/appreader/appreader.c:
15676         * examples/controller/.cvsignore:
15677         * examples/controller/Makefile.am:
15678         * examples/controller/audio-example.c:
15679         * examples/cutter/.cvsignore:
15680         * examples/cutter/Makefile.am:
15681         * examples/cutter/cutter.c:
15682         * examples/cutter/cutter.h:
15683         * examples/events/Makefile.am:
15684         * examples/events/seek.c:
15685         * examples/helloworld/.cvsignore:
15686         * examples/helloworld/Makefile.am:
15687         * examples/helloworld/helloworld.c:
15688         * examples/helloworld2/.cvsignore:
15689         * examples/helloworld2/Makefile.am:
15690         * examples/helloworld2/helloworld2.c:
15691         * examples/launch/.cvsignore:
15692         * examples/launch/Makefile.am:
15693         * examples/launch/mp3parselaunch.c:
15694         * examples/launch/mp3play:
15695         * examples/manual/.cvsignore:
15696         * examples/manual/Makefile.am:
15697         * examples/manual/extract.pl:
15698         * examples/metadata/Makefile.am:
15699         * examples/metadata/read-metadata.c:
15700         * examples/mixer/.cvsignore:
15701         * examples/mixer/Makefile.am:
15702         * examples/mixer/mixer.c:
15703         * examples/mixer/mixer.h:
15704         * examples/pingpong/.cvsignore:
15705         * examples/pingpong/Makefile.am:
15706         * examples/pingpong/pingpong.c:
15707         * examples/plugins/.cvsignore:
15708         * examples/plugins/Makefile.am:
15709         * examples/plugins/example.c:
15710         * examples/plugins/example.h:
15711         * examples/pwg/.cvsignore:
15712         * examples/pwg/Makefile.am:
15713         * examples/pwg/extract.pl:
15714         * examples/queue/.cvsignore:
15715         * examples/queue/Makefile.am:
15716         * examples/queue/queue.c:
15717         * examples/queue2/.cvsignore:
15718         * examples/queue2/Makefile.am:
15719         * examples/queue2/queue2.c:
15720         * examples/queue3/.cvsignore:
15721         * examples/queue3/Makefile.am:
15722         * examples/queue3/queue3.c:
15723         * examples/queue4/.cvsignore:
15724         * examples/queue4/Makefile.am:
15725         * examples/queue4/queue4.c:
15726         * examples/retag/.cvsignore:
15727         * examples/retag/Makefile.am:
15728         * examples/retag/retag.c:
15729         * examples/retag/transcode.c:
15730         * examples/thread/.cvsignore:
15731         * examples/thread/Makefile.am:
15732         * examples/thread/thread.c:
15733         * examples/typefind/.cvsignore:
15734         * examples/typefind/Makefile.am:
15735         * examples/typefind/typefind.c:
15736         * examples/xml/.cvsignore:
15737         * examples/xml/Makefile.am:
15738         * examples/xml/createxml.c:
15739         * examples/xml/runxml.c:
15740         * tests/Makefile.am:
15741         * tests/check/Makefile.am:
15742         * testsuite/.cvsignore:
15743         * testsuite/Makefile.am:
15744         * testsuite/Rules:
15745         * testsuite/caps/.cvsignore:
15746         * testsuite/caps/Makefile.am:
15747         * testsuite/caps/app_fixate.c:
15748         * testsuite/caps/audioscale.c:
15749         * testsuite/caps/caps.c:
15750         * testsuite/caps/caps.h:
15751         * testsuite/caps/caps_strings:
15752         * testsuite/caps/compatibility.c:
15753         * testsuite/caps/deserialize.c:
15754         * testsuite/caps/enumcaps.c:
15755         * testsuite/caps/eratosthenes.c:
15756         * testsuite/caps/filtercaps.c:
15757         * testsuite/caps/fixed.c:
15758         * testsuite/caps/fraction-convert.c:
15759         * testsuite/caps/fraction-multiply-and-zero.c:
15760         * testsuite/caps/intersect2.c:
15761         * testsuite/caps/intersection.c:
15762         * testsuite/caps/normalisation.c:
15763         * testsuite/caps/random.c:
15764         * testsuite/caps/renegotiate.c:
15765         * testsuite/caps/sets.c:
15766         * testsuite/caps/simplify.c:
15767         * testsuite/caps/string-conversions.c:
15768         * testsuite/caps/structure.c:
15769         * testsuite/caps/subtract.c:
15770         * testsuite/caps/union.c:
15771         * testsuite/debug/.cvsignore:
15772         * testsuite/debug/Makefile.am:
15773         * testsuite/debug/category.c:
15774         * testsuite/debug/commandline.c:
15775         * testsuite/debug/global.c:
15776         * testsuite/debug/output.c:
15777         * testsuite/debug/printf_extension.c:
15778         * testsuite/dlopen/.cvsignore:
15779         * testsuite/dlopen/Makefile.am:
15780         * testsuite/dlopen/dlopen_gst.c:
15781         * testsuite/dlopen/loadgst.c:
15782         * testsuite/elements/.cvsignore:
15783         * testsuite/elements/Makefile.am:
15784         * testsuite/elements/gst-inspect-check.in:
15785         * testsuite/elements/struct_i386.h:
15786         * testsuite/elements/struct_size.c:
15787         * testsuite/indexers/.cvsignore:
15788         * testsuite/indexers/Makefile.am:
15789         * testsuite/indexers/cache1.c:
15790         * testsuite/indexers/indexdump.c:
15791         * testsuite/parse/.cvsignore:
15792         * testsuite/parse/Makefile.am:
15793         * testsuite/parse/parse1.c:
15794         * testsuite/parse/parse2.c:
15795         * testsuite/plugin/.cvsignore:
15796         * testsuite/plugin/Makefile.am:
15797         * testsuite/plugin/README:
15798         * testsuite/plugin/dynamic.c:
15799         * testsuite/plugin/linked.c:
15800         * testsuite/plugin/loading.c:
15801         * testsuite/plugin/registry.c:
15802         * testsuite/plugin/static.c:
15803         * testsuite/plugin/static2.c:
15804         * testsuite/plugin/testplugin.c:
15805         * testsuite/plugin/testplugin2.c:
15806         * testsuite/plugin/testplugin2_s.c:
15807         * testsuite/plugin/testplugin_s.c:
15808         * testsuite/refcounting/.cvsignore:
15809         * testsuite/refcounting/Makefile.am:
15810         * testsuite/refcounting/bin.c:
15811         * testsuite/refcounting/element.c:
15812         * testsuite/refcounting/element_pad.c:
15813         * testsuite/refcounting/mainloop.c:
15814         * testsuite/refcounting/mem.c:
15815         * testsuite/refcounting/mem.h:
15816         * testsuite/refcounting/object.c:
15817         * testsuite/refcounting/pad.c:
15818         * testsuite/refcounting/sched.c:
15819         * testsuite/refcounting/thread.c:
15820         * testsuite/states/.cvsignore:
15821         * testsuite/states/Makefile.am:
15822         * testsuite/states/bin.c:
15823         * testsuite/states/locked.c:
15824         * testsuite/states/parent.c:
15825         * testsuite/threads/.cvsignore:
15826         * testsuite/threads/159566.c:
15827         * testsuite/threads/159852.c:
15828         * testsuite/threads/Makefile.am:
15829         * testsuite/threads/queue.c:
15830         * testsuite/threads/signals.c:
15831         * testsuite/threads/staticrec.c:
15832         * testsuite/threads/thread.c:
15833         * testsuite/threads/threadb.c:
15834         * testsuite/threads/threadc.c:
15835         * testsuite/threads/threadd.c:
15836         * testsuite/threads/threade.c:
15837         * testsuite/threads/threadf.c:
15838         * testsuite/threads/threadg.c:
15839         * testsuite/threads/threadh.c:
15840         * testsuite/threads/threadi.c:
15841           move all of these under tests
15842
15843 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15844
15845         * configure.ac:
15846         * tests/Makefile.am:
15847           fix distcheck
15848
15849 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15850
15851         * docs/gst/gstreamer-sections.txt:
15852         * tests/sched/.cvsignore:
15853         * tests/sched/Makefile.am:
15854         * tests/sched/cases/(fs-fs).xml:
15855         * tests/sched/cases/(fs-i-fs).xml:
15856         * tests/sched/cases/(fs-i-i-fs).xml:
15857         * tests/sched/cases/(fs-i-q[i-fs]).xml:
15858         * tests/sched/dynamic-pipeline.c:
15859         * tests/sched/interrupt1.c:
15860         * tests/sched/interrupt2.c:
15861         * tests/sched/interrupt3.c:
15862         * tests/sched/runtestcases:
15863         * tests/sched/runxml.c:
15864         * tests/sched/sched-stress.c:
15865         * tests/sched/sort.c:
15866         * tests/sched/testcases:
15867         * tests/sched/testcases1.tc:
15868         * tests/seeking/.cvsignore:
15869         * tests/seeking/Makefile.am:
15870         * tests/seeking/seeking1.c:
15871         * tests/threadstate/.cvsignore:
15872         * tests/threadstate/Makefile.am:
15873         * tests/threadstate/test1.c:
15874         * tests/threadstate/test2.c:
15875         * tests/threadstate/threadstate1.c:
15876         * tests/threadstate/threadstate2.c:
15877         * tests/threadstate/threadstate3.c:
15878         * tests/threadstate/threadstate4.c:
15879         * tests/threadstate/threadstate5.c:
15880           remove obsolete tests
15881         * configure.ac:
15882         * tests/bench-complexity.scm:
15883         * tests/bench-mass_elements.scm:
15884         * tests/complexity.c:
15885         * tests/complexity.gnuplot:
15886         * tests/instantiate/.cvsignore:
15887         * tests/instantiate/Makefile.am:
15888         * tests/instantiate/caps.c:
15889         * tests/mass_elements.c:
15890         * tests/network-clock-utils.scm:
15891         * tests/network-clock.scm:
15892         * tests/plot-data:
15893         First pass at cleaning up tests/ dir before moving the rest
15894         Combined with CVS surgery
15895
15896 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15897
15898         * po/POTFILES.in:
15899           queue has moved, update
15900
15901 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15902
15903         * docs/gst/gstreamer-sections.txt:
15904           remove double entries from the docs
15905         * gst/gst_private.h:
15906         * gst/gstinfo.c: (_gst_debug_init):
15907           remove the THREAD debug category
15908         * gst/Makefile.am:
15909         * gst/gstqueue.c:
15910         * gst/gstqueue.h:
15911         * docs/gst/gstreamer.types:
15912         * plugins/elements/gstqueue.c: (gst_queue_get_type),
15913         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
15914           completely move queue and fix up debugging categories
15915
15916 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15917
15918         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
15919           make initialization portable, using LL is not
15920
15921 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15922
15923         * win32/common/gstconfig.h:
15924           add large padding
15925
15926 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15927
15928         * win32/common/libgstreamer.def:
15929           rename symbols; sort base section
15930
15931 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15932
15933         * gst/gstclock.c: (do_linear_regression):
15934           remove crack non-portable handrolled DEBUG macro
15935
15936 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
15937
15938         * docs/random/release:
15939           update notes
15940         * win32/common/gstenumtypes.c: (register_gst_object_flags),
15941         (gst_object_flags_get_type), (register_gst_bin_flags),
15942         (gst_bin_flags_get_type), (register_gst_buffer_flag),
15943         (gst_buffer_flag_get_type), (register_gst_bus_flags),
15944         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
15945         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
15946         (gst_caps_flags_get_type), (register_gst_clock_return),
15947         (gst_clock_return_get_type), (register_gst_clock_entry_type),
15948         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
15949         (gst_clock_flags_get_type), (register_gst_state),
15950         (gst_state_get_type), (register_gst_state_change_return),
15951         (gst_state_change_return_get_type), (register_gst_state_change),
15952         (gst_state_change_get_type), (register_gst_element_flags),
15953         (gst_element_flags_get_type), (register_gst_core_error),
15954         (gst_core_error_get_type), (register_gst_library_error),
15955         (gst_library_error_get_type), (register_gst_resource_error),
15956         (gst_resource_error_get_type), (register_gst_stream_error),
15957         (gst_stream_error_get_type), (register_gst_event_type_flags),
15958         (gst_event_type_flags_get_type), (register_gst_event_type),
15959         (gst_event_type_get_type), (register_gst_seek_type),
15960         (gst_seek_type_get_type), (register_gst_seek_flags),
15961         (gst_seek_flags_get_type), (register_gst_format),
15962         (gst_format_get_type), (register_gst_index_certainty),
15963         (gst_index_certainty_get_type), (register_gst_index_entry_type),
15964         (gst_index_entry_type_get_type),
15965         (register_gst_index_lookup_method),
15966         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
15967         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
15968         (gst_index_resolver_method_get_type), (register_gst_index_flags),
15969         (gst_index_flags_get_type), (register_gst_debug_level),
15970         (gst_debug_level_get_type), (register_gst_debug_color_flags),
15971         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
15972         (gst_iterator_result_get_type), (register_gst_iterator_item),
15973         (gst_iterator_item_get_type), (register_gst_message_type),
15974         (gst_message_type_get_type), (register_gst_mini_object_flags),
15975         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
15976         (gst_pad_link_return_get_type), (register_gst_flow_return),
15977         (gst_flow_return_get_type), (register_gst_activate_mode),
15978         (gst_activate_mode_get_type), (register_gst_pad_direction),
15979         (gst_pad_direction_get_type), (register_gst_pad_flags),
15980         (gst_pad_flags_get_type), (register_gst_pad_presence),
15981         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
15982         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
15983         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
15984         (gst_plugin_error_get_type), (register_gst_plugin_flags),
15985         (gst_plugin_flags_get_type), (register_gst_rank),
15986         (gst_rank_get_type), (register_gst_query_type),
15987         (gst_query_type_get_type), (register_gst_tag_merge_mode),
15988         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
15989         (gst_tag_flag_get_type), (register_gst_task_state),
15990         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
15991         (gst_alloc_trace_flags_get_type),
15992         (register_gst_type_find_probability),
15993         (gst_type_find_probability_get_type), (register_gst_uri_type),
15994         (gst_uri_type_get_type), (register_gst_parse_error),
15995         (gst_parse_error_get_type):
15996         * win32/common/gstenumtypes.h:
15997         * win32/common/gstversion.h:
15998           update visual studio generated files
15999
16000 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16001
16002         * win32/vs6/libgstbase.dsp:
16003         * win32/vs6/libgstelements.dsp:
16004           update project files for new locations
16005
16006 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
16007
16008         * Makefile.am:
16009           remove some files
16010         * README:
16011           reinstate and update
16012         * DEVEL:
16013         * REQUIREMENTS:
16014           removed
16015         * LICENSE:
16016         * docs/random/LICENSE:
16017           moved to random
16018
16019 2005-11-30  Edward Hervey  <edward@fluendo.com>
16020
16021         * gst/gsttypefind.c: (gst_type_find_register):
16022         * gst/gsttypefind.h:
16023         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
16024         (gst_type_find_factory_dispose):
16025         * gst/gsttypefindfactory.h:
16026         Fix memory leak in GstTypeFindFactory.
16027
16028 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16029
16030         * gst/gst.c:
16031         * plugins/elements/Makefile.am:
16032         * plugins/elements/gstelements.c:
16033         * plugins/elements/gstqueue.c:
16034           move queue from core to the elements plugin
16035
16036 2005-11-29  Andy Wingo  <wingo@pobox.com>
16037
16038         * libs/gst/base/gstbasetransform.h: 
16039         * libs/gst/base/gstbasesrc.h: 
16040         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
16041
16042         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
16043         of pointers by which to pad very extensible base classes (like the
16044         ones in libs/gst/base).
16045
16046 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16047
16048         * docs/gst/gstreamer-docs.sgml:
16049         * docs/gst/gstreamer-sections.txt:
16050         * docs/libs/gstreamer-libs-docs.sgml:
16051         * docs/libs/gstreamer-libs-sections.txt:
16052           moving documentation from core to lib
16053
16054 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16055
16056         * check/Makefile.am:
16057         * configure.ac:
16058         * docs/gst/Makefile.am:
16059         * gst/Makefile.am:
16060         * gst/base/.cvsignore:
16061         * gst/base/Makefile.am:
16062         * gst/base/README:
16063         * gst/base/gstadapter.c:
16064         * gst/base/gstadapter.h:
16065         * gst/base/gstbasesink.c:
16066         * gst/base/gstbasesink.h:
16067         * gst/base/gstbasesrc.c:
16068         * gst/base/gstbasesrc.h:
16069         * gst/base/gstbasetransform.c:
16070         * gst/base/gstbasetransform.h:
16071         * gst/base/gstcollectpads.c:
16072         * gst/base/gstcollectpads.h:
16073         * gst/base/gstpushsrc.c:
16074         * gst/base/gstpushsrc.h:
16075         * gst/base/gsttypefindhelper.c:
16076         * gst/base/gsttypefindhelper.h:
16077         * gst/check/Makefile.am:
16078         * gst/check/gstcheck.c:
16079         * gst/check/gstcheck.h:
16080         * gst/net/Makefile.am:
16081         * gst/net/gstnet.h:
16082         * gst/net/gstnetclientclock.c:
16083         * gst/net/gstnetclientclock.h:
16084         * gst/net/gstnettimepacket.c:
16085         * gst/net/gstnettimepacket.h:
16086         * gst/net/gstnettimeprovider.c:
16087         * gst/net/gstnettimeprovider.h:
16088         * libs/gst/Makefile.am:
16089         * libs/gst/base/Makefile.am:
16090         * libs/gst/base/gstbasetransform.c:
16091         * libs/gst/check/Makefile.am:
16092         * plugins/elements/Makefile.am:
16093         * po/POTFILES.in:
16094           CVS surgery + support to move base, check, and net out of gst
16095           and into libs/gst
16096
16097 2005-11-29  Andy Wingo  <wingo@pobox.com>
16098
16099         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
16100
16101         * gst/gststructure.h (struct _GstStructure): Only one pointer of
16102         padding.
16103
16104         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
16105
16106         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
16107
16108         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
16109
16110         * gst/gstobject.h: (struct _GstObject): Only one pointer of
16111         padding; reduces object size by about 30%. We don't expect
16112         anything else to go into gstobject.
16113
16114         * gst/gstminiobject.h (struct _GstMiniObject)
16115         (struct _GstMiniObjectClass): Only one pointer of padding; the
16116         payload is only a pointer and two ints anyway. For the class there
16117         are only two methods as well.
16118         
16119         * gst/gstelement.h (struct _GstElementClass): Removed
16120         the state_changed signal callback, it is not used.
16121
16122 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16123
16124         * docs/gst/gstreamer.types:
16125           fix includes, though they are a little dinky
16126
16127 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16128
16129         * check/Makefile.am:
16130           look in the right place for elements, a lot more chance of
16131           success
16132         * gst/Makefile.am:
16133           remove indexers and elements subdirs
16134         * plugins/Makefile.am:
16135           make indexers conditional
16136
16137 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16138
16139         * Makefile.am:
16140         * configure.ac:
16141         * plugins/elements/Makefile.am:
16142         * plugins/elements/gstcapsfilter.c:
16143         * plugins/elements/gstfilesink.c:
16144         * plugins/elements/gstfilesrc.c:
16145         * plugins/elements/gstidentity.c:
16146         * plugins/indexers/Makefile.am:
16147           do CVS surgery and related build fixery to move elements
16148           and indexers in a new gstreamer/plugins directory, out of the
16149           gst/ directory
16150
16151 2005-11-29  Andy Wingo  <wingo@pobox.com>
16152
16153         * check/Makefile.am:
16154         * pkgconfig/gstreamer-net-uninstalled.pc.in:
16155         * pkgconfig/gstreamer-net.pc.in:
16156         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
16157         #322257.
16158
16159 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16160
16161         * tools/Makefile.am:
16162         * tools/gst-complete.1.in:
16163         * tools/gst-complete.c:
16164         * tools/gst-compprep.1.in:
16165         * tools/gst-compprep.c:
16166           removing -compprep and -complete
16167
16168 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
16169
16170         * gst/gstevent.c: (gst_event_new_new_segment),
16171         (gst_event_parse_new_segment):
16172         * gst/gstevent.h:
16173           fix #320529 - clean up new_segment API and structure.
16174           Let's hope everyone was using the methods, and not the structure.
16175
16176 2005-11-29  Edward Hervey  <edward@fluendo.com>
16177
16178         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16179         (gst_base_sink_event), (gst_base_sink_do_sync),
16180         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
16181         Properly handle non GST_FORMAT_TIME segment
16182         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
16183         Properly handle non GST_FORMAT_TIME segment
16184         * gst/gstsegment.c:
16185         This function is valid if the accumulator is 0 and the format
16186         is different from the requested format.
16187         
16188 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
16189
16190         * docs/gst/gstreamer-sections.txt:
16191         Add gst_query_new_seeking and gst_query_parse_seeking to the
16192         docs.
16193
16194 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
16195
16196         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
16197           Treat a pad alloc with new caps the same as if we were not
16198           negotiated, in order to allow a changing upstream output
16199           to produce a new format of data.
16200
16201 2005-11-29  Edward Hervey  <edward@fluendo.com>
16202
16203         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16204         (gst_base_transform_event), (gst_base_transform_eventfunc):
16205         The event virtual method is now properly implemented, with a default
16206         handler
16207         Sub classes should call the parent_class event method. They should
16208         return FALSE if they had a problem handling the given event, or don't
16209         want GstBaseTransform to send that even downstream
16210         * gst/elements/gstidentity.c: (gst_identity_class_init),
16211         (gst_identity_init), (gst_identity_event),
16212         (gst_identity_transform_ip), (gst_identity_set_property),
16213         (gst_identity_get_property):
16214         * gst/elements/gstidentity.h:
16215         Added the single-segment boolean property.
16216         If set to TRUE, it will output a single segment of data, starting from
16217         0, will eat up all incoming newsegment, and modify the timestamp of the
16218         buffers accordingly
16219
16220 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
16221
16222         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
16223           Don't ref NULL target pad (#322751). Improve docs.
16224
16225 2005-11-29  Michael Smith  <msmith@fluendo.com>
16226
16227         * gst/gstregistryxml.c: (load_plugin):
16228           Don't crash if we failed to load a feature from a plugin. 
16229
16230 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16231
16232         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
16233         (GST_START_TEST):
16234           use more check API and less GLib API
16235
16236 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16237
16238         * Makefile.am:
16239           don't run checks if we don't have check
16240         * common/check.mak:
16241           remove the registry when running make torture
16242         * docs/gst/gstreamer-sections.txt:
16243           remove second multiply
16244         * gst/gstqueue.c: (gst_queue_loop):
16245           fix a compile warning when disabling debug
16246
16247 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
16248
16249         * gst/gstinfo.h:
16250         Hey! Let's print the pad name if the pointer != NULL instead
16251         of when it == NULL :-)
16252
16253 2005-11-28  Wim Taymans  <wim@fluendo.com>
16254
16255         * check/gst/gstutils.c: (GST_START_TEST):
16256         Updated check, add some scaling accuracy checking code.
16257
16258         * gst/gstutils.c: (gst_util_div128_64),
16259         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
16260         (gst_util_uint64_scale_int):
16261         Fix 6 times faster division code. Optimize for common 
16262         1/1 and less common X/1 cases.
16263
16264 2005-11-28  Wim Taymans  <wim@fluendo.com>
16265
16266         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16267         More checks.
16268
16269         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
16270         (do_linear_regression), (gst_clock_add_observation):
16271         Cleanups.
16272         Release lock when the clock cannot be slaved.
16273         Catch the case where the regression returned an invalid denominator.
16274
16275         * gst/gstutils.c: (gst_util_div128_64_iterate),
16276         (gst_util_div128_64), (gst_util_uint64_scale_int64),
16277         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
16278         Add protentially more performant non-iterative 128/64 divide function
16279         that unfortunatly does not work yet.
16280         Shortcut the trivial 0/X = 0 case.
16281         Remove the warnings on overflow.
16282
16283 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16284
16285         * gst/gstplugin.c: (gst_plugin_register_func):
16286           everything causing a plugin not to load should be at least a WARNING
16287
16288 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
16289
16290         * docs/random/ensonic/dparams.txt:
16291           some TODOs for the next dev cycle
16292         * libs/gst/controller/gstcontroller.c:
16293         (gst_controlled_property_set_interpolation_mode),
16294         (gst_controlled_property_new):
16295         * libs/gst/controller/gstcontroller.h:
16296           use base type to assign acccessor functions
16297
16298 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
16299
16300         * check/Makefile.am:
16301         Oops, that should have been top_srcdir
16302
16303 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
16304
16305         * check/Makefile.am:
16306         * check/elements/fdsrc.c: (GST_START_TEST):
16307         Use a cmdline define to specify the location of a file to use for
16308         testing, to avoid breaking distcheck.
16309
16310 2005-11-28  Andy Wingo  <wingo@pobox.com>
16311
16312         * gst/gstpad.c (fixate_value): Use array functions for arrays.
16313
16314 2005-11-28  Edward Hervey  <edward@fluendo.com>
16315
16316         * tools/gst-launch.c: (main):
16317         Clarify the output strings, makes it easier to translate.
16318         Fixes #322626
16319
16320 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
16321
16322         * gst/Makefile.am:
16323           don't try and build net if we don't even have <sys/socket.h>
16324
16325 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
16326
16327         * check/Makefile.am:
16328         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
16329         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
16330           Add tests for fdsrc seekability
16331
16332         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
16333         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
16334         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
16335         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
16336         * gst/elements/gstfdsrc.h:
16337           fdsrc should not be a 'live' source.
16338           Implement seeking on seekable fd's.
16339
16340         * gst/gstquery.c: (gst_query_new_seeking),
16341         (gst_query_parse_seeking):
16342         * gst/gstquery.h:
16343           Implement SEEKING query functions: 
16344             *_new_seeking and *_parse_seeking
16345
16346 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
16347
16348         * gst/gstelement.c: (gst_element_dispose):
16349           don't loop forever
16350
16351         * gst/gstiterator.c:
16352         * gst/gststructure.c:
16353           doc fixes
16354
16355         * libs/gst/controller/gstcontroller.c:
16356         (gst_controlled_property_set_interpolation_mode):
16357         * libs/gst/controller/gstcontroller.h:
16358         * libs/gst/controller/gstinterpolation.c:
16359         (interpolate_none_get_enum_value_array):
16360           support controlling enums
16361
16362 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
16363
16364         * gst/gstvalue.c:
16365           Improve documentation for gst_value_union().
16366
16367         * gst/gstvalue.h:
16368           Change return value for union, intersect and subtract functions
16369           from gint to gboolean.
16370
16371 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
16372
16373         * gst/gstvalue.c: (gst_value_serialize_any_list),
16374         (gst_value_transform_any_list_string),
16375         (gst_value_deserialize_list), (gst_value_deserialize_array),
16376         (gst_value_set_int_range), (gst_value_deserialize_int_range),
16377         (gst_value_set_double_range), (gst_value_deserialize_double_range),
16378         (gst_value_set_fraction_range_full),
16379         (gst_value_deserialize_fraction_range),
16380         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
16381         (gst_value_deserialize_boolean),
16382         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
16383         (gst_value_serialize_float), (gst_value_deserialize_float),
16384         (gst_string_wrap), (gst_value_deserialize_string),
16385         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
16386         (gst_value_union_int_range_int_range),
16387         (gst_value_intersect_int_range_int_range),
16388         (gst_value_intersect_double_range_double_range),
16389         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
16390         (gst_value_subtract_int_range_int_range),
16391         (gst_value_subtract_double_double_range),
16392         (gst_value_subtract_double_range_double_range),
16393         (gst_value_deserialize_fraction):
16394         * gst/gstvalue.h:
16395           Use gint, gdouble and gchar in our API instead of int, double and
16396           char (and make usage in gstvalue.c more consistent).
16397
16398 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16399
16400         * check/Makefile.am:
16401         * libs/gst/controller/Makefile.am:
16402         * libs/gst/dataprotocol/Makefile.am:
16403           fix up Makefile.am and remove GST_ENABLE_NEW
16404
16405 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16406
16407         * configure.ac:
16408         * gst/Makefile.am:
16409         * gst/base/Makefile.am:
16410         * gst/check/Makefile.am:
16411         * gst/elements/Makefile.am:
16412         * gst/net/Makefile.am:
16413           update LDFLAGS use some more
16414
16415 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
16416
16417         * common/m4/gst-doc.m4:
16418           Fixes #312589
16419
16420 2005-11-26  Edward Hervey  <edward@fluendo.com>
16421
16422         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
16423         This shouldn't issue a g_warning since it returns NULL if it
16424         couldn't find the plugin, and all functions using this behave
16425         properly on a NULL return. Switching to a GST_WARNING.
16426
16427 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
16428
16429         * gst/gstbin.c: (gst_bin_handle_message_func):
16430         Don't leak clock messages.
16431
16432 2005-11-25  Wim Taymans  <wim@fluendo.com>
16433
16434         * gst/gstutils.c: (gst_util_uint64_scale_int64),
16435         (gst_util_uint64_scale_int):
16436         Optimisations, remove unneeded vars.
16437
16438 2005-11-25  Wim Taymans  <wim@fluendo.com>
16439
16440         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16441         Added more checks for the high precision uint64 cases.
16442
16443         * gst/gstutils.c: (gst_util_uint64_scale_int64),
16444         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
16445         Implement high precision (guint64 * guint64) / guint64.
16446
16447 2005-11-24  Wim Taymans  <wim@fluendo.com>
16448
16449         * gst/base/gstbasesrc.c: (gst_base_src_query):
16450         Fix wrong percentage query.
16451
16452         * gst/gstutils.c: (gst_util_uint64_scale),
16453         (gst_util_uint64_scale_int):
16454         Add some more common cases that can be handled 
16455         efficiently to _scale.
16456
16457 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16458
16459         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
16460         (gst_mini_object_suite):
16461           don't use check calls from threads; check probably isn't
16462           threadsafe and using a lock to make it threadsafe would
16463           defeat the purpose of this check
16464         * gst/check/gstcheck.c:
16465         * gst/check/gstcheck.h:
16466           use GST_DEBUG some more
16467
16468 2005-11-24  Wim Taymans  <wim@fluendo.com>
16469
16470         * gst/gstutils.c: (gst_util_uint64_scale),
16471         (gst_util_uint64_scale_int):
16472         Chain trivial case to _scale_int.
16473
16474 2005-11-24  Wim Taymans  <wim@fluendo.com>
16475
16476         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
16477         Added test for scaling.
16478
16479         * gst/gstclock.h:
16480         Small doc fix.
16481
16482         * gst/gstutils.c: (gst_util_uint64_scale_int):
16483         Implemented high precision scaling code.
16484
16485 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
16486
16487         * gst/gstinfo.h:
16488           do not crash on pad==NULL
16489
16490 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
16491
16492         Patch by: Stefan Kost
16493
16494         * common/gtk-doc.mak:
16495         * docs/gst/Makefile.am:
16496         * docs/libs/Makefile.am:
16497           Fix distcheck issues for the libraries docs build
16498           Closes #319599.
16499
16500 2005-11-24  Michael Smith <msmith@fluendo.com>
16501
16502         * docs/manual/basics-helloworld.xml:
16503           Fix bug #315027: memory leak in example code in docs.
16504
16505 2005-11-24  Michael Smith <msmith@fluendo.com>
16506
16507         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16508           Unlock the PREROLL_LOCK in a failure case.
16509
16510 2005-11-24  Wim Taymans  <wim@fluendo.com>
16511
16512         * docs/gst/gstreamer-sections.txt:
16513         * gst/base/gstadapter.h:
16514         * gst/base/gstbasesink.h:
16515         * gst/base/gstbasesrc.h:
16516         * gst/base/gstbasetransform.h:
16517         * gst/base/gstpushsrc.h:
16518         * gst/elements/gstfakesink.h:
16519         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
16520         * gst/elements/gstfakesrc.h:
16521         * gst/elements/gstfilesink.h:
16522         * gst/elements/gstfilesrc.h:
16523         * gst/gst.c:
16524         * gst/gstbin.c:
16525         * gst/gstbuffer.c: (_gst_buffer_copy):
16526         * gst/gstbus.h:
16527         * gst/gstcaps.c:
16528         * gst/gstchildproxy.c:
16529         * gst/gstclock.c:
16530         * gst/gstelement.c:
16531         * gst/gstelementfactory.c:
16532         * gst/gstelementfactory.h:
16533         * gst/gstevent.c:
16534         * gst/gstghostpad.h:
16535         * gst/gstindex.h:
16536         * gst/gstinterface.h:
16537         * gst/gstminiobject.c:
16538         * gst/gstminiobject.h:
16539         * gst/gstpad.c:
16540         * gst/gstpad.h:
16541         * gst/gstpadtemplate.h:
16542         * gst/gstpipeline.h:
16543         * gst/gstpluginfeature.h:
16544         * gst/gstquery.h:
16545         * gst/gstqueue.h:
16546         * gst/gsttaglist.c:
16547         * gst/gsttaglist.h:
16548         * gst/gsttagsetter.c:
16549         * gst/gsttagsetter.h:
16550         * gst/gsttrace.c:
16551         * gst/gsttrace.h:
16552         * gst/gsttypefind.h:
16553         * gst/gsturi.h:
16554         * gst/gstvalue.c:
16555         * gst/net/gstnetclientclock.c:
16556         * gst/net/gstnetclientclock.h:
16557         * gst/net/gstnettimepacket.c:
16558         * gst/net/gstnettimeprovider.c:
16559         * gst/net/gstnettimeprovider.h:
16560         Doc fixes.
16561
16562 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16563
16564         * configure.ac: back to HEAD
16565
16566 === release 0.9.6 ===
16567
16568 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
16569
16570         * configure.ac:
16571           releasing 0.9.6, "Always On Time"
16572
16573 2005-11-23  Wim Taymans  <wim@fluendo.com>
16574
16575         * docs/gst/gstreamer-sections.txt:
16576         * gst/glib-compat.c:
16577         * gst/gsttagsetter.c:
16578         * gst/gstvalue.c:
16579         * gst/net/gstnetclientclock.c:
16580         * gst/net/gstnettimepacket.h:
16581         Doc updates.
16582
16583 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
16584
16585         * docs/faq/using.xml:
16586         * docs/libs/tmpl/gstcontrol.sgml:
16587         * docs/manual/advanced-dparams.xml:
16588         * docs/manual/appendix-checklist.xml:
16589         * docs/manual/basics-elements.xml:
16590         * docs/pwg/other-source.xml:
16591         * docs/random/moving-plugins:
16592         * gst/gstpad.c:
16593         * tools/gst-launch.1.in:
16594           remove mentions of sinesrc
16595
16596 2005-11-23  Michael Smith <msmith@fluendo.com>
16597
16598         * docs/gst/gstreamer-sections.txt:
16599           Update for new API and API changes.
16600         * gst/gstobject.h:
16601           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
16602         * gst/gstvalue.c:
16603           Documentation typo fix.
16604         * gst/net/gstnettimepacket.c:
16605           Documentation fixes for arguments.
16606
16607 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
16608
16609         * gst/gststructure.c: (gst_structure_get_fraction),
16610         (gst_structure_parse_value),
16611         (gst_structure_fixate_field_nearest_fraction):
16612         * gst/gststructure.h:
16613         * gst/gstutils.c: (gst_util_uint64_scale_int):
16614         * gst/gstutils.h:
16615         * scripts/update-funcnames:
16616         API Changes. 
16617         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
16618         Make gst_structure_fixate_field_nearest_fraction take a numerator
16619         and denominator argument instead of a GValue
16620         add gst_structure_get_fraction helper function.
16621
16622 2005-11-23  Wim Taymans  <wim@fluendo.com>
16623
16624         * docs/design/part-TODO.txt:
16625         Update TODO.
16626
16627         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
16628         * gst/net/gstnetclientclock.h:
16629         Use parent fields for timeout and window_size.
16630
16631 2005-11-23  Andy Wingo  <wingo@pobox.com>
16632
16633         * check/net/gstnetclientclock.c (test_functioning): Adjust to
16634         rate_num/rate_denom change.
16635
16636         * gst/net/gstnetclientclock.c
16637         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
16638         OBJECT_LOCK. Don't call add_observation with the lock.
16639
16640         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
16641         fraction.
16642         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
16643         rate fraction.
16644         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
16645         deal with rate as a fraction whose numerator and denominator are
16646         GstClockTime values.
16647         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
16648         master; the other fields are protected by the SLAVE_LOCK.
16649         (do_linear_regression): Note that this must be called with the
16650         SLAVE_LOCK.
16651         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
16652         OBJECT_LOCK. Call set_calibration instead of touching the
16653         variables directly.
16654         (gst_clock_set_property, gst_clock_get_property): Protect
16655         master/slave parameters with the SLAVE_LOCK.
16656
16657         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
16658         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
16659         note that all of the instance variables that add_observation and
16660         the set_master functions use are protected by that lock and not
16661         the OBJECT_LOCK.
16662         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
16663
16664         * gst/gstclock.c (gst_clock_add_observation): No longer requires
16665         the caller to take the object lock.
16666
16667 2005-11-23  Wim Taymans  <wim@fluendo.com>
16668
16669         * gst/gsterror.c: (_gst_core_errors_init):
16670         * gst/gsterror.h:
16671         Add error for clock stuff.
16672
16673         * gst/gstpipeline.c: (gst_pipeline_change_state),
16674         (gst_pipeline_set_clock):
16675         Post clock error when clock cannot be used in a pipeline.
16676
16677 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
16678
16679         * docs/gst/gstreamer-sections.txt:
16680           make two symbols from gstinfo private for the docs
16681         * gst/base/gstcollectpads.h:
16682         * gst/gstutils.c:
16683           fix doc typos, update docs
16684
16685 2005-11-22  Wim Taymans  <wim@fluendo.com>
16686
16687         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16688         (gst_base_sink_wait), (gst_base_sink_do_sync),
16689         (gst_base_sink_handle_event):
16690         * gst/base/gstbasesink.h:
16691         No need to store the clock, the parent element class already
16692         has it.
16693
16694         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
16695         Updates for clock_set returning a gboolean
16696
16697         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
16698         (gst_clock_id_wait_async), (gst_clock_class_init),
16699         (gst_clock_init), (gst_clock_finalize),
16700         (gst_clock_get_internal_time), (gst_clock_get_time),
16701         (gst_clock_slave_callback), (gst_clock_set_master),
16702         (gst_clock_get_master), (do_linear_regression),
16703         (gst_clock_add_observation), (gst_clock_set_property),
16704         (gst_clock_get_property):
16705         * gst/gstclock.h:
16706         Implement master/slave. When setting a clock as a slave, a
16707         periodic timeout is scheduled to sample master and slave times.
16708         Then the slave clock is recalibrated to match offset and rate
16709         of the master clock.
16710         Update logging a bit.
16711         Add flag so that a clock can state that is cannot be slaved to
16712         another clock.
16713
16714         * gst/gstelement.c: (gst_element_set_clock):
16715         * gst/gstelement.h:
16716         The set clock returns a gboolean for when an element cannot
16717         deal with the selected clock in the pipeline. 
16718
16719         * gst/gstpipeline.c: (gst_pipeline_change_state),
16720         (gst_pipeline_set_clock):
16721         * gst/gstpipeline.h:
16722         Handle the case where the selected clock cannot be set on
16723         the pipeline.
16724
16725         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
16726         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
16727         (gst_net_client_clock_set_property),
16728         (gst_net_client_clock_get_property),
16729         (gst_net_client_clock_observe_times):
16730         * gst/net/gstnetclientclock.h:
16731         Use regression code in GstClock parent, remove duplicated
16732         functionality.
16733
16734 2005-11-22  Michael Smith <msmith@fluendo.com>
16735
16736         * gst/gstutils.c: (gst_util_clock_time_scale):
16737         * gst/gstutils.h:
16738         * docs/gst/gstreamer-sections.txt:
16739           Rename method to have extra underscore.
16740
16741 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
16742
16743         * gst/elements/Makefile.am:
16744         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
16745         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
16746         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
16747         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
16748         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
16749         * gst/elements/gstfakesrc.h:
16750         * gst/gstqueue.c: (queue_leaky_get_type):
16751           correctly fix GEnumValues so that nick is the short lowercase
16752           dashed tag
16753         * tools/gst-inspect.c: (print_element_properties_info):
16754           also show the nick, since it's useful to use from parse_launch
16755           syntax
16756           Fixes #322139
16757
16758 2005-11-22  Michael Smith <msmith@fluendo.com>
16759
16760         * gst/gstutils.c: (gst_util_clocktime_scale):
16761         * gst/gstutils.h:
16762         * docs/gst/gstreamer-sections.txt:
16763           Add util method for scaling a clocktime by a fraction. Useful 
16764           implementation is left as an exercise for the reader.
16765
16766 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16767
16768         * gst/gstvalue.c: (gst_value_collect_fraction_range):
16769         If needed, allocate storage in the destination value during
16770         collection.
16771
16772 2005-11-22  Edward Hervey  <edward@fluendo.com>
16773
16774         * docs/gst/gstreamer-sections.txt:
16775         * gst/Makefile.am:
16776         * gst/gst.h:
16777         * gst/gsturitype.c:
16778         * gst/gsturitype.h:
16779         * gst/gstutils.c: (gst_util_set_object_arg):
16780         * tools/gst-compprep.c: (main):
16781         * tools/gst-inspect.c: (print_element_properties_info):
16782         Removed GstURI, closes bug #321061
16783
16784 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16785
16786         * check/gst/gststructure.c: (GST_START_TEST):
16787         * gst/gststructure.c: (gst_structure_parse_value):
16788           Oops, broke automatic string type parsing.
16789           Add a test to catch it in future.
16790
16791 2005-11-22  Andy Wingo  <wingo@pobox.com>
16792
16793         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
16794         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
16795         Actually rename the function implementations. Grr.
16796
16797 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16798
16799         * check/gst/capslist.h:
16800           Comment test cases
16801         * check/gst/gststructure.c: (GST_START_TEST),
16802         (gst_structure_suite):
16803           Test automatic value type detection in gst_structure_from_string.
16804         * gst/gststructure.c: (gst_structure_parse_value):
16805           Add fraction as a type we try and guess automatically in
16806           caps/structure strings.
16807
16808 2005-11-22  Andy Wingo  <wingo@pobox.com>
16809
16810         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
16811
16812         * gst/gsttagsetter.h:
16813         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
16814         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
16815         (gst_tag_setter_add_tag_valist)
16816         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
16817         _add_values, _add_valist, and _add_valist_values. Since this is an
16818         interface the function suffixes should be more explicit so
16819         language binding don't end up with element.add_valist ->
16820         gst_tag_setter_add_valist, for example. Fixes #322069.
16821
16822 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16823
16824         * check/gst/gstcaps.c: (GST_START_TEST):
16825           Extend caps string tests to check that a caps to string
16826           conversion is reversible and produces the same caps.
16827
16828         * gst/gststructure.c: (gst_structure_value_get_generic_type):
16829           Output "fraction" as the generic type fraction range, so caps
16830           serialisation and deserialisation works.
16831         * check/gst/capslist.h:
16832         * gst/gstvalue.c: (gst_value_deserialize_fraction):
16833           Support 'MIN' and 'MAX' for deserialising fractions.
16834
16835 2005-11-22  Andy Wingo  <wingo@pobox.com>
16836
16837         * gst/gstevent.h (gst_event_new_new_segment)
16838         (gst_event_parse_new_segment, gst_event_new_buffer_size)
16839         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
16840         Renamed from *_newsegment, *_buffersize, *_notarget.
16841
16842         * scripts/update-funcnames: New script, performs the changes
16843         listed above.
16844
16845 2005-11-22  Wim Taymans  <wim@fluendo.com>
16846
16847         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
16848         Make sure the GstFlowReturn is returned.
16849
16850         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
16851         (gst_bus_add_signal_watch):
16852         * gst/gstbus.h:
16853         add gst_bus_add_signal_watch_full.
16854
16855         * gst/gstplugin.c: (gst_plugin_load_file):
16856         Small style cleanup.
16857
16858 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16859
16860         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
16861           Block the fakesrc srcpad when we send an event, to avoid
16862           contention on the stream_lock causing random test failures.
16863
16864 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16865
16866         * check/gst/gstvalue.c: (GST_START_TEST):
16867         * gst/gstvalue.c: (gst_value_fraction_subtract):
16868           Fix subtraction.
16869
16870 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
16871
16872         * gst/gst.h:
16873           include "gstchildproxy.h"
16874         * gst/gstchildproxy.h:
16875         * libs/gst/controller/gstcontroller.h:
16876           use G_GNUC_NULL_TERMINATED
16877
16878 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
16879
16880         * check/gst/capslist.h:
16881         * check/gst/gstcaps.c: (GST_START_TEST):
16882         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
16883         * gst/gststructure.c: (gst_structure_parse_range),
16884         (gst_structure_fixate_field_nearest_fraction):
16885         * gst/gststructure.h:
16886         * gst/gstvalue.c: (gst_value_init_fraction_range),
16887         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
16888         (gst_value_collect_fraction_range),
16889         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
16890         (gst_value_set_fraction_range_full),
16891         (gst_value_get_fraction_range_min),
16892         (gst_value_get_fraction_range_max),
16893         (gst_value_serialize_fraction_range),
16894         (gst_value_transform_fraction_range_string),
16895         (gst_value_compare_fraction_range),
16896         (gst_value_deserialize_fraction_range),
16897         (gst_value_intersect_fraction_fraction_range),
16898         (gst_value_intersect_fraction_range_fraction_range),
16899         (gst_value_subtract_fraction_fraction_range),
16900         (gst_value_subtract_fraction_range_fraction),
16901         (gst_value_subtract_fraction_range_fraction_range),
16902         (gst_value_collect_fraction), (gst_value_fraction_multiply),
16903         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
16904         (gst_value_transform_string_fraction), (_gst_value_initialize):
16905         * gst/gstvalue.h:
16906           Implement fraction ranges and extend GstFraction to support
16907           arithmetic subtraction, as well as deserialization from integer
16908           strings such as "100"
16909           Add a testsuite as for int and double range set operations
16910
16911 2005-11-21  Andy Wingo  <wingo@pobox.com>
16912
16913         * gst/gsttaglist.h: 
16914         * gst/gstcaps.h: 
16915         * gst/gststructure.h: Add glib-compat.h.
16916
16917 2005-11-21  Wim Taymans  <wim@fluendo.com>
16918
16919         * gst/gstbin.c: (gst_bin_change_state_func):
16920         Fix for #321595
16921
16922 2005-11-21  Wim Taymans  <wim@fluendo.com>
16923
16924         * gst/gstsegment.h:
16925         And add a nice define too.
16926
16927 2005-11-21  Wim Taymans  <wim@fluendo.com>
16928
16929         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
16930         (gst_segment_new), (gst_segment_free), (gst_segment_init),
16931         (gst_segment_set_duration), (gst_segment_set_last_stop),
16932         (gst_segment_set_seek), (gst_segment_set_newsegment),
16933         (gst_segment_to_stream_time), (gst_segment_to_running_time),
16934         (gst_segment_clip):
16935         * gst/gstsegment.h:
16936         Make binding friendly.
16937
16938 2005-11-21  Andy Wingo  <wingo@pobox.com>
16939
16940         * gst/gsttagsetter.h: 
16941         * gst/gsttaglist.h: 
16942         * gst/gststructure.h: 
16943         * gst/gstcaps.h: 
16944         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
16945         #319940.
16946
16947         * gst/gsterror.c (_gst_core_errors_init):
16948         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
16949         category.
16950
16951         * gst/Makefile.am (gst_headers): Add glib-compat.h.
16952         (noinst_HEADERS): noinst the -private.
16953
16954 2005-11-21  Michael Smith <msmith@fluendo.com>
16955
16956         * gst/gstplugin.h:
16957         * gst/gstregistry.h:
16958           Remove unimplemented declarations for which we can see no sensible
16959           use.
16960
16961 2005-11-21  Andy Wingo  <wingo@pobox.com>
16962
16963         * gst/gst.h: Include glib-compat.h.
16964
16965         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
16966
16967         * gst/glib-compat.c: Include the public and the private header.
16968
16969         * gst/glib-compat-private.h: Copied here from glib-compat.h.
16970
16971         * gst/gstvalue.c: 
16972         * gst/gstpad.c: 
16973         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
16974
16975         * check/gst/gstevent.c (create_custom_events): Check that
16976         FLUSH_STOP is serialized.
16977
16978         * check/elements/identity.c (event_func): 
16979         * check/elements/fakesrc.c (event_func): No stream lock, the core
16980         takes it.
16981
16982         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
16983         stream lock taking, yay.
16984
16985         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
16986         ensure that core takes the stream lock.
16987
16988         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
16989         lock name change.
16990
16991         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
16992         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
16993         it already. For the flush start we do take it though so we get the
16994         right preroll state change messages.
16995
16996         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
16997         the stream lock here, the core does it for us.
16998
16999         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
17000         GST_STREAM_GET_LOCK.
17001         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
17002         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
17003         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
17004         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
17005         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
17006         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
17007
17008         * gst/gstpad.c: Update for stream lock name change.
17009
17010         * gst/base/gstbasesink.c: Update for preroll lock name change.
17011
17012 2005-11-21  Wim Taymans  <wim@fluendo.com>
17013
17014         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
17015         (gst_clock_get_master):
17016         * gst/gstclock.h:
17017         * gst/gstsystemclock.c: (gst_system_clock_init):
17018         Convert Clock flags to object flags.
17019         Added methods to manage master/slave clocks.
17020
17021 2005-11-21  Wim Taymans  <wim@fluendo.com>
17022
17023         * check/gst/gstsegment.c: (GST_START_TEST):
17024         * docs/design/part-TODO.txt:
17025         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17026         (gst_base_sink_event), (gst_base_sink_do_sync),
17027         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17028         (gst_base_sink_query), (gst_base_sink_change_state):
17029         * gst/base/gstbasesink.h:
17030         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
17031         (gst_base_src_default_newsegment),
17032         (gst_base_src_configure_segment), (gst_base_src_do_seek),
17033         (gst_base_src_get_range), (gst_base_src_loop),
17034         (gst_base_src_change_state):
17035         * gst/base/gstbasesrc.h:
17036         * gst/base/gstbasetransform.c:
17037         (gst_base_transform_prepare_output_buf),
17038         (gst_base_transform_event), (gst_base_transform_change_state):
17039         * gst/base/gstbasetransform.h:
17040         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17041         (gst_collect_pads_event):
17042         * gst/base/gstcollectpads.h:
17043         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
17044         (gst_fake_src_create):
17045         * gst/elements/gstfakesrc.h:
17046         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17047         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
17048         (gst_segment_set_last_stop), (gst_segment_set_seek),
17049         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
17050         (gst_segment_to_running_time), (gst_segment_clip):
17051         * gst/gstsegment.h:
17052         More segment updates, replace code in plugins with segment
17053         helper functions.
17054
17055 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
17056
17057         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
17058         Don't ignore sscanf results
17059
17060 2005-11-21  Andy Wingo  <wingo@pobox.com>
17061
17062         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
17063
17064         * *.h:
17065         * *.c: Ran scripts/update-macros. Oh yes.
17066
17067         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
17068         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
17069         GST_GET_LOCK, etc.
17070
17071         * scripts/update-macros: New script. Run it on your files to
17072         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
17073         well.
17074
17075 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
17076
17077         * docs/gst/Makefile.am:
17078         * docs/gst/gstreamer-docs.sgml:
17079         * docs/gst/gstreamer-sections.txt:
17080         * docs/gst/gstreamer.types:
17081         * gst/gstinfo.h:
17082           more docs fixes, add new api to the docs
17083
17084 2005-11-21  Andy Wingo  <wingo@pobox.com>
17085
17086         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
17087         state_broadcast call.
17088
17089         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
17090
17091 2005-11-21  Julien MOUTTE  <julien@moutte.net>
17092
17093         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
17094         function calls for arrays.
17095
17096 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
17097
17098         * docs/random/ensonic/media-device-daemon.txt:
17099           wild idea, can this be done?
17100         * docs/gst/gstreamer-sections.txt:
17101         * gst/gsterror.h:
17102         * gst/gstfilter.c:
17103         * gst/gstfilter.h:
17104         * gst/gstplugin.h:
17105         * gst/gstpluginfeature.c:
17106         * gst/gsttrace.c:
17107         * gst/gstvalue.c:
17108         * gst/gstvalue.h:
17109           doc fixes and additions
17110
17111 2005-11-21  Andy Wingo  <wingo@pobox.com>
17112
17113         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
17114         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
17115         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
17116         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
17117         private to the basesrc implementation.
17118
17119         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
17120         behalf of event function if necessary. It should no longer be
17121         necessary to take the stream lock in pad's event functions. Fixes
17122         #320299.
17123
17124 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
17125         * docs/gst/gstreamer-sections.txt:
17126         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
17127         (gst_structure_fixate_field_nearest_double),
17128         (gst_structure_fixate_field_boolean):
17129         * gst/gststructure.h:
17130         * win32/common/libgstreamer.def:
17131         * win32/gstreamer.def:
17132
17133         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
17134         (#322027)
17135
17136 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
17137
17138         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
17139         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
17140         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
17141         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
17142         (gst_fdsrc_uri_handler_init):
17143         * gst/elements/gstfdsrc.h:
17144           Port fd:// URI handler from 0.8 to fdsrc
17145
17146 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17147
17148         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
17149         (gst_value_serialize_fourcc):
17150         * gst/gstvalue.h:
17151           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
17152           consistent with our other format defines (#320324).
17153
17154 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17155
17156         * gst/gstvalue.c: (gst_value_is_fixed):
17157           Revert previous commit. Value lists are by definition
17158           not fixed, as they are a list of possible values.
17159
17160 2005-11-21  Andy Wingo  <wingo@pobox.com>
17161
17162         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
17163         during the stable series if we need it. Fixes #319178.
17164
17165         * gst/gstevent.c (gst_event_new_filler): Removed.
17166
17167         * check/gst/gstevent.c: Update comment about filler events.
17168
17169 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17170
17171         * gst/gstvalue.c: (gst_value_is_fixed):
17172           Should handle both value arrays and value lists.
17173
17174 2005-11-21  Andy Wingo  <wingo@pobox.com>
17175
17176         patch by: Alessandro Dessina <alessandro nnva org>
17177
17178         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
17179         functions to access arrays. Fixes #321962.
17180
17181 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17182
17183         * docs/gst/gstreamer.types:
17184           gst_collectpads_get_type => gst_collect_pads_get_type.
17185           
17186         * gst/base/gstbasetransform.c:
17187           Remove unused SIGNAL_HANDOFF enum.
17188
17189 2005-11-21  Andy Wingo  <wingo@pobox.com>
17190
17191         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
17192         the event type (upstream, downstream, serialized). Renamed
17193         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
17194         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
17195         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
17196
17197         * gst/gstevent.c: Update for new CUSTOM event names.
17198
17199         * check/gst/gstevent.c: Update check for new CUSTOM event names.
17200
17201         * gst/gstevent.h:
17202         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
17203         bug #319392.
17204
17205 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17206
17207         * docs/gst/gstreamer-sections.txt:
17208         * win32/common/libgstbase.def:
17209         * win32/libgstbase.def:
17210         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
17211         (gst_collect_pads_class_init), (gst_collect_pads_init),
17212         (gst_collect_pads_finalize), (gst_collect_pads_new),
17213         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
17214         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
17215         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
17216         (gst_collect_pads_start), (gst_collect_pads_stop),
17217         (gst_collect_pads_peek), (gst_collect_pads_pop),
17218         (gst_collect_pads_available), (gst_collect_pads_read),
17219         (gst_collect_pads_flush), (gst_collect_pads_event),
17220         (gst_collect_pads_chain):
17221         * gst/base/gstcollectpads.h:
17222           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
17223           unimplemented functions as unimplemented. Add padding to
17224           GstCollectData. (#320766, #320423)
17225
17226 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
17227
17228         * gst/gstmessage.c:
17229           Improve docs for DURATION message (usage of duration parameter)
17230           (#320113)
17231
17232 2005-11-20  Wim Taymans  <wim@fluendo.com>
17233
17234         * check/Makefile.am:
17235         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
17236         (main):
17237         * gst/Makefile.am:
17238         * gst/gst.h:
17239         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
17240         (gst_segment_set_seek), (gst_segment_set_newsegment),
17241         (gst_segment_to_stream_time), (gst_segment_to_running_time),
17242         (gst_segment_clip):
17243         * gst/gstsegment.h:
17244         Added segment helper structure and methods. Not fully implemented
17245         yet.
17246         Added segment check.
17247
17248 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
17249
17250         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17251           Add a deserialisation test for fractions
17252         * examples/metadata/read-metadata.c: (message_loop),
17253         (make_pipeline), (main):
17254           Fix up metadata reading sample.
17255         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17256           Debug format fix
17257         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
17258           Don't try and fixate empty caps
17259         * gst/gst_private.h:
17260           Wrap in G_BEGIN_DECLS/G_END_DECLS
17261         * gst/gstvalue.c: (gst_value_collect_fraction),
17262         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
17263         (gst_value_transform_string_fraction),
17264         (gst_value_compare_fraction):
17265           Add some extra guards to ensure that we don't end up 
17266           with an invalid denominator of 0 in a gstfraction and
17267           that fractions always get reduced.
17268
17269 2005-11-20  Wim Taymans  <wim@fluendo.com>
17270
17271         * docs/gst/gstreamer-sections.txt:
17272         * gst/gstbuffer.h:
17273         * gst/gstelement.c:
17274         * gst/gstformat.c:
17275         * gst/gstformat.h:
17276         * gst/gstindex.h:
17277         * gst/gstquery.c:
17278         * gst/gstquery.h:
17279         * gst/gstvalue.c:
17280         Doc fixes.
17281
17282 2005-11-20  Wim Taymans  <wim@fluendo.com>
17283
17284         * docs/design/part-TODO.txt:
17285         * gst/gstcaps.h:
17286         Make a proper enum of the flag.
17287
17288 2005-11-19  Wim Taymans  <wim@fluendo.com>
17289
17290         * docs/design/part-TODO.txt:
17291         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
17292         (gst_format_to_quark), (gst_format_register):
17293         * gst/gstformat.h:
17294         * gst/gstquery.c: (_gst_query_initialize),
17295         (gst_query_type_get_name), (gst_query_type_to_quark),
17296         (gst_query_type_register):
17297         * gst/gstquery.h:
17298         Add type to quark and type to string conversions.
17299
17300 2005-11-19  Andy Wingo  <wingo@pobox.com>
17301
17302         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
17303         #320097.
17304
17305 2005-11-19  Wim Taymans  <wim@fluendo.com>
17306
17307         * docs/design/part-TODO.txt:
17308         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
17309         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
17310         (gst_bin_handle_message_func):
17311         * gst/gstbin.h:
17312         Make message handling overridable.
17313
17314 2005-11-19  Andy Wingo  <wingo@pobox.com>
17315
17316         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
17317
17318         * gst/gstclock.h:
17319         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
17320         be a GstClockTime.
17321         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
17322         is a GstClockTime. Fixes #321710.
17323
17324         * gst/gstclock.h (GstClock): Remove offset property. Add
17325         internal_calibration and external_calibration. Fix padding. Pad
17326         also by GstClockTime so we don't run into problems.
17327
17328         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
17329         (gst_clock_get_rate_offset): Remove.
17330         (gst_clock_set_time_adjust): Remove. Fixes #321712.
17331
17332         * gst/gstutils.h:
17333         * gst/gstutils.c (g_static_rec_cond_wait)
17334         (g_static_rec_cond_timed_wait): Removed, no longer needed.
17335
17336         * gst/gstbin.c: Remove terrible continue_state prototype.
17337
17338         * gst/gstelement.h (gst_element_continue_state): Make public.
17339
17340         * gst/gstelement.h:
17341         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
17342         by continue_state. Fixes #319389.
17343
17344         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
17345         Really fixes #168438. However I don't see anywhere where the
17346         filter function is called... stupid GStreamer...
17347         
17348         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
17349         don't have a dispose function, so it won't get called when the
17350         object is unreffed, but oh well!
17351
17352         * gst/gstindex.c (gst_index_set_filter_full): New API function,
17353         allows a destroy function to be set so user_data can be freed.
17354         Fixes #168438.
17355         (gst_index_set_filter): Call gst_index_set_filter_full.
17356
17357         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
17358
17359         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
17360         string should produce an error, given the lack of a way to
17361         represent NULL strings. Fixes #165650.
17362         
17363         * gst/gstvalue.h: 
17364         * gst/gstvalue.c (gst_value_array_append_value) 
17365         (gst_value_array_prepend_value, gst_value_array_get_size) 
17366         (gst_value_array_get_value): New API, copied from
17367         gst_value_list_*, only operates on arrays.
17368         (gst_value_list_append_value, gst_value_list_prepend_value) 
17369         (gst_value_list_concat, gst_value_list_get_size) 
17370         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
17371
17372         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
17373         init_list, because it works on both.
17374         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
17375         (gst_value_copy_list_or_array): Renamed from copy_list.
17376         (gst_value_free_list_or_array): Renamed from free_list.
17377         (gst_value_collect_list_or_array): Renamed from collect_list.
17378         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
17379         (gst_value_list_or_array_peek_pointer): Renamed from
17380         list_peek_pointer.
17381         (_gst_value_array_value_table, _gst_value_list_value_table):
17382         Update value table functions.
17383         (gst_value_compare_list_or_array): Renamed from compare_list.
17384
17385         * gsttaglist.h: Whoops, foreach function returns void. Also fix
17386         some constness.
17387
17388         * gst/gsttaglist.c:
17389         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
17390         GstTagList*. Fixes #143472.
17391
17392         * gst/gststructure.h: Clarify what the foreach/map functions can
17393         or can't do to their arguments.
17394
17395 2005-11-18  Wim Taymans  <wim@fluendo.com>
17396
17397         * gst/gstclock.c: (gst_clock_set_calibration),
17398         (gst_clock_get_calibration):
17399         Doc and API fixes.
17400         Calibration can be set with internal time equal to current
17401         internal time too.
17402
17403 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
17404
17405         * gst/gsterror.c:
17406         * gst/gsterror.h:
17407           document
17408
17409 2005-11-18  Andy Wingo  <wingo@pobox.com>
17410
17411         * configure.ac: 
17412         * pkgconfig/gstreamer-net.pc.in:
17413         * pkgconfig/gstreamer-net-uninstalled.pc.in:
17414         * pkgconfig/Makefile.am: Add net pkgconfig files.
17415
17416 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
17417
17418         * gst/gstcaps.c:
17419         * gst/gstghostpad.c:
17420         * gst/gsttrace.c:
17421         * gst/gstvalue.c:
17422         * gst/gstvalue.h:
17423           docs fixes
17424
17425 2005-11-18  Andy Wingo  <wingo@pobox.com>
17426
17427         * gst/net/gstnetclientclock.c: Turn off debugging.
17428
17429         * check/net/gstnetclientclock.c (test_functioning): Assert that the
17430         times connverge somewhat. Can't make a real test.
17431
17432         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
17433         integer arithmetic. Return the minimum of the domain, which can be
17434         set as "internal" for gst_clock_set_calibration.
17435         (gst_net_client_clock_observe_times): Call _set_calibration.
17436         (gst_net_client_clock_new): Call _set_calibration instead of
17437         rate_offset.
17438
17439         * check/net/gstnetclientclock.c (test_functioning): Use the right
17440         adjustment api.
17441
17442         * gst/gstclock.h:
17443         * gst/gstclock.c (gst_clock_get_calibration) 
17444         (gst_clock_set_calibration): New functions, obsolete the ones I
17445         added yesterday. Doh. Precision issues mean we have to extrapolate
17446         from a point in the more recent past than 1970.
17447         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
17448         obsolete.
17449         (gst_clock_adjust_unlocked): Use the right calibration data.
17450
17451 2005-11-18  Edward Hervey  <edward@fluendo.com>
17452
17453         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
17454         Also reset the ->current_* values in READY->PAUSED
17455
17456 2005-11-18  Andy Wingo  <wingo@pobox.com>
17457
17458         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
17459         Whoops, check the right fd. Also add some debugging.
17460         (gst_net_client_clock_observe_times): Adjust for int64 offset.
17461         (do_linear_regression): Add a crapload of debugging. Subtract off
17462         the minimum values from the input series to discard unneeded bits.
17463         Use only int arithmetic. There is still double arithmetic when
17464         calculating the intercept that needs fixing. Return boolean to
17465         indicate success; FALSE would mean the domain or range is too
17466         great. Still needs fixes.
17467
17468 2005-11-18  Wim Taymans  <wim@fluendo.com>
17469
17470         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
17471         For the current position in stream time, we need to subtract
17472         accumulated time.
17473         
17474         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
17475         Release lock before calling the callback function of async
17476         entries.
17477
17478 2005-11-18  Andy Wingo  <wingo@pobox.com>
17479
17480         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
17481         Port goes all the way to MAXUINT16.
17482
17483         * gst/net/gstnettimeprovider.c: Make the port range the same as
17484         for the kernel: 0 assigns, otherwise ports are less than
17485         MAXUINT16.
17486
17487         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
17488         port change.
17489
17490         * check/net/gstnetclientclock.c (test_functioning): Add the start
17491         of another test. 
17492
17493 2005-11-18  Wim Taymans  <wim@fluendo.com>
17494
17495         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
17496         (gst_bin_remove_func), (bin_bus_handler):
17497         * gst/gstbin.h:
17498         Removing a clock provider from a bin, triggers a clock lost message
17499         so that a new clock will be selected.
17500         Adding a clock to a bin triggers a clock provider message.
17501         Make sure we reselect a clock when we received a clock lost message.
17502         Keep a reference to the element that provided the clock.
17503
17504 2005-11-18  Andy Wingo  <wingo@pobox.com>
17505
17506         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
17507         the clock initially so it produces values around the base time.
17508         (gst_net_client_clock_class_init): Typo fix.
17509         (gst_net_client_clock_thread): Add note on when the socket gets
17510         closed.
17511
17512 2005-11-17  Wim Taymans  <wim@fluendo.com>
17513
17514         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
17515         Free remote and local time arrays.
17516
17517 2005-11-17  Wim Taymans  <wim@fluendo.com>
17518
17519         * gst/net/gstnetclientclock.c: (do_linear_regression),
17520         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
17521         Fix compilation, uninitialized vars and a forgotten continue.
17522
17523 2005-11-17  Andy Wingo  <wingo@pobox.com>
17524
17525         * check/Makefile.am (check_PROGRAMS): 
17526         * check/net/gstnetclientclock.c: Add a most minimal test for the
17527         net client clock. More to come later.
17528
17529         * gst/net/gstnet.h: 
17530         * gst/net/Makefile.am: Add netclientclock.
17531
17532         * gst/net/gstnetclientclock.h:
17533         * gst/net/gstnetclientclock.c: New files, implement an untested
17534         GstClock that takes its time from a network time provider.
17535         Implements the algorithm in network-clock.scm.
17536
17537         * tests/network-clock.scm (*window-size*): Rename from
17538         *queue-length*.
17539         * tests/network-clock.scm (network-time): 
17540         * tests/network-clock-utils.scm (q-push): Update callers.
17541
17542 2005-11-17  Wim Taymans  <wim@fluendo.com>
17543
17544         * gst/gstbin.c: (gst_bin_provide_clock_func),
17545         (gst_bin_sort_iterator_new):
17546         And unref the child too..
17547
17548 2005-11-17  Wim Taymans  <wim@fluendo.com>
17549
17550         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17551         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
17552         Refactor the sort iterator so it can be used while holding the
17553         LOCK too.
17554         Make clock selection select a clock closest to the source.
17555
17556 2005-11-17  Michael Smith <msmith@fluendo.com>
17557
17558         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
17559         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
17560         * gst/gstclock.h:
17561           Anonymous structs are a gcc (and some other compilers) extension, so
17562           don't use them. Since this is only for ABI-compatibility, and our
17563           API/ABI freeze is over in a few days, this whole thing will only
17564           last a few days, so don't bother trying to think up a meaningful
17565           name for the struct.
17566
17567 2005-11-17  Andy Wingo  <wingo@pobox.com>
17568
17569         * gst/gstclock.h (GstClock): Add rate and offset properties,
17570         preserving ABI stability. Add rate/offset accessors. Will file bug
17571         for the freeze break.
17572
17573         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
17574         and offset, trying to keep precision and avoiding
17575         underflow/overflow.
17576         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
17577         functions. Make gst_clock_set_time_adjust obsolete.
17578         (gst_clock_set_time_adjust): Note that this function is obsolete.
17579         Will file bug soon.
17580
17581         * gst/base/gstbasetransform.h: Make the ABI-stability hack
17582         greppable by using GST_PADDING-1+1.
17583
17584 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
17585
17586         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17587
17588         * gst/gstmessage.c: (gst_message_parse_clock_lost):
17589           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
17590
17591         * gst/gstpadtemplate.h:
17592         * gst/gstpluginfeature.h:
17593           Don't use c++ style comments in headers (#321638).
17594
17595 2005-11-16  Andy Wingo  <wingo@pobox.com>
17596
17597         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
17598         buffer.
17599
17600         * check/net/gstnettimeprovider.c: Check to see that the time
17601         provider actually provides times. Works, yo!
17602
17603 2005-11-16  Wim Taymans  <wim@fluendo.com>
17604
17605         * check/Makefile.am:
17606         Enable more tests.
17607
17608         * check/elements/fakesrc.c: (GST_START_TEST):
17609         Set element to NULL before disposing it.
17610
17611 2005-11-16  Andy Wingo  <wingo@pobox.com>
17612
17613         * gst/net/Makefile.am:
17614         * gst/net/gstnet.h:
17615         * gst/net/gstnettimeprovider.c: 
17616         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
17617         provider, include it from gstnet.h, and add it to the build.
17618
17619         * gst/net/gstnettimepacket.h: 
17620         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
17621         sending and receiving.
17622
17623 2005-11-16  Wim Taymans  <wim@fluendo.com>
17624
17625         * check/Makefile.am:
17626         Enable valgrind check.
17627
17628         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
17629         (gst_fake_src_alloc_buffer):
17630         Fix memleak.
17631
17632 2005-11-16  Wim Taymans  <wim@fluendo.com>
17633
17634         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
17635         Call parent finalize too.
17636
17637 2005-11-16  Wim Taymans  <wim@fluendo.com>
17638
17639         * check/Makefile.am:
17640         Enable valgrind check that should work fine now.
17641
17642         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17643         * gst/gstqueue.c: (gst_queue_init):
17644         Fix memleaks in pad allocation.
17645
17646 2005-11-16  Andy Wingo  <wingo@pobox.com>
17647
17648         * gst/net/Makefile.am:
17649         * gst/net/gstnet.h: New part of core to hold network elements and
17650         objects. Put in core because it exposes API that applications want
17651         to use. The library is named libgstnet-tempname right now because
17652         of the existing libgstnet in gst-plugins-base. Solution is
17653         probably to rename the one in plugins-base; will file a bug for
17654         the freeze break.
17655
17656         * gst/net/gstnettimeprovider.c: 
17657         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
17658         get_time call over the network.
17659
17660         * configure.ac: 
17661         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
17662
17663         * check/Makefile.am:
17664         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
17665         get additions shortly.
17666
17667 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17668
17669         * gst/gstpad.c: (gst_pad_new_from_static_template):
17670         * gst/gstpad.h:
17671           add gst_pad_new_from_static_template functions
17672         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
17673         (gst_check_setup_sink_pad):
17674         * gst/elements/gsttee.c: (gst_tee_init):
17675           and use them
17676
17677 2005-11-16  Wim Taymans  <wim@fluendo.com>
17678
17679         * gst/gstpad.c: (gst_pad_pause_task):
17680         Removed warning, it's not really an error either.
17681
17682 2005-11-16  Wim Taymans  <wim@fluendo.com>
17683
17684         * gst/base/gstbasetransform.c:
17685         (gst_base_transform_prepare_output_buf),
17686         (gst_base_transform_event):
17687         Check if the caps are NULL, this can happen if the element
17688         is shutting down and the pad caps are set to NULL.
17689
17690 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17691
17692         * gst/elements/gsttee.c: (gst_tee_init):
17693           fix pad template leak in tee
17694
17695 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17696
17697         * gst/glib-compat.c: (g_value_dup_gst_object):
17698         * gst/glib-compat.h:
17699         * gst/gstpad.c: (gst_pad_set_property):
17700           use gst_object_ref when setting the pad template; this will
17701           trigger the pad template leaks on GLib 2.6 and the slaves
17702
17703 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17704
17705         * gst/glib-compat.c: (gst_flags_get_first_value):
17706         * gst/glib-compat.h:
17707         * gst/gstregistryxml.c:
17708           remove functions copied from GLib 2.6
17709
17710 2005-11-16  Michael Smith <msmith@fluendo.com>
17711
17712         * gst/Makefile.am:
17713           Don't link against VALGRIND_LIBS. That was always the wrong thing to
17714           do, but only breaks with newer valgrind versions. We're not a
17715           valgrind tool, we have no link-time dependencies on libcoregrind.
17716
17717 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17718
17719         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
17720           some debug changes
17721         * gst/gstmessage.h:
17722           typo fixes
17723
17724 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
17725
17726         * gst/base/gstbasesrc.c: (gst_base_src_init):
17727         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17728         * gst/gstqueue.c: (gst_queue_init):
17729         * gst/gstregistryxml.c: (load_feature):
17730           Revert all these unrefs, they don't even pass make check !
17731
17732 2005-11-15  Johan Dahlin  <johan@gnome.org>
17733
17734         * gst/base/gstbasesrc.c: (gst_base_src_init):
17735         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17736         * gst/gstqueue.c: (gst_queue_init): 
17737         Free pad templates, fixes a couple of leaks.
17738
17739 2005-11-15  Daniel Fischer  <dan at f3c dot com>
17740
17741         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17742
17743         * gst/gstpad.c: (gst_pad_get_property):
17744           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
17745           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
17746           (#321452)
17747
17748 2005-11-15  Wim Taymans  <wim@fluendo.com>
17749
17750         * gst/gstevent.c:
17751         Small doc update.
17752
17753 2005-11-15  Andy Wingo  <wingo@pobox.com>
17754
17755         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
17756
17757         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
17758         using GST_CLOCK_TIME_NONE to disable base time management.
17759         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
17760         time if it was NONE before.
17761         (gst_pipeline_change_state): Only munge the base time if
17762         stream_time != GST_CLOCK_TIME_NONE.
17763
17764         * check/gst/gstpipeline.c (test_base_time): Punt around the
17765         problem of the probe not being called, because that's not the
17766         issue I'm looking at. Add a check that setting stream_time to NONE
17767         disables base time management.
17768         
17769 2005-11-15  Wim Taymans  <wim@fluendo.com>
17770
17771         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
17772         segment_stop == -1 at startup.
17773
17774         * gst/base/gstbasetransform.c: (gst_base_transform_event),
17775         (gst_base_transform_change_state):
17776         Init segment values at start.
17777
17778 2005-11-15  Wim Taymans  <wim@fluendo.com>
17779
17780         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17781         0 segment values are 0 in any format.
17782
17783         * gst/base/gstbasetransform.c: (gst_base_transform_event):
17784         * gst/base/gstbasetransform.h:
17785         Parse newsegment correctly in basetransform
17786
17787         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
17788         Sync to clock using updated segment values.
17789
17790 2005-11-15  Andy Wingo  <wingo@pobox.com>
17791
17792         * check/gst/gstpipeline.c (test_base_time): Add check that the
17793         base time and stream time are reset correctly.
17794
17795 2005-11-15  Wim Taymans  <wim@fluendo.com>
17796
17797         * docs/design/part-TODO.txt:
17798         Some more TODO items.
17799
17800 2005-11-15  Andy Wingo  <wingo@pobox.com>
17801
17802         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
17803         error if the user selected "no clock" as the clocking method.
17804
17805         * check/gst/gstpipeline.c (test_base_time): New test for buffer
17806         timestamps with live capture.
17807
17808         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
17809         is 0 but we are a live source, timestamp the buffers using the
17810         element's clock.
17811
17812 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
17813
17814         * docs/gst/gstreamer-sections.txt:
17815         * gst/gsterror.c:
17816         * gst/gstghostpad.c:
17817         * gst/gstobject.h:
17818         * gst/gstxml.c:
17819           more section docs
17820
17821 2005-11-14  Wim Taymans  <wim@fluendo.com>
17822
17823         * common/gst.supp:
17824           add suppressions from Wim's Debian machine
17825
17826 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
17827
17828         * common/gst.supp:
17829           add suppressions from Andy's AMD64 Ubuntu machine
17830
17831 2005-11-14  Andy Wingo  <wingo@pobox.com>
17832
17833         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
17834         STATE_LOCK not necessary. Fixes #311489.
17835
17836         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
17837         #305291.
17838
17839         * gst/gstindex.c (gst_index_add_object): Note in the docs that
17840         this function is not implemented.
17841
17842 2005-11-14  Julien MOUTTE  <julien@moutte.net>
17843
17844         * gst/base/gstbasetransform.c:
17845         (gst_base_transform_prepare_output_buf):
17846         Ref the source pad caps while we need them.
17847         Fixes (#321386)
17848
17849 2005-11-11  Wim Taymans  <wim@fluendo.com>
17850
17851         * docs/gst/gstreamer-sections.txt:
17852         Added some docs for GstCollectData.
17853
17854         * gst/base/gstadapter.c:
17855         Some small code example fix.
17856
17857         * gst/base/gstcollectpads.c:
17858         * gst/base/gstcollectpads.h:
17859         Document some more.
17860
17861 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
17862
17863         * configure.ac: back to HEAD
17864
17865 === release 0.9.5 ===
17866
17867 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
17868
17869         * configure.ac:
17870           releasing 0.9.5, "Bike Lunch Day"
17871
17872 2005-11-11  Wim Taymans  <wim@fluendo.com>
17873
17874         * gst/gstbuffer.c: (_gst_buffer_copy):
17875         Copy more flags.
17876
17877         * gst/gstcaps.c: (gst_caps_is_equal):
17878         Fix some docs.
17879         Make _is_equal fast in the trivial cases.
17880
17881         * gst/gstminiobject.c:
17882         * gst/gstminiobject.h:
17883         More docs. Spifify .h file.
17884
17885         * gst/gstutils.c:
17886         Small doc update.
17887
17888 2005-11-11  Wim Taymans  <wim@fluendo.com>
17889
17890         * gst/base/gstbasetransform.c:
17891         (gst_base_transform_prepare_output_buf),
17892         (gst_base_transform_handle_buffer):
17893         Small cleanups.
17894         If we're processing a buffer and need to allocate an output
17895         buffer, we cannot accept a format change. If we did get a 
17896         format change, we have to alloc a buffer ourselves of the 
17897         right size.
17898
17899 2005-11-11  Wim Taymans  <wim@fluendo.com>
17900
17901         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
17902         While checking the flag for reentrancy in the gstcaps function
17903         is nice to detect recursive invocations, it also makes it 
17904         impossible to call getcaps from multiple threads, which must be
17905         possible. So, checking for recursive calls has to go.
17906
17907 2005-11-11  Michael Smith <msmith@fluendo.com>
17908
17909         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17910           Don't sync on buffers that fall partially outside our current
17911           segment. Prevents an assertion failure/abort playing some files.
17912
17913 2005-11-10  Andy Wingo  <wingo@pobox.com>
17914
17915         * check/gst/gstbin.c (test_message_state_changed_children): Style
17916         fix..
17917
17918         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
17919         gst_bus_poll with the signal watch. Ensures that poll and a signal
17920         watch see the same messages.
17921
17922         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
17923         a poll and a watch at the same time get the same messages.
17924
17925 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17926
17927         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
17928         * gst/gstcaps.c: (gst_caps_intersect):
17929           Don't call gst_caps_do_simplify - it doesn't respect order of caps
17930           and it's not needed.
17931
17932 2005-11-10  Wim Taymans  <wim@fluendo.com>
17933
17934         * docs/design/part-TODO.txt:
17935         Updated todo.
17936
17937 2005-11-10  Wim Taymans  <wim@fluendo.com>
17938
17939         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
17940         * gst/base/gstbasesrc.c: (gst_base_src_wait),
17941         (gst_base_src_do_sync), (gst_base_src_get_range):
17942         Implement clock sync in base class.
17943
17944 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
17945
17946         patch by: Tim-Philipp Müller <tim at centricular dot net>
17947
17948         * gst/gststructure.c: (gst_structure_parse_field),
17949         (gst_structure_from_string):
17950           Forward-port a 0.8 patch to handle escaped spaces in structure string,
17951           so that gst_parse_launch() can deal with spaces in filtered link
17952           caps (fixes #164479)
17953         * check/gst/capslist.h:
17954         * check/gst/gststructure.c: (GST_START_TEST):
17955           add unit tests for this change
17956
17957 2005-11-10  Wim Taymans  <wim@fluendo.com>
17958
17959         * docs/gst/gstreamer-sections.txt:
17960         * gst/gstelement.c:
17961         * gst/gstelement.h:
17962         Fix docs, move some STATE macros to private.
17963
17964 2005-11-10  Wim Taymans  <wim@fluendo.com>
17965
17966         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
17967         Added check for bug #317341
17968
17969         * gst/gstbuffer.c:
17970         * gst/gstbuffer.h:
17971         Some more spiffifying.
17972
17973         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
17974         Call peer linkfunction if we are a source pad. Totally fixes
17975         #317341
17976
17977         * gst/gstpad.c:
17978         Update docs, source pads should call the peer linkfunction
17979         so they can atomically perform the pad link.
17980
17981 2005-11-09  Wim Taymans  <wim@fluendo.com>
17982
17983         * gst/gstbuffer.c:
17984         * gst/gstbuffer.h:
17985         Uber-spiffy-spiffify some more.
17986
17987 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
17988
17989         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
17990         * gst/elements/gstfilesink.c: (gst_file_sink_init):
17991         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
17992         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
17993         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
17994         * gst/gstpad.c: (gst_pad_init):
17995           Use GST_DEBUG_FUNCPTR() more extensively.
17996
17997 2005-11-09  Wim Taymans  <wim@fluendo.com>
17998
17999         * gst/gstobject.c: (gst_object_class_init):
18000         * gst/gstobject.h:
18001         Documentation fixes.
18002
18003 2005-11-09  Edward Hervey  <edward@fluendo.com>
18004
18005         * gst/gsttypefindfactory.c:
18006         Fix docs.
18007         
18008 2005-11-09  Edward Hervey  <edward@fluendo.com>
18009
18010         * gst/base/gsttypefindhelper.c:
18011         * gst/gsttypefind.c:
18012         * gst/gsttypefind.h:
18013         Fix docs.
18014
18015 2005-11-09  Wim Taymans  <wim@fluendo.com>
18016
18017         * gst/gstiterator.c:
18018         Fix revision data.
18019
18020         * gst/gsttask.c:
18021         * gst/gsttask.h:
18022         Fix docs.
18023
18024 2005-11-09  Wim Taymans  <wim@fluendo.com>
18025
18026         * gst/gstevent.h:
18027         * gst/gsturi.h:
18028         Fix docs.
18029
18030 2005-11-09  Wim Taymans  <wim@fluendo.com>
18031
18032         * docs/gst/gstreamer-sections.txt:
18033         Moved the message async delivery private lock and cond
18034         to the private section.
18035
18036         * gst/gstmessage.c:
18037         * gst/gstmessage.h:
18038         Fixed docs.
18039
18040 2005-11-09  Edward Hervey  <edward@fluendo.com>
18041
18042         * docs/gst/gstreamer-sections.txt:
18043         * gst/gsturi.c:
18044         * gst/gsturi.h:
18045         Document GstURIHandler
18046
18047 2005-11-09  Wim Taymans  <wim@fluendo.com>
18048
18049         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
18050         (gst_iterator_find_custom):
18051         * gst/gstiterator.h:
18052         Fix iterator docs.
18053
18054 2005-11-09  Wim Taymans  <wim@fluendo.com>
18055
18056         * gst/gstbin.h:
18057         Document another field.
18058
18059         * gst/gststructure.c:
18060         * gst/gststructure.h:
18061         Document.
18062
18063 2005-11-09  Wim Taymans  <wim@fluendo.com>
18064
18065         * gst/gstbin.h:
18066         Documented structs.
18067
18068 2005-11-09  Wim Taymans  <wim@fluendo.com>
18069
18070         * docs/gst/gstreamer-sections.txt:
18071         Added some new macros.
18072
18073         * gst/gstclock.c:
18074         * gst/gstclock.h:
18075         * gst/gstobject.h:
18076         Docs updates.
18077
18078 2005-11-09  Wim Taymans  <wim@fluendo.com>
18079
18080         * docs/design/part-TODO.txt:
18081         Some more items for the TODO
18082
18083         * gst/gstcaps.c:
18084         * gst/gstcaps.h:
18085         Document GstCaps.
18086
18087 2005-11-09  Andy Wingo  <wingo@pobox.com>
18088
18089         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
18090         to work on something else now tho...
18091
18092         * gst/base/gstadapter.c: More adapter docs.
18093
18094         * gst/elements/gstfilesink.c (gst_file_sink_start) 
18095         (gst_file_sink_stop): New functions, replace the state change
18096         handler.
18097         (gst_file_sink_class_init): Hook up the start and stop functions.
18098         (gst_file_sink_base_init): Don't set the state change handler any
18099         more. It was a bit ugly too, being set from here...
18100         (gst_file_sink_get_property, gst_file_sink_set_property):
18101         Cleanups...
18102         (gst_file_sink_set_location): More robust check that doesn't call
18103         GST_STATE. Ugggggg.
18104
18105 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
18106
18107         * gst/base/gstbasetransform.c: (gst_base_transform_event):
18108           Hold STREAM_LOCK while pushing newsegment or tag events as well.
18109
18110 2005-11-08  Wim Taymans  <wim@fluendo.com>
18111
18112         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
18113         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
18114         (gst_base_sink_chain), (gst_base_sink_change_state):
18115         * gst/base/gstbasesink.h:
18116         * gst/base/gstbasesrc.h:
18117         * gst/gstelement.h:
18118         * gst/gstevent.h:
18119         Avoid excessive typechecking in macros.
18120
18121         * gst/gstminiobject.c: (gst_mini_object_get_type),
18122         (gst_mini_object_init), (gst_mini_object_new),
18123         (gst_mini_object_free):
18124         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
18125         (gst_object_finalize):
18126         Remove cruft code, optimize alloc_trace.
18127
18128 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18129
18130         * docs/faq/gst-uninstalled:
18131           fix up PS1 for systems that try to reset it
18132
18133 2005-11-07  Wim Taymans  <wim@fluendo.com>
18134
18135         * gst/base/gstbasesrc.c: (gst_base_src_init),
18136         (gst_base_src_get_range):
18137         Set the segment_end to -1 initially. Fixed typefind.
18138
18139 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
18140
18141         * gst/base/gstadapter.c:
18142           Debug category should be 'adapter', not 'GstAdapter'.
18143           
18144         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
18145         (gst_collectpads_class_init), (gst_collectpads_init),
18146         (gst_collectpads_peek), (gst_collectpads_pop),
18147         (gst_collectpads_event), (gst_collectpads_chain):
18148           Add debug category and some debugging output. Use boilerplate
18149           macros. Remove some extraneous words from docs.
18150
18151 2005-11-05  Andy Wingo  <wingo@pobox.com>
18152
18153         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
18154         macro.
18155
18156 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
18157
18158         * docs/gst/gstreamer-sections.txt:
18159         * gst/gstcaps.h:
18160         * gst/gstinfo.c:
18161         * gst/gstminiobject.h:
18162         * gst/gstobject.h:
18163         * gst/gstutils.h:
18164           more docs added
18165
18166 2005-11-04  Wim Taymans  <wim@fluendo.com>
18167
18168         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18169         Small update to stop at the configured segment_end
18170         position.
18171
18172 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
18173
18174         * gst/gstregistry.c:
18175         * gst/gstregistry.h:
18176           added missing docs
18177
18178 2005-11-04  Edward Hervey  <edward@fluendo.com>
18179
18180         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18181         Check if we are doing a segment seek and have arrived at the
18182         end of that segment.
18183
18184 2005-11-04  Wim Taymans  <wim@fluendo.com>
18185
18186         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
18187         Don't leak a mutex unlock in case of an error.
18188
18189         * gst/gstbus.h:
18190         Doc fixes.
18191
18192 2005-11-04  Wim Taymans  <wim@fluendo.com>
18193
18194         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
18195         (gst_bus_post):
18196         Get the context to wake up only once.
18197
18198 2005-11-03  Wim Taymans  <wim@fluendo.com>
18199
18200         * check/states/sinks.c: (GST_START_TEST):
18201         Uncomment fixed check.
18202
18203         * docs/design/part-TODO.txt:
18204         Updated TODO.
18205
18206         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18207         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
18208         (gst_base_sink_get_position):
18209         If we are going to PLAYING, post the right pending state
18210         when we post the intermediate paused message.
18211
18212         * gst/gstelement.c: (gst_element_continue_state),
18213         (gst_element_set_state_func), (gst_element_change_state):
18214         Don't post state changes that were between the same state
18215         and were not ASYNC.
18216
18217 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
18218
18219         * docs/gst/gstreamer-sections.txt:
18220         * gst/gstcaps.h:
18221         * gst/gstinfo.c:
18222         * gst/gstminiobject.h:
18223         * gst/gstobject.h:
18224         * gst/gstutils.h:
18225           more docs and doc style fixes
18226
18227 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
18228
18229         * docs/gst/gstreamer-sections.txt:
18230         * gst/gstelement.c:
18231         * gst/gstminiobject.c:
18232         doc fixes
18233
18234 2005-11-03  Andy Wingo  <wingo@pobox.com>
18235
18236         * check/states/sinks.c (test_livesrc_sink): Add checks that the
18237         state-changed messages actually have the right order and the right
18238         values.
18239
18240 2005-11-03  Wim Taymans  <wim@fluendo.com>
18241
18242         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
18243         Added some more checks. Specifically the case where NO_PREROLL
18244         elements are in the pipeline.
18245
18246         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18247         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
18248         (gst_base_sink_get_position):
18249         Post READY->PAUSED state change messages too.
18250         Fix bug where VOID was posted as pending state...
18251
18252         * gst/gstbin.c: (gst_bin_recalc_state):
18253         use _element_continue_state() to continue the state change.
18254
18255         * gst/gstelement.c: (gst_element_continue_state),
18256         (gst_element_commit_state), (gst_element_set_state_func),
18257         (gst_element_change_state), (gst_element_change_state_func):
18258         Lots of state change cleanups, assign the STATE_RETURN in
18259         a new continue_state() function that also propagates the
18260         last return value from a state change to the app.
18261         Update some debug statements with proper category.
18262
18263 2005-11-03  Wim Taymans  <wim@fluendo.com>
18264
18265         * docs/design/part-events.txt:
18266         * docs/design/part-gstpipeline.txt:
18267         * docs/design/part-messages.txt:
18268         * docs/design/part-overview.txt:
18269         * docs/design/part-seeking.txt:
18270         * docs/design/part-states.txt:
18271         * docs/design/part-trickmodes.txt:
18272         * docs/manual/advanced-position.xml:
18273         Small docs updates.
18274
18275         * gst/gstobject.h:
18276         People think !! is ugly, this looks better.
18277
18278         * gst/gstpad.c: (gst_pad_set_blocked_async):
18279         Remove !! since it's fixed elsewhere now.
18280
18281 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
18282
18283         * gst/gstminiobject.h:
18284         * gst/gstobject.h:
18285           Add !! to _FLAG_IS_SET macros to make the result boolean.
18286
18287 2005-11-03  Edward Hervey  <edward@fluendo.com>
18288
18289         * gst/gstpad.c: (gst_pad_set_blocked_async):
18290         comparing a flag and a gboolean rarely returns coherent results...
18291         Added two characters (!!) to make that work correctly.
18292         
18293 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
18294
18295         * gst/gstbus.c: (gst_bus_class_init):
18296           Fix some typos.
18297           
18298         * gst/gstqueue.c: (gst_queue_loop):
18299           Don't assume a miniobject that isn't a buffer is an
18300           event (it could be that there is a refcounting
18301           problem somewhere and the pointer is stale and
18302           refers to an already destroyed miniobject).
18303
18304 2005-11-03  Julien MOUTTE  <julien@moutte.net>
18305
18306         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
18307
18308 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
18309
18310         * docs/manual/advanced-position.xml:
18311           Update seek example and explanations to current 0.9 API.
18312
18313         * gst/elements/gsttypefindelement.c:
18314         (gst_type_find_element_activate):
18315           Remove FIXME comment now that the found caps
18316           are unreffed.
18317
18318 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
18319
18320         * gst/gstregistryxml.c: (load_feature):
18321           Add another GST_STR_NULL instance
18322
18323 2005-11-02  Edward Hervey  <edward@fluendo.com>
18324
18325         * gst/gstpad.c: (handle_pad_block):
18326         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
18327         
18328 2005-11-02  Wim Taymans  <wim@fluendo.com>
18329
18330         * gst/gstbin.c:
18331         Fix typo in docs.
18332
18333         * gst/gstelement.c: (gst_element_commit_state):
18334         Remove unused value.
18335
18336         * gst/gstiterator.c:
18337         Mention that the returned element is reffed in the docs.
18338
18339 2005-11-02  Wim Taymans  <wim@fluendo.com>
18340
18341         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
18342         (gst_pad_push), (gst_pad_push_event):
18343         Unlock blocked pads when they are flushed.
18344
18345 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18346
18347         * docs/README:
18348         * docs/gst/gstreamer-sections.txt:
18349         * gst/gstbin.c:
18350           doc updates
18351         * gst/gstregistry.c: (gst_registry_scan_path_level):
18352           fix for a nasty little missed situation where an installed plug-in
18353           which was in the cache did not get overridden by an uninstalled one
18354           which was earlier in the plugin path because the newly created plugin
18355           for the uninstalled one (not in the registry) didn't get its
18356           ->registered set to TRUE
18357
18358 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
18359
18360         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
18361         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
18362         (gst_collectpads_is_active), (gst_collectpads_collect),
18363         (gst_collectpads_collect_range), (gst_collectpads_start),
18364         (gst_collectpads_stop), (gst_collectpads_peek),
18365         (gst_collectpads_pop), (gst_collectpads_available),
18366         (gst_collectpads_read), (gst_collectpads_flush):
18367           Guard public API with assertions.
18368         
18369         * gst/gstpad.c:
18370           Fix docs for gst_pad_set_link_function().
18371
18372 2005-11-02  Johan Dahlin  <johan@gnome.org>
18373
18374         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
18375         Unref found_caps after we used it.
18376
18377 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
18378
18379         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
18380           Don't try to ref NULL.
18381
18382 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18383
18384         * win32/common/config.h.in:
18385           provide a GST_FUNCTION that just gives a string for now
18386
18387 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18388
18389         * win32/common/gstenumtypes.c: (register_gst_object_flags),
18390         (gst_object_flags_get_type), (register_gst_bin_flags),
18391         (gst_bin_flags_get_type), (register_gst_buffer_flag),
18392         (gst_buffer_flag_get_type), (register_gst_bus_flags),
18393         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
18394         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
18395         (gst_clock_return_get_type), (register_gst_clock_entry_type),
18396         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
18397         (gst_clock_flags_get_type), (register_gst_state),
18398         (gst_state_get_type), (register_gst_state_change_return),
18399         (gst_state_change_return_get_type), (register_gst_state_change),
18400         (gst_state_change_get_type), (register_gst_element_flags),
18401         (gst_element_flags_get_type), (register_gst_core_error),
18402         (gst_core_error_get_type), (register_gst_library_error),
18403         (gst_library_error_get_type), (register_gst_resource_error),
18404         (gst_resource_error_get_type), (register_gst_stream_error),
18405         (gst_stream_error_get_type), (register_gst_event_type),
18406         (gst_event_type_get_type), (register_gst_seek_type),
18407         (gst_seek_type_get_type), (register_gst_seek_flags),
18408         (gst_seek_flags_get_type), (register_gst_format),
18409         (gst_format_get_type), (register_gst_index_certainty),
18410         (gst_index_certainty_get_type), (register_gst_index_entry_type),
18411         (gst_index_entry_type_get_type),
18412         (register_gst_index_lookup_method),
18413         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
18414         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
18415         (gst_index_resolver_method_get_type), (register_gst_index_flags),
18416         (gst_index_flags_get_type), (register_gst_debug_level),
18417         (gst_debug_level_get_type), (register_gst_debug_color_flags),
18418         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
18419         (gst_iterator_result_get_type), (register_gst_iterator_item),
18420         (gst_iterator_item_get_type), (register_gst_message_type),
18421         (gst_message_type_get_type), (register_gst_mini_object_flags),
18422         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
18423         (gst_pad_link_return_get_type), (register_gst_flow_return),
18424         (gst_flow_return_get_type), (register_gst_activate_mode),
18425         (gst_activate_mode_get_type), (register_gst_pad_direction),
18426         (gst_pad_direction_get_type), (register_gst_pad_flags),
18427         (gst_pad_flags_get_type), (register_gst_pad_presence),
18428         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
18429         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
18430         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
18431         (gst_plugin_error_get_type), (register_gst_plugin_flags),
18432         (gst_plugin_flags_get_type), (register_gst_rank),
18433         (gst_rank_get_type), (register_gst_query_type),
18434         (gst_query_type_get_type), (register_gst_tag_merge_mode),
18435         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
18436         (gst_tag_flag_get_type), (register_gst_task_state),
18437         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
18438         (gst_alloc_trace_flags_get_type),
18439         (register_gst_type_find_probability),
18440         (gst_type_find_probability_get_type), (register_gst_uri_type),
18441         (gst_uri_type_get_type), (register_gst_parse_error),
18442         (gst_parse_error_get_type):
18443         * win32/common/gstversion.h:
18444           update win32 copies
18445
18446 2005-11-01  Luca Ognibene  <luogni@tin.it>
18447
18448         * gst/gst.c:
18449           fix docs. popt is dead, long live GOption.
18450
18451 2005-10-31  Wim Taymans  <wim@fluendo.com>
18452
18453         * gst/gstbuffer.h:
18454         Small doc fix.
18455
18456 2005-10-31  Andy Wingo  <wingo@pobox.com>
18457
18458         * Boo!
18459
18460         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
18461
18462         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
18463         need to serialize property notifications on GLib 2.8. GLib 2.6 has
18464         the possibility of deadlocks here if code calling notify() or
18465         set() has a lock that can be taken in another notify handler (ABBA
18466         with class lock and e.g. python GIL state lock).
18467
18468 2005-10-28  Julien MOUTTE  <julien@moutte.net>
18469
18470         * gst/gstbus.c: Doc updates.
18471
18472 2005-10-28  Wim Taymans  <wim@fluendo.com>
18473
18474         * docs/design/part-TODO.txt:
18475         * gst/gstiterator.c:
18476         * gst/gstsystemclock.c:
18477         * gst/gstsystemclock.h:
18478         Doc updates.
18479
18480 2005-10-28  Edward Hervey  <edward@fluendo.com>
18481
18482         * docs/gst/gstreamer-docs.sgml:
18483         * docs/gst/gstreamer-sections.txt:
18484         the GstURIType documentation page is private, it only defines GstURIType
18485         which should be defined in the GstURIHandler page
18486         
18487 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
18488
18489         * gst/gstbin.c: (gst_bin_class_init):
18490         * gst/gstbin.h:
18491         * gst/gstutils.c:
18492         Documentation updates.
18493
18494 2005-10-28  Wim Taymans  <wim@fluendo.com>
18495
18496         * docs/gst/gstreamer-sections.txt:
18497         * gst/gstclock.c:
18498         * gst/gstclock.h:
18499         Documented the clocks.
18500
18501 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
18502
18503         * docs/gst/gstreamer-sections.txt:
18504           move some macros to private sections
18505         * gst/gstminiobject.c:
18506         * gst/gstminiobject.h:
18507           add descriptions provided by ds and some more
18508         * gst/gstpad.h:
18509           mark macro as to be removed
18510
18511 2005-10-28  Wim Taymans  <wim@fluendo.com>
18512
18513         * docs/design/part-TODO.txt:
18514         Add an item to TODO.
18515
18516         * gst/gstiterator.c: (gst_iterator_fold),
18517         (gst_iterator_find_custom):
18518         * gst/gstiterator.h:
18519         Add iterator docs.
18520
18521 2005-10-28  Wim Taymans  <wim@fluendo.com>
18522
18523         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
18524         (gst_base_transform_init):
18525         Don't leak class.
18526
18527         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
18528         An EOS event marks the queue as completely filled.
18529
18530 2005-10-27  Wim Taymans  <wim@fluendo.com>
18531
18532         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18533         (gst_base_sink_do_sync), (gst_base_sink_get_position):
18534         Some more debugging.
18535
18536         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
18537         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
18538         (gst_base_transform_event), (gst_base_transform_getrange),
18539         (gst_base_transform_chain):
18540         * gst/base/gstbasetransform.h:
18541         Fix debugging,
18542         Protect transform and concurrent buffer alloc with a new lock.
18543         Try not to break ABI/API.
18544
18545 2005-10-27  Wim Taymans  <wim@fluendo.com>
18546
18547         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
18548         (gst_base_src_init), (gst_base_src_query),
18549         (gst_base_src_default_newsegment),
18550         (gst_base_src_configure_segment), (gst_base_src_do_seek),
18551         (gst_base_src_send_event), (gst_base_src_event_handler),
18552         (gst_base_src_pad_get_range), (gst_base_src_loop),
18553         (gst_base_src_unlock), (gst_base_src_default_negotiate),
18554         (gst_base_src_start), (gst_base_src_deactivate),
18555         (gst_base_src_activate_push), (gst_base_src_change_state):
18556         Move some stuff around and cleanup things.
18557
18558 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
18559
18560         * gst/base/gstbasesrc.c: (gst_base_src_query):
18561           Add missing break statements.
18562
18563 2005-10-27  Wim Taymans  <wim@fluendo.com>
18564
18565         * check/gst/gstbin.c: (GST_START_TEST):
18566         An extra refcount is taken in basesrc.
18567
18568         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
18569         (gst_base_src_get_range), (gst_base_src_pad_get_range),
18570         (gst_base_src_loop):
18571         Small cleanups, check for flushing after being unlocked from the 
18572         LIVE_LOCK. take refcounts correctly (not yet everywhere).
18573         Don't send out EOS when going to READY.
18574
18575 2005-10-27  Wim Taymans  <wim@fluendo.com>
18576
18577         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18578         (gst_base_sink_get_position):
18579         Some more debug.
18580
18581         * gst/gstbin.c: (message_check), (bin_replace_message),
18582         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18583         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18584         (bin_query_duration_init), (bin_query_duration_fold),
18585         (bin_query_duration_done), (bin_query_generic_fold),
18586         (gst_bin_query):
18587         * tools/gst-launch.c: (main):
18588         Remove old option.
18589
18590 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
18591
18592         * examples/controller/audio-example.c: (main):
18593         * examples/queue/queue.c: (event_loop):
18594         * gst/base/gstbasetransform.h:
18595         * gst/gstelement.c: (gst_element_send_event):
18596         * gst/gstevent.h:
18597         * gst/gstpad.c: (gst_pad_send_event):
18598           fixing examples
18599           fixing docs typos
18600           changing log priority in error situations
18601
18602 2005-10-25  Wim Taymans  <wim@fluendo.com>
18603
18604         * gst/gstbin.c: (message_check), (bin_replace_message),
18605         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18606         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18607         (bin_query_duration_init), (bin_query_duration_fold),
18608         (bin_query_duration_done), (bin_query_generic_fold),
18609         (gst_bin_query):
18610         Some doc and debug updates.
18611         Cache previously requested query DURATION for speed. invalidate
18612         cached duration if element posts a DURATION message.
18613
18614 2005-10-25  Wim Taymans  <wim@fluendo.com>
18615
18616         * docs/design/part-TODO.txt:
18617         Update TODO.
18618
18619         * gst/gstbin.c: (message_check), (bin_replace_message),
18620         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18621         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
18622         (bin_query_duration_init), (bin_query_duration_fold),
18623         (bin_query_duration_done), (bin_query_generic_fold),
18624         (gst_bin_query):
18625         Handle SEGMENT_START/DONE messages correctly.
18626         More evolved query algorithm that handles duration queries
18627         correctly.
18628
18629         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
18630         (gst_element_get_state_func), (gst_element_abort_state),
18631         (gst_element_commit_state), (gst_element_lost_state):
18632         Some more debugging.
18633
18634         * gst/gstmessage.h:
18635         Added doc.
18636
18637 2005-10-25  Wim Taymans  <wim@fluendo.com>
18638
18639         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
18640         Don't use invalid stream_time.
18641
18642         * gst/gstevent.c: (gst_event_new_newsegment):
18643         stream_time in newsegment cannot be undefined.
18644
18645 2005-10-24  Wim Taymans  <wim@fluendo.com>
18646
18647         * gst/gstbus.c:
18648         Doc fix.
18649
18650         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18651         (gst_queue_loop):
18652         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
18653
18654 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
18655
18656         * docs/libs/tmpl/gstdparam.sgml:
18657         * docs/libs/tmpl/gstdplinint.sgml:
18658         * docs/libs/tmpl/gstdpman.sgml:
18659         * docs/libs/tmpl/gstdpsmooth.sgml:
18660         * docs/libs/tmpl/gstunitconvert.sgml:
18661           these are obsolete
18662
18663 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
18664
18665         * configure.ac:
18666           back to HEAD
18667
18668 === release 0.9.4 ===
18669
18670 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18671
18672         * configure.ac:
18673           releasing 0.9.4, "Tyrannosaurus Rex"
18674
18675 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
18676
18677         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
18678         (gst_file_sink_get_current_offset):
18679           Use fseeko() and ftello() if available. When falling back on
18680           lseek() to get the current offset, fflush() first to make sure
18681           everything is up-to-date and we get the right offset.
18682
18683 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18684
18685         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18686         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18687         * gst/gsterror.c: (_gst_stream_errors_init):
18688         * gst/gsterror.h:
18689         * gst/gstqueue.c: (gst_queue_loop):
18690         * po/POTFILES.in:
18691           remove prematurely added error category and clean up the instances
18692
18693 2005-10-21  Wim Taymans  <wim@fluendo.com>
18694
18695         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18696         (gst_base_sink_get_position), (gst_base_sink_query),
18697         (gst_base_sink_change_state):
18698         Simply set the right flag when going to playing, that's all
18699         we need to do instead of calling a function inside the object
18700         lock (that could take the lock as well and deadlock)
18701
18702 2005-10-21  Wim Taymans  <wim@fluendo.com>
18703
18704         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
18705         (gst_base_src_loop):
18706         Don't warn, the peer element knows what to do best when
18707         the seek failed, it might try something else.
18708
18709 2005-10-21  Wim Taymans  <wim@fluendo.com>
18710
18711         * gst/base/gstbasesrc.c: (gst_base_src_init),
18712         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18713         Fix seeking.
18714
18715 2005-10-21  Wim Taymans  <wim@fluendo.com>
18716
18717         * docs/design/part-segments.txt:
18718         More docs.
18719
18720         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
18721         Correctly set caps, even on the subbufer.
18722
18723 2005-10-21  Wim Taymans  <wim@fluendo.com>
18724
18725         * docs/gst/gstreamer-docs.sgml:
18726         * docs/gst/gstreamer-sections.txt:
18727         * gst/gstelement.h:
18728         * gst/gstevent.c:
18729         * gst/gstevent.h:
18730         * gst/gstmessage.h:
18731         * gst/gstpad.h:
18732         * gst/gstparse.h:
18733         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
18734         * gst/gsttask.h:
18735         * gst/gstutils.c:
18736         * gst/gstutils.h:
18737         And 2% more doc coverage.
18738
18739 2005-10-21  Andy Wingo  <wingo@pobox.com>
18740
18741         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
18742         position reporting.
18743
18744 2005-10-20  Wim Taymans  <wim@fluendo.com>
18745
18746         * gst/gsterror.c: (gst_error_get_message):
18747         * gst/gstparse.h:
18748         * gst/gstquery.h:
18749         * gst/gststructure.c:
18750         * gst/gsttrace.c:
18751         * gst/gstutils.c:
18752         More docs.
18753
18754 2005-10-20  Wim Taymans  <wim@fluendo.com>
18755
18756         * gst/gstbuffer.h:
18757         * gst/gstpad.c:
18758         * gst/gstparse.c:
18759         Another 1% more coverage.
18760
18761 2005-10-20  Wim Taymans  <wim@fluendo.com>
18762
18763         * docs/gst/gstreamer-sections.txt:
18764         * gst/gstelement.c: (gst_element_get_state_func),
18765         (gst_element_abort_state), (gst_element_commit_state),
18766         (gst_element_lost_state):
18767         * gst/gstevent.h:
18768         * gst/gstquery.c: (gst_query_set_position),
18769         (gst_query_parse_position), (gst_query_set_duration),
18770         (gst_query_parse_duration), (gst_query_new_convert):
18771         * gst/gstutils.c:
18772         Yay! 1% more docs coverage.
18773
18774 2005-10-20  Wim Taymans  <wim@fluendo.com>
18775
18776         * gst/gstpad.h:
18777         * gst/gstquery.c: (gst_query_set_position),
18778         (gst_query_parse_position), (gst_query_set_duration),
18779         (gst_query_parse_duration), (gst_query_new_convert):
18780         * gst/gstquery.h:
18781         * gst/gstutils.c: (gst_element_query_convert):
18782         * gst/gstutils.h:
18783         Docs and consistency fixes.
18784
18785 2005-10-20  Wim Taymans  <wim@fluendo.com>
18786
18787         * gst/gsttask.c:
18788         * gst/gsttask.h:
18789         More docs.
18790
18791 2005-10-20  Wim Taymans  <wim@fluendo.com>
18792
18793         * gst/gstbin.c: (message_check), (bin_replace_message),
18794         (bin_remove_messages), (is_eos), (gst_bin_add_func),
18795         (update_degree), (gst_bin_sort_iterator_next),
18796         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
18797         Reworked the message handling a bit, cache the messages instead of
18798         only the senders. alows us to do more in the future.
18799
18800 2005-10-20  Wim Taymans  <wim@fluendo.com>
18801
18802         * docs/design/part-TODO.txt:
18803         Update TODO
18804
18805         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
18806         (gst_base_sink_query):
18807         Don't use clock time to report position when in EOS.
18808
18809 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
18810
18811         * tools/gst-inspect.c: (print_interfaces),
18812         (print_element_properties_info), (print_element_info):
18813           Fix interface output with gst-inspect -a; don't print
18814           newlines after double/float properties.
18815
18816 2005-10-20  Wim Taymans  <wim@fluendo.com>
18817
18818         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
18819         (gst_base_sink_query):
18820         Speed up current position calculation.
18821
18822         * gst/base/gstbasesrc.c: (gst_base_src_query),
18823         (gst_base_src_default_newsegment):
18824         Correctly set stream position in newsegment.
18825
18826         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
18827         (update_degree), (gst_bin_sort_iterator_next),
18828         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
18829         * gst/gstmessage.c: (gst_message_new_custom):
18830         Clean up debugging info
18831
18832         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18833         (gst_queue_loop), (gst_queue_handle_src_query):
18834         Pause task faster.
18835
18836 2005-10-19  Wim Taymans  <wim@fluendo.com>
18837
18838         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18839         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
18840         Fix query handling again.
18841
18842 2005-10-19  Wim Taymans  <wim@fluendo.com>
18843
18844         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18845         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
18846         * gst/base/gstbasesrc.c: (gst_base_src_query):
18847         * gst/elements/gstfilesink.c: (gst_file_sink_query):
18848         * gst/elements/gsttypefindelement.c:
18849         (gst_type_find_handle_src_query), (find_element_get_length),
18850         (gst_type_find_element_activate):
18851         API change fix.
18852
18853         * gst/gstquery.c: (gst_query_new_position),
18854         (gst_query_set_position), (gst_query_parse_position),
18855         (gst_query_new_duration), (gst_query_set_duration),
18856         (gst_query_parse_duration), (gst_query_set_segment),
18857         (gst_query_parse_segment):
18858         * gst/gstquery.h:
18859         Bundling query position/duration is not a good idea since duration
18860         does not change much and we don't want to recalculate it for every
18861         position query, so they are separated again..
18862         Base value in segment query is not needed.
18863
18864         * gst/gstqueue.c: (gst_queue_handle_src_query):
18865         * gst/gstutils.c: (gst_element_query_position),
18866         (gst_element_query_duration), (gst_pad_query_position),
18867         (gst_pad_query_duration):
18868         * gst/gstutils.h:
18869         Updates for query API change.
18870         Added some docs here and there.
18871
18872 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
18873
18874         * check/gst/gstbin.c: (GST_START_TEST):
18875         * check/gst/gstghostpad.c: (GST_START_TEST):
18876         * check/pipelines/cleanup.c: (GST_START_TEST):
18877           wait on thread to die so we can check refcount correctly
18878
18879 2005-10-18  Wim Taymans  <wim@fluendo.com>
18880
18881         * check/pipelines/stress.c: (GST_START_TEST):
18882         Make check a little more time consuming.
18883
18884 2005-10-18  Wim Taymans  <wim@fluendo.com>
18885
18886         * check/Makefile.am:
18887         * check/pipelines/stress.c: (GST_START_TEST),
18888         (simple_launch_lines_suite), (main):
18889         Small state change torture test.
18890
18891         * docs/design/part-states.txt:
18892         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
18893         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
18894         (gst_base_sink_change_state):
18895         Never take state lock from streaming thread, clean up ugly
18896         hacks. Unfortunatly core does not yet support nice ways to
18897         async commit state.
18898         
18899         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
18900         (bin_bus_handler):
18901         Start state recalc if a STATE_DIRTY message is posted, but only
18902         on the toplevel bin.
18903
18904         * gst/gstelement.c: (gst_element_sync_state_with_parent),
18905         (gst_element_get_state_func), (gst_element_abort_state),
18906         (gst_element_commit_state), (gst_element_lost_state),
18907         (gst_element_set_state_func), (gst_element_change_state):
18908         * gst/gstelement.h:
18909         State variables are now protected with the LOCK, the state
18910         lock is only used to serialize _set_state().
18911
18912 2005-10-18  Wim Taymans  <wim@fluendo.com>
18913
18914         * check/gst/gstbin.c: (GST_START_TEST):
18915         * check/gst/gstmessage.c: (GST_START_TEST):
18916         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18917         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
18918         (bin_bus_handler):
18919         * gst/gstelement.c: (gst_element_abort_state),
18920         (gst_element_commit_state), (gst_element_lost_state):
18921         * gst/gstmessage.c: (gst_message_new_state_changed),
18922         (gst_message_new_state_dirty), (gst_message_new_segment_start),
18923         (gst_message_new_segment_done), (gst_message_new_duration),
18924         (gst_message_parse_state_changed),
18925         (gst_message_parse_segment_start),
18926         (gst_message_parse_segment_done), (gst_message_parse_duration):
18927         * gst/gstmessage.h:
18928         * tools/gst-launch.c: (event_loop):
18929         Seriously, this is better than a previous commit as we only need
18930         to notify the fact that an element changed state in a streaming
18931         thread, marking the state of the parents dirty, hence the 
18932         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
18933         message.
18934
18935 2005-10-18  Wim Taymans  <wim@fluendo.com>
18936
18937         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
18938         (gst_bin_recalc_func):
18939         * gst/gstelement.c: (gst_element_set_clock),
18940         (gst_element_abort_state), (gst_element_lost_state):
18941         Cleanups, prepare for state change fixes.
18942
18943 2005-10-18  Wim Taymans  <wim@fluendo.com>
18944
18945         * gst/gstbin.h:
18946         * gst/gstelement.c: (gst_element_class_init),
18947         (gst_element_set_state), (gst_element_set_state_func):
18948         * gst/gstelement.h:
18949         Pending ABI changes.
18950         GThreadPool in GstBinClass to monitor async state changes.
18951         state_cookie in GstElement to detect concurrent gst/set state.
18952         set_state is now virtual too in case a very complicated element
18953         has to be constructed.
18954
18955 2005-10-18  Wim Taymans  <wim@fluendo.com>
18956
18957         * check/gst/gstbin.c: (GST_START_TEST):
18958         * check/gst/gstmessage.c: (GST_START_TEST):
18959         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
18960         * gst/gstbin.c: (bin_bus_handler):
18961         * gst/gstelement.c: (gst_element_commit_state),
18962         (gst_element_lost_state):
18963         * gst/gstmessage.c: (gst_message_new_state_changed),
18964         (gst_message_new_segment_start), (gst_message_new_segment_done),
18965         (gst_message_new_duration), (gst_message_parse_state_changed),
18966         (gst_message_parse_segment_start),
18967         (gst_message_parse_segment_done), (gst_message_parse_duration):
18968         * gst/gstmessage.h:
18969         * tools/gst-launch.c: (event_loop):
18970         Make messages future proof.
18971         state-change gets a flag if it was a message comming from the
18972         streaming thread.
18973         segment-start/stop can also be specified in other formats.
18974         A message to notify an app that a pipeline changed playback 
18975         duration.
18976         Also fix a GstMessage leak in -launch
18977
18978 2005-10-18  Andy Wingo  <wingo@pobox.com>
18979
18980         * gst/gstelement.c (gst_element_dispose): More helpful message.
18981
18982 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18983
18984         reviewed by: <delete if not using a buddy>
18985
18986         * common/gtk-doc.mak:
18987
18988 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
18989
18990         * gst/gstregistry.c: (gst_registry_scan_path_level):
18991           unref a plug-in we get that was already initialized
18992
18993 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
18994
18995         * docs/gst/gstreamer-sections.txt:
18996         * docs/libs/gstreamer-libs-sections.txt:
18997         * gst/gstelement.h:
18998           add new api entries
18999           hide internal macro
19000
19001 2005-10-17  Andy Wingo  <wingo@pobox.com>
19002
19003         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
19004         cleanup.
19005
19006         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
19007
19008         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
19009
19010         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
19011         (gst_element_get_state_func): Better debug message.
19012         (gst_element_commit_state): s/INFO/DEBUG/.
19013         (gst_element_lost_state, gst_element_change_state): 
19014
19015         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
19016         (gst_message_new_custom): s/INFO/LOG/.
19017
19018 2005-10-17  Michael Smith <msmith@fluendo.com>
19019
19020         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
19021           Check if end time is valid using end time, not start time.
19022
19023 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
19024
19025         * check/gst-libs/controller.c: (GST_START_TEST),
19026         (gst_controller_suite):
19027         * libs/gst/controller/gstcontroller.c:
19028         (gst_controlled_property_set_interpolation_mode):
19029         * libs/gst/controller/gstcontroller.h:
19030         * libs/gst/controller/gstinterpolation.c:
19031         * testsuite/controller/.cvsignore:
19032         * testsuite/controller/Makefile.am:
19033         * testsuite/controller/interpolator.c:
19034           merge controller testsuites
19035           fix broken tests
19036           remove mem-chunk from docs
19037
19038 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
19039
19040         * gst/gstmemchunk.c:
19041         * gst/gstmemchunk.h:
19042         * gst/gsttrashstack.c:
19043         * gst/gsttrashstack.h:
19044           out.  get out.  you're fired.  to the Attic !
19045
19046 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
19047
19048         * gst/gstcaps.c: (gst_caps_intersect):
19049           fix signedness issues in a (hopefully) correct way
19050         * gst/gstelement.c: (gst_element_pads_activate):
19051           some debugging
19052         * gst/gstobject.c: (gst_object_set_parent):
19053           some debugging
19054
19055 2005-10-17  Julien MOUTTE  <julien@moutte.net>
19056
19057         * gst/gstvalue.h: Fix prototypes.
19058
19059 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19060
19061         * docs/gst/gstreamer-sections.txt:
19062         * gst/gst.c: (gst_version_string):
19063         * gst/gst.h:
19064         * gst/gstversion.h.in:
19065         * win32/common/libgstreamer.def:
19066           add gst_version_string ()
19067
19068 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19069
19070         * configure.ac:
19071           clean up further
19072         * gst/gst.c: (init_post):
19073         * win32/common/config.h.in:
19074           it's PLUGINDIR now
19075         * gst/gstcaps.c: (gst_caps_intersect):
19076           use gint64, the range could be bigger than a guint
19077
19078 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19079
19080         * gst/gstclock.h:
19081           document potential problem in 2038
19082
19083 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19084
19085         * gst/gstcaps.c: (gst_caps_intersect):
19086           Fix guint j diving under 0
19087
19088 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19089
19090         * configure.ac:
19091         * win32/common/config.h:
19092         * win32/common/config.h.in:
19093           check for process.h, declares getpid() on Windows
19094         * gst/gstinfo.c:
19095           include process.h if we have it
19096         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
19097         * gst/gstmemchunk.h:
19098           fix signedness issues
19099         * win32/common/libgstreamer.def:
19100           fix get_type's
19101
19102 2005-10-16  Julien MOUTTE  <julien@moutte.net>
19103
19104         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
19105         fix. Because of unsigned ints, caps intersection was going nuts and
19106         trying to access structures with G_MAXUINT index. That fixes
19107         videotestsrc ! ffmpegcolorspace ! fakesink
19108         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
19109         consistency.
19110
19111 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19112
19113         * configure.ac:
19114           use the gettext macro
19115         * gst/elements/gstelements.c:
19116         * gst/gst.c:
19117         * gst/indexers/gstindexers.c:
19118           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
19119         * win32/common/config.h:
19120           updated config.h
19121         * win32/common/config.h.in:
19122           add the template to generate config.h
19123         * win32/common/gstenumtypes.c:
19124         * win32/common/gstversion.h:
19125           updated copies
19126
19127 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
19128
19129         * gst/gst.c: (gst_version):
19130         * gst/gstversion.h.in:
19131           add the nano
19132
19133 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
19134
19135         * gst/gstevent.h:
19136           Oops, add missing closing bracket.
19137
19138 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19139
19140         * configure.ac:
19141           use common m4's for argument checking
19142
19143 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
19144
19145         * docs/gst/gstreamer-sections.txt:
19146         * gst/gstevent.h:
19147           Add GST_EVENT_TYPE_NAME() macro.
19148
19149 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19150
19151         * gst/gstinfo.c:
19152         * gst/gstpluginfeature.c:
19153         * gst/gsttask.c:
19154           privatize more symbols
19155
19156 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19157
19158         * configure.ac:
19159           add srcdir, builddir includes to GST_ALL_CFLAGS, since
19160           everything that uses GStreamer API should have the includes
19161
19162 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19163
19164         * docs/gst/gstreamer-sections.txt:
19165         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
19166         * gst/gstvalue.h:
19167           give each value a _get_type, removes the DATA exports
19168
19169 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19170
19171         * gst/gst.c:
19172         * gst/gst.h:
19173           remove _gst_registry_auto_load, not used anymore
19174         * gst/gstbin.c: (gst_bin_get_type):
19175         * gst/gstbin.h:
19176         * gst/gstelement.c: (gst_element_get_type):
19177         * gst/gstelement.h:
19178         * gst/gstobject.c: (gst_object_get_type):
19179         * gst/gstobject.h:
19180         * gst/gstpad.c: (gst_pad_get_type):
19181         * gst/gstpad.h:
19182           make _get_type functions similar, fixes data export from library
19183
19184 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19185
19186         * configure.ac:
19187           correctly make conditionals
19188         * gst/elements/Makefile.am:
19189         * gst/elements/gstelements.c:
19190           fix typo causing fdsrc not to build
19191
19192 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19193
19194         * testsuite/Makefile.am:
19195         * testsuite/bytestream/.cvsignore:
19196         * testsuite/bytestream/Makefile.am:
19197         * testsuite/bytestream/filepadsink.c:
19198         * testsuite/bytestream/gstbstest.c:
19199         * testsuite/bytestream/test1.c:
19200         * testsuite/bytestream/testfile1:
19201         * testsuite/caps/normalisation.c:
19202         * testsuite/caps/random.c: (main):
19203         * testsuite/cleanup/.cvsignore:
19204         * testsuite/cleanup/Makefile.am:
19205         * testsuite/cleanup/cleanup1.c:
19206         * testsuite/cleanup/cleanup2.c:
19207         * testsuite/cleanup/cleanup3.c:
19208         * testsuite/cleanup/cleanup4.c:
19209         * testsuite/cleanup/cleanup5.c:
19210         * testsuite/controller/interpolator.c:
19211         * testsuite/debug/printf_extension.c: (main):
19212         * testsuite/elements/tee.c:
19213         * testsuite/negotiation/.cvsignore:
19214         * testsuite/negotiation/Makefile.am:
19215         * testsuite/negotiation/pad_link.c:
19216         * testsuite/pad/Makefile.am:
19217         * testsuite/pad/chainnopull.c:
19218         * testsuite/pad/getnopush.c:
19219         * testsuite/pad/link.c:
19220         * testsuite/refcounting/sched.c: (create_pipeline):
19221         * testsuite/registry/Makefile.am:
19222         * testsuite/registry/gst-print-formats.c:
19223         * testsuite/schedulers/.cvsignore:
19224         * testsuite/schedulers/142183-2.c:
19225         * testsuite/schedulers/142183.c:
19226         * testsuite/schedulers/143777-2.c:
19227         * testsuite/schedulers/143777.c:
19228         * testsuite/schedulers/147713.c:
19229         * testsuite/schedulers/147819.c:
19230         * testsuite/schedulers/147894-2.c:
19231         * testsuite/schedulers/147894.c:
19232         * testsuite/schedulers/Makefile.am:
19233         * testsuite/schedulers/group_link.c:
19234         * testsuite/schedulers/queue_link.c:
19235         * testsuite/schedulers/relink.c:
19236         * testsuite/schedulers/unlink.c:
19237         * testsuite/schedulers/unref.c:
19238         * testsuite/schedulers/useless_iteration.c:
19239         * testsuite/states/bin.c:
19240           clean out/remove some stuff from the testsuite directories
19241
19242 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19243
19244         * configure.ac:
19245           check for some headers
19246         * gst/elements/Makefile.am:
19247         * gst/elements/gstelements.c:
19248           don't compile fdsrc without sys/socket.h
19249         * gst/indexers/Makefile.am:
19250         * gst/indexers/gstindexers.c: (plugin_init):
19251           don't compile fileindex without mmap
19252
19253 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
19254
19255         * configure.ac:
19256           reorganize
19257           clean up
19258           document more
19259           remove cruft
19260         * check/Makefile.am:
19261         * docs/gst/Makefile.am:
19262         * examples/helloworld/Makefile.am:
19263         * gst/Makefile.am:
19264         * gst/base/Makefile.am:
19265         * gst/check/Makefile.am:
19266         * gst/elements/Makefile.am:
19267         * gst/indexers/Makefile.am:
19268         * gst/parse/Makefile.am:
19269         * libs/gst/controller/Makefile.am:
19270         * libs/gst/dataprotocol/Makefile.am:
19271         * examples/helloworld/helloworld.c: (event_loop):
19272           compile fixes, though it's not being compiled currently
19273
19274 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
19275
19276         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
19277           Add some simple tests for the new taglist date API.
19278
19279 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
19280
19281         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
19282         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
19283           Beautify 'last-message' output: print 'none' for buffer timestamps
19284           and durations if none is set; improve alignment with next messages.
19285
19286 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
19287
19288         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
19289         * gst/gstpluginfeature.h:
19290         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
19291         * gst/gstregistry.h:
19292         * docs/gst/gstreamer-sections.txt:
19293           Add new API to check plugin feature version requirements.
19294
19295         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
19296           Some basic tests for the above.         
19297
19298 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19299
19300         * gst/gststructure.c: (gst_structure_to_string):
19301           guard against NULL printf - happens when for example
19302           a message structure with GstClock gets serialized
19303
19304 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
19305
19306         * gst/base/gstcollectpads.c: (gst_collectpads_event):
19307           Fix presumable copy'n'pasto.
19308
19309 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19310
19311         * gst/elements/gstfakesrc.h:
19312         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
19313         * gst/elements/gsttypefindelement.c:
19314           fix some signedness
19315         * gst/elements/gstfilesink.c: (gst_file_sink_render):
19316           I wonder if this could actually write +2GB files before
19317
19318 2005-10-13  Andy Wingo  <wingo@pobox.com>
19319
19320         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
19321         Fix Timmeke Waymans bug.
19322         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
19323         string of the proper length to gst_caps_from_string. There's a
19324         potential for, before this fix, that this could cause someone
19325         connecting over the network to cause a segfault if the payload is
19326         not NUL-terminated.
19327
19328 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
19329
19330         * docs/design/draft-push-pull.txt:
19331         * docs/design/part-overview.txt:
19332         * docs/random/TODO-pre-0.9:
19333         * docs/random/old/ChangeLog.gstreamer:
19334         * gst/base/gstpushsrc.c:
19335         * gst/gstclock.c:
19336           fixed typos
19337
19338 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19339
19340         * gst/glib-compat.c: (gst_flags_get_first_value):
19341         * gst/glib-compat.h:
19342         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
19343         (gst_value_compare_double), (gst_value_serialize_flags):
19344           GLib 2.6 g_flags_get_first_value has a bug that triggers an
19345           infinite loop
19346
19347 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19348
19349         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19350         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
19351           fix up debugging
19352         * tools/gst-launch.c: (event_loop):
19353           print out clock nicely
19354
19355 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
19356
19357         * docs/gst/gstreamer-sections.txt:
19358         * gst/gsttaglist.h:
19359         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
19360         (gst_tag_list_get_date_index):
19361           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
19362           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
19363
19364 2005-10-13  Julien MOUTTE  <julien@moutte.net>
19365
19366         * gst/base/gstcollectpads.c: (gst_collectpads_event),
19367         (gst_collectpads_chain):
19368         * gst/base/gstcollectpads.h: Handle newsegment and store informations
19369         in CollectData.
19370
19371 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
19372
19373         * docs/gst/gstreamer-sections.txt:
19374         * gst/gst.c:
19375         * gst/gsterror.h:
19376         * tools/gst-inspect.c: (main):
19377         * tools/gst-launch.c: (main):
19378         * tools/gst-run.c: (main):
19379         * tools/gst-xmlinspect.c: (main):
19380           fix GOption context leaks
19381           doc fixes
19382
19383 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19384
19385         * gst/gstbus.c:
19386           use HAVE_UNISTD_H
19387         * win32/common/config.h:
19388           update config
19389         * win32/vs6/grammar.dsp:
19390         * win32/vs6/libgstelements.dsp:
19391         * win32/vs6/libgstreamer.dsp:
19392           update vs6 files
19393
19394 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19395
19396         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19397         * gst/base/gstbasesrc.c: (gst_base_src_query):
19398           fix more guint64<->gdouble conversions
19399
19400 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19401
19402         * Makefile.am:
19403           add win32-update target
19404         * win32/common/gstconfig.h:
19405         * win32/common/gstenumtypes.c:
19406         * win32/common/gstenumtypes.h:
19407         * win32/common/gstversion.h:
19408           add files that visual studio can't generate
19409
19410 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19411
19412         * Makefile.am:
19413           add a win32-update target
19414         * configure.ac:
19415
19416 2005-10-12  Wim Taymans  <wim@fluendo.com>
19417
19418         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
19419         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
19420         * gst/gstelement.c: (gst_element_commit_state),
19421         (gst_element_set_state):
19422         Protect flags with proper lock.
19423         unref provided cached clock in dispose.
19424
19425 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
19426
19427         * gst/gst.c:
19428         * gst/gstminiobject.h:
19429         * gst/gstpad.h:
19430         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
19431           removed unused flags from miniobject
19432           doc fixes
19433
19434 2005-10-12  Wim Taymans  <wim@fluendo.com>
19435
19436         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
19437         (gst_file_sink_event), (gst_file_sink_render):
19438         Flush before seeking.
19439
19440 2005-10-12  Andy Wingo  <wingo@pobox.com>
19441
19442         * gst/gst.c (gst_init_check): Ignore unknown options, as has
19443         always been the case.
19444
19445 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
19446
19447         * check/gst/gstbin.c: (GST_START_TEST):
19448         * docs/gst/gstreamer-sections.txt:
19449         * gst/base/gstbasesink.c: (gst_base_sink_init):
19450         * gst/base/gstbasesrc.c: (gst_base_src_init),
19451         (gst_base_src_get_range), (gst_base_src_check_get_range),
19452         (gst_base_src_start), (gst_base_src_stop):
19453         * gst/base/gstbasesrc.h:
19454         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
19455         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
19456         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
19457         (bin_bus_handler):
19458         * gst/gstbin.h:
19459         * gst/gstbuffer.h:
19460         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
19461         * gst/gstbus.h:
19462         * gst/gstelement.c: (gst_element_is_locked_state),
19463         (gst_element_set_locked_state), (gst_element_commit_state),
19464         (gst_element_set_state):
19465         * gst/gstelement.h:
19466         * gst/gstindex.c: (gst_index_init):
19467         * gst/gstindex.h:
19468         * gst/gstminiobject.h:
19469         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
19470         (gst_object_set_parent):
19471         * gst/gstobject.h:
19472         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
19473         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
19474         * gst/gstpad.h:
19475         * gst/gstpadtemplate.h:
19476         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
19477         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
19478         * gst/gstpipeline.h:
19479         * gst/indexers/gstfileindex.c: (gst_file_index_load),
19480         (gst_file_index_commit):
19481         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
19482         * testsuite/pad/link.c: (gst_test_src_init),
19483         (gst_test_filter_init), (gst_test_sink_init):
19484         * testsuite/states/locked.c: (main):
19485           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
19486           moved bitshift from macro to enum definition
19487
19488 2005-10-12  Wim Taymans  <wim@fluendo.com>
19489
19490         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
19491         * gst/elements/gstfilesink.c: (gst_file_sink_event),
19492         (gst_file_sink_render):
19493         Some more debugging info.
19494
19495 2005-10-12  Wim Taymans  <wim@fluendo.com>
19496
19497         * docs/design/part-states.txt:
19498         * tools/gst-launch.c: (main):
19499         Some doc updates.
19500         Revert non-intentional change.
19501
19502 2005-10-12  Wim Taymans  <wim@fluendo.com>
19503
19504         * check/gst/gstbin.c: (GST_START_TEST):
19505         * check/gst/gstelement.c: (GST_START_TEST):
19506         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
19507         * check/gst/gstghostpad.c: (GST_START_TEST):
19508         * check/gst/gstpipeline.c: (GST_START_TEST):
19509         * check/pipelines/simple_launch_lines.c: (run_pipeline):
19510         * check/states/sinks.c: (GST_START_TEST):
19511         * gst/elements/gsttypefindelement.c: (stop_typefinding):
19512         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19513         (gst_bin_remove_func), (gst_bin_get_state_func),
19514         (gst_bin_recalc_state), (gst_bin_change_state_func),
19515         (bin_bus_handler):
19516         * gst/gstelement.c: (gst_element_get_state_func),
19517         (gst_element_get_state), (gst_element_abort_state),
19518         (gst_element_commit_state), (gst_element_set_state),
19519         (gst_element_change_state), (gst_element_change_state_func):
19520         * gst/gstelement.h:
19521         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
19522         (gst_pipeline_provide_clock_func):
19523         * gst/gstutils.c: (gst_element_link_pads_filtered):
19524         * tools/gst-launch.c: (main):
19525         * tools/gst-typefind.c: (main):
19526         Use GstClockTime in _get_state() instead of GTimeVal.
19527         Remove old code in gstutils.c
19528
19529 2005-10-12  Andy Wingo  <wingo@pobox.com>
19530
19531         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
19532         removed.
19533
19534         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
19535         there is no task. Shouldn't affect any code, as nothing in our
19536         plugins checks this return value.
19537         (gst_pad_stop_task): Also take the stream lock if the pad has no
19538         task. Docs updated.
19539
19540 2005-10-12  Wim Taymans  <wim@fluendo.com>
19541
19542         * gst/gstpad.c: (pre_activate), (post_activate),
19543         (gst_pad_activate_pull), (gst_pad_activate_push):
19544         Cleanup activation code. Reset old state if
19545         activation failed.
19546
19547 2005-10-12  Wim Taymans  <wim@fluendo.com>
19548
19549         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19550         (gst_base_sink_change_state):
19551         No need to prerol after receiving EOS.
19552
19553         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
19554         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
19555         * gst/elements/gstidentity.c: (gst_identity_event):
19556         Print events more verbosely.
19557
19558 2005-10-12  Wim Taymans  <wim@fluendo.com>
19559
19560         * check/Makefile.am:
19561         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
19562         * check/states/sinks2.c:
19563         Moved sinks2 testcode in sinks check.
19564
19565         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
19566         (gst_bin_remove_func), (gst_bin_recalc_state),
19567         (gst_bin_change_state_func), (bin_bus_handler):
19568         Fix potential race condition when _get_state() iterated over an
19569         ASYNC element right before it posted a state completion.
19570
19571         * gst/gstclock.h:
19572         Do proper cast here.
19573
19574         * gst/gstevent.c: (gst_event_new_newsegment),
19575         (gst_event_parse_newsegment):
19576         A playback rate of 0.0 is not allowed.
19577
19578 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19579
19580         * win32/common/config.h:
19581         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
19582         (_trewinddir), (_ttelldir), (_tseekdir):
19583         * win32/common/dirent.h:
19584         * win32/common/gtchar.h:
19585         * win32/common/libgstbase.def:
19586         * win32/common/libgstreamer.def:
19587         * win32/vs6/grammar.dsp:
19588         * win32/vs6/gst_inspect.dsp:
19589         * win32/vs6/gst_launch.dsp:
19590         * win32/vs6/gstreamer.dsw:
19591         * win32/vs6/libgstbase.dsp:
19592         * win32/vs6/libgstelements.dsp:
19593         * win32/vs6/libgstreamer.dsp:
19594           Visual Studio 6 project files, and a new common directory.
19595           Phear.
19596
19597 2005-10-11  Wim Taymans  <wim@fluendo.com>
19598
19599         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19600         (gst_base_sink_do_sync), (gst_base_sink_query),
19601         (gst_base_sink_change_state):
19602         * gst/base/gstbasesink.h:
19603         Correctly parse newsegment info.
19604
19605 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19606
19607         * gst/gst.c: (init_post):
19608           split plugin paths correctly
19609
19610 2005-10-11  Wim Taymans  <wim@fluendo.com>
19611
19612         * check/gst/gstevent.c: (GST_START_TEST):
19613         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19614         (gst_base_sink_change_state):
19615         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
19616         * gst/base/gstbasetransform.c: (gst_base_transform_event):
19617         * gst/elements/gstfilesink.c: (gst_file_sink_event):
19618         * gst/gstevent.c: (gst_event_new_newsegment),
19619         (gst_event_parse_newsegment):
19620         * gst/gstevent.h:
19621         Added extra flag to newsegment for future API freeze.
19622         Updated check and base elements.
19623
19624 2005-10-11  Julien MOUTTE  <julien@moutte.net>
19625
19626         * gst/base/gstcollectpads.c: (gst_collectpads_init),
19627         (gst_collectpads_add_pad), (gst_collectpads_pop),
19628         (gst_collectpads_event), (gst_collectpads_chain):
19629         * gst/base/gstcollectpads.h: Handle EOS correctly.
19630
19631 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19632
19633         * tools/gst-launch.c: (main):
19634           more null protecting
19635
19636 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19637
19638         * gst/gst-i18n-lib.h:
19639           check for ENABLE_NLS, not GETTEXT_PACKAGE
19640         * gst/gstregistry.c: (gst_registry_add_plugin),
19641         (gst_registry_scan_path_level),
19642         (_gst_registry_remove_cache_plugins):
19643           protect possibly NULL strings
19644         * gst/parse/types.h:
19645           config.h already included before
19646         * tools/gst-inspect.c: (main):
19647           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
19648           check for ENABLE_NLS, not GETTEXT_PACKAGE
19649         * tools/gst-launch.c: (main):
19650           check for ENABLE_NLS, not GETTEXT_PACKAGE
19651
19652 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19653
19654         * configure.ac:
19655           if we don't have glib, fail before testing 2.8
19656         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
19657           fix a leak, should fix plugins-base testsuite
19658
19659 2005-10-11  Andy Wingo  <wingo@pobox.com>
19660
19661         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
19662         take the mode we're going to as an arg. Go head and set the mode
19663         and flushing flags now, so that if the activate function starts a
19664         thread all the flags will be in the right state.
19665         (post_activate): Renamed also. Just handle making sure streaming
19666         finishes for the deactivation case, and setting the deactivated
19667         mode.
19668         (gst_pad_set_active): Complain loudly if deactivation fails.
19669         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
19670         (gst_pad_activate_push): Adapt to pre/post_activate changes,
19671         remove the terrible hack.
19672
19673 2005-10-11  Wim Taymans  <wim@fluendo.com>
19674
19675         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
19676         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
19677         (gst_bin_recalc_state), (gst_bin_change_state_func),
19678         (gst_bin_dispose), (bin_bus_handler):
19679         * gst/gstbin.h:
19680         Prepare to make current EOS message queue more generic.
19681         Fix some typos.
19682
19683         * gst/gstevent.c: (gst_event_new_newsegment),
19684         (gst_event_parse_newsegment):
19685         * gst/gstevent.h:
19686         Rename base to stream_time.
19687
19688         * gst/gstmessage.h:
19689         Fix typo in docs.
19690
19691 2005-10-11  Wim Taymans  <wim@fluendo.com>
19692
19693         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
19694         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
19695         (gst_bin_change_state_func), (bin_bus_handler):
19696         * gst/gstbin.h:
19697         Work on proper clock selection.
19698
19699 2005-10-11  Edward Hervey  <edward@fluendo.com>
19700
19701         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
19702         * libs/gst/controller/gstcontroller.h:
19703         Added GList* version of _remove_properties() in order to be able to wrap
19704         it in bindings.
19705
19706 2005-10-11  Wim Taymans  <wim@fluendo.com>
19707
19708         * docs/design/part-states.txt:
19709         Some more docs.
19710
19711         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
19712         (gst_bin_change_state_func), (bin_bus_handler):
19713         Doc updates. Don't distribute the same clock over and over again.
19714
19715         * gst/gstclock.c:
19716         * gst/gstclock.h:
19717         Doc updates.
19718
19719         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
19720         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
19721         (gst_pad_send_event):
19722         * gst/gstpad.h:
19723         Make probe emission threadsafe again.
19724         Register quarks and move _get_name() from utils.
19725         Doc updates.
19726
19727         * gst/gstpipeline.c: (gst_pipeline_class_init),
19728         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
19729         Only redistribute the clock of it changed.
19730
19731         * gst/gstsystemclock.h:
19732         Doc updates. 
19733
19734         * gst/gstutils.c:
19735         * gst/gstutils.h:
19736         Moved the _flow_get_name() to GstPad.
19737
19738 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19739
19740         * check/gst-libs/gdp.c: (GST_START_TEST):
19741         * check/gst/gstcaps.c: (GST_START_TEST):
19742         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
19743         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
19744         (gst_dp_packet_from_caps):
19745           fix more valgrind warnings before turning up the heat
19746
19747 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19748
19749         * gst/parse/grammar.y:
19750           some cleanup before the hacking
19751
19752 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19753
19754         * gst/base/gstbasesrc.c: (gst_base_src_query):
19755           use conversions
19756         * gst/gstutils.c: (gst_guint64_to_gdouble),
19757         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
19758         * gst/gstutils.h:
19759           externalize, basesrc uses it
19760           obviously the implementation needs testing
19761
19762 2005-10-10  Wim Taymans  <wim@fluendo.com>
19763
19764         * tests/sched/Makefile.am:
19765         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
19766         (make_pipeline3), (make_pipeline4), (print_elem), (main):
19767
19768 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19769
19770         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
19771           apparently converting from guint64 to double is not implemented
19772           on MSVC
19773
19774 2005-10-10  Wim Taymans  <wim@fluendo.com>
19775
19776         * check/Makefile.am:
19777         * check/generic/states.c: (GST_START_TEST):
19778         * check/gst/gstbin.c: (GST_START_TEST):
19779         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
19780         * check/states/sinks.c: (GST_START_TEST):
19781         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
19782         (main):
19783         Check fixes, use API as stated in design docs, remove hacks.
19784
19785         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19786         (gst_base_sink_change_state):
19787         Catch stopping our task while we're shutting down.
19788
19789         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
19790         (gst_bin_remove_func), (gst_bin_get_state_func),
19791         (gst_bin_recalc_state), (gst_bin_change_state_func),
19792         (bin_bus_handler):
19793         * gst/gstbin.h:
19794         * gst/gstelement.c: (gst_element_init),
19795         (gst_element_get_state_func), (gst_element_abort_state),
19796         (gst_element_commit_state), (gst_element_lost_state),
19797         (gst_element_set_state), (gst_element_change_state),
19798         (gst_element_change_state_func):
19799         * gst/gstelement.h:
19800         New state change algorithm (see #318116)
19801
19802         * gst/gstpipeline.c: (gst_pipeline_class_init),
19803         (gst_pipeline_init), (gst_pipeline_set_property),
19804         (gst_pipeline_get_property), (do_pipeline_seek),
19805         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
19806         * gst/gstpipeline.h:
19807         Remove crude state change hacks.
19808
19809         * gst/gstutils.h:
19810         Remove crude hacks.
19811
19812         * tools/gst-launch.c: (main):
19813         Fixes for state change. Needs some more work to fully use the
19814         new stuff.
19815
19816 2005-10-10  Andy Wingo  <wingo@pobox.com>
19817
19818         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
19819
19820         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
19821         this flag, but it's not even in GLib 2.6. Odd. Hack around the
19822         issue.
19823
19824 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19825
19826         * gst/gstiterator.c: (gst_iterator_new):
19827           Fix my previous commit: GTypes passed to gst_iterator_new()
19828           can be fundamental types.
19829
19830 2005-10-10  Wim Taymans  <wim@fluendo.com>
19831
19832         * gst/gstelement.c: (gst_element_iterate_pad_list),
19833         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
19834         (gst_element_iterate_sink_pads):
19835         Use src/sink pads lists for the respective iterators instead
19836         of filtering.
19837
19838 2005-10-10  Andy Wingo  <wingo@pobox.com>
19839
19840         Merged in popt removal + GOption addition patch from Ronald, bug
19841         #169772.
19842
19843         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
19844         GstElement macros around, remove popt-related symbols, add goption
19845         stuff.
19846
19847         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
19848         
19849         * docs/gst/Makefile.am:
19850         * docs/libs/Makefile.am: No POPT_CFLAGS.
19851         
19852         * examples/manual/Makefile.am:
19853         * docs/manual/basics-init.xml: Doc updates with an example.
19854         
19855         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
19856         (gst_init), (parse_one_option), (parse_goption_arg):
19857         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
19858         bit of hand merging and debugging to get the GOption stuff working
19859         tho.
19860         
19861         * tests/Makefile.am:
19862         * tools/Makefile.am:
19863         * tools/gst-inspect.c: (main):
19864         * tools/gst-launch.c: (main):
19865         * tools/gst-run.c: (main):
19866         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
19867
19868 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19869
19870         * gst/gstiterator.c: (gst_iterator_new):
19871           Add assertions to make sure passed GType is likely to really
19872           be a GType (as the compiler won't catch it if the size and
19873           GType arguments get mixed up, see #318447).
19874
19875 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
19876
19877         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
19878
19879         * gst/gstbin.c: (gst_bin_iterate_sorted):
19880           Pass GType and size arguments to gst_iterator_new() in the right
19881           order (maybe we should make _new() take the GType as first argument
19882           just like _new_list()?) (#318447).
19883           
19884
19885 2005-10-10  Wim Taymans  <wim@fluendo.com>
19886
19887         * gst/gstelement.c: (gst_element_finalize):
19888         And free the GStaticRecMutex too
19889
19890 2005-10-10  Andy Wingo  <wingo@pobox.com>
19891
19892         * gst/gstelement.c (gst_element_init, gst_element_finalize):
19893         Allocate and free the mutex properly.
19894
19895         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
19896         New macros.
19897         (GstElement): The state_lock is now recursive. Rebuild your
19898         plugins, suckers. Old macros adapted.
19899
19900         * docs/gst/gstreamer-sections.txt: Doc updates.
19901
19902         * gst/gstutils.h:
19903         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
19904         (g_static_rec_cond_wait): Ported from state changes patch, while
19905         we wait on bug #317802 to be solved in a well-distributed GLib.
19906
19907         * gst/gstelement.c (gst_element_change_state_func): Renamed from
19908         gst_element_change_state, variable name changes.
19909         (gst_element_change_state): Split out of gst_element_set_state in
19910         preparation for the state change merge. Doesn't pay attention to
19911         the 'transition' argument.
19912         (gst_element_set_state): Updates, hopefully purely cosmetic.
19913         (gst_element_sync_state_with_parent): MT-safety. Ported from the
19914         state change patch.
19915         (gst_element_get_state_func): Renamed from get_state, cosmetic
19916         changes.
19917
19918 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19919
19920         * gst/elements/gstelements.c:
19921         * win32/GStreamer.vcproj:
19922         * win32/config.h:
19923         * win32/dirent.c: (_tseekdir):
19924         * win32/gst-inspect.vcproj:
19925         * win32/gst-launch.vcproj:
19926         * win32/gstconfig.h:
19927         * win32/gstelements.vcproj:
19928         * win32/gstenumtypes.c: (gst_object_flags_get_type):
19929         * win32/gstreamer.def:
19930         * win32/msvc71.sln:
19931           updates for the win32 build (patch from Sebastien Moutte)
19932
19933 2005-10-10  Andy Wingo  <wingo@pobox.com>
19934
19935         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
19936         gst_bin_get_state, cleaned up (but no logic changes).
19937         (bin_element_is_sink): Comment updates.
19938         (sink_iterator_filter): Remove needless cast.
19939         (gst_bin_iterate_sinks): Doc update.
19940         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
19941         cleaned up (but no logic changes).
19942
19943         * check/states/sinks.c (test_src_sink): Cleanups from the state
19944         change patch.
19945         (test_livesrc_sink): Sync on the state.
19946
19947         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
19948         the state change patch.
19949
19950         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
19951         change patch.
19952
19953         * check/gst/gstbin.c: Merge in some style fixes and additional
19954         checks from Wim's state change patch.
19955
19956 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
19957
19958         * gst/base/gsttypefindhelper.c: (helper_find_peek),
19959         (gst_type_find_helper):
19960           Check whether we have the requested data already in our list of
19961           cached buffers before pulling a new buffer; also make the buffer
19962           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
19963
19964 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19965
19966         * gst/gstcaps.c:
19967         * gst/gstevent.c:
19968           doc updates
19969         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
19970           don't use long long, it's not portable.  Replacing with
19971           gint64 seems to work; let's hope no skeletons fall out of the closet.
19972
19973 2005-10-10  Andy Wingo  <wingo@pobox.com>
19974
19975         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
19976
19977 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
19978
19979         * docs/gst/gstreamer-sections.txt:
19980         * gst/gstevent.c:
19981         * gst/gstevent.h:
19982         * gst/gstinfo.c:
19983         * gst/gstinfo.h:
19984         * gst/gstmessage.c: (gst_message_parse_state_changed):
19985         * gst/gstpad.c:
19986         * gst/gstpad.h:
19987           more docs, fix compilation
19988
19989 2005-10-09  Philippe Khalaf <burger@speedy.org>
19990         * gst/gstmessage.c:
19991           Fixed a few forgotten variables on previous commit
19992
19993 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
19994
19995         * gst/base/gsttypefindhelper.c: (helper_find_peek):
19996           Fix evil typefind crasher: getrange() might return a short
19997           buffer at the end of a file, but gst_type_find_peek() must
19998           either return the full data as requested or NULL, but
19999           never a short buffer.
20000
20001 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20002
20003         * gst/gstmessage.c: (gst_message_new_state_changed),
20004         (gst_message_parse_state_changed):
20005         * gst/gstmessage.h:
20006           don't use "new", it's a C++ keyword
20007
20008 2005-10-08  Wim Taymans  <wim@fluendo.com>
20009
20010         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
20011         * gst/gstelement.c: (gst_element_post_message):
20012         * gst/gstpipeline.c: (gst_pipeline_change_state):
20013         Small docs and debug updates.
20014
20015 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
20016
20017         * docs/gst/gstreamer-sections.txt:
20018         * gst/gstelementfactory.c:
20019         * gst/gstevent.c:
20020         * gst/gsttaglist.c:
20021           more docs
20022
20023 2005-10-08  Wim Taymans  <wim@fluendo.com>
20024
20025         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
20026         (gst_bin_dispose), (bin_bus_handler):
20027         Fix typos, add comments.
20028         Clear EOS list when going to PAUSED from any direction and do it
20029         in a threadsafe way.
20030         Get base time in a threadsafe way too.
20031         Fix confusing debug in the change_state function.
20032         Various other small cleanups.
20033         
20034         * gst/gstelement.c: (gst_element_post_message):
20035         Fix very verbose bus posting code.
20036
20037         * gst/gstpipeline.c: (gst_pipeline_class_init),
20038         (gst_pipeline_set_property), (gst_pipeline_get_property),
20039         (gst_pipeline_change_state):
20040         Small ARG_ -> PROP_ cleanup
20041
20042 2005-10-08  Wim Taymans  <wim@fluendo.com>
20043
20044         * gst/gstbin.c: (is_eos), (bin_bus_handler):
20045         Do a less CPU demanding EOS check because we can.
20046
20047 2005-10-08  Wim Taymans  <wim@fluendo.com>
20048
20049         * libs/gst/dataprotocol/dataprotocol.c:
20050         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
20051         (gst_dp_packet_from_event):
20052         * libs/gst/dataprotocol/dataprotocol.h:
20053         * libs/gst/dataprotocol/dp-private.h:
20054         It's about time we bump the version number.
20055         Since event types don't fit in the guint8 anymore describing
20056         the payload type, make payload type 16 bits wide.
20057
20058 2005-10-08  Wim Taymans  <wim@fluendo.com>
20059
20060         * docs/design/part-TODO.txt:
20061         * docs/design/part-clocks.txt:
20062         * docs/design/part-events.txt:
20063         * docs/design/part-gstbin.txt:
20064         * docs/design/part-gstelement.txt:
20065         * docs/design/part-gstpipeline.txt:
20066         * docs/design/part-live-source.txt:
20067         * docs/design/part-messages.txt:
20068         * docs/design/part-overview.txt:
20069         * docs/design/part-states.txt:
20070         Many doc updates.
20071
20072 2005-10-08  Wim Taymans  <wim@fluendo.com>
20073
20074         * gst/gstevent.c:
20075         * gst/gstevent.h:
20076         Fix event quark registration.
20077         Add some space between events so we can insert them in the
20078         right groups.
20079
20080 2005-10-08  Wim Taymans  <wim@fluendo.com>
20081
20082         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20083         (gst_base_sink_handle_buffer):
20084         Better log message.
20085
20086         * gst/gstbus.h:
20087         * gst/gstelement.h:
20088         More docs.
20089
20090         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
20091         (gst_queue_set_property), (gst_queue_get_property):
20092         * gst/gstqueue.h:
20093         Remove old unused properties.
20094
20095 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
20096         * docs/gst/gstreamer-sections.txt:
20097         * gst/gstmessage.c:
20098         * gst/gstmessage.h:
20099         * gst/gstminiobject.c:
20100         * gst/gstminiobject.h:
20101         * gst/gstobject.h:
20102         * gst/gstpad.h:
20103         * gst/gstutils.h:
20104           lots of new docs and doc fixes
20105
20106 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20107
20108         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
20109         * gst/gstplugin.h:
20110         * gst/gstregistry.c: (gst_registry_lookup_locked),
20111         (gst_registry_scan_path_level):
20112         * gst/gstregistryxml.c: (load_plugin):
20113           Only ever load one plugin for a given plugin basename.
20114           This ensures correct overriding of GST_PLUGIN_PATH over
20115           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
20116           system installed plugins.
20117
20118 2005-10-08  Wim Taymans  <wim@fluendo.com>
20119
20120         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20121         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
20122         Prepare for doing QOS.
20123
20124 2005-10-08  Wim Taymans  <wim@fluendo.com>
20125
20126         * check/gst/gstbin.c: (GST_START_TEST):
20127         * check/pipelines/cleanup.c: (GST_START_TEST):
20128         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
20129         Allow new clock message too.
20130
20131 2005-10-08  Wim Taymans  <wim@fluendo.com>
20132
20133         * gst/gstmessage.c: (gst_message_new_error),
20134         (gst_message_new_warning), (gst_message_new_tag),
20135         (gst_message_new_state_changed), (gst_message_new_clock_provide),
20136         (gst_message_new_clock_lost), (gst_message_new_new_clock),
20137         (gst_message_new_segment_start), (gst_message_new_segment_done),
20138         (gst_message_parse_state_changed),
20139         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
20140         (gst_message_parse_new_clock):
20141         * gst/gstmessage.h:
20142         Also carry the clock in question.
20143
20144 2005-10-08  Wim Taymans  <wim@fluendo.com>
20145
20146         * gst/gstmessage.c: (gst_message_new_custom),
20147         (gst_message_new_eos), (gst_message_new_error),
20148         (gst_message_new_warning), (gst_message_new_tag),
20149         (gst_message_new_state_changed), (gst_message_new_clock_provide),
20150         (gst_message_new_new_clock), (gst_message_new_segment_start),
20151         (gst_message_new_segment_done), (gst_message_parse_state_changed),
20152         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
20153         * gst/gstmessage.h:
20154         Clean up.
20155         Added clock related messages.
20156
20157         * gst/gstpipeline.c: (gst_pipeline_change_state):
20158         Post message when the clock changed.
20159
20160         * tools/gst-launch.c: (event_loop):
20161         Print new clock.
20162
20163 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
20164
20165         * tools/gst-inspect.c: (print_element_properties_info):
20166           Can't pass NULL strings to g_print() on windows.
20167
20168 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20169
20170         * docs/Makefile.am:
20171         * docs/gst/Makefile.am:
20172         * docs/gst/gstreamer-docs.sgml:
20173         * docs/gst/running.xml:
20174         * docs/version.entities.in:
20175           add a chapter on running GStreamer.
20176           document GST_DEBUG and GST_PLUGIN* env vars
20177
20178 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20179
20180         * Makefile.am:
20181           remove include dir
20182         * configure.ac:
20183           remove PLUGINS_BUILDDIR stuff
20184         * gst/gst.c: (init_post):
20185           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
20186         * idiottest.mak:
20187           remove, it was condescending and not needed
20188
20189 2005-10-08  Wim Taymans  <wim@fluendo.com>
20190
20191         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
20192         (gst_base_sink_handle_object), (gst_base_sink_event),
20193         (gst_base_sink_wait), (gst_base_sink_handle_event),
20194         (gst_base_sink_change_state):
20195         * gst/base/gstbasesink.h:
20196         Repost EOS message while going to PLAYING if still EOS.
20197         Make sure that when receiving a FLUSH_START we don't attempt
20198         to sync on the clock anymore.
20199
20200 2005-10-08  Wim Taymans  <wim@fluendo.com>
20201
20202         * tools/gst-launch.c: (event_loop):
20203         Better message printout.
20204
20205 2005-10-08  Wim Taymans  <wim@fluendo.com>
20206
20207         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
20208         (gst_bin_child_proxy_get_children_count):
20209         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
20210         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
20211         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
20212         (gst_child_proxy_set_valist):
20213         * gst/parse/grammar.y:
20214         Make ChildProxy threadsafe and fix mem leaks.
20215
20216 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20217
20218         * gst/gst.c: (init_post):
20219           debug the GST_PLUGIN_ env vars
20220
20221 2005-10-08  Wim Taymans  <wim@fluendo.com>
20222
20223         * check/gst/gstbin.c: (GST_START_TEST):
20224         * check/gst/gstmessage.c: (GST_START_TEST):
20225         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
20226         * gst/gstelement.c: (gst_element_commit_state),
20227         (gst_element_lost_state):
20228         * gst/gstmessage.c: (gst_message_new_state_changed),
20229         (gst_message_parse_state_changed):
20230         * gst/gstmessage.h:
20231         * tools/gst-launch.c: (event_loop):
20232         Added extra field to STATE_CHANGE message with the pending
20233         state, which will be different from the new state soon.
20234
20235 2005-10-08  Wim Taymans  <wim@fluendo.com>
20236
20237         * gst/gstbus.c: (gst_bus_pop):
20238         * gst/gstclock.c:
20239         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20240         Small cleanups and doc updates.
20241
20242 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20243
20244         * gst/gst.c: (init_pre):
20245         * gst/gstbin.c: (gst_bin_add_func):
20246           log distributing clocks and base time
20247         * gst/gstregistry.c: (gst_registry_add_plugin),
20248         (gst_registry_scan_path_level), (gst_registry_scan_path):
20249           clean up the debugging output a little
20250         * gst/gstutils.c: (gst_element_state_get_name):
20251           warn about a memleak (I've actually seen this be used, though
20252           it was probably a bug)
20253
20254 2005-10-07  Wim Taymans  <wim@fluendo.com>
20255
20256         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20257         (gst_base_src_init), (gst_base_src_default_newsegment),
20258         (gst_base_src_newsegment), (gst_base_src_do_seek),
20259         (gst_base_src_loop), (gst_base_src_start):
20260         * gst/base/gstbasesrc.h:
20261         Make the newsegment event customizable by subclasses.
20262
20263 2005-10-07  Wim Taymans  <wim@fluendo.com>
20264
20265         * gst/gstevent.c: (gst_event_new_buffersize),
20266         (gst_event_parse_buffersize):
20267         * gst/gstevent.h:
20268         New event for future idea.
20269
20270 2005-10-07  Andy Wingo  <wingo@pobox.com>
20271
20272         * gst/gstelement.c (gst_element_post_message): Doc update.
20273
20274         * docs/gst/gstreamer-sections.txt: Update.
20275
20276         * gst/gstmessage.c (gst_message_new_application): Made into a
20277         function like honest API calls.
20278         (gst_message_new_element): New message type.
20279
20280         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
20281
20282         * check/elements/fakesrc.c (test_no_preroll): New check, checks
20283         that setting a live fakesrc to PAUSED returns NO_PREROLL both
20284         times.
20285
20286         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
20287         NO_PREROLL from gst_element_change_state to fall through.
20288
20289 2005-10-07  Wim Taymans  <wim@fluendo.com>
20290
20291         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
20292         (gst_ghost_pad_do_activate_push):
20293         Activating a ghostpad with no internal pad in push mode
20294         is ok.
20295
20296 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
20297
20298         * gst/gstobject.h:
20299           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
20300           Fixes compilation on Windows.
20301
20302 2005-10-07  Michael Smith <msmith@fluendo.com>
20303
20304         * tools/gst-inspect.c:
20305           Print out feature and plugin count at the end when printing out
20306           all features.
20307
20308 2005-10-04  Michael Smith <msmith@fluendo.com>
20309
20310         * gst/gsterror.c: (_gst_stream_errors_init):
20311           Add another error string used in a few existing plugins.
20312
20313         * gst/gstplugin.c:
20314         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
20315         * tools/gst-inspect.c: (print_element_info):
20316           When a feature disappears from a plugin (and the feature exists in
20317           the cached registry file), things went horribly wrong. This isn't a
20318           complete fix, we should actually be removing the 'missing' features
20319           from the features list when we load the actual plugin. That's not
20320           yet implemented. 
20321
20322 2005-10-04  Johan Dahlin  <johan@gnome.org>
20323
20324         * check/gst/gstiterator.c: (GST_START_TEST):
20325         * gst/gstbin.c: (gst_bin_iterate_elements),
20326         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
20327         * gst/gstelement.c: (gst_element_iterate_pads):
20328         * gst/gstformat.c: (gst_format_iterate_definitions):
20329         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
20330         (gst_iterator_new_list), (gst_iterator_filter):
20331         * gst/gstiterator.h:
20332         * gst/gstquery.c: (gst_query_type_iterate_definitions):
20333         Add a GType to GstIterator, update callsites and tests.
20334
20335 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20336
20337         * gst/gstpad.c: (gst_pad_event_default_dispatch):
20338           give events a chance to be handled by event probes when the pad
20339           is not linked
20340
20341 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20342
20343         * gst/gstevent.c: (gst_event_type_get_name),
20344         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
20345         * gst/gstevent.h:
20346           add string representations for event types
20347
20348 2005-10-06  Wim Taymans  <wim@fluendo.com>
20349
20350         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
20351         Don't use NULL pointers.
20352
20353 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20354
20355         * gst/gst_private.h:
20356         * gst/gstbus.c:
20357         * gst/gstelement.c:
20358         * gst/gstinfo.c:
20359         * gst/gstpluginfeature.c:
20360           widen the debug category in output to fit the biggest one we have
20361           add a bus category and use it
20362           play with the colors
20363           fix up some categories
20364
20365 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
20366
20367         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
20368           add push activation of sink ghost pads.
20369           Andye, please verify
20370
20371 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
20372
20373         * gst/gstutils.c: (gst_element_link_pads):
20374           fix a bug in the case where neither element has a pad
20375         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
20376           add a test for that case
20377
20378 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
20379
20380         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
20381           emit have-data before checking for peers.  This allows
20382           for probe handlers to connect elements.  This helps autopluggers.
20383         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
20384         (gst_pad_suite):
20385           add six checks, linked/unlinked with no/true/false probe
20386
20387 2005-10-04  Wim Taymans  <wim@fluendo.com>
20388
20389         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
20390         (gst_fake_sink_event), (gst_fake_sink_preroll),
20391         (gst_fake_sink_render), (gst_fake_sink_change_state):
20392         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
20393         (gst_fake_src_get_property), (gst_fake_src_create),
20394         (gst_fake_src_stop):
20395         * gst/elements/gstidentity.c: (gst_identity_stop):
20396         Protect last_message with lock.
20397
20398 2005-10-04  Edward Hervey  <edward@fluendo.com>
20399
20400         * gst/gstformat.h: 
20401         Added precision in the comments for GST_FORMAT_DEFAULT
20402
20403 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
20404
20405         * tools/gst-launch.c: (main):
20406           Don't try to run erroneous pipelines.
20407
20408 2005-10-04  Julien MOUTTE  <julien@moutte.net>
20409
20410         * gst/gstbus.c: We don't need this header.
20411
20412 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20413
20414         * configure.ac:
20415           back to development
20416
20417 === release 0.9.3 ===
20418
20419 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
20420
20421         * README:
20422         * configure.ac:
20423           Releasing 0.9.3, "Unregistered"
20424
20425 2005-10-03  Andy Wingo  <wingo@pobox.com>
20426
20427         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
20428         whereby calling a pad's activatepush() function can start a thread
20429         that starts to push or pull before the pad gets the FLUSHING flag
20430         unset. Hack around it by holding the stream lock until the flag is
20431         set. Need to replace this with a proper solution. Together with
20432         the ghost pad fixes, this fixes mp3 playing/tagreading.
20433
20434         * docs/design/part-gstghostpad.txt: Add a note about activation of
20435         proxy pads outside of ghost pads.
20436
20437         * gst/gstghostpad.c: Implement the ghost pad activation design.
20438
20439 2005-10-02  Andy Wingo  <wingo@pobox.com>
20440
20441         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
20442         It is volatile, after all.
20443
20444         * docs/design/part-gstghostpad.txt: Flesh out activation with
20445         ghost pads.
20446
20447         * gst/base/gstbasesrc.c (gst_base_src_init): Use
20448         GST_DEBUG_FUNCPTR.
20449
20450 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
20451
20452         * configure.ac:
20453           Fix (unused) AM_CONDITIONAL tests.
20454
20455 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
20456
20457         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20458
20459         * gst/gstutils.c: (gst_pad_query_convert):
20460           Add assertion that makes sure src_val is >=0, just like
20461           gst_query_new_convert() has. (#315895)
20462
20463 2005-09-30  Edward Hervey  <edward@fluendo.com>
20464
20465         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
20466         Let's not iterate pads we're not interested in, it avoids getting 
20467         sky-high refcounts on sinkpad.
20468
20469 2005-09-30  Wim Taymans  <wim@fluendo.com>
20470
20471         * gst/gstelement.c: (gst_element_set_state),
20472         (gst_element_change_state):
20473         Small tweak, element in ASYNC remains ASYNC.
20474
20475 2005-09-30  Wim Taymans  <wim@fluendo.com>
20476
20477         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
20478         Only error is an error.
20479
20480         * gst/gstbin.c: (gst_bin_change_state):
20481         Better debugging.
20482
20483         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
20484         Also call pad_block in pad alloc.
20485
20486         * gst/gstutils.c: (gst_flow_get_name):
20487         Better debugging.
20488
20489 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
20490
20491         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
20492         (gst_base_src_get_range):
20493           Fix documentation typos. Add some more debug info.
20494
20495 2005-09-29  David Schleef  <ds@schleef.org>
20496
20497         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
20498           more end-user friendly.
20499         * tools/gst-inspect.c: (main): Check if command-line argument is
20500           a file and attempt to load that file as a plugin.
20501
20502 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20503
20504         * check/gst/gstbin.c:
20505         * check/states/sinks.c:
20506           fix tests for the new warning
20507         * check/gst/gstpipeline.c:
20508           add a test for pipeline and bus interaction
20509         * gst/gstelement.c:
20510           elements should be NULL if they get disposed; add a warning if not
20511
20512 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20513
20514         * gst/gstobject.c:
20515           for 2.6 refcounting, make debug log more correct by printing
20516           the actual refcounts at the time of swap (Wim)
20517
20518 2005-09-29  Andy Wingo  <wingo@pobox.com>
20519
20520         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
20521         removes signal watches previously added via
20522         gst_bus_add_signal_watch.
20523         (gst_bus_add_signal_watch): Don't return the source id, just store
20524         it on the bus if there wasn't an id already.
20525
20526         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
20527         add_signal_watch and remove_signal_watch.
20528
20529 2005-09-29  Edward Hervey  <edward@fluendo.com>
20530
20531         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
20532         Better if we actually iterate the list :)
20533
20534 2005-09-29  Wim Taymans  <wim@fluendo.com>
20535
20536         * check/gst/gstbin.c: (GST_START_TEST):
20537         Change for new bus API.
20538
20539         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
20540         (send_messages), (GST_START_TEST), (gstbus_suite):
20541         Change for new bus signal API.
20542
20543         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
20544         (gst_bus_source_prepare), (gst_bus_source_check),
20545         (gst_bus_create_watch), (gst_bus_add_watch_full),
20546         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
20547         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
20548         * gst/gstbus.h:
20549         Remove support for multiple GSources operating on different
20550         message types as it is too complex and unneeded when using
20551         signals.
20552         Added support for receiving signals from the bus.
20553
20554 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20555
20556         * docs/libs/tmpl/gstdataprotocol.sgml:
20557         * docs/manual/advanced-dataaccess.xml:
20558         * gst/elements/gstcapsfilter.c:
20559         * gst/gstutils.c:
20560           rename filter-caps to caps property
20561
20562 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
20563
20564         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20565           More robust fraction string parsing.
20566
20567         * docs/pwg/appendix-porting.xml:
20568           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
20569
20570 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
20571
20572         * gst/gstcaps.c: (gst_caps_do_simplify):
20573           Thou shalt not free a structure and then continue using it
20574           in the next loop iteration.
20575
20576         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
20577         (gst_caps_suite):
20578           Add test case for caps simplification.
20579
20580 2005-09-29  Wim Taymans  <wim@fluendo.com>
20581
20582         * check/gst/gstbin.c: (GST_START_TEST):
20583         Oops.
20584
20585 2005-09-29  Wim Taymans  <wim@fluendo.com>
20586
20587         * check/gst/gstbin.c: (GST_START_TEST):
20588         Add bus to bin.
20589
20590         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
20591         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
20592         (find_element), (gst_bin_sort_iterator_next),
20593         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20594         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20595         (gst_bin_change_state), (gst_bin_dispose):
20596         A bin does not have a bus, it gets the bus from the parent.
20597
20598         * gst/gstelement.c: (gst_element_requires_clock),
20599         (gst_element_provides_clock), (gst_element_is_indexable),
20600         (gst_element_is_locked_state), (gst_element_change_state),
20601         (gst_element_set_bus_func):
20602         Small cleanups.
20603
20604         * gst/gstpipeline.c: (gst_pipeline_class_init),
20605         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
20606         The pipeline provides a bus.
20607
20608 2005-09-28  Johan Dahlin  <johan@gnome.org>
20609
20610         * gst/gstmessage.c (gst_message_parse_state_changed): Use
20611         gst_structure_get_enum instead of gst_structure_get_int
20612
20613         * gst/gststructure.c (gst_structure_get_enum): Impl.
20614
20615         * gst/gststructure.h (gst_structure_get_enum): Add
20616
20617         * docs/gst/gstreamer-sections.txt: Ditto
20618
20619         * gst/gstmessage.c (gst_message_new_state_changed): Use
20620         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
20621         which does introspection.
20622         Reviewed by Christian Schaller
20623
20624 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
20625
20626         * gst/gstinfo.c: (gst_debug_log_default):
20627           don't do dummy g_strdup()s
20628         * libs/gst/controller/gstcontroller.c:
20629         (on_object_controlled_property_changed),
20630         (gst_controlled_property_new), (gst_controller_new_valist),
20631         (gst_controller_new_list),
20632         (gst_controller_remove_properties_valist), (gst_controller_set),
20633         (gst_controller_get), (gst_controller_sync_values),
20634         (gst_controller_get_value_array), (_gst_controller_class_init),
20635         (gst_controller_get_type):
20636         * libs/gst/controller/gstcontroller.h:
20637         * libs/gst/controller/gstinterpolation.c:
20638         (gst_controlled_property_find_timed_value_node):
20639           convert // to /**/ comments
20640
20641 2005-09-28  Wim Taymans  <wim@fluendo.com>
20642
20643         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
20644         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
20645         (gst_bus_sync_signal_handler):
20646         * gst/gstbus.h:
20647         Added async-message and sync-message signals to the bus.
20648         Added helper BusFunc to emit signals for all posted messages.
20649
20650         * gst/gstmessage.c: (gst_message_type_get_name),
20651         (gst_message_type_to_quark), (gst_message_get_type):
20652         * gst/gstmessage.h:
20653         Register quarks for message names.
20654
20655 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
20656
20657         * docs/libs/gstreamer-libs-sections.txt:
20658         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
20659         (gst_controller_new_list):
20660         * libs/gst/controller/gstcontroller.h:
20661           added another constructor for language bindings
20662
20663 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
20664
20665         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
20666           add another check
20667         * gst/gstbus.c:
20668           add some doc
20669         * gst/gstinfo.c: (_gst_debug_init):
20670           slightly more readable color for refcount debugging
20671
20672 2005-09-28  Wim Taymans  <wim@fluendo.com>
20673
20674         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20675         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
20676         (find_element), (gst_bin_sort_iterator_next),
20677         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20678         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20679         (gst_bin_change_state), (gst_bin_dispose):
20680         Small doc fixes. get_clock -> provide_clock.
20681
20682         * gst/gstelement.c: (gst_element_class_init),
20683         (gst_element_provides_clock), (gst_element_provide_clock),
20684         (gst_element_get_clock), (gst_element_commit_state),
20685         (gst_element_lost_state):
20686         * gst/gstelement.h:
20687         Make get/set_clock() symetric. Add provide_clock vmethod since
20688         that is actually what this function does.
20689
20690         * gst/gstpipeline.c: (gst_pipeline_class_init),
20691         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
20692         (gst_pipeline_get_clock):
20693         get_clock -> provide_clock.
20694
20695 2005-09-28  Andy Wingo  <wingo@pobox.com>
20696
20697         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
20698         lieu of real docs...
20699
20700         * gst/elements/gstfdsrc.c: Cleaned up a bit.
20701
20702 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
20703
20704         * gst/elements/gstcapsfilter.c:
20705         * gst/elements/gstfakesink.c:
20706         * gst/elements/gstfakesrc.c:
20707         * gst/elements/gstfdsink.c:
20708         * gst/elements/gstfdsrc.c:
20709         * gst/elements/gstfilesink.c:
20710         * gst/elements/gstfilesrc.c:
20711         * gst/elements/gstidentity.c:
20712         * gst/elements/gsttee.c:
20713         * gst/elements/gsttypefindelement.c:
20714           Make element details static.
20715
20716 2005-09-28  Wim Taymans  <wim@fluendo.com>
20717
20718         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20719         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20720         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20721         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20722         (gst_bin_change_state), (gst_bin_dispose):
20723         Some documentation updates.
20724         Clean up dispose handlers.
20725
20726         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
20727         * gst/gstpad.c: (gst_pad_dispose):
20728         Clean up dispose handler.
20729
20730         * gst/gstpipeline.c: (gst_pipeline_change_state):
20731         Removed spurious UNLOCK.
20732
20733 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
20734
20735         * docs/gst/gstreamer-sections.txt:
20736         * gst/base/gstbasesrc.h:
20737         * gst/gstelement.h:
20738         * gst/gstevent.h:
20739         * gst/gstobject.h:
20740         * gst/gstpad.h:
20741         * gst/gstpipeline.c:
20742         * gst/gstpipeline.h:
20743         * gst/gstutils.h:
20744         * gst/gstxml.h:
20745           added two new functions to the docs
20746                 documents all undocumented GstXXXFlags
20747                 completed some incomplete docs 
20748
20749 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20750
20751         * gst/gstbin.c: (gst_bin_dispose):
20752         * gst/gstelement.c: (gst_element_dispose):
20753           remove now useless and leaky resurrection code in dispose
20754         * gst/base/gstbasesrc.c: (gst_base_src_init):
20755         * gst/gstelementfactory.c: (gst_element_factory_create):
20756         * gst/gstobject.c: (gst_object_set_parent):
20757           add some debugging
20758
20759 2005-09-27  Wim Taymans  <wim@fluendo.com>
20760
20761         * docs/design/part-TODO.txt:
20762         Update TODO.
20763
20764         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20765         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20766         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20767         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20768         (gst_bin_change_state):
20769         * gst/gstelement.h:
20770         Remove element variable, we keep element info in the iterator now.
20771
20772 2005-09-27  Andy Wingo  <wingo@pobox.com>
20773
20774         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
20775         values.
20776
20777 2005-09-27  Wim Taymans  <wim@fluendo.com>
20778
20779         * check/gst/gstbin.c: (GST_START_TEST):
20780         Enable check that works now.
20781
20782         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
20783         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
20784         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
20785         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
20786         (gst_bin_change_state):
20787         * gst/gstbin.h:
20788         Redid the state change algorithm using a topological sort algo.
20789         Handles all cases correctly.
20790         Exposed iterator for state change order.
20791
20792         * gst/gstelement.h:
20793         Temp storage for state changes. Need to get rid of this soon.
20794
20795 2005-09-27  Wim Taymans  <wim@fluendo.com>
20796
20797         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
20798         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
20799         (link_fold_func), (gst_pad_proxy_setcaps):
20800         Leak fixes, the fold functions need to unref the passed object and
20801         _get_parent_*() returns ref to parent.
20802
20803 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20804
20805         * check/gst/gstbuffer.c: (test_make_writable):
20806           Plug leak in test case and fix 'make check-valgrind'
20807
20808 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20809
20810         * gst/gstbuffer.c: (gst_subbuffer_init):
20811           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
20812           works correctly in all circumstances (we could have just copied
20813           the parent buffer's readonly flag, but conceptually it seems
20814           cleaner to mark all subbuffers as read-only). (based on patch
20815           by Alessandro Decina, #314710).
20816         
20817         * check/gst/gstbuffer.c: (create_read_only_buffer),
20818         (test_make_writable), (test_subbuffer_make_writable),
20819         (gst_test_suite):
20820           Add some tests for gst_buffer_make_writable().
20821
20822 2005-09-27  Wim Taymans  <wim@fluendo.com>
20823
20824         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
20825         use gst_object_has_ancestor().
20826
20827         * gst/gstobject.c: (gst_object_has_ancestor):
20828         * gst/gstobject.h:
20829         gst_object_has_ancestor() copied from gstbin.c as it is a
20830         useful function.
20831
20832         * tests/instantiate/create.c: (create_all_elements):
20833         * tests/lat.c: (handoff_src), (handoff_sink):
20834         * tests/sched/runxml.c: (main):
20835         * tests/seeking/seeking1.c: (main):
20836         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
20837         (main):
20838         Fix compilation of some tests.
20839
20840 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
20841
20842         * gst/gsterror.h:
20843           Remove comment. GST_TYPE_G_ERROR is here to stay,
20844           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
20845           (#316961, #300610).
20846
20847 2005-09-26  Wim Taymans  <wim@fluendo.com>
20848
20849         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
20850         Added check that shows error in state change order.
20851
20852 2005-09-26  Wim Taymans  <wim@fluendo.com>
20853
20854         * gst/gstbin.c: (gst_bin_change_state):
20855         Make state change function use 3 queues again, we were
20856         adding elements in the wrong order.
20857
20858         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
20859         Some debug info,
20860
20861         * gst/gstpad.c: (gst_pad_dispose):
20862         Added some debug info first.
20863
20864 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
20865
20866         * docs/design/draft-push-pull.txt:
20867         * docs/design/part-events.txt:
20868         * docs/design/part-overview.txt:
20869         * docs/design/part-scheduling.txt:
20870           Replace all _pull_region() with _pull_range()
20871           
20872 2005-09-26  Andy Wingo  <wingo@pobox.com>
20873
20874         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
20875
20876         * check/gst-libs/controller.c: Update for controller api change.
20877
20878         * configure.ac: 
20879         * tests/Makefile.am:
20880         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
20881         over by GLib bug 118439.
20882         
20883         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
20884         routines to a function.
20885
20886         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
20887
20888         * libs/gst/controller/gsthelper.c:
20889         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
20890         (gst_object_sync_values): Renamed from sink_values. Ugh.
20891
20892         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
20893
20894         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
20895         Renamed from controller_key, as it is exported.
20896
20897         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
20898
20899 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
20900
20901         * gst/Makefile.am:
20902         * gst/gst.h:
20903         * gst/gstpad.h:
20904         * gst/gstpadtemplate.h:
20905         * gst/gstquery.c:
20906         * gst/gstquery.h:
20907         * gst/gstqueryutils.c:
20908         * gst/gstqueryutils.h:
20909           remove queryutils headers after moving the two used functions
20910           to gstquery.  also fixes build problem for gstsiddec
20911
20912 2005-09-26  Michael Smith <msmith@fluendo.com>
20913
20914         * tools/gst-launch.1.in:
20915         Correct documentation in manpage of debug syntax
20916
20917 2005-09-26  Wim Taymans  <wim@fluendo.com>
20918
20919         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
20920         (gst_base_src_is_seekable), (gst_base_src_change_state):
20921         Some more debugging info.
20922
20923 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20924
20925         * docs/gst/gstreamer-sections.txt:
20926         * gst/base/gstbasetransform.h:
20927         * gst/gstindex.h:
20928           added more docs
20929
20930 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20931
20932         * docs/gst/.cvsignore:
20933         * docs/gst/tmpl/.cvsignore:
20934         * docs/gst/tmpl/gstpipeline.sgml:
20935         * docs/gst/tmpl/gstplugin.sgml:
20936         * gst/gstpipeline.c:
20937         * gst/gstplugin.c:
20938         * gst/gstplugin.h:
20939           inlined the last two docs files
20940           removed the tmpl directory from cvs (no more conflicts here!)
20941
20942 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
20943
20944         * docs/gst/gstreamer-sections.txt:
20945         * docs/gst/tmpl/.cvsignore:
20946         * docs/gst/tmpl/gstpad.sgml:
20947         * docs/gst/tmpl/gstpadtemplate.sgml:
20948         * gst/Makefile.am:
20949         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
20950         (gst_pad_finalize), (gst_pad_set_pad_template):
20951         * gst/gstpad.h:
20952         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
20953         (gst_pad_template_class_init), (gst_pad_template_init),
20954         (gst_pad_template_dispose), (name_is_valid),
20955         (gst_static_pad_template_get), (gst_pad_template_new),
20956         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
20957         (gst_pad_template_pad_created):
20958         * gst/gstpadtemplate.h:
20959           inlined two more docs
20960           factored gstpadtemplate out of gstpad
20961
20962 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
20963
20964         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
20965         (test_children_state_change_order_semi_sink):
20966           Fix test case: we can't rely on a fixed state change order when
20967           going from READY => PAUSED because the sink might commit its 
20968           new state first when the first buffer created by the source 
20969           reaches the sink before the source has finished its change state.
20970           (Test case still fails at times, see #316856, comment 5 onwards)
20971
20972 2005-09-24  Wim Taymans  <wim@fluendo.com>
20973
20974         * docs/design/part-events.txt:
20975         * docs/design/part-gstbus.txt:
20976         * docs/design/part-gstpipeline.txt:
20977         * docs/design/part-messages.txt:
20978         * docs/design/part-overview.txt:
20979         * docs/design/part-segments.txt:
20980         * gst/gstbin.c:
20981         * gst/gstbuffer.c:
20982         * gst/gstclock.c:
20983         * gst/gstelement.c:
20984         * gst/gstevent.c:
20985         * gst/gstfilter.c:
20986         * gst/gstiterator.c:
20987         Various documentation updates.
20988
20989 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20990
20991         * gst/gstclock.h:
20992           Well, that's embarassing.  Luckily we weren't using
20993           GST_CLOCK_DIFF anywhere.
20994
20995 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20996
20997         * common/gtk-doc.mak:
20998           don't fail on building XML, FC4 slave shows a bunch of doc
20999           missing bits that I don't get
21000         * gst/gstpad.c:
21001         * gst/gstpipeline.c:
21002         * gst/gststructure.c:
21003           some doc updates
21004
21005 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
21006
21007         * docs/design/part-gstbin.txt:
21008         * docs/design/part-gstbus.txt:
21009         * gst/gstbus.c:
21010           Add blurb about how the bus goes into flushing mode and
21011           drops all messages when its bin goes from READY into NULL 
21012           state.
21013
21014 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21015
21016         * docs/gst/gstreamer-sections.txt:
21017         * gst/gststructure.c: (gst_structure_get_clock_time):
21018         * gst/gststructure.h:
21019           add a method to get a GstClockTime out of a structure
21020
21021 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
21022
21023         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
21024         (test_children_state_change_order_semi_sink), (gst_bin_suite):
21025           Added test to check state change order in bins (can still be made
21026           to fail here under heavy disk load; bails out with 'Push on pad
21027           fakesink:sink0, but it was not activated in push mode').
21028
21029         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
21030           Fix state change order when there is only a semi sink (#316856)
21031
21032         * gst/gstbus.c: (gst_bus_class_init):
21033           Use _class_peek_parent(), not _class_ref(); fix docs to say
21034           'default main context' instead of 'mainloop' where that is
21035           what's meant.
21036
21037         * gst/gstelement.c: (gst_element_commit_state),
21038         (gst_element_set_state):
21039           Fix typos in debug messages
21040
21041 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21042
21043         * docs/README:
21044         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
21045         * gst/gstpluginfeature.c:
21046         * gst/gstutils.c:
21047           various doc updates
21048         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21049           change an assert into an error until it gets fixed properly
21050
21051 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
21052
21053         * docs/gst/gstreamer-sections.txt:
21054         * docs/gst/tmpl/.cvsignore:
21055         * docs/gst/tmpl/gstelement.sgml:
21056         * docs/gst/tmpl/gstinfo.sgml:
21057         * docs/gst/tmpl/gstobject.sgml:
21058         * gst/gstelement.c:
21059         * gst/gstelement.h:
21060         * gst/gstinfo.c:
21061         * gst/gstinfo.h:
21062         * gst/gstobject.c: (gst_object_class_init):
21063         * gst/gstobject.h:
21064           inlined 3 more biiiig doc files and added some missing docs on the fly
21065
21066 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21067
21068         * check/gst/.cvsignore:
21069         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
21070         * gst/gstregistryxml.c: (load_plugin),
21071         (gst_registry_xml_save_plugin):
21072           put back source in registry.  add checks for find_plugin.
21073         * testsuite/states/bin.c: (assert_state), (empty_bin),
21074         (test_adding_one_element), (main):
21075         * testsuite/states/locked.c: (main):
21076           some compile/run fixes
21077
21078 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
21079
21080         * check/gst/gstvalue.c: (GST_START_TEST):
21081           fix leaks in the test itself
21082
21083 2005-09-22  Wim Taymans  <wim@fluendo.com>
21084
21085         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21086         (gst_base_sink_send_event), (gst_base_sink_peer_query),
21087         (gst_base_sink_query):
21088         Prepare for more accurate position reporting and query
21089         handling.
21090
21091         * gst/gstelement.c: (gst_element_send_event),
21092         (gst_element_set_state):
21093         Add some comment.
21094
21095 2005-09-22  Wim Taymans  <wim@fluendo.com>
21096
21097         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
21098         (gst_query_parse_segment):
21099         * gst/gstquery.h:
21100         More documentation.
21101         Add segment query for future use.
21102
21103 2005-09-22  Wim Taymans  <wim@fluendo.com>
21104
21105         * gst/gstbin.c: (gst_bin_add_func):
21106         Some more debug info.
21107
21108         * gst/gstelement.c: (gst_element_send_event):
21109         Simplify send_event
21110
21111         * gst/gstelement.h:
21112         Don't know how flags got broken.
21113
21114         * gst/gstquery.h:
21115         Added new query.
21116
21117 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
21118
21119         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
21120           Add simplistic test suite for GST_TYPE_DATE serialisation and
21121           deserialisation.
21122
21123 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
21124
21125         * docs/gst/gstreamer-sections.txt:
21126         * gst/gststructure.c: (gst_structure_set_valist),
21127         (gst_structure_get_date):
21128         * gst/gststructure.h:
21129         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
21130         (gst_date_copy), (gst_value_compare_date),
21131         (gst_value_serialize_date), (gst_value_deserialize_date),
21132         (gst_value_transform_date_string),
21133         (gst_value_transform_string_date), (_gst_value_initialize):
21134         * gst/gstvalue.h:
21135           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
21136           bunch of utility functions along with a hack that checks that
21137           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
21138           is required. Part of the grand scheme in #170777.
21139
21140 2005-09-22  Andy Wingo  <wingo@pobox.com>
21141
21142         * gst/gstconfig.h.in: Psych out gtk-doc.
21143
21144         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
21145
21146         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
21147
21148         * tools/gst-inspect.c (print_element_list): Plug some
21149         inconsequential leaks.
21150
21151         * gst/gstregistry.c (gst_registry_get_default): Doc.
21152
21153         * check/gst/gstplugin.c: 
21154         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
21155         * gst/gstelementfactory.c (gst_element_factory_create): 
21156         * gst/gstindexfactory.c (gst_index_factory_create): Update for
21157         refcount changes.
21158
21159         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
21160         (gst_plugin_feature_load): Doc, don't eat refs.
21161
21162         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
21163         (gst_plugin_list_free): Doc.
21164         (gst_plugin_load_file): Doc updates.
21165
21166         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
21167         accessors returning refcounted objects, return a ref.
21168
21169         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
21170         accessor for caps. IDEMPOTENCE. Oh yes.
21171
21172 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
21173
21174         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21175
21176         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
21177         (_gst_debug_register_funcptr):
21178           Add mutex to serialise access to the hash table with
21179           the function pointer => function name string mapping;
21180           make that hash table static scope (#316809).
21181
21182         * gst/registries/.cvsignore:
21183           Remove left-over file.
21184
21185 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
21186
21187         * docs/pwg/appendix-porting.xml:
21188           And something about newsegment events and caps-on-buffers to
21189           the porting guide (feel free to improve).
21190
21191 2005-09-21  Andy Wingo  <wingo@pobox.com>
21192
21193         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
21194         data and event probes on the same pad.
21195         (test_buffer_probe_once): Test that removing probes from within
21196         the probe functions works.
21197
21198 2005-09-21  Andy Wingo  <wingo@pobox.com>
21199
21200         * check/gst/gstutils.c: New file.
21201         (test_buffer_probe_n_times): A simple buffer probe test. More to
21202         come, foolios.
21203
21204         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
21205         have-data::buffer, not have-data.
21206         (gst_pad_add_event_probe): Likewise for have-data::event.
21207         (gst_pad_add_data_probe): More docs. The part about 'resolving the
21208         peer' isn't quite right yet though.
21209         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
21210         (gst_pad_remove_data_probe): Change to take the guint handler_id
21211         as their arg, not the function+data, which is more glib-like.
21212
21213         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
21214         the signal emission to indicate if the data is a buffer or an
21215         event.
21216         (gst_pad_get_type): Initialize buffer and event quarks.
21217         (gst_pad_class_init): have-data is now a detailed signal, yes it
21218         is.
21219
21220 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
21221
21222         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
21223         * gst/gstutils.c: (gst_util_set_value_from_string),
21224         (gst_util_set_object_arg):
21225           Don't put functional code in g_return_if_fail() or
21226           g_return_val_if_fail() statements, otherwise things will 
21227           break when G_DISABLE_CHECKS is defined during compilation.
21228
21229 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
21230
21231         * docs/gst/tmpl/.cvsignore:
21232         * docs/gst/tmpl/gstvalue.sgml:
21233         * gst/gstvalue.c:
21234         * gst/gstvalue.h:
21235           inlied another one and added  some obvious docs
21236
21237 2005-09-21  Wim Taymans  <wim@fluendo.com>
21238
21239         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
21240         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
21241         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
21242         (gst_fdsrc_get_property), (gst_fdsrc_create):
21243         * gst/elements/gstfdsrc.h:
21244         Properly implement fdsrc. Removed signal and timeout,
21245         better implemented somewhere else.
21246
21247 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
21248
21249         * docs/gst/tmpl/.cvsignore:
21250         * docs/gst/tmpl/gstimplementsinterface.sgml:
21251         * gst/gstinterface.c:
21252           inlined more docs
21253
21254 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
21255
21256         * docs/gst/gstreamer-sections.txt:
21257         * docs/gst/tmpl/.cvsignore:
21258         * docs/gst/tmpl/gstenumtypes.sgml:
21259           remove obsolete doc file
21260
21261 2005-09-21  David Schleef  <ds@schleef.org>
21262
21263         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
21264         little beer, fix a little leak.
21265
21266 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
21267
21268         * docs/gst/gstreamer-docs.sgml:
21269         * docs/gst/gstreamer-sections.txt:
21270         * docs/gst/tmpl/.cvsignore:
21271         * gst/Makefile.am:
21272         * gst/gst.h:
21273         * gst/gstbin.c:
21274         * gst/gstelement.h:
21275         * gst/gstindex.c: (gst_index_class_init):
21276         * gst/gstindex.h:
21277         * gst/gstindexfactory.c: (gst_index_factory_get_type),
21278         (gst_index_factory_class_init), (gst_index_factory_init),
21279         (gst_index_factory_finalize), (gst_index_factory_new),
21280         (gst_index_factory_destroy), (gst_index_factory_find),
21281         (gst_index_factory_create), (gst_index_factory_make):
21282         * gst/gstindexfactory.h:
21283         * gst/gstpluginfeature.c:
21284         * gst/gstpluginfeature.h:
21285         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21286           more docs inlined, splitted gstindex.{c,h}
21287
21288 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21289
21290         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21291           fix a leak
21292
21293 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
21294
21295         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21296           Set sync to FALSE by default.
21297
21298 2005-09-20  Wim Taymans  <wim@fluendo.com>
21299
21300         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21301         (gst_base_sink_init):
21302         Make sync property settable from subclass.
21303
21304         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
21305         (gst_fake_sink_change_state):
21306         Set sync to FALSE by default.
21307
21308 2005-09-20  Wim Taymans  <wim@fluendo.com>
21309
21310         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
21311         * tools/gst-launch.c: (main):
21312         The timeout handler should have lower priority than the source
21313         so we don't timeout before popping a message with 0 timeout.
21314         Dump error messages after failed state change.
21315
21316 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
21317
21318         * tools/gst-inspect.c: (print_element_properties_info):
21319           Fix two typos.
21320
21321 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21322
21323         * check/gst/gstevent.c:
21324         * gst/elements/gstfakesink.c:
21325         * gst/elements/gstfakesink.h:
21326           remove the sync property from fakesink.
21327           has the side effect of setting sync TRUE
21328           for fakesink, which is a change.  Anyone who knows how
21329           to fix this nicely in a GObject-y way, feel free.
21330
21331 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
21332
21333         * docs/gst/gstreamer-docs.sgml:
21334           remove probe refsection
21335
21336 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
21337
21338         * check/Makefile.am:
21339           disable valgrinding the controller test again
21340         * docs/gst/gstreamer-sections.txt:
21341           update for api-changes
21342
21343 2005-09-20  Wim Taymans  <wim@fluendo.com>
21344
21345         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
21346         (gst_base_sink_set_property), (gst_base_sink_get_property),
21347         (gst_base_sink_do_sync):
21348         * gst/base/gstbasesink.h:
21349         Added sync property to basesink to disable clock sync.
21350
21351 2005-09-20  Andy Wingo  <wingo@pobox.com>
21352
21353         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
21354         eating the caller's refcount.
21355
21356         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
21357         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
21358         refcount.
21359
21360         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
21361         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
21362         of GLib 2.8 public, so we can know which refcount to check in
21363         tests.
21364
21365         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
21366         (gst_object_init): Only set the gst refcount if we're going ahead
21367         with the refcount hack.
21368
21369 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
21370
21371         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
21372         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
21373           more leaks plumbed, added more debug-logging
21374         * gst/gstmacros.h:
21375           whitespace fix
21376
21377 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21378
21379         * gst/gstmessage.c:
21380           remove include of gstmemchunk.h
21381
21382 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21383
21384         * gst/gstclock.c: (_gst_clock_id_free):
21385           Commit from the Political Party For More Atomic CVS Commits,
21386           so that people don't waste too much of their day fishing
21387           out obvious leaks out of massive commits.
21388           Oh, and fix a pretty damn obvious leak in the memchunk
21389           removal code.
21390
21391 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
21392
21393         * check/Makefile.am:
21394         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
21395           plug mem-leak, re-add to valgrindable tests
21396
21397 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
21398
21399         * gst/gstplugin.h:
21400           unbreak the build for those who have chronic arthritis
21401           and typing "make check" is just too taxing on the hands
21402
21403 2005-09-20  Andy Wingo  <wingo@pobox.com>
21404
21405         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
21406         really want it out, you should fix plugins at the same time.
21407
21408 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
21409
21410         * configure.ac:
21411         * docs/gst/gstreamer-sections.txt:
21412         * gst/gstobject.c:
21413           added missing symbols to api docs
21414           disable ref-count hack if we have glib >= 2.8
21415
21416 2005-09-19  David Schleef  <ds@schleef.org>
21417
21418         * docs/gst/Makefile.am: Ignore a few more internal headers
21419         * docs/gst/gstreamer-docs.sgml: Remove old sections
21420         * docs/gst/gstreamer-sections.txt: Remove old sections
21421         * docs/gst/tmpl/gstobject.sgml: update
21422         * docs/gst/tmpl/gstplugin.sgml: update
21423         * docs/gst/tmpl/gstpluginfeature.sgml: update
21424         * docs/random/ds/0.9-suggested-changes: update.
21425         * gst/Makefile.am: remove memchunk and trashstack, since they're
21426           not used.
21427         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
21428         * gst/gst.h: don't include some headers
21429         * gst/gstchildproxy.c: add gstmarshal.h
21430         * gst/gstclock.c: Don't use memchunks
21431         * gst/gstminiobject.c: Add some docs
21432         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
21433         * gst/gstobject.h: same
21434         * gst/gstplugin.c: include gstmacros.h
21435         * gst/gstplugin.h: don't include gstmacros.h, since it's private
21436         * gst/gstquery.c: don't use memchunks
21437         * gst/gstregistry.c: rename gst_registry_deinit()
21438         * gst/gstregistry.h: same
21439
21440 2005-09-19  David Schleef  <ds@schleef.org>
21441
21442         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
21443         * docs/libs/gstreamer-libs-sections.txt:
21444         * docs/libs/tmpl/gstgetbits.sgml:
21445         * docs/libs/tmpl/gstputbits.sgml:
21446
21447 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
21448
21449         * win32/gstenumtypes.c:
21450         * win32/gstenumtypes.h:
21451           Update.
21452
21453 2005-09-19  Wim Taymans  <wim@fluendo.com>
21454
21455         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
21456         Automatically PAUSE and RESUME a pipeline when a flushing seek
21457         is performed.
21458
21459 2005-09-19  Andy Wingo  <wingo@pobox.com>
21460
21461         * gst/gstregistry.h: Spacing fixen.
21462
21463 2005-09-19  Wim Taymans  <wim@fluendo.com>
21464
21465         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
21466         Handle state change failure more correctly.
21467
21468 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21469
21470         * check/Makefile.am:
21471         * check/pipelines/cleanup.c: (run_pipeline):
21472         * check/pipelines/simple_launch_lines.c: (run_pipeline),
21473         (GST_START_TEST):
21474           enable cleanup again after fixing the leak
21475         * docs/README:
21476           some more info on docs
21477
21478 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21479
21480         * check/Makefile.am:
21481           re-enable tests now that leaks are plugged
21482         * check/gst/gst.c:
21483         * check/gst/gstbin.c:
21484         * check/gst/gstpipeline.c:
21485           add some more tests while fixing leaks
21486         * common/check.mak:
21487           make sure binaries are uptodate when valgrinding/gdbing
21488         * gst/gst.c:
21489         * gst/gstelementfactory.c:
21490           remove a ref too many, and add a FIXME for when we get
21491           round to disposing of classes
21492         * gst/gstplugin.c:
21493           fix the refcounting when loading a plugin from a file and
21494           the code pretends that the pointer is the same even though
21495           of course it can change
21496         * gst/gstpluginfeature.c:
21497           unref plugins marked cached (a bit confusing as a name)
21498           as the docs state should be done
21499           various doc additions to explain refcounting
21500         * gst/gstregistry.c:
21501         * gst/gstregistryxml.c:
21502           debugging
21503
21504 2005-09-19  Wim Taymans  <wim@fluendo.com>
21505
21506         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
21507         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
21508         (send_messages), (GST_START_TEST), (gstbus_suite):
21509         * check/gst/gstpipeline.c: (GST_START_TEST):
21510         * check/pipelines/cleanup.c: (run_pipeline):
21511         * check/pipelines/simple_launch_lines.c: (run_pipeline),
21512         (GST_START_TEST):
21513         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
21514         (gst_bus_source_check), (gst_bus_source_dispatch),
21515         (gst_bus_create_watch), (gst_bus_add_watch_full),
21516         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
21517         * gst/gstbus.h:
21518         * tools/gst-launch.c: (event_loop):
21519         * tools/gst-md5sum.c: (event_loop):
21520         GstBusHandler -> GstBusFunc, return value has the same meaning as
21521         any other GSource (FALSE == remove source).
21522         _add_watch() and _add_watch_full() now take a MessageType mask to
21523         only handle specific types of messages.
21524         _poll() returns the GstMessage instead of the message type to avoid
21525         race conditions.
21526         _have_pending() takes a MessageType mask now too.
21527         Added testsuite for multiple bus watches.
21528         Fix testsuites and applications for new bus API.
21529
21530 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
21531
21532         * check/Makefile.am:
21533           mark a bunch of the tests as to fix until we fix them
21534
21535 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21536
21537         * common/check.mak:
21538           use GST_PLUGIN settings for valgrind tests as well, so we're
21539           valgrinding the correct thing
21540         * gst/gst.c: (init_post):
21541           plug another leak
21542
21543 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21544
21545         * gst/gst.c: (init_post), (gst_deinit):
21546         * gst/gstelementfactory.c: (gst_element_factory_class_init),
21547         (gst_element_factory_finalize), (gst_element_factory_cleanup):
21548         * gst/gstindex.c: (gst_index_factory_class_init),
21549         (gst_index_factory_finalize):
21550         * gst/gstobject.c: (gst_object_dispose):
21551         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
21552         (gst_plugin_load_file), (gst_plugin_desc_free):
21553         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
21554         (gst_plugin_feature_finalize):
21555         * gst/gstregistry.c: (gst_registry_class_init),
21556         (gst_registry_init), (gst_registry_finalize),
21557         (gst_registry_get_default), (gst_registry_deinit):
21558         * gst/gstregistry.h:
21559         * gst/gstregistryxml.c: (load_feature), (load_plugin):
21560           various cleanups and memleak plugging.  make valgrind is happy now.
21561
21562 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
21563
21564         * common/check.mak:
21565           add a check-valgrind target
21566
21567 2005-09-18  David Schleef  <ds@schleef.org>
21568
21569         * tools/gst-inspect.c: Revert the GOption code.
21570
21571 2005-09-17  David Schleef  <ds@schleef.org>
21572
21573         * check/Makefile.am: Fix environment variables.
21574         * check/gst/gstplugin.c: Fix for API changes.
21575         * tools/gst-inspect.c: Fix for API changes.
21576         * tools/gst-xmlinspect.c: Fix for API changes.
21577         * gst/gstelementfactory.c:
21578         * gst/gstplugin.c:
21579         * gst/gstplugin.h:
21580         * gst/gstpluginfeature.c:
21581         * gst/gstpluginfeature.h:
21582         * gst/gstregistry.c:
21583         * gst/gstregistry.h:
21584         * gst/gstregistryxml.c:
21585         * gst/gsttypefind.c:
21586         * gst/gsttypefindfactory.c:
21587         * gst/indexers/gstfileindex.c:
21588         * gst/indexers/gstmemindex.c:
21589         * gst/schedulers/Makefile.am:
21590           Change registry to keep track of both plugins and features,
21591           removing the feature tracking from plugins themselves.
21592
21593 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21594
21595         * check/Makefile.am:
21596         * tools/gst-register.1.in:
21597           remove gst-register
21598
21599 2005-09-15  David Schleef  <ds@schleef.org>
21600
21601         * check/gst/gstplugin.c:
21602         * gst/gstelementfactory.c:
21603         * gst/gstplugin.c:
21604         * gst/gstpluginfeature.c:
21605         * gst/gstregistry.c:
21606           Getting tired of debugging.  Disabled all the unreffing of
21607           plugins and features, which fixes the segfaults, but of
21608           course leaks like crazy.  At least playbin works.
21609
21610 2005-09-15  David Schleef  <ds@schleef.org>
21611
21612         * check/gst/gstplugin.c: (register_check_elements),
21613         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
21614         More testing
21615         * gst/elements/gsttypefindelement.c: Fix refcounting.
21616         * gst/gsttypefind.c:
21617         * gst/gsttypefindfactory.c:
21618         * gst/gsttypefindfactory.h:
21619
21620 2005-09-15  David Schleef  <ds@schleef.org>
21621
21622         * gst/gstindex.c: get refcounting correct.
21623         * gst/gstregistry.c: Handle the case where a feature/plugin is
21624           not found.
21625
21626 2005-09-15  David Schleef  <ds@schleef.org>
21627
21628         * check/Makefile.am:
21629         * check/gst/gstplugin.c: Add test
21630         * gst/gstplugin.c: Fix problems noticed by testsuite
21631         * gst/gstplugin.h:
21632         * gst/gstregistry.c: 
21633         * gst/gstregistry.h:
21634
21635 2005-09-15  David Schleef  <ds@schleef.org>
21636
21637         * gst/gstplugin.c: Implement semi-decent recounting and locking
21638           in plugins and plugin features.
21639         * gst/gstplugin.h:
21640         * gst/gstpluginfeature.c:
21641         * gst/gstpluginfeature.h:
21642         * gst/gstregistry.c:
21643
21644 2005-09-15  Michael Smith <msmith@fluendo.com>
21645
21646         * gst/gstregistry.c: (gst_registry_get_feature_list):
21647           Implement this. Makes oggdemux work; decodebin still broken.
21648
21649 2005-09-14  David Schleef  <ds@schleef.org>
21650
21651         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
21652           #316076)
21653         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
21654         * gst/check/Makefile.am:
21655         * libs/gst/controller/Makefile.am:
21656         * libs/gst/dataprotocol/Makefile.am:
21657
21658 2005-09-14  David Schleef  <ds@schleef.org>
21659
21660         * configure.ac: Remove getbits library.  Nothing uses it, and
21661           it should be in something like liboil if someone did want
21662           to use it.
21663         * libs/gst/Makefile.am:
21664         * libs/gst/getbits/Makefile.am:
21665         * libs/gst/getbits/gbtest.c:
21666         * libs/gst/getbits/getbits.c:
21667         * libs/gst/getbits/getbits.h:
21668         * libs/gst/getbits/gstgetbits_generic.c:
21669         * libs/gst/getbits/gstgetbits_i386.s:
21670         * libs/gst/getbits/gstgetbits_inl.h:
21671
21672 2005-09-14  David Schleef  <ds@schleef.org>
21673
21674         * gst/Makefile.am: Dist glib-compat.h
21675
21676 2005-09-14  David Schleef  <ds@schleef.org>
21677
21678         * configure.ac: Remove gst/registries, since it's no longer used.
21679         * gst/registries/Makefile.am:
21680         * gst/registries/gstlibxmlregistry.c:
21681         * gst/registries/gstlibxmlregistry.h:
21682         * gst/registries/gstxmlregistry.c:
21683         * gst/registries/gstxmlregistry.h:
21684         * gst/registries/registrytest.c:
21685
21686 2005-09-14  David Schleef  <ds@schleef.org>
21687
21688         * gst/glib-compat.h:
21689         * gst/gstregistryxml.c:
21690           Convergence is near.  Seriously.
21691
21692 2005-09-14  David Schleef  <ds@schleef.org>
21693
21694         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21695         * gst/glib-compat.h:
21696           Attempt #4 to appease the buildbots.
21697
21698 2005-09-14  David Schleef  <ds@schleef.org>
21699
21700         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21701           Attempt #3.
21702
21703 2005-09-14  David Schleef  <ds@schleef.org>
21704
21705         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21706         Attempt #2.
21707
21708 2005-09-14  David Schleef  <ds@schleef.org>
21709
21710         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
21711           the new functions.
21712
21713 2005-09-14  David Schleef  <ds@schleef.org>
21714
21715         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
21716         * gst/glib-compat.h: Add some functions that are in newer versions
21717           of glib than we care to require.
21718         * gst/gstregistryxml.c: Use them.
21719
21720 2005-09-14  David Schleef  <ds@schleef.org>
21721
21722         * po/POTFILES.in: remove gst-register.c
21723
21724 2005-09-14  David Schleef  <ds@schleef.org>
21725
21726         * docs/gst/gstreamer-docs.sgml:
21727         * docs/gst/gstreamer-sections.txt:
21728         * docs/gst/gstreamer.types:
21729         * docs/gst/tmpl/gstelement.sgml:
21730         * docs/gst/tmpl/gstplugin.sgml:
21731         * docs/gst/tmpl/gstpluginfeature.sgml:
21732           Documentation updates for registry changes.
21733
21734 2005-09-14  David Schleef  <ds@schleef.org>
21735
21736         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
21737           because we don't require glib-2.8.
21738
21739 2005-09-14  David Schleef  <ds@schleef.org>
21740
21741         * gst/gstregistryxml.c: Added.  Essentially moved out of the
21742           registries directory.
21743
21744 2005-09-14  David Schleef  <ds@schleef.org>
21745
21746         * check/Makefile.am:
21747         * check/generic/states.c:
21748         * gst/Makefile.am:
21749         * gst/gst.c:
21750         * gst/gst.h:
21751         * gst/gst_private.h:
21752         * gst/gstelementfactory.c:
21753         * gst/gstindex.c:
21754         * gst/gstinfo.c:
21755         * gst/gstplugin.c:
21756         * gst/gstplugin.h:
21757         * gst/gstpluginfeature.c:
21758         * gst/gstpluginfeature.h:
21759         * gst/gstregistry.c:
21760         * gst/gstregistry.h:
21761         * gst/gstregistrypool.c: remove
21762         * gst/gstregistrypool.h: remove
21763         * gst/gsttypefind.c:
21764         * gst/gsttypefindfactory.c:
21765         * gst/gsturi.c:
21766         * tools/Makefile.am:
21767         * tools/gst-compprep.c:
21768         * tools/gst-inspect.c:
21769         * tools/gst-register.c: remove
21770         * tools/gst-xmlinspect.c:
21771           Registry rewrite.  Changes registry from being a file created
21772           by a tool into a simple cache file created automatically by 
21773           libgstreamer.  Removed gst-register (because it's no longer
21774           needed).  Remove registry pools, because we only have one
21775           registry implementation (XML).  Fix up other subsystems as
21776           necessary.
21777
21778 2005-09-13  Michael Smith <msmith@fluendo.com>
21779
21780         * gst/gstconfig.h.in:
21781           Don't Use windows linking attributes for MinGW. Fixes #316157
21782
21783 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
21784
21785         * gst/gstutils.c: (set_state_async_thread_func),
21786         (gst_element_set_state_async):
21787           Apparently people think it's better if this function doesn't
21788           try to set the state to whatever state was asked for on the first
21789           call to this function for any object.  Seriously.
21790
21791 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21792
21793         * check/gst/gstpipeline.c: (GST_START_TEST):
21794         * docs/gst/gstreamer-sections.txt:
21795         * gst/gstutils.c: (set_state_async_thread_func),
21796         (gst_element_set_state_async):
21797         * gst/gstutils.h:
21798           add a "gst_element_set_state_async" method that
21799           sets the state and starts a thread to make sure the state
21800           change completes as best as it can
21801
21802 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21803
21804         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
21805           codify design+behaviour in testsuite after discussion
21806
21807 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
21808
21809         * docs/gst/tmpl/gstelement.sgml:
21810         * docs/manual/appendix-quotes.xml:
21811           add a quote
21812         * gst/gstelement.c: (gst_element_set_state):
21813           add some debug
21814
21815 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
21816
21817         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21818         (gst_base_transform_prepare_output_buf),
21819         (gst_base_transform_handle_buffer):
21820         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
21821         (gst_capsfilter_prepare_buf):
21822           Remove the requirement for sub-classes to call the parent
21823           implementation of prepare_output_buffer with a wrapper function.
21824           
21825         * gst/gsttaglist.h:
21826         * gst/gsttagsetter.h:
21827           Fix #define wrapper
21828
21829 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
21830
21831         * docs/gst/gstreamer-sections.txt:
21832           more doc cleanups
21833
21834 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21835
21836         * docs/gst/gstreamer-sections.txt:
21837         * docs/gst/tmpl/gstelement.sgml:
21838         * docs/gst/tmpl/gstplugin.sgml:
21839         * gst/gstminiobject.c:
21840         * gst/gstvalue.h:
21841           docs now stop throwing warnings
21842
21843 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21844
21845         * docs/gst/gstreamer-sections.txt:
21846         * docs/gst/gstreamer.types:
21847         * docs/gst/tmpl/gstpad.sgml:
21848         * docs/gst/tmpl/gsttypes.sgml:
21849         * gst/base/gstadapter.h:
21850         * gst/base/gstbasesink.h:
21851         * gst/base/gstbasesrc.h:
21852         * gst/gstbin.h:
21853         * gst/gstbuffer.h:
21854         * gst/gstbus.h:
21855         * gst/gstcaps.h:
21856         * gst/gstclock.h:
21857         * gst/gstelement.h:
21858         * gst/gstevent.h:
21859         * gst/gstmessage.h:
21860         * gst/gstpad.h:
21861         * gst/gststructure.c:
21862         * gst/registries/gstlibxmlregistry.h:
21863           various documentation fixes
21864
21865 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21866
21867         * docs/gst/gstreamer-sections.txt:
21868         * docs/gst/tmpl/gstvalue.sgml:
21869           rearrange gstvalue section
21870         * gst/gstutils.c: (gst_element_state_get_name):
21871           NONE -> VOID
21872         * gst/gstvalue.c: (_gst_value_initialize):
21873         * gst/gstvalue.h:
21874           doc updates
21875
21876 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
21877
21878         * check/gst-libs/controller.c:
21879           Header include fix.
21880         * gst/base/gstbasetransform.c:
21881         (gst_base_transform_default_prepare_buf),
21882         (gst_base_transform_handle_buffer):
21883         * gst/base/gstbasetransform.h:
21884           Some more basetransform changes and fixes to enable sub-classes
21885           that modify buffer metadata only.
21886         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
21887         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
21888         (gst_capsfilter_prepare_buf):
21889           If the output pad has fixed allowed caps and input buffers 
21890           don't have any, set the fixed caps on outgoing buffers.
21891
21892 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
21893         * check/elements/identity.c: (GST_START_TEST):
21894           Make the error a little clearer when the test fails because
21895           identity made a copy of the buffer.
21896         * docs/gst/gstreamer-sections.txt:
21897           New symbols in gstbasetransform.h
21898         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21899         (gst_base_transform_init), (gst_base_transform_transform_size),
21900         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
21901         (gst_base_transform_default_prepare_buf),
21902         (gst_base_transform_get_unit_size),
21903         (gst_base_transform_buffer_alloc),
21904         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
21905         (gst_base_transform_change_state),
21906         (gst_base_transform_set_passthrough),
21907         (gst_base_transform_set_in_place),
21908         (gst_base_transform_is_in_place):
21909         * gst/base/gstbasetransform.h:
21910           Change BaseTransform to separate in_place operate from same_caps
21911           output. in_place implies that the element can perform the transform
21912           on incoming buffers in-place, even if the caps on the output are
21913           different.
21914           Sub-class elements can now implement special buffer allocation
21915           methods for outgoing buffers if they wish to.
21916           Big documentation addition.
21917         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
21918         * gst/elements/gstelements.c:
21919           Changes for basetransform modifications.
21920         * gst/elements/Makefile.am:
21921         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
21922           Compile fix. Extra debug output.
21923
21924 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21925
21926         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
21927         (gst_pad_suite):
21928           add tests for valid pad naming
21929         * gst/check/gstcheck.c: (gst_check_log_message_func),
21930         (gst_check_log_critical_func):
21931           add ASSERT_WARNING
21932           remove printing of code, it is fragile when the code contains
21933           % and the line number is enough info
21934         * gst/check/gstcheck.h:
21935         * gst/gstpad.c: (gst_pad_template_new):
21936           fix memleaks
21937
21938 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21939
21940         * configure.ac:
21941           say what CHECK flags we use
21942         * docs/libs/gstreamer-libs.types:
21943         * libs/gst/controller/Makefile.am:
21944         * libs/gst/controller/gst-controller.c:
21945         * libs/gst/controller/gst-controller.h:
21946         * libs/gst/controller/gst-helper.c:
21947         * libs/gst/controller/gst-interpolation.c:
21948         * libs/gst/controller/gstcontroller.c:
21949         * libs/gst/controller/gsthelper.c:
21950         * libs/gst/controller/gstinterpolation.c:
21951         * tools/gst-inspect.c: (print_plugin_info):
21952           we don't use dashes in header names
21953
21954 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
21955
21956         * check/Makefile.am:
21957         * check/gst/.cvsignore:
21958         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
21959         (gst_pipeline_suite), (main):
21960           adding a test for pipelines and state changes
21961         * gst/gstutils.c: (get_state_func):
21962           add some debugging
21963         * gstreamer.spec.in:
21964           fix up spec file
21965
21966 2005-09-08  Michael Smith <msmith@fluendo.com>
21967
21968         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
21969         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
21970         (gst_file_src_is_seekable), (gst_file_src_get_size),
21971         (gst_file_src_start):
21972         * gst/elements/gstfilesrc.h:
21973           Various fixes for unseekable, unmmapable, and non-normal files, so
21974           that fallback to read() rather than mmap() works.
21975         * gst/gstevent.c: (gst_event_new_newsegment):
21976           Allow newsegment events with segment_start == segment_end, as will
21977           correctly happen if you use filesrc on a zero-size file, for
21978           example.
21979
21980 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
21981
21982         * gst/gstplugin.c: (gst_plugin_load_file):
21983           Call g_module_close when we don't load the module
21984
21985         * gst/registries/gstlibxmlregistry.c:
21986         (gst_xml_registry_get_property):
21987           Port leak fix from 0.8
21988
21989 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
21990
21991         * docs/gst/gstreamer-docs.sgml:
21992         * docs/gst/tmpl/.cvsignore:
21993         * docs/gst/tmpl/gsttrace.sgml:
21994         * docs/gst/tmpl/gsttrashstack.sgml:
21995         * gst/Makefile.am:
21996         * gst/gst.h:
21997         * gst/gstelement.h:
21998         * gst/gstevent.h:
21999         * gst/gstmessage.c:
22000         * gst/gstmessage.h:
22001         * gst/gsttag.c:
22002         * gst/gsttag.h:
22003         * gst/gsttaginterface.c:
22004         * gst/gsttaginterface.h:
22005         * gst/gsttaglist.c:
22006         * gst/gsttaglist.h:
22007         * gst/gsttagsetter.c:
22008         * gst/gsttagsetter.h:
22009         * gst/gsttrace.c:
22010         * gst/gsttrace.h:
22011         * gst/gsttrashstack.c:
22012           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
22013           inlined docs for gsttrace, gsttrashstack
22014
22015 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
22016
22017         * gst/Makefile.am:
22018         * gst/elements/gstbufferstore.h:
22019         * gst/elements/gsttypefindelement.c:
22020         * gst/elements/gsttypefindelement.h:
22021         * gst/gst.h:
22022         * gst/gsttypefind.c:
22023         * gst/gsttypefind.h:
22024         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
22025         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
22026         (gst_type_find_factory_dispose),
22027         (gst_type_find_factory_unload_thyself),
22028         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
22029         (gst_type_find_factory_get_caps),
22030         (gst_type_find_factory_get_extensions),
22031         (gst_type_find_factory_call_function):
22032         * gst/gsttypefindfactory.h:
22033         * gst/registries/gstlibxmlregistry.c:
22034         * gst/registries/gstxmlregistry.c:
22035           splitted gsttypefind into gsttypefind, gsttypefindfactory
22036
22037 2005-09-07  Andy Wingo  <wingo@pobox.com>
22038
22039         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
22040         condition whereby the pad's task function is entered before the
22041         pad_mode variable was set.
22042
22043 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
22044
22045         * gst/gstpad.c: (gst_pad_alloc_buffer):
22046           Catch misbehaving pad_alloc functions that don't
22047           set up caps and do it for them.
22048
22049 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
22050
22051         * check/pipelines/simple_launch_lines.c: (run_pipeline):
22052           test for pipe!=NULL
22053         * docs/gst/tmpl/.cvsignore:
22054         * docs/gst/tmpl/gstmemchunk.sgml:
22055         * docs/gst/tmpl/gstparse.sgml:
22056         * docs/gst/tmpl/gsttaglist.sgml:
22057         * docs/gst/tmpl/gsttagsetter.sgml:
22058         * docs/gst/tmpl/gsttypefind.sgml:
22059         * docs/gst/tmpl/gsttypefindfactory.sgml:
22060         * gst/gstmemchunk.c:
22061         * gst/gstparse.c:
22062         * gst/gsttag.c:
22063         * gst/gsttaginterface.c:
22064         * gst/gsttypefind.c:
22065         * gst/gsttypefind.h:
22066           inlined more docs
22067
22068 === release 0.9.2 ===
22069
22070 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
22071
22072         * NEWS:
22073         * RELEASE:
22074         * configure.ac:
22075           releasing 0.9.2, "South"
22076
22077 2005-09-05  Andy Wingo  <wingo@pobox.com>
22078
22079         * gst/registries/gstxmlregistry.h:
22080         * gst/registries/gstxmlregistry.c: Um... resurrect...
22081         
22082         * gst/registries/gstxmlregistry.h:
22083         * gst/registries/gstxmlregistry.c: and update to newer API.
22084         Incidentally they should be a bit faster now that they don't have
22085         to parse the caps.
22086         
22087 2005-09-05  Andy Wingo  <wingo@pobox.com>
22088
22089         * gst/registries/gstxmlregistry.h:
22090         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
22091         replaced by the libxml registry a while back
22092
22093 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22094
22095         * docs/gst/tmpl/gstplugin.sgml:
22096         * gst/elements/gstelements.c:
22097         * gst/gst.c:
22098         * gst/gstplugin.c: (gst_plugin_register_func),
22099         (gst_plugin_desc_copy), (gst_plugin_desc_free),
22100         (gst_plugin_get_source):
22101         * gst/gstplugin.h:
22102         * gst/registries/gstlibxmlregistry.c: (load_plugin),
22103         (gst_xml_registry_save_plugin):
22104         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
22105         (gst_xml_registry_save_plugin):
22106         * tools/gst-inspect.c: (print_plugin_info):
22107           add a "source" plugin description field, to represent the source
22108           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
22109           will set it to PACKAGE, which is automake's idea of the name of
22110           the source project.
22111
22112 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
22113
22114         * Makefile.am:
22115         * autogen.sh:
22116         * configure.ac:
22117         * docs/Makefile.am:
22118         * docs/faq/Makefile.am:
22119         * docs/gst/tmpl/gstelement.sgml:
22120         * docs/gst/tmpl/gsttypes.sgml:
22121         * docs/htmlinstall.mak:
22122         * docs/manual/Makefile.am:
22123         * docs/pwg/Makefile.am:
22124           reorganize doc build a little
22125           split out docbook and gtk-doc stuff
22126           have two separate --enable's and enable them through autogen
22127           but disable by default in configure (to be similar to other
22128           projects)
22129         * gstreamer.spec.in:
22130           clean up docs install
22131         * po/af.po:
22132         * po/az.po:
22133         * po/ca.po:
22134         * po/cs.po:
22135         * po/de.po:
22136         * po/en_GB.po:
22137         * po/fr.po:
22138         * po/it.po:
22139         * po/nb.po:
22140         * po/nl.po:
22141         * po/ru.po:
22142         * po/sq.po:
22143         * po/sr.po:
22144         * po/sv.po:
22145         * po/tr.po:
22146         * po/uk.po:
22147         * po/vi.po:
22148           translation updates
22149
22150 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
22151
22152         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
22153           Add comment.
22154           
22155         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
22156         (gst_fake_sink_change_state):
22157           Make state change function thread-safe.
22158           
22159         * gst/gstpad.c: (gst_pad_alloc_buffer):
22160           Set offset on generic buffer allocated by fallback.
22161
22162 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
22163
22164         * docs/gst/gstreamer-sections.txt:
22165         * docs/gst/tmpl/gstelement.sgml:
22166         * gst/gstpad.c:
22167         * libs/gst/controller/gst-controller.c:
22168         (gst_controlled_property_set_interpolation_mode),
22169         (gst_controlled_property_new),
22170         (gst_controller_find_controlled_property):
22171          run the wingo-magic script against the docs
22172
22173 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
22174
22175         * docs/gst/gstreamer-docs.sgml:
22176         * docs/gst/gstreamer-sections.txt:
22177         * docs/gst/tmpl/.cvsignore:
22178         * docs/gst/tmpl/gstelementdetails.sgml:
22179         * docs/gst/tmpl/gstelementfactory.sgml:
22180         * gst/gst.c:
22181         * gst/gstbus.c:
22182         * gst/gstelementfactory.c:
22183         * gst/gstelementfactory.h:
22184           merged elementdetails docs into elementfactory docs
22185           inlined both
22186
22187 2005-09-02  Andy Wingo  <wingo@pobox.com>
22188
22189         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
22190         consider this enum an enum and not a flags.
22191
22192 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
22193
22194         * docs/gst/gstreamer-docs.sgml:
22195         * docs/gst/tmpl/.cvsignore:
22196         * docs/gst/tmpl/gstghostpad.sgml:
22197         * docs/gst/tmpl/gstiterator.sgml:
22198         * docs/gst/tmpl/gstmacros.sgml:
22199         * docs/gst/tmpl/gstrealpad.sgml:
22200         * docs/gst/tmpl/gstregistry.sgml:
22201         * docs/gst/tmpl/gstregistrypool.sgml:
22202         * docs/gst/tmpl/gststructure.sgml:
22203         * docs/gst/tmpl/gstsystemclock.sgml:
22204         * docs/gst/tmpl/gsttrace.sgml:
22205         * gst/gstghostpad.c:
22206         * gst/gstmacros.h:
22207         * gst/gstmemchunk.c:
22208         * gst/gstmemchunk.h:
22209         * gst/gstqueue.c:
22210         * gst/gstregistry.c:
22211         * gst/gstregistrypool.c:
22212         * gst/gststructure.c:
22213         * gst/gstsystemclock.c:
22214           more docs inlined
22215
22216 2005-09-02  Andy Wingo  <wingo@pobox.com>
22217
22218         * gst/gstelement.h (GstState): Renamed from GstElementState,
22219         changed to be a normal enum instead of flags.
22220         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
22221         munged to be GST_STATE_CHANGE_*.
22222         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
22223         work with the new state representation.
22224         (GstStateChange): New enumeration of possible state transitions.
22225         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
22226         (GstElementClass::change_state): Pass the GstStateChange along as
22227         an argument. Helps language bindings, so they don't have to use
22228         tricky lock-needing macros like GST_STATE_CHANGE ().
22229
22230         * scripts/update-states (file): New script. Run it on a file to
22231         update it for state naming and API changes. Updates files in
22232         place.
22233
22234         * All files updated for the new API.
22235
22236 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
22237
22238         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
22239         * gst/gstutils.c: (gst_util_set_value_from_string),
22240         (gst_util_set_object_arg):
22241           fix a bunch of unchecked return values
22242         * tools/gst-complete.c: (main):
22243         * gstreamer.spec.in:
22244           clean up a little
22245
22246 2005-09-01  Wim Taymans  <wim@fluendo.com>
22247
22248         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22249         (gst_base_sink_event), (gst_base_sink_do_sync),
22250         (gst_base_sink_handle_event):
22251         * gst/base/gstbasesink.h:
22252         Handle newsegments more correctly.
22253
22254         * gst/gstbus.c:
22255         Fix docs.
22256
22257         * gst/gstevent.c: (gst_event_new_newsegment):
22258         A newsegment cannot have a start_time of -1
22259
22260 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
22261
22262         * win32/gstenumtypes.c:
22263         * win32/gstenumtypes.h:
22264           Update
22265
22266 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
22267
22268         * libs/gst/controller/gst-controller.c:
22269         (gst_controlled_property_set_interpolation_mode),
22270         (gst_controlled_property_new):
22271          fixed boolean again
22272
22273 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
22274
22275         * docs/faq/gst-uninstalled:
22276           add -good
22277         * gst/gstevent.c:
22278         * gst/gstevent.h:
22279           remove wrong docs
22280         * gst/gstutils.c: (gst_element_link_filtered):
22281         * gst/gstutils.h:
22282           add gst_element_link_filtered
22283
22284 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
22285
22286         * docs/gst/gstreamer-docs.sgml:
22287         * docs/gst/gstreamer-sections.txt:
22288         * docs/gst/tmpl/.cvsignore:
22289         * docs/gst/tmpl/gsterror.sgml:
22290         * docs/gst/tmpl/gstfilter.sgml:
22291         * docs/gst/tmpl/gsturihandler.sgml:
22292         * docs/gst/tmpl/gsturitype.sgml:
22293         * docs/gst/tmpl/gstutils.sgml:
22294         * docs/gst/tmpl/gstxml.sgml:
22295         * gst/gsterror.c:
22296         * gst/gsterror.h:
22297         * gst/gstfilter.c:
22298         * gst/gsturi.c:
22299         * gst/gsturitype.c:
22300         * gst/gstutils.c:
22301         * gst/gstxml.c:
22302           inlined more docs, fixed double id-ref
22303
22304 2005-08-31  Wim Taymans  <wim@fluendo.com>
22305
22306         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
22307         (gst_base_transform_handle_buffer):
22308         Passthrough elements don't need the caps as they don't care.
22309
22310 2005-08-31  Wim Taymans  <wim@fluendo.com>
22311
22312         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
22313         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
22314         Don't leak refcounts on buffers.
22315
22316 2005-08-31  Wim Taymans  <wim@fluendo.com>
22317
22318         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
22319         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
22320         (gst_base_transform_chain), (gst_base_transform_change_state):
22321         * gst/base/gstbasetransform.h:
22322         Handle the case where we are not negotiated more gracefully.
22323
22324 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
22325
22326         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
22327         (gst_file_src_map_region):
22328           Set READONLY flag on mmap'ed buffers, otherwise
22329           gst_buffer_make_writable() won't work properly (#314708).
22330
22331 2005-08-31  Wim Taymans  <wim@fluendo.com>
22332
22333         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
22334         passthrough elements can even do inplace on non writable
22335         buffers (as they don't touch them).
22336
22337 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
22338
22339         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
22340         (gst_test_mono_source_set_property),
22341         (gst_test_mono_source_class_init), (GST_START_TEST),
22342         (gst_controller_suite):
22343           more tests (hehe I have the most)
22344         * gst/gstbus.c:
22345           describe popping messages whenusing mulltiple sources
22346         * libs/gst/controller/gst-controller.c:
22347         (gst_controlled_property_set_interpolation_mode),
22348         (gst_controlled_property_new):
22349         * libs/gst/controller/gst-controller.h:
22350         * libs/gst/controller/gst-interpolation.c:
22351           implement boolean properties
22352
22353 2005-08-31  Wim Taymans  <wim@fluendo.com>
22354
22355         * gst/gstminiobject.c: (gst_mini_object_ref):
22356         Cannot assert that the refcount has to be positive
22357         since a disposed object can be resurrected.
22358
22359 2005-08-31  Wim Taymans  <wim@fluendo.com>
22360
22361         * gst/gstpad.c: (gst_pad_init):
22362         Revert change, need to first fix badly behaving 
22363         apps.
22364
22365 2005-08-30  Wim Taymans  <wim@fluendo.com>
22366
22367         * check/elements/fakesrc.c: (setup_fakesrc):
22368         * check/elements/identity.c: (setup_identity):
22369         Activate pads before using them.
22370
22371 2005-08-30  Wim Taymans  <wim@fluendo.com>
22372
22373         * gst/base/gstadapter.c: (gst_adapter_flush):
22374         Flushing out 0 bytes is ok for this function.
22375
22376         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22377         no newsegment gives a warning and sets the start/stop to 
22378         invalid.
22379
22380         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
22381         (gst_base_transform_set_passthrough):
22382         Some debug info.
22383
22384         * gst/gstminiobject.c: (gst_mini_object_ref):
22385         Check refcount here too.
22386
22387         * gst/gstpad.c: (gst_pad_init):
22388         Pads are initially flushing and refusing data.
22389
22390         * gst/gstutils.c: (gst_element_link_pads_filtered):
22391         When adding a capsfilter element make sure it has the
22392         same state as the parent bin.
22393
22394 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
22395
22396         * docs/gst/tmpl/.cvsignore:
22397         * docs/gst/tmpl/gstformat.sgml:
22398         * docs/gst/tmpl/gstversion.sgml:
22399         * gst/gstbus.h:
22400         * gst/gstformat.c:
22401         * gst/gstformat.h:
22402         * gst/gstversion.h.in:
22403           more docs and two more inlined
22404
22405 2005-08-30  Wim Taymans  <wim@fluendo.com>
22406
22407         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
22408         Don't sync to clock.
22409
22410 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
22411
22412         * docs/gst/gstreamer-sections.txt:
22413           ultral33t func10ns deserve to appear in the docs actually
22414         * docs/gst/tmpl/.cvsignore:
22415         * docs/gst/tmpl/gstcompat.sgml:
22416         * docs/gst/tmpl/gstconfig.sgml:
22417         * gst/check/gstcheck.c:
22418         * gst/gstcompat.h:
22419         * gst/gstconfig.h.in:
22420           inlined more docs
22421
22422 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
22423
22424         * docs/gst/tmpl/.cvsignore:
22425         * docs/gst/tmpl/gstquery.sgml:
22426         * docs/gst/tmpl/gstutils.sgml:
22427         * gst/gstquery.c:
22428         * gst/gstquery.h:
22429           inlined and extended docs
22430
22431 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
22432
22433         * check/gst-libs/controller.c: (GST_START_TEST),
22434         (gst_controller_suite):
22435           more tests
22436         * docs/gst/tmpl/gstutils.sgml:
22437         * docs/libs/gstreamer-libs-sections.txt:
22438         * docs/libs/tmpl/gstdataprotocol.sgml:
22439           include path fixes
22440         * examples/controller/audio-example.c: (main):
22441           controller example works now
22442         * gst/gstclock.h:
22443           doc fixes
22444         * tools/gst-inspect.c: (print_element_properties_info):
22445           show param spec flags
22446
22447 2005-08-29  Andy Wingo  <wingo@pobox.com>
22448
22449         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
22450
22451 2005-08-28  Andy Wingo  <wingo@pobox.com>
22452
22453         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
22454         as having two arguments instead of just one. Allows superclasses
22455         to access information on subclasses -- see the terrible for() loop
22456         in gtype.c:g_type_create_instance for the reason why. All callers
22457         changed.
22458
22459 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
22460
22461         * docs/design/part-messages.txt:
22462           update info
22463         * docs/gst/tmpl/.cvsignore:
22464         * docs/gst/tmpl/gstcaps.sgml:
22465         * docs/gst/tmpl/gstclock.sgml:
22466         * gst/gstbus.c:
22467         * gst/gstcaps.c:
22468         * gst/gstcaps.h:
22469         * gst/gstclock.c:
22470         * gst/gstclock.h:
22471         * gst/gstmessage.c:
22472           added descriptions for bus and message
22473           inline caps and clock docs
22474
22475 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
22476
22477         * gst/gstmessage.c:
22478         * gst/gstmessage.h:
22479           doc fixes
22480
22481 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
22482
22483         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
22484           fix div-by-zero
22485
22486 2005-08-26  Andy Wingo  <wingo@pobox.com>
22487
22488         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
22489         element_set_state's return val.
22490         (test_2_elements): Add test that's been disabled for months.
22491
22492         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
22493         can-activate-pull properties.
22494
22495         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
22496         can-activate-pull properties. Implement is_seekable so fakesrc can
22497         operate in pull mode.
22498
22499         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
22500         properties.
22501         (gst_base_sink_activate, gst_base_sink_activate_pull)
22502         (gst_base_sink_activate_push): Make activation mode choosing work.
22503         Cleanups.
22504         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
22505         is right. Make pull mode work. Post an eos before pausing in pull
22506         mode.
22507         (gst_base_sink_change_state): Pay attention to the core's
22508         change_state() return val.
22509         
22510         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
22511         has-getrange properties. Cleanups.
22512         
22513         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
22514         has_getrange and replace with can_activate_pull and
22515         can_activate_push.
22516
22517         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
22518         locking comments. Remove has_loop, has_chain and replace with
22519         can_activate_pull and can_activate_push.
22520
22521 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
22522
22523         * configure.ac:
22524         * examples/Makefile.am:
22525         * examples/metadata/Makefile.am:
22526         * examples/metadata/read-metadata.c: (message_loop),
22527         (have_pad_handler), (make_pipeline), (print_tag), (main):
22528           Add metadata reading example that loops over a list of filenames,
22529           dumping any tags found.
22530
22531         * gst/gstbus.c: (gst_bus_dispose):
22532         * gst/gstelement.c: (gst_element_dispose):
22533           Release a few potentially-held references in dispose.
22534
22535 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22536
22537         * docs/gst/tmpl/gstminiobject.sgml:
22538           do *not* add tmpl/*.sgml files to CVS!
22539
22540 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22541
22542         * libs/gst/bytestream/.cvsignore:
22543         * libs/gst/bytestream/Makefile.am:
22544         * libs/gst/bytestream/adapter.c:
22545         * libs/gst/bytestream/adapter.h:
22546         * libs/gst/bytestream/bytestream.c:
22547         * libs/gst/bytestream/bytestream.h:
22548         * libs/gst/bytestream/filepad.c:
22549         * libs/gst/bytestream/filepad.h:
22550           removing obsolete files
22551
22552 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22553
22554         * docs/gst/gstreamer-docs.sgml:
22555         * docs/libs/gstreamer-libs-docs.sgml:
22556           disabed additional index entries again, as this makes docs-gen just
22557           slow and they aren't useful yet
22558         * docs/libs/gstreamer-libs-sections.txt:
22559           little -section.txt cleanup for libs
22560
22561 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
22562
22563         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22564         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
22565           fix up some debugging
22566         (gst_base_transform_get_unit_size),
22567         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
22568         (gst_base_transform_handle_buffer):
22569         * gst/base/gstbasetransform.h:
22570           handle and store timed NEWSEGMENT events so that subclasses that
22571           calculate time by counting samples have a segment_start time they
22572           need to add to their timestamps - see audioresample
22573
22574 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
22575
22576         * gst/gstbin.h:
22577           removed ';' from the end of macro defs
22578         * docs/gst/gstreamer-docs.sgml:
22579         * docs/gst/gstreamer-sections.txt:
22580         * docs/gst/tmpl/.cvsignore:
22581         * gst/gstbus.h:
22582         * gst/gstelement.c: (gst_element_class_init),
22583         (gst_element_set_state), (activate_pads),
22584         (gst_element_save_thyself):
22585         * gst/gstevent.c: (gst_event_new_newsegment):
22586         * gst/gstevent.h:
22587         * gst/gstiterator.c:
22588         * gst/gstiterator.h:
22589         * gst/gstpad.c:
22590         * gst/gstprobe.h:
22591         * gst/gstutils.c: (gst_pad_query_convert):
22592         * gst/gstutils.h:
22593           fixed parameter name mismatches between source, header and docs
22594           added some more docs, resolved the last batch of unused elements in
22595           docs (now someone needs to doc them)
22596
22597 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22598
22599         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
22600         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
22601           don't walk through the plugins backwards.  Where is all this
22602           reversed logic coming from ?
22603
22604 2005-08-25  Wim Taymans  <wim@fluendo.com>
22605
22606         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22607         (gst_base_transform_transform_size),
22608         (gst_base_transform_configure_caps),
22609         (gst_base_transform_get_unit_size),
22610         (gst_base_transform_buffer_alloc),
22611         (gst_base_transform_change_state):
22612         * gst/base/gstbasetransform.h:
22613         Cache caps unit_size.
22614         Make sure we cannot negotiate up and downstream at the
22615         same time.
22616
22617 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22618
22619         * gst/gst.c: (init_pre), (init_post):
22620           register the installed plugin path after the env var
22621         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
22622         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
22623           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
22624           directories, so the tests can prefer uninstalled over installed
22625
22626 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22627
22628         * gst/base/gstbasetransform.h:
22629           comment
22630         * gst/gstpad.c:
22631           add to docs
22632
22633 2005-08-25  Wim Taymans  <wim@fluendo.com>
22634
22635         * gst/gstbin.c: (bin_bus_handler):
22636         Be a bit more conservative about the posted message.
22637         
22638         * gst/gstbus.c: (gst_bus_post):
22639         Some cleanups, warn wrong return values.
22640
22641 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
22642
22643         * check/gst/gstbin.c: (GST_START_TEST):
22644         * gst/gstbin.c: (bin_bus_handler):
22645         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
22646         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
22647         (gst_message_new_warning), (gst_message_new_tag),
22648         (gst_message_new_state_changed), (gst_message_new_segment_start),
22649         (gst_message_new_segment_done), (gst_message_new_custom):
22650         * gst/gstmessage.h:
22651         * tools/gst-launch.c: (event_loop):
22652         * tools/gst-md5sum.c: (event_loop):
22653           Revert unpopular change for GST_MESSAGE_SRC to GObject.
22654
22655 2005-08-25  Wim Taymans  <wim@fluendo.com>
22656
22657         * check/generic/states.c: (GST_START_TEST):
22658         Cleanup can be done at the end.
22659
22660         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
22661         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
22662         (gst_task_get_state), (gst_task_start), (gst_task_pause):
22663         Oh boy.. Thanks for finding this, Thomas. 
22664
22665 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
22666
22667         * docs/gst/gstreamer.types:
22668           added missing types
22669
22670 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
22671
22672         * docs/gst/gstreamer-docs.sgml:
22673         * docs/gst/gstreamer-sections.txt:
22674         * docs/gst/tmpl/.cvsignore:
22675         * gst/gstbin.c:
22676         * gst/gstiterator.c:
22677         * gst/gstutils.c:
22678         * gst/registries/gstxmlregistry.h:
22679           added missing classes and symbols (123 more to go)
22680           removed removed symbols from section file
22681           fixed many doc-comments
22682
22683 2005-08-24  Wim Taymans  <wim@fluendo.com>
22684
22685         * check/generic/states.c: (GST_START_TEST):
22686         Make sure all tasks are stopped.
22687
22688         * check/gst/gstbin.c: (GST_START_TEST):
22689         Unref after usage for proper valgrinding.
22690
22691         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
22692         Really wait for the task to stop before destroying the
22693         mutex.
22694
22695         * gst/gstqueue.c: (gst_queue_sink_activate_push),
22696         (gst_queue_src_activate_push):
22697         Small cleanups. Don't stop the task when we did not start
22698         it.
22699
22700         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
22701         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
22702         (gst_task_get_state), (gst_task_start), (gst_task_pause),
22703         (gst_task_join):
22704         * gst/gsttask.h:
22705         Protect the stream lock with the object lock.
22706         Disallow setting the stream lock when running.
22707         Add cleanup_all to wait for the threadpool to finish.
22708         Remove code to autoallocate a mutex if none was provided.
22709         Add _join() to wait for a task to stop.
22710         Protect the thread pool with a global lock.
22711
22712 2005-08-24  Wim Taymans  <wim@fluendo.com>
22713
22714         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22715         (gst_base_sink_get_times), (gst_base_sink_do_sync),
22716         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
22717         * gst/base/gstbasesink.h:
22718         Handle newsegment events correctly.
22719         Drop buffers out of the segment range.
22720
22721 2005-08-22  Andy Wingo  <wingo@pobox.com>
22722
22723         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
22724         macro, implements an interface and gstimplementsinterface for a
22725         new type.
22726
22727 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22728
22729         * check/Makefile.am:
22730         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
22731           add a test that does a bunch of state changes on elements
22732           needs some fixing for valgrind
22733         * check/states/sinks.c: (gst_object_suite):
22734           whitespace
22735         * gst/gstcaps.h:
22736           add prototype for gst_caps_is_equal_fixed
22737         * gst/gstplugin.c:
22738         * gst/gstregistrypool.c:
22739           doc fixes
22740
22741 2005-08-24  Andy Wingo  <wingo@pobox.com>
22742
22743         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
22744         convert a negative value. Doesn't make much sense. Mostly this is
22745         here to force callers to ensure -1 maps to -1.
22746
22747 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
22748
22749         * docs/pwg/advanced-types.xml:
22750           Well done to Michael for catching my deliberate introduction
22751           of this spelling mistake. 
22752         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
22753         * gst/gstelement.h:
22754           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
22755           unlink pads before removing the element from the bin.
22756
22757 2005-08-24  Andy Wingo  <wingo@pobox.com>
22758
22759         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
22760         the same thing as GST_DEBUG=*:4.
22761         (parse_debug_level, parse_debug_category): New helper parsers.
22762
22763 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22764
22765         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22766         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
22767         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
22768         (gst_base_transform_buffer_alloc),
22769         (gst_base_transform_handle_buffer):
22770           use gboolean return values and pointers to size so we can use the
22771           full GST_BUFFER_SIZE range (guint) for buffer sizes
22772           use GstPadDirection for transform_caps
22773         * gst/base/gstbasetransform.h:
22774           rename get_size to get_unit_size since that's what it is
22775         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
22776           use GstPadDirection for transform_caps
22777         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22778         * gst/gstutils.h:
22779           cleanup and debugging
22780
22781 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
22782
22783         * gst/gstelement.c: (gst_element_class_init),
22784         (gst_element_set_state), (activate_pads),
22785         (gst_element_save_thyself):
22786         * tools/gst-compprep.c: (main):
22787         * tools/gst-inspect.c: (print_element_properties_info):
22788         * tools/gst-xmlinspect.c: (print_element_properties):
22789           Fixed long standing mem-leak
22790
22791 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
22792
22793         * check/gst/gstbin.c: (GST_START_TEST):
22794         * gst/gstbin.c: (bin_bus_handler):
22795         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
22796         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
22797         (gst_message_new_warning), (gst_message_new_tag),
22798         (gst_message_new_state_changed), (gst_message_new_segment_start),
22799         (gst_message_new_segment_done), (gst_message_new_custom):
22800         * gst/gstmessage.h:
22801         * tools/gst-launch.c: (event_loop):
22802         * tools/gst-md5sum.c: (event_loop):
22803           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
22804           that applications can sensibly post custom messages with references
22805           to their own objects.
22806
22807 2005-08-24  Andy Wingo  <wingo@pobox.com>
22808
22809         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
22810         already.
22811
22812 2005-08-24  Wim Taymans  <wim@fluendo.com>
22813
22814         * gst/base/gstbasetransform.c: (gst_base_transform_init),
22815         (gst_base_transform_transform_caps),
22816         (gst_base_transform_transform_size),
22817         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
22818         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
22819         (gst_base_transform_handle_buffer):
22820         * gst/base/gstbasetransform.h:
22821         Many fixes and new features added by Thomas. Can now also do
22822         transforms with variable sizes and a custom fixate_caps function.
22823
22824 2005-08-24  Wim Taymans  <wim@fluendo.com>
22825
22826         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22827         Some debugging.
22828
22829         * gst/gstclock.h:
22830         Cast to ClockTime before formatting to time.
22831
22832         * gst/gstutils.h:
22833         Cleanups.
22834
22835 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
22836
22837         * check/gst-libs/controller.c: (GST_START_TEST),
22838         (gst_controller_suite):
22839         * docs/gst/tmpl/gstcaps.sgml:
22840         * docs/gst/tmpl/gstghostpad.sgml:
22841         * docs/gst/tmpl/gstquery.sgml:
22842         * docs/gst/tmpl/gstutils.sgml:
22843         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
22844         (gst_object_sink_values), (gst_object_get_value_arrays),
22845         (gst_object_get_value_array):
22846           gracefully handle helper method calls to objects that are not beeing
22847           controlled, added test case for that          
22848
22849 2005-08-23  Wim Taymans  <wim@fluendo.com>
22850
22851         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
22852         (gst_event_new_newsegment), (gst_event_parse_newsegment),
22853         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
22854         (gst_event_parse_qos), (gst_event_new_seek),
22855         (gst_event_parse_seek):
22856         * gst/gstevent.h:
22857         Some more debugging output and doc cleanups.
22858
22859         * gst/gstqueue.c: (gst_queue_handle_sink_event):
22860         Fix possible deadlock.
22861
22862 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22863
22864         * docs/gst/gstreamer-docs.sgml:
22865         * docs/gst/gstreamer-sections.txt:
22866         * docs/gst/gstreamer.types:
22867         * docs/gst/tmpl/.cvsignore:
22868         * gst/gstbin.h:
22869         * gst/gstbus.c:
22870         * gst/gstelement.c:
22871         * gst/gstevent.h:
22872           added 100 symbols from gstreamer-unused.txt to the right sections
22873           fixed more broken comments
22874           added GstBus to docs
22875
22876 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22877
22878         * docs/gst/gstreamer-sections.txt:
22879         * docs/gst/tmpl/.cvsignore:
22880         * docs/gst/tmpl/gstbin.sgml:
22881         * docs/gst/tmpl/gstbuffer.sgml:
22882         * gst/base/gstbasesrc.c:
22883         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
22884         * gst/gstbuffer.c:
22885         * gst/gstbuffer.h:
22886         * tools/gst-launch.1.in:
22887           inlined more doc comments, added missing comments and fixed comments
22888           fixed typos
22889
22890 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22891
22892         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
22893           some debugging
22894         * gst/gstcaps.h:
22895           whitespace fixes
22896         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
22897           more debugging
22898         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
22899         * gst/gststructure.h:
22900           add a fixate function for booleans; add a FIXME that these func
22901           names should probably be gst_structure_fixate_*
22902
22903 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
22904
22905         * docs/gst/gstreamer-docs.sgml:
22906         * docs/gst/gstreamer-sections.txt:
22907         * gst/Makefile.am:
22908         * gst/gstbin.c: (gst_bin_get_type),
22909         (gst_bin_child_proxy_get_child_by_index),
22910         (gst_bin_child_proxy_get_children_count),
22911         (gst_bin_child_proxy_init):
22912         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
22913         (gst_child_proxy_get_child_by_index),
22914         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
22915         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
22916         (gst_child_proxy_get), (gst_child_proxy_set_property),
22917         (gst_child_proxy_set_valist), (gst_child_proxy_set),
22918         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
22919         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
22920         * gst/gstchildproxy.h:
22921         * gst/parse/grammar.y:
22922         * tools/gst-inspect.c: (print_interfaces),
22923         (print_element_properties_info), (print_element_info):
22924           ported gstchildproxy over from 0.8
22925           ported gst-inspect fixes and enhancements over from 0.8
22926
22927 2005-08-22  Wim Taymans  <wim@fluendo.com>
22928
22929         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
22930         (gst_base_transform_handle_buffer):
22931         Also call the transform function if we have ANY caps.
22932
22933         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
22934         Fix debug info.
22935
22936 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
22937
22938         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
22939           Don't pretend to handle seek events if the source is not seekable
22940
22941 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
22942
22943         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22944           Remove extra parameter to debug output
22945
22946         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
22947         (gst_base_src_do_seek), (gst_base_src_activate_push):
22948           Fix seek event handling.
22949
22950         * gst/gstpipeline.c: (gst_pipeline_change_state):
22951         * gst/gstqueue.c: (gst_queue_handle_sink_event),
22952         (gst_queue_src_activate_push):
22953           Don't start the src pad task on FLUSH_STOP if the pad
22954           isn't linked.
22955           Debug changes.
22956
22957 2005-08-22  Wim Taymans  <wim@fluendo.com>
22958
22959         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
22960         Added check for gst_static_caps_get() refcounting.
22961
22962 2005-08-22  Wim Taymans  <wim@fluendo.com>
22963
22964         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
22965         Make _static_caps_get() refcounting sane.
22966         
22967         * gst/gstelement.c: (gst_element_set_state):
22968         Add g_return_val_if_fail() to protect against segfaults.
22969
22970 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
22971
22972         * docs/gst/tmpl/gstevent.sgml:
22973         * gst/gstevent.c:
22974         * gst/gstevent.h:
22975           inlined remaining docs, added missing doc comments
22976
22977 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
22978
22979         * check/gst/gstbin.c: (GST_START_TEST):
22980           since we don't know when preroll is done, use refcount range
22981           check for the sink
22982         * gst/check/gstcheck.h:
22983           add macro for checking refcount range
22984
22985 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
22986
22987         * check/Makefile.am:
22988           clean up environment for when registry gets built versus
22989           when actual tests are run; valgrind seems to not report
22990           leaks if GST_PLUGIN_PATH is set to some specific values
22991         * check/gst/gstbin.c: (GST_START_TEST):
22992           add more refcounting checks; maybe this exposes a
22993           preroll lock bug ?
22994         * common/check.mak:
22995         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22996         * gst/check/gstcheck.h:
22997         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
22998         (gst_bin_change_state):
22999         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
23000           add/fix debugging/whitespace
23001
23002 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
23003
23004         * check/gst/gstevent.c: (event_probe), (test_event),
23005         (GST_START_TEST):
23006          Er, don't call gst_bin_watch_for_state_change you idiot.
23007
23008 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
23009
23010         * check/Makefile.am:
23011           Use CHECK_CFLAGS and CHECK_LIBS
23012         * check/gst/gstevent.c: (event_probe), (test_event),
23013         (GST_START_TEST):
23014           Don't leak events.
23015         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23016         (gst_base_src_start), (gst_base_src_stop),
23017         (gst_base_src_activate_push), (gst_base_src_activate_pull),
23018         (gst_base_src_change_state):
23019           Sprinkle gst_base_src_stop liberally around error paths to fix
23020           problems reusing a source after failed state changes.
23021         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23022         (helper_find_suggest), (gst_type_find_helper):
23023           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
23024         * gst/gstevent.h:
23025         * docs/gst/tmpl/gstevent.sgml:
23026           Migrate part of the docs from the SGML file. Wait for ensonic to
23027           tell me how I did it wrong ;)
23028         * tools/gst-typefind.c: (main):
23029           Extra robustness to state changes between files.
23030
23031 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
23032
23033         * check/Makefile.am:
23034           don't valgrind the controller test - it's leaking - Stefan, HELP
23035         * gst/check/gstcheck.c: (gst_check_message_error),
23036         (gst_check_chain_func), (gst_check_setup_element),
23037         (gst_check_teardown_element), (gst_check_setup_src_pad),
23038         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
23039         (gst_check_teardown_sink_pad):
23040         * gst/check/gstcheck.h:
23041           add a bunch of methods to set up elements, and src and sink pads
23042         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
23043         * check/elements/identity.c: (setup_identity), (cleanup_identity),
23044         (GST_START_TEST):
23045           use them
23046         * gst/gstmessage.c:
23047         * gst/gsttag.h:
23048           whitespace/doc fixes
23049
23050 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23051
23052         * gst/gstelement.h:
23053           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
23054           be handled by the application and not always printed as well
23055
23056 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23057
23058         * check/Makefile.am:
23059           set GST_TOOLS_DIR
23060         * gst/check/gstcheck.c: (gst_check_message_error):
23061         * gst/check/gstcheck.h:
23062           add a fail_unless_equals_int
23063           add fail_unless for error messages
23064
23065 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23066
23067         * check/Makefile.am:
23068         * check/gst.supp:
23069         * common/Makefile.am:
23070         * common/check.mak:
23071         * common/gst.supp:
23072           factor out some of the common stuff so we can use it
23073
23074 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23075
23076         * check/Makefile.am:
23077         * check/gst/gstiterator.c: (GST_START_TEST):
23078         * check/gst/gstsystemclock.c: (GST_START_TEST),
23079         (gst_systemclock_suite):
23080         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
23081         * gst/gstclock.c:
23082           valgrind more tests
23083
23084 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
23085
23086         * check/elements/.cvsignore:
23087         * check/elements/gstfakesrc.c:
23088           rename to name of element
23089         * check/elements/identity.c: (chain_func), (event_func),
23090         (setup_identity), (cleanup_identity), (GST_START_TEST),
23091         (identity_suite), (main):
23092           add a test for identity
23093         * check/Makefile.am:
23094         * pkgconfig/Makefile.am:
23095         * pkgconfig/gstreamer-check.pc.in:
23096         * pkgconfig/gstreamer-check-uninstalled.pc.in:
23097         * gst/check:
23098         * gst/Makefile.am:
23099         * configure.ac:
23100           move the check stuff to a library that gets installed
23101         * check/gst-libs/controller.c: (GST_START_TEST):
23102         * check/gst-libs/gdp.c:
23103         * check/gst/gst.c: (GST_START_TEST):
23104         * check/gst/gstbin.c:
23105         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
23106         * check/gst/gstbus.c:
23107         * check/gst/gstcaps.c: (GST_START_TEST):
23108         * check/gst/gstelement.c:
23109         * check/gst/gstghostpad.c:
23110         * check/gst/gstiterator.c:
23111         * check/gst/gstmessage.c:
23112         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
23113         * check/gst/gstobject.c:
23114         * check/gst/gstpad.c: (GST_START_TEST):
23115         * check/gst/gststructure.c: (GST_START_TEST):
23116         * check/gst/gstsystemclock.c: (GST_START_TEST),
23117         (gst_systemclock_suite):
23118         * check/gst/gsttag.c: (gst_tag_suite):
23119         * check/gst/gstvalue.c:
23120         * check/pipelines/cleanup.c:
23121         * check/pipelines/simple_launch_lines.c:
23122         * check/states/sinks.c:
23123           change include statement
23124
23125         * docs/gst/gstreamer-sections.txt:
23126         * docs/gst/tmpl/gstpad.sgml:
23127           document more pad stuff
23128         * gst/gstminiobject.c: (gst_mini_object_ref),
23129         (gst_mini_object_unref):
23130           debug refcounting
23131
23132 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
23133
23134         * docs/gst/tmpl/gst.sgml:
23135         * gst/gst.c:
23136           eliminate another tmpl file, fix spelling in the long-description
23137
23138 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
23139
23140         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23141         (test_event), (timediff), (gstevents_suite):
23142           Should fix build on 64-bit arch's
23143
23144 2005-08-18  Andy Wingo  <wingo@pobox.com>
23145
23146         Make sure that when a pipeline goes to PLAYING, that data has
23147         actually hit the sink.
23148
23149         * check/states/sinks.c (test_sink): A sink that doesn't get any
23150         data shouldn't return SUCCESS for going to either PLAYING or
23151         PAUSED. Test also the return values on the way back down.
23152
23153         * gst/gstelement.c (gst_element_set_state): When changing the
23154         state of an element currently changing state asynchronously, go to
23155         lost-state after commiting the pending state. Makes future calls
23156         to get_state continue to return ASYNC.
23157
23158         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
23159         ASYNC when going to PLAYING if we still don't have preroll, as can
23160         happen with live sources.
23161
23162 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
23163
23164         * docs/pwg/advanced-types.xml:
23165           Hack long paragraph into 2 chunks as a workaround for buggy
23166           jadetex version in sid and breezy that loops infinitely and
23167           eats all RAM.
23168
23169 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
23170
23171         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23172         (test_event), (timediff), (gstevents_suite):
23173           Provide more error margin in clock measurements to allow for 
23174           g_get_current_time inaccuracies.
23175
23176 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
23177
23178         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23179         (test_event), (timediff), (gstevents_suite):
23180            Fix error message output so I might be able to tell why the
23181            test works here but fails on the build farm.
23182
23183 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
23184
23185         * check/Makefile.am:
23186         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
23187         (test_event), (timediff), (gstevents_suite), (main):
23188           I wrote a test!
23189
23190         * docs/design/part-seeking.txt:
23191           Spelling correction
23192
23193         * docs/gst/tmpl/gstevent.sgml:
23194         * docs/gst/tmpl/gstfakesrc.sgml:
23195           Docs updates.
23196
23197         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
23198           Treat a buffer-without-newsegment the same as a receiving 
23199           a newsegment not in time format, and disable syncing to the clock
23200           with a warning.
23201
23202         * gst/gstbus.c: (gst_bus_set_sync_handler):
23203           Assert if anyone tries to replace the existing sync_handler for bus, 
23204           as only the owner should be setting it.
23205
23206         * gst/gstevent.h:
23207           Have a fixed set of custom event enums with events identified by
23208           their structure name (as in 0.8), rather than a free-for-all
23209           allowing collisions between enum values from different plugins.
23210
23211         * gst/gstpad.c: (gst_pad_class_init):
23212           Docs change.
23213           
23214         * gst/gstqueue.c: (gst_queue_handle_sink_event):
23215           Handle out-of-band downstream events from the sending thread.
23216
23217 2005-08-17  Andy Wingo  <wingo@pobox.com>
23218
23219         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
23220         play-timeout==0 to mean no timeout at all. In that case, don't
23221         bother with a get_state or a warning, just return directly, even
23222         if it's ASYNC.
23223
23224         * gst/base/gstbasetransform.c: Debug changes.
23225
23226         * gst/gstutils.h:
23227         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
23228         ensure bins post state change messages. A bit of a hack but I can't
23229         think of a way to avoid it.
23230
23231         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
23232
23233 2005-08-16  Andy Wingo  <wingo@pobox.com>
23234
23235         * gst/base/gstadapter.h:
23236         * gst/base/gstadapter.c (gst_adapter_take): New function, like
23237         peek() but you own the data. Not terribly efficient atm.
23238
23239 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23240
23241         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
23242         (gst_element_found_tags):
23243         * gst/gstutils.h:
23244           Add two utility functions for tag handling.
23245
23246 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23247
23248         * docs/manual/advanced-dataaccess.xml:
23249         * docs/manual/basics-helloworld.xml:
23250           Fix docs to use _bin_add() before _link(), which fixes the examples
23251           with recent core versions (reported by Madhan Raj M
23252           <raj_madan@rediffmail.com>, #313199).
23253
23254 2005-08-16  Wim Taymans  <wim@fluendo.com>
23255
23256         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
23257         Added subtract checks.
23258
23259         * docs/design/part-events.txt:
23260         Some more docs about newsegment
23261
23262         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
23263         Fix FIXME
23264
23265         * gst/gstcaps.c: (gst_caps_to_string):
23266         Add comments, cleanups.
23267         
23268         * gst/gstelement.c: (gst_element_save_thyself):
23269         cleanups
23270         
23271         * gst/gstvalue.c: (gst_value_collect_int_range),
23272         (gst_string_unwrap), (gst_value_union_int_int_range),
23273         (gst_value_union_int_range_int_range),
23274         (gst_value_intersect_int_int_range),
23275         (gst_value_intersect_int_range_int_range),
23276         (gst_value_intersect_double_double_range),
23277         (gst_value_intersect_double_range_double_range),
23278         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
23279         (gst_value_subtract_int_range_int),
23280         (gst_value_subtract_double_range_double),
23281         (gst_value_subtract_double_range_double_range),
23282         (gst_value_subtract_from_list), (gst_value_subtract_list),
23283         (gst_value_can_compare), (gst_value_compare_fraction):
23284         Cleanups, add comments, remove unneeded asserts.
23285
23286 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23287
23288         * tools/gst-launch.c: (event_loop):
23289           don't convert NULL structures to strings
23290
23291 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
23292
23293         * docs/gst/gstreamer-sections.txt:
23294           made some defines private
23295         * docs/gst/tmpl/gstconfig.sgml:
23296         * docs/gst/tmpl/gstqueue.sgml:
23297         * docs/gst/tmpl/gsttaglist.sgml:
23298         * docs/gst/tmpl/gsttypes.sgml:
23299         * docs/gst/tmpl/gstutils.sgml:
23300         * docs/pwg/appendix-porting.xml:
23301         * gst/base/gstbasesink.h:
23302         * gst/base/gstbasesrc.c:
23303         * gst/base/gstbasesrc.h:
23304         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
23305         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
23306         * gst/gstelement.c: (gst_element_class_init):
23307         * gst/gstpad.c: (gst_pad_class_init):
23308         * gst/gstqueue.c: (gst_queue_class_init):
23309         * gst/gstxml.c: (gst_xml_class_init):
23310           documented all undocumented signal inline
23311         * libs/gst/controller/gst-controller.h:
23312           added padding
23313
23314 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23315
23316         * docs/pwg/appendix-porting.xml:
23317           Document _set_link_function -> _set_setcaps_function.
23318
23319 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
23320
23321         * check/Makefile.am:
23322           add a .check target for running the check
23323         * check/gst-libs/controller.c: (GST_START_TEST):
23324           cosmetic fixups
23325         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
23326           complete checks for gstbuffer; would be nice if I could get the
23327           gcov stuff to work so I can see if I actually completed gstbuffer.c
23328         * check/gstcheck.h:
23329           add ASSERT_BUFFER_REFCOUNT
23330
23331 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
23332
23333         * docs/gst/gstreamer-sections.txt:
23334         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
23335         * gst/gsttag.h:
23336           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
23337           spew out a warning if a tag that is already registered
23338           is re-registered, unless it is re-registered with a 
23339           different type (#308438).
23340
23341 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
23342
23343         * docs/pwg/appendix-porting.xml:
23344         * docs/pwg/building-state.xml:
23345           Add some paragraphs about state changes in 0.9 to the PWG
23346           and the porting guide, in particular about the new meaning
23347           of GST_STATE_PAUSED and how to write state change functions
23348           with concurrent access by multiple threads in mind.
23349
23350 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
23351
23352         * docs/gst/gstreamer-docs.sgml:
23353         * docs/libs/gstreamer-libs-docs.sgml:
23354           added deprecation and since indexes
23355         * libs/gst/controller/gst-controller.c:
23356         * libs/gst/controller/gst-helper.c:
23357           added since tags
23358
23359
23360 2005-08-11  Wim Taymans  <wim@fluendo.com>
23361
23362         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
23363         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
23364         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
23365         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
23366         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
23367         (gst_ghost_pad_set_target):
23368         Actually implement (re)setting the target on a ghostpad
23369         as described in the docs.
23370
23371 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
23372
23373         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
23374           Check whether GST_DEBUG_NO_COLOR environment variable is
23375           set and disable coloured debug output if that is the case.
23376
23377 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
23378
23379         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23380         (gst_type_find_helper):
23381           The memory returned by gst_type_find_peek() needs to
23382           stay valid until the end of a typefind function, and
23383           typefind functions may keep results from different 
23384           offsets around, so we can't just unref the buffer from
23385           the previous _peek(), but have to save all buffers 
23386           returned by _peek() until typefinding is done and only
23387           free them then.
23388
23389 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
23390
23391         * docs/gst/gstreamer-sections.txt:
23392         * gst/gstutils.h:
23393           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
23394
23395 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23396
23397         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
23398           Fix a pretty good memleak.
23399
23400 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
23401
23402         * gst/gstiterator.h:
23403           Fix wrong include and 'make distcheck'.
23404
23405 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23406
23407         * gst/gstbin.c: (bin_bus_handler):
23408           Use gst_element_post_message() instead.
23409
23410 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
23411
23412         * gst/base/gstadapter.h:
23413         * gst/base/gstbasesink.h:
23414         * gst/base/gstbasesrc.h:
23415         * gst/base/gstbasetransform.h:
23416         * gst/base/gstcollectpads.h:
23417         * gst/base/gstpushsrc.h:
23418         * gst/gstiterator.h:
23419           Add padding to our base elements' class and instance structs and
23420           to GstIterator (you will need to rebuild all plugins and apps!)
23421
23422 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23423
23424         * gst/gstbin.c: (bin_bus_handler):
23425           Make default message forwarding from child->bus to bin->bus
23426           threadsafe and make it not emit warnings if the parent has no bus.
23427
23428 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23429
23430         * gst/gstelement.c: (activate_pads):
23431           On paused->ready, set pad->caps to NULL, as is the documented
23432           behaviour in this state change. Fixes playback of series of
23433           media files when visualization is enabled in Totem.
23434
23435 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23436
23437         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
23438           Allow NULL as filter-caps (which means "any").
23439
23440 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
23441
23442         * docs/libs/gstreamer-libs-sections.txt:
23443         * libs/gst/controller/gst-controller.c:
23444         * libs/gst/controller/gst-controller.h:
23445         * libs/gst/controller/gst-helper.c:
23446           adding more entries to the docs and fix small doc-bugs
23447
23448 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
23449
23450         * docs/gst/gstreamer-docs.sgml:
23451         * docs/gst/gstreamer-sections.txt:
23452         * docs/gst/gstreamer.types:
23453         * docs/gst/tmpl/gstbasesink.sgml:
23454         * docs/gst/tmpl/gstbasesrc.sgml:
23455         * docs/gst/tmpl/gstbasetransform.sgml:
23456         * docs/gst/tmpl/gstfakesrc.sgml:
23457         * gst/base/gstcollectpads.c:
23458         * gst/base/gstcollectpads.h:
23459         * libs/gst/controller/gst-controller.c:
23460         * libs/gst/controller/gst-controller.h:
23461         * libs/gst/controller/gst-helper.c:
23462         * libs/gst/controller/gst-interpolation.c:
23463         * libs/gst/controller/lib.c:
23464           added long/short desc for controller docs
23465           added collectpads base class docs
23466           added correct includes to base-class docs
23467
23468 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
23469
23470         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
23471         (gst_test_mono_source_set_property),
23472         (gst_test_mono_source_class_init), (GST_START_TEST),
23473         (gst_controller_suite):
23474         * docs/gst/gstreamer-docs.sgml:
23475         * docs/gst/gstreamer-sections.txt:
23476         * docs/gst/gstreamer.types:
23477         * docs/libs/gstreamer-libs-docs.sgml:
23478         * docs/libs/gstreamer-libs-sections.txt:
23479         * gst/base/gstadapter.c:
23480         * libs/gst/controller/gst-controller.c:
23481         (gst_controlled_property_new), (gst_controlled_property_free),
23482         (gst_controller_new_valist),
23483         (gst_controller_remove_properties_valist),
23484         (gst_controller_sink_values), (_gst_controller_finalize):
23485         * libs/gst/controller/gst-controller.h:
23486         * libs/gst/controller/gst-helper.c:
23487         (gst_object_control_properties), (gst_object_uncontrol_properties),
23488         (gst_object_get_controller), (gst_object_set_controller),
23489         (gst_object_sink_values), (gst_object_get_value_arrays),
23490         (gst_object_get_value_array):
23491           more tests (and fixes) for the controller
23492           more docs for the controller
23493           integrated companies docs for the adapter 
23494
23495 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23496
23497         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
23498         (GST_START_TEST), (fakesrc_suite):
23499           add tests for sizetype
23500
23501 2005-08-04  Andy Wingo  <wingo@pobox.com>
23502
23503         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
23504         fixes buffer_alloc proxying among other things.
23505
23506         * gst/base/gstbasetransform.c:
23507         * gst/base/gstbasetransform.h:
23508         Revert patch to gstbasetransform from 7-28 removing
23509         delay_configure.
23510
23511         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
23512         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
23513         Semantics changed, should return not the size of the output buffer
23514         but the byte size of a buffer with a given caps.
23515
23516         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
23517         debug object.
23518         (gst_base_transform_configure_caps): Don't set out_size here: (in,
23519         out) are not the pad caps until setcaps finishes.
23520         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
23521         not-in-place case as well. Deal with changing from in-place to
23522         not-in-place within calling pad_alloc_buffer. Still a bit
23523         concerned about the overhead here...
23524
23525 2005-08-03  Andy Wingo  <wingo@pobox.com>
23526
23527         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
23528         fixating is an error.
23529
23530 2005-08-04  Edward Hervey  <edward@fluendo.com>
23531
23532         * gst/base/gstadapter.h: 
23533         Added gst_adapter_get_type() to the header
23534
23535 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
23536
23537         * check/Makefile.am:
23538         * check/gst-libs/controller.c:
23539         * libs/gst/controller/gst-controller.c:
23540         (gst_controller_new_valist):
23541           added check test suite for the controller
23542         * gst/base/gstpushsrc.c:
23543           fixed a doc typo
23544
23545 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
23546
23547         * docs/gst/Makefile.am:
23548         * docs/gst/gstreamer-docs.sgml:
23549         * docs/gst/gstreamer-sections.txt:
23550         * docs/gst/gstreamer.types:
23551         * docs/gst/tmpl/gstfakesrc.sgml:
23552         * gst/base/README:
23553         * gst/base/gstbasesink.c:
23554         * gst/base/gstbasesink.h:
23555         * gst/base/gstbasesrc.c:
23556         * gst/base/gstbasesrc.h:
23557         * gst/base/gstbasetransform.c:
23558         * gst/base/gstpushsrc.c:
23559         * gst/base/gstpushsrc.h:
23560           add short/long description docs to base classes
23561           add pushsrc to the docs
23562           remove consolidated doc fragments
23563
23564 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
23565
23566         * configure.ac:
23567         * docs/libs/Makefile.am:
23568         * docs/libs/gstreamer-libs-docs.sgml:
23569         * docs/libs/gstreamer-libs-sections.txt:
23570         * docs/libs/gstreamer-libs.types:
23571         * examples/Makefile.am:
23572         * examples/controller/.cvsignore:
23573         * examples/controller/Makefile.am:
23574         * examples/controller/audio-example.c: (main):
23575         * libs/gst/Makefile.am:
23576         * libs/gst/controller/.cvsignore:
23577         * libs/gst/controller/Makefile.am:
23578         * libs/gst/controller/gst-controller.c:
23579         (on_object_controlled_property_changed), (gst_timed_value_compare),
23580         (gst_timed_value_find),
23581         (gst_controlled_property_set_interpolation_mode),
23582         (gst_controlled_property_new), (gst_controlled_property_free),
23583         (gst_controller_find_controlled_property),
23584         (gst_controller_new_valist), (gst_controller_new),
23585         (gst_controller_remove_properties_valist),
23586         (gst_controller_remove_properties), (gst_controller_set),
23587         (gst_controller_set_from_list), (gst_controller_unset),
23588         (gst_controller_get), (gst_controller_get_all),
23589         (gst_controller_sink_values), (gst_controller_get_value_arrays),
23590         (gst_controller_get_value_array),
23591         (gst_controller_set_interpolation_mode),
23592         (_gst_controller_finalize), (_gst_controller_init),
23593         (_gst_controller_class_init), (gst_controller_get_type):
23594         * libs/gst/controller/gst-controller.h:
23595         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
23596         (g_object_uncontrol_properties), (g_object_get_controller),
23597         (g_object_set_controller), (g_object_sink_values),
23598         (g_object_get_value_arrays), (g_object_get_value_array):
23599         * libs/gst/controller/gst-interpolation.c:
23600         (gst_controlled_property_find_timed_value_node),
23601         (interpolate_none_get), (interpolate_trigger_get),
23602         (interpolate_trigger_get_value_array):
23603         * libs/gst/controller/lib.c: (gst_controller_init):
23604         * pkgconfig/Makefile.am:
23605         * pkgconfig/gstreamer-control-uninstalled.pc.in:
23606         * pkgconfig/gstreamer-control.pc.in:
23607         * testsuite/Makefile.am:
23608         * testsuite/controller/.cvsignore:
23609         * testsuite/controller/Makefile.am:
23610         * testsuite/controller/interpolator.c: (main):
23611           added controller code
23612           removed dparam pc files
23613
23614 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
23615         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
23616         (gst_collectpads_stop):
23617           Broadcast the condition when shutting down, to make sure we wake all
23618           threads up. Shut down pads on finalize, for safety.
23619
23620 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
23621         * gst/base/gstbasetransform.c: (gst_base_transform_init),
23622         (gst_base_transform_handle_buffer),
23623         (gst_base_transform_change_state):
23624           Handle PAUSED->READY->PAUSED transition after negotiation
23625           occurred already.
23626         * gst/gstmessage.c: (gst_message_init):
23627           Extra piece of debug for new messages.
23628
23629 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
23630
23631         * configure.ac:
23632         * docs/gst/tmpl/gstbasesrc.sgml:
23633         * docs/gst/tmpl/gstelement.sgml:
23634         * docs/gst/tmpl/gstevent.sgml:
23635         * docs/gst/tmpl/gstfakesrc.sgml:
23636         * docs/gst/tmpl/gstformat.sgml:
23637         * docs/gst/tmpl/gstghostpad.sgml:
23638         * docs/gst/tmpl/gstpad.sgml:
23639         * docs/gst/tmpl/gstquery.sgml:
23640         * docs/gst/tmpl/gststructure.sgml:
23641         * docs/gst/tmpl/gsttaglist.sgml:
23642         * docs/gst/tmpl/gstvalue.sgml:
23643         * docs/libs/gstreamer-libs-docs.sgml:
23644         * docs/libs/gstreamer-libs-sections.txt:
23645         * docs/libs/gstreamer-libs.types:
23646         * libs/gst/Makefile.am:
23647         * libs/gst/control/.cvsignore:
23648         * libs/gst/control/Makefile.am:
23649         * libs/gst/control/control.c:
23650         * libs/gst/control/control.h:
23651         * libs/gst/control/dparam.c:
23652         * libs/gst/control/dparam.h:
23653         * libs/gst/control/dparam_smooth.c:
23654         * libs/gst/control/dparam_smooth.h:
23655         * libs/gst/control/dparamcommon.h:
23656         * libs/gst/control/dparammanager.c:
23657         * libs/gst/control/dparammanager.h:
23658         * libs/gst/control/dplinearinterp.c:
23659         * libs/gst/control/dplinearinterp.h:
23660         * libs/gst/control/unitconvert.c:
23661         * libs/gst/control/unitconvert.h:
23662         * testsuite/Makefile.am:
23663         * testsuite/dynparams/.cvsignore:
23664         * testsuite/dynparams/Makefile.am:
23665         * testsuite/dynparams/dparamstest.c:
23666         * tools/Makefile.am:
23667         * tools/gst-inspect.c: (print_element_info), (main):
23668         * tools/gst-xmlinspect.c: (print_element_info), (main):
23669           deactivate and remove dparams (libgstcontrol)
23670
23671 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23672
23673         * gst/elements/gsttypefindelement.c:
23674         (gst_type_find_element_have_type), (gst_type_find_element_init),
23675         (stop_typefinding), (gst_type_find_element_handle_event),
23676         (gst_type_find_element_chain), (gst_type_find_element_getrange):
23677         * gst/elements/gsttypefindelement.h:
23678           Set caps on all outgoing buffers, not just the first one.
23679
23680 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23681
23682         * gst/elements/gsttypefindelement.c:
23683         (gst_type_find_element_have_type),
23684         (gst_type_find_element_check_set_buffer_caps),
23685         (gst_type_find_element_init), (stop_typefinding),
23686         (gst_type_find_element_handle_event),
23687         (gst_type_find_element_chain), (gst_type_find_element_getrange):
23688         * gst/elements/gsttypefindelement.h:
23689           Set caps on first outgoing buffer when we've found the type.
23690
23691 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
23692
23693         * docs/gst/gstreamer-docs.sgml:
23694         * docs/gst/gstreamer-sections.txt:
23695         * docs/gst/tmpl/gstscheduler.sgml:
23696         * docs/gst/tmpl/gstschedulerfactory.sgml:
23697           Remove some old cruft from docs.
23698
23699 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
23700
23701         * gst/gstpad.h:
23702           Fix inline docs for GstPadLinkReturn.
23703           
23704         * gst/gststructure.c: (gst_structure_has_name):
23705         * gst/gststructure.h:
23706         * docs/gst/gstreamer-sections.txt:
23707           New API: gst_structure_has_name().
23708
23709 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
23710
23711         * configure.ac:
23712           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
23713           and _LARGEFILE_SOURCE in config.h as required. Do not 
23714           export those flags in our .pc files any longer (#142209).
23715
23716           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
23717
23718         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
23719         (gst_file_sink_do_seek), (gst_file_sink_event),
23720         (gst_file_sink_get_current_offset), (gst_file_sink_render):
23721           Redo seek/tell calls with large file support in mind; add some
23722           debugging messages; add log message that tells us when large
23723           file support is unavailable or not enabled for some reason.
23724
23725         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
23726           Add log message that tells us when large file support 
23727           is unavailable or not enabled for some reason.
23728
23729 2005-07-29  Wim Taymans  <wim@fluendo.com>
23730
23731         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
23732         Added test for removing an element with ghostpad from a bin.
23733         Fixed test as current implementation does the right thing.
23734
23735         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
23736         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
23737         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
23738         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
23739         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
23740         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
23741         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
23742         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
23743         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
23744         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
23745         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
23746         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
23747         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
23748         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
23749         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
23750         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
23751         * gst/gstghostpad.h:
23752         Clean up ghostpads, remove properties for internal stuff.
23753         Make threadsafe.
23754         Fix refcounting.
23755         Prepare for switching targets, not all use cases work yet.
23756
23757 2005-07-29  Wim Taymans  <wim@fluendo.com>
23758
23759         * docs/design/part-gstghostpad.txt:
23760         Small update.
23761
23762         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
23763         (gst_bin_remove_func):
23764         Unlinking pads while holding the bin LOCK is not a good
23765         idea.
23766
23767         * gst/gstpad.c: (gst_pad_class_init),
23768         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
23769         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
23770         No prob setting template after creating the pad.
23771
23772 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
23773
23774         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
23775         (gst_bus_peek), (gst_bus_source_dispatch),
23776         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
23777         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
23778           gst_bus_poll may be called from other threads. Handle
23779           this nicely by not making poll_data disappear off the
23780           stack once gst_bus_poll returns.
23781           gst_bus_peek now increments the refcount on the returned
23782           message.
23783
23784 2005-07-29  Wim Taymans  <wim@fluendo.com>
23785
23786         * docs/design/part-gstghostpad.txt:
23787         Overview of current GhostPad datastructures and use
23788         cases for changing the target.
23789
23790 2005-07-28  Wim Taymans  <wim@fluendo.com>
23791
23792         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
23793         Added checks for hierarchy consistency whan adding linked
23794         elements to bins.
23795
23796         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23797         Added check to test element scheduling without bin/pipeline.
23798
23799         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23800         First add elements to bin, then link.
23801         
23802         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
23803         (gst_bin_remove_func):
23804         Unlink pads from elements added/removed from bin to maintain
23805         hierarchy consistency.
23806
23807 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23808
23809         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
23810         (gst_base_transform_handle_buffer):
23811         * gst/base/gstbasetransform.h:
23812           Remove broken delay_configure (fixes renegotiation of software
23813           scaling pipelines); remove some leftover printf()s.
23814
23815 2005-07-28  Wim Taymans  <wim@fluendo.com>
23816
23817         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
23818         Added some more tests for wrong hierarchy
23819
23820         * docs/design/part-overview.txt:
23821         Some updates.
23822
23823         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
23824         Cleanups.
23825
23826         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
23827         (gst_element_dispose):
23828         Some more cleanups.
23829
23830         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
23831         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
23832         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23833         (gst_pad_set_caps), (gst_pad_send_event):
23834         Check for correct hierarchy when linking pads. Moving to
23835         strict requirement for ghostpads when linking elements in
23836         different bins.
23837
23838         * gst/gstpad.h:
23839         Clean ups. Added WRONG_HIERARCHY return value.
23840
23841 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23842
23843         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
23844           Better debug if no transform is possible.
23845
23846 2005-07-27  Wim Taymans  <wim@fluendo.com>
23847
23848         * docs/random/wtay/network-transp:
23849         Some old doc I had.
23850
23851 2005-07-27  Wim Taymans  <wim@fluendo.com>
23852
23853         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23854         (gst_dp_event_from_packet):
23855         Fix serialization of seek events.
23856
23857 2005-07-27  Wim Taymans  <wim@fluendo.com>
23858
23859         * check/gst-libs/gdp.c: (GST_START_TEST):
23860         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23861         Fix compilation and fix event serialization.
23862
23863 2005-07-27  Wim Taymans  <wim@fluendo.com>
23864
23865         * CHANGES-0.9:
23866         * docs/design/part-TODO.txt:
23867         * docs/design/part-events.txt:
23868         Some docs updates
23869
23870         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23871         (gst_base_sink_event), (gst_base_sink_do_sync),
23872         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
23873         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
23874         (gst_base_src_do_seek), (gst_base_src_event_handler),
23875         (gst_base_src_loop):
23876         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
23877         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23878         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
23879         (gst_base_transform_event), (gst_base_transform_handle_buffer),
23880         (gst_base_transform_set_passthrough),
23881         (gst_base_transform_is_passthrough):
23882         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
23883         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23884         Event updates.
23885
23886         * gst/gstbuffer.h:
23887         Use faster casts.
23888
23889         * gst/gstelement.c: (gst_element_seek):
23890         * gst/gstelement.h:
23891         Update gst_element_seek.
23892
23893         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
23894         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
23895         (gst_event_new_flush_start), (gst_event_new_flush_stop),
23896         (gst_event_new_eos), (gst_event_new_newsegment),
23897         (gst_event_parse_newsegment), (gst_event_new_tag),
23898         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
23899         (gst_event_parse_qos), (gst_event_new_seek),
23900         (gst_event_parse_seek), (gst_event_new_navigation):
23901         * gst/gstevent.h:
23902         Make GstEvent use GstStructure. Add parsing code, make sure the
23903         API is sufficiently generic.
23904         Mark possible directions of events and serialization.
23905
23906         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
23907         (_gst_message_copy), (gst_message_new_segment_start),
23908         (gst_message_new_segment_done), (gst_message_new_custom),
23909         (gst_message_parse_segment_start),
23910         (gst_message_parse_segment_done):
23911         Small cleanups.
23912
23913         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
23914         (gst_pad_set_caps), (gst_pad_send_event):
23915         Update for new events. 
23916         Catch events sent in wrong directions.
23917
23918         * gst/gstqueue.c: (gst_queue_link_src),
23919         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
23920         (gst_queue_handle_src_query):
23921         Event updates.
23922
23923         * gst/gsttag.c:
23924         * gst/gsttag.h:
23925         Remove event code from this file.
23926
23927         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
23928         (gst_dp_event_from_packet):
23929         Event updates.
23930
23931 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23932
23933         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
23934         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
23935         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
23936           Make debugging actually useful.
23937
23938 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
23939
23940         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
23941         (gst_pad_fixate_caps):
23942           Implement default fixation once again, so that gst_pad_fixate()
23943           actually does anything at all. This probably needs to be some
23944           sort of a last resort, and use profile-based fixation first, but
23945           since that doesn't exist yet, this is the best we have. Fixes
23946           visualization in Totem.
23947
23948 2005-07-22  Wim Taymans  <wim@fluendo.com>
23949
23950         * docs/design/part-events.txt:
23951         Small update.
23952
23953         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23954         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
23955         (gst_base_sink_activate_pull):
23956         Some more comments.
23957
23958         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
23959         (gst_fake_src_create):
23960         Fix handoff marshall.
23961
23962         * gst/elements/gstidentity.c: (gst_identity_class_init),
23963         (gst_identity_transform_ip):
23964         We're a real inplace element.
23965
23966         * gst/gstbus.c: (gst_bus_post):
23967         Added some comments.
23968
23969         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
23970         * tests/muxing/case1.c: (main):
23971         * tests/sched/dynamic-pipeline.c: (main):
23972         * tests/sched/interrupt1.c: (main):
23973         * tests/sched/interrupt2.c: (main):
23974         * tests/sched/interrupt3.c: (main):
23975         * tests/sched/runxml.c: (main):
23976         * tests/sched/sched-stress.c: (main):
23977         * tests/seeking/seeking1.c: (event_received), (main):
23978         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
23979         (main):
23980         * tests/threadstate/threadstate3.c: (main):
23981         * tests/threadstate/threadstate4.c: (main):
23982         * tests/threadstate/threadstate5.c: (main):
23983         Fix the tests.
23984
23985 2005-07-21  Wim Taymans  <wim@fluendo.com>
23986
23987         * docs/design/part-seeking.txt:
23988         Some small additions.
23989
23990         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23991         (gst_base_sink_get_times), (gst_base_sink_do_sync),
23992         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
23993         * gst/base/gstbasesink.h:
23994         discont values are gint64, handle the math correctly.
23995
23996         * gst/base/gstbasesrc.c: (gst_base_src_loop):
23997         Make the basesrc report error if the source pad is not linked.
23998
23999         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
24000         (gst_queue_loop), (gst_queue_handle_src_query),
24001         (gst_queue_src_activate_push):
24002         Make queue collect data even if the srcpad is not linked.
24003         Start pushing out data as soon as it is linked.
24004
24005         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
24006         * gst/gstutils.h:
24007         Added gst_flow_get_name() to ease error reporting.
24008
24009 2005-07-20  Wim Taymans  <wim@fluendo.com>
24010
24011         * gst/gstmessage.c: (gst_message_new_segment_start),
24012         (gst_message_new_segment_done), (gst_message_parse_segment_start),
24013         (gst_message_parse_segment_done):
24014         * gst/gstmessage.h:
24015         Added a bunch of messages for advanced seeking.
24016
24017         * gst/parse/grammar.y:
24018         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
24019         (gst_dpman_state_changed):
24020         Fix some new-pad -> pad-added signals
24021
24022 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24023
24024         * docs/manual/appendix-porting.xml:
24025         * docs/pwg/appendix-porting.xml:
24026           Document new-pad/state-change signal renames and the FixedList
24027           type rename.
24028
24029 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24030
24031         * docs/manual/advanced-autoplugging.xml:
24032         * docs/manual/basics-helloworld.xml:
24033         * docs/manual/basics-pads.xml:
24034         * docs/random/ds/0.9-suggested-changes:
24035         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
24036         * gst/gstelement.h:
24037         * gst/gstevent.h:
24038         * gst/gstformat.h:
24039         * gst/gstquery.h:
24040         * gst/gststructure.c: (gst_structure_value_get_generic_type),
24041         (gst_structure_parse_array), (gst_structure_parse_value):
24042         * gst/gstvalue.c: (gst_type_is_fixed),
24043         (gst_value_list_prepend_value), (gst_value_list_append_value),
24044         (gst_value_list_get_size), (gst_value_list_get_value),
24045         (gst_value_transform_array_string), (gst_value_serialize_array),
24046         (gst_value_deserialize_array), (gst_value_intersect_array),
24047         (gst_value_is_fixed), (_gst_value_initialize):
24048         * gst/gstvalue.h:
24049           GstElement::new-pad -> pad-added, GstElement::state-change ->
24050           state-changed, GstValueFixedList -> GstValueArray, add format and
24051           flags as their own arguments in gst_element_seek() (should improve
24052           "bindeability"), remove function generators since they don't work
24053           under a whole bunch of compilers (they were deprecated already
24054           anyway).
24055
24056 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24057
24058         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24059         (_gst_debug_register_funcptr):
24060         * gst/gstinfo.h:
24061           Fix illegal cast on some platforms (#309253).
24062
24063 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24064
24065         * gst/gstmessage.c: (gst_message_new_custom):
24066         * gst/gstmessage.h:
24067           Add _new_custom, make _new_application a macro to _new_custom.
24068
24069 2005-07-20  Wim Taymans  <wim@fluendo.com>
24070
24071         * gst/base/gstbasesrc.c: (gst_base_src_init),
24072         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
24073         * gst/base/gstbasesrc.h:
24074         Add a gboolean to decide when to push out a discont.
24075
24076         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
24077         (gst_queue_loop), (gst_queue_handle_src_query),
24078         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
24079         (gst_queue_set_property), (gst_queue_get_property):
24080         Some cleanups.
24081
24082         * tests/threadstate/threadstate1.c: (main):
24083         Make a thread test compile and run... very silly..
24084
24085
24086 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24087
24088         * docs/manual/appendix-porting.xml:
24089           Mention removal of libgstgconf-0.9.la and existence of gconf
24090           elements.
24091
24092 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24093
24094         * docs/pwg/advanced-clock.xml:
24095         * docs/pwg/appendix-porting.xml:
24096         * docs/pwg/intro-preface.xml:
24097         * docs/pwg/other-base.xml:
24098         * docs/pwg/other-manager.xml:
24099         * docs/pwg/other-nton.xml:
24100         * docs/pwg/other-ntoone.xml:
24101         * docs/pwg/other-oneton.xml:
24102         * docs/pwg/pwg.xml:
24103           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
24104           demuxer), remove n-to-n (was never written), fix some code examples
24105           and links and update the porting section to include all this.
24106
24107 2005-07-19  Wim Taymans  <wim@fluendo.com>
24108
24109         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
24110         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
24111         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
24112         (gst_queue_src_activate_push), (gst_queue_change_state),
24113         (gst_queue_get_property):
24114         * gst/gstqueue.h:
24115         Propagate GstFlowReturn more intelligently upstream and output
24116         an ERROR/EOS when streaming stopped due to fatal error.
24117
24118 2005-07-19  Wim Taymans  <wim@fluendo.com>
24119
24120         * tools/gst-launch.c: (check_intr), (event_loop), (main):
24121         Don't block forever for the state change to complete, the
24122         pipeline already did with a sensible timeout.
24123
24124 2005-07-19  Wim Taymans  <wim@fluendo.com>
24125
24126         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
24127         Make sure we never call the create function is we
24128         got deactivated.
24129
24130 2005-07-19  Andy Wingo  <wingo@pobox.com>
24131
24132         * gst/parse/parse.l: Attempt to solve bug #172815.
24133
24134 2005-07-19  Wim Taymans  <wim@fluendo.com>
24135
24136         * docs/design/part-clocks.txt:
24137         * docs/design/part-events.txt:
24138         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
24139         Small docs updates.
24140         Only update the seeking values when we are not
24141         busy streaming.
24142
24143 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
24144
24145         * gst/base/gstbasesrc.c: (gst_base_src_loop):
24146           Oops, ignore the result of gst_pad_push_event here.
24147
24148 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
24149
24150         * gst/base/gstbasesrc.c: (gst_base_src_loop),
24151         (gst_base_src_activate_push):
24152           Send discont event from the loop function, as pads
24153           aren't activated yet in the activate_push handler.
24154
24155         * gst/gstbin.c: (bin_bus_handler):
24156           Don't leak element name.
24157
24158 2005-07-18  Andy Wingo  <wingo@pobox.com>
24159
24160         * configure.ac: Use AS_LIBTOOL_TAGS.
24161
24162 2005-07-18  Wim Taymans  <wim@fluendo.com>
24163
24164         * docs/gst/gstreamer.types:
24165         Remove deleted types.
24166
24167 2005-07-18  Wim Taymans  <wim@fluendo.com>
24168
24169         * check/elements/gstfakesrc.c: (GST_START_TEST):
24170         * configure.ac:
24171         * gst/Makefile.am:
24172         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
24173         (init_popt_callback):
24174         * gst/gst.h:
24175         * gst/gst_private.h:
24176         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
24177         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
24178         * gst/gstbin.h:
24179         * gst/gstbus.h:
24180         * gst/gstconfig.h.in:
24181         * gst/gstelement.c: (gst_element_class_init),
24182         (gst_element_set_base_time), (gst_element_get_base_time),
24183         (iterator_fold_with_resync), (gst_element_change_state),
24184         (gst_element_dispose), (gst_element_get_bus):
24185         * gst/gstelement.h:
24186         * gst/gstelementfactory.h:
24187         * gst/gsterror.c: (_gst_core_errors_init):
24188         * gst/gsterror.h:
24189         * gst/gstevent.h:
24190         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
24191         * gst/gstindex.c:
24192         * gst/gstinfo.c: (_gst_debug_init):
24193         * gst/gstmessage.c: (_gst_message_copy):
24194         * gst/gstmessage.h:
24195         * gst/gstminiobject.h:
24196         * gst/gstobject.c:
24197         * gst/gstobject.h:
24198         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24199         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
24200         * gst/gstpad.h:
24201         * gst/gstparse.h:
24202         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
24203         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
24204         (gst_pipeline_get_last_stream_time):
24205         * gst/gstpipeline.h:
24206         * gst/gstpluginfeature.h:
24207         * gst/gstquery.h:
24208         * gst/gstscheduler.c:
24209         * gst/gstscheduler.h:
24210         * gst/gststructure.h:
24211         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
24212         (gst_task_finalize), (gst_task_func), (gst_task_create),
24213         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
24214         (gst_task_stop), (gst_task_pause):
24215         * gst/gsttask.h:
24216         * gst/gsttypefind.h:
24217         * gst/gsttypes.h:
24218         * gst/registries/gstlibxmlregistry.c: (load_feature),
24219         (gst_xml_registry_load), (gst_xml_registry_save_feature):
24220         * gst/registries/gstxmlregistry.c:
24221         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
24222         * gst/schedulers/threadscheduler.c:
24223         * libs/gst/control/dparammanager.h:
24224         * tools/gst-inspect.c: (print_element_list),
24225         (print_plugin_features), (print_element_features):
24226         * tools/gst-xmlinspect.c: (print_element_list),
24227         (print_plugin_info), (main):
24228         Removed plugable schedulers.
24229         Removed Scheduler/Manager from elements.
24230         Removed gsttypes.h, rearranged includes.
24231         Removed dependency pad<->element, element<>pipeline, and
24232         various others,  fix includes.
24233         implement gst_pad_get_parent() with gst_object_get_parent()
24234         Make GstTask sefcontained.
24235         Fix _get_state() on GstBin, it did not return ASYNC with a 0
24236         timeout.
24237         Fix endless loop in iterator_fold_with_resync.
24238
24239
24240 2005-07-18  Wim Taymans  <wim@fluendo.com>
24241
24242         * gst/Makefile.am:
24243         * gst/gstarch.h:
24244         Remove old file.
24245
24246 2005-07-18  Wim Taymans  <wim@fluendo.com>
24247
24248         * gst/Makefile.am:
24249         No more cothreads.h
24250
24251 2005-07-18  Wim Taymans  <wim@fluendo.com>
24252
24253         * gst/cothreads.c:
24254         * gst/cothreads.h:
24255         Let's remove these.
24256
24257 2005-07-18  Wim Taymans  <wim@fluendo.com>
24258
24259         * docs/design/part-dynamic.txt:
24260         * docs/design/part-events.txt:
24261         * docs/design/part-seeking.txt:
24262         Some more docs in the works.
24263
24264         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
24265         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
24266         (gst_base_transform_setcaps), (gst_base_transform_get_size),
24267         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
24268         (gst_base_transform_handle_buffer),
24269         (gst_base_transform_sink_activate_push),
24270         (gst_base_transform_src_activate_pull),
24271         (gst_base_transform_set_passthrough),
24272         (gst_base_transform_is_passthrough):
24273         Refcounting fixes.
24274
24275         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
24276         Cleanups.
24277
24278         * gst/gstevent.c: (gst_event_finalize):
24279         Set SRC to NULL.
24280
24281         * gst/gstutils.c: (gst_element_unlink),
24282         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
24283         (gst_pad_proxy_setcaps):
24284         * gst/gstutils.h:
24285         Add _get_parent_element() to get a pads parent as an element.
24286
24287 2005-07-18  Wim Taymans  <wim@fluendo.com>
24288
24289         * check/gst/gstbin.c: (GST_START_TEST):
24290         Remove bogus test.
24291
24292 2005-07-18  Wim Taymans  <wim@fluendo.com>
24293
24294         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
24295         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
24296         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
24297         (gst_base_sink_event), (gst_base_sink_do_sync),
24298         (gst_base_sink_chain), (gst_base_sink_loop),
24299         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
24300         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
24301         Refcounting fixes.
24302         Fix logic for returning ASYNC when not prerolled.
24303
24304 2005-07-18  Wim Taymans  <wim@fluendo.com>
24305
24306         * gst/gstqueue.c: (gst_queue_handle_sink_event):
24307         Fix nasty refcount bug.
24308
24309 2005-07-16 Philippe Khalaf <burger@speedy.org>
24310
24311         * gst/elements/gstfdsrc.c:
24312         * gst/elements/gstfdsrc.h:
24313         * gst/elements/gstelements.c:
24314         * gst/elements/Makefile.am:
24315         Ported fdsrc to 0.9.
24316
24317 2005-07-16  Wim Taymans  <wim@fluendo.com>
24318
24319         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24320         (gst_base_sink_do_sync):
24321         Fix compile error.
24322
24323 2005-07-16  Wim Taymans  <wim@fluendo.com>
24324
24325         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
24326         (gst_base_sink_event), (gst_base_sink_get_times),
24327         (gst_base_sink_do_sync), (gst_base_sink_change_state):
24328         * gst/base/gstbasesink.h:
24329         Store and use discont values when syncing buffers as described
24330         in design docs.
24331         
24332         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
24333         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
24334         (gst_base_src_activate_push):
24335         Push discont event when starting.
24336
24337         * gst/elements/gstidentity.c: (gst_identity_transform):
24338         Small cleanups.
24339
24340         * gst/gstbin.c: (gst_bin_change_state):
24341         Small cleanups in base_time  distribution.
24342
24343         * gst/gstelement.c: (gst_element_set_base_time),
24344         (gst_element_get_base_time), (gst_element_change_state):
24345         * gst/gstelement.h:
24346         Added methods for the base_time of the element.
24347         Some MT fixes.
24348
24349         * gst/gstpipeline.c: (gst_pipeline_send_event),
24350         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
24351         (gst_pipeline_get_last_stream_time):
24352         * gst/gstpipeline.h:
24353         MT fixes.
24354         Handle seeking as described in design doc, remove stream_time
24355         hack.
24356         Cleanups clock and stream_time selection code. Added accessors
24357         for the stream_time.
24358         
24359
24360 2005-07-16  Andy Wingo  <wingo@pobox.com>
24361
24362         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
24363         (#305291).
24364
24365 2005-07-16  Wim Taymans  <wim@fluendo.com>
24366
24367         * check/gst/gstbin.c: (GST_START_TEST):
24368         Make elements silent as the deep_notify refs the
24369         parent, which might make the test fail.
24370
24371         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
24372         Don't hold the lock for too long.
24373
24374 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
24375
24376         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
24377           Don't unref the caps we passed to gst_caps_make_writable() after
24378           passing them. gst_caps_make_writable() will do that for us.
24379
24380 2005-07-15  Andy Wingo  <wingo@pobox.com>
24381
24382         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
24383         (#157311).
24384
24385         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
24386         own marshalling function for the handoff signal. Properly type the
24387         buffer as a buffer. Fixes some warnings. Should do a more general
24388         solution.
24389         (gst_identity_class_init): Plug into the right marshaller.
24390
24391 2005-07-15  Wim Taymans  <wim@fluendo.com>
24392
24393         * docs/design/part-TODO.txt:
24394         * docs/design/part-clocks.txt:
24395         * docs/design/part-element-sink.txt:
24396         * docs/design/part-events.txt:
24397         * docs/design/part-gstpipeline.txt:
24398         Updated docs, mostly DISCONT related.
24399
24400 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
24401
24402         * docs/pwg/building-pads.xml:
24403           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
24404
24405 2005-07-15  Andy Wingo  <wingo@pobox.com>
24406
24407         * tools/gst-typefind.c: Update, add copyright block.
24408
24409         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
24410         Normalize and truncate caps before fixation.
24411
24412         * gst/gstcaps.h:
24413         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
24414         discards all but the first structure from its argument.
24415
24416 2005-07-15  Wim Taymans  <wim@fluendo.com>
24417
24418         * gst/base/gstbasetransform.c: (gst_base_transform_init),
24419         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
24420         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
24421         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
24422         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
24423         (gst_base_transform_chain), (gst_base_transform_change_state),
24424         (gst_base_transform_set_passthrough),
24425         (gst_base_transform_is_passthrough):
24426         * gst/base/gstbasetransform.h:
24427         Make passthrough work using the bufferpools.
24428         Changed API a bit, subclasses have to write into a buffer
24429         provided by the base class.
24430         More debug info in nego functions.
24431         
24432         * gst/elements/gstidentity.c: (gst_identity_init),
24433         (gst_identity_transform):
24434         Port to new base class.
24435
24436 2005-07-15  Wim Taymans  <wim@fluendo.com>
24437
24438         * gst/gstmessage.c: (gst_message_new_state_changed):
24439         * tools/gst-launch.c: (event_loop), (main):
24440         Totally dump messages in -launch with the -m option.
24441         Fix message name for State messages,
24442
24443 2005-07-14  Wim Taymans  <wim@fluendo.com>
24444
24445         * gst/base/gstbasesrc.c: (gst_base_src_loop):
24446         Post error messages on errors.
24447
24448 2005-07-14  Wim Taymans  <wim@fluendo.com>
24449
24450         * gst/gstcaps.c: (gst_caps_do_simplify):
24451         Remove debug info.
24452
24453         * gst/gsterror.h:
24454         Define error for stream stopped.
24455
24456         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
24457         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
24458         Do proper return values.
24459
24460         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
24461         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
24462         (gst_pad_get_range):
24463         Better return values.
24464
24465         * gst/gstpad.h:
24466         Reorganise return values, add macro to check for fatal errors.
24467
24468         * gst/gstqueue.c: (gst_queue_chain):
24469         Return proper GstFlowReturn values,
24470
24471 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
24472
24473         * docs/gst/gstreamer-sections.txt:
24474         * docs/gst/gstreamer.types:
24475         * docs/gst/tmpl/gst.sgml:
24476         * docs/gst/tmpl/gstbasesink.sgml:
24477         * docs/gst/tmpl/gstbasesrc.sgml:
24478         * docs/gst/tmpl/gstbasetransform.sgml:
24479         * docs/gst/tmpl/gstbin.sgml:
24480         * docs/gst/tmpl/gstbuffer.sgml:
24481         * docs/gst/tmpl/gstcaps.sgml:
24482         * docs/gst/tmpl/gstclock.sgml:
24483         * docs/gst/tmpl/gstcompat.sgml:
24484         * docs/gst/tmpl/gstconfig.sgml:
24485         * docs/gst/tmpl/gstelement.sgml:
24486         * docs/gst/tmpl/gstelementdetails.sgml:
24487         * docs/gst/tmpl/gstelementfactory.sgml:
24488         * docs/gst/tmpl/gstenumtypes.sgml:
24489         * docs/gst/tmpl/gsterror.sgml:
24490         * docs/gst/tmpl/gstevent.sgml:
24491         * docs/gst/tmpl/gstfakesink.sgml:
24492         * docs/gst/tmpl/gstfakesrc.sgml:
24493         * docs/gst/tmpl/gstfilesink.sgml:
24494         * docs/gst/tmpl/gstfilesrc.sgml:
24495         * docs/gst/tmpl/gstfilter.sgml:
24496         * docs/gst/tmpl/gstformat.sgml:
24497         * docs/gst/tmpl/gstghostpad.sgml:
24498         * docs/gst/tmpl/gstimplementsinterface.sgml:
24499         * docs/gst/tmpl/gstindex.sgml:
24500         * docs/gst/tmpl/gstindexfactory.sgml:
24501         * docs/gst/tmpl/gstinfo.sgml:
24502         * docs/gst/tmpl/gstiterator.sgml:
24503         * docs/gst/tmpl/gstmacros.sgml:
24504         * docs/gst/tmpl/gstmemchunk.sgml:
24505         * docs/gst/tmpl/gstminiobject.sgml:
24506         * docs/gst/tmpl/gstobject.sgml:
24507         * docs/gst/tmpl/gstpad.sgml:
24508         * docs/gst/tmpl/gstpadtemplate.sgml:
24509         * docs/gst/tmpl/gstparse.sgml:
24510         * docs/gst/tmpl/gstpipeline.sgml:
24511         * docs/gst/tmpl/gstplugin.sgml:
24512         * docs/gst/tmpl/gstpluginfeature.sgml:
24513         * docs/gst/tmpl/gstquery.sgml:
24514         * docs/gst/tmpl/gstqueue.sgml:
24515         * docs/gst/tmpl/gstregistry.sgml:
24516         * docs/gst/tmpl/gstregistrypool.sgml:
24517         * docs/gst/tmpl/gstscheduler.sgml:
24518         * docs/gst/tmpl/gstschedulerfactory.sgml:
24519         * docs/gst/tmpl/gststructure.sgml:
24520         * docs/gst/tmpl/gstsystemclock.sgml:
24521         * docs/gst/tmpl/gsttaglist.sgml:
24522         * docs/gst/tmpl/gsttagsetter.sgml:
24523         * docs/gst/tmpl/gsttrace.sgml:
24524         * docs/gst/tmpl/gsttrashstack.sgml:
24525         * docs/gst/tmpl/gsttypefind.sgml:
24526         * docs/gst/tmpl/gsttypefindfactory.sgml:
24527         * docs/gst/tmpl/gsttypes.sgml:
24528         * docs/gst/tmpl/gsturihandler.sgml:
24529         * docs/gst/tmpl/gsturitype.sgml:
24530         * docs/gst/tmpl/gstutils.sgml:
24531         * docs/gst/tmpl/gstvalue.sgml:
24532         * docs/gst/tmpl/gstversion.sgml:
24533         * docs/gst/tmpl/gstxml.sgml:
24534         * docs/libs/tmpl/gstcontrol.sgml:
24535         * docs/libs/tmpl/gstdataprotocol.sgml:
24536         * docs/libs/tmpl/gstdparam.sgml:
24537         * docs/libs/tmpl/gstdplinint.sgml:
24538         * docs/libs/tmpl/gstdpman.sgml:
24539         * docs/libs/tmpl/gstdpsmooth.sgml:
24540         * docs/libs/tmpl/gstgetbits.sgml:
24541         * docs/libs/tmpl/gstunitconvert.sgml:
24542         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
24543         (gst_push_src_base_init), (gst_push_src_class_init),
24544         (gst_push_src_init), (gst_push_src_create):
24545         * gst/base/gstpushsrc.h:
24546         * gst/elements/gstelements.c:
24547         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
24548         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
24549         (gst_fake_sink_init), (gst_fake_sink_set_property),
24550         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
24551         (gst_fake_sink_event), (gst_fake_sink_preroll),
24552         (gst_fake_sink_render), (gst_fake_sink_change_state):
24553         * gst/elements/gstfakesink.h:
24554         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
24555         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
24556         (gst_fake_src_base_init), (gst_fake_src_class_init),
24557         (gst_fake_src_init), (gst_fake_src_event_handler),
24558         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
24559         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
24560         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
24561         (gst_fake_src_create_buffer), (gst_fake_src_create),
24562         (gst_fake_src_start), (gst_fake_src_stop):
24563         * gst/elements/gstfakesrc.h:
24564         * gst/elements/gstfilesink.c: (_do_init),
24565         (gst_file_sink_base_init), (gst_file_sink_class_init),
24566         (gst_file_sink_init), (gst_file_sink_dispose),
24567         (gst_file_sink_set_location), (gst_file_sink_set_property),
24568         (gst_file_sink_get_property), (gst_file_sink_open_file),
24569         (gst_file_sink_close_file), (gst_file_sink_query),
24570         (gst_file_sink_event), (gst_file_sink_render),
24571         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
24572         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
24573         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
24574         * gst/elements/gstfilesink.h:
24575         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
24576         (gst_file_src_class_init), (gst_file_src_init),
24577         (gst_file_src_finalize), (gst_file_src_set_location),
24578         (gst_file_src_set_property), (gst_file_src_get_property),
24579         (gst_file_src_map_region), (gst_file_src_map_small_region),
24580         (gst_file_src_create_mmap), (gst_file_src_create_read),
24581         (gst_file_src_create), (gst_file_src_is_seekable),
24582         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
24583         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
24584         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
24585         (gst_file_src_uri_handler_init):
24586         * gst/elements/gstfilesrc.h:
24587           more autistic cleanliness in functions/names/defines
24588
24589 2005-07-13  Andy Wingo  <wingo@pobox.com>
24590
24591         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
24592         source couldn't negotiate.
24593
24594         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
24595         connections again.
24596
24597         * gst/gstutils.h:
24598         * gst/gstutils.c (gst_element_link_pads_filtered): New old
24599         function. I am channeling Hades. Put your boots on suckers!!!
24600
24601 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
24602
24603         * testsuite/caps/Makefile.am:
24604         * testsuite/caps/value_compare.c:
24605         * testsuite/caps/value_intersect.c:
24606         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
24607           move two testsuite apps over to the check dir
24608
24609 2005-07-12  Wim Taymans  <wim@fluendo.com>
24610
24611         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
24612         Added more debug info in the negotiate process.
24613
24614         * gst/gstmessage.h:
24615         Prepare for segment playback.
24616
24617         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
24618         Better debugging.
24619
24620         * gst/gstutils.c:
24621         Some more docs.
24622
24623         * tools/gst-launch.c: (main):
24624         NULL pipeline on errors.
24625
24626 2005-07-12  Andy Wingo  <wingo@pobox.com>
24627
24628         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
24629         not it comes from a malloc region. Make sure our copy gets freed.
24630
24631 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24632
24633         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
24634         * check/gst/gstmessage.c: (GST_START_TEST):
24635         * check/gst/gststructure.c: (GST_START_TEST),
24636         (gst_structure_suite), (main):
24637           more testing
24638         * gst/gstelement.c: (gst_element_message_full):
24639           clean up GError and debug string now that they get copied
24640         * gst/gstmessage.c: (gst_message_new_error),
24641         (gst_message_new_warning), (gst_message_parse_error),
24642         (gst_message_parse_warning):
24643           use GST_TYPE_G_ERROR for structure_new, and take copies of
24644           arguments, so that we don't mess up refcounting
24645
24646 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24647
24648         * check/Makefile.am:
24649           add per-test valgrind targets
24650         * check/gst-libs/gdp.c: (GST_START_TEST),
24651         (gst_data_protocol_suite), (main):
24652           clean up
24653
24654 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
24655
24656         * check/Makefile.am:
24657           instate more valgrindable tests
24658         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24659         (GST_START_TEST), (fakesrc_suite):
24660         * check/gst/gstpad.c: (GST_START_TEST):
24661         * check/gst/gststructure.c: (GST_START_TEST):
24662           fix test leaks
24663         * docs/gst/tmpl/gstminiobject.sgml:
24664         * gst/gstpad.c: (gst_pad_finalize):
24665           fix the static mutex leak
24666
24667 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24668
24669         * check/Makefile.am:
24670           add two more tests for valgrinding
24671         * check/gst/gstvalue.c: (GST_START_TEST):
24672           test refcount of deserialized buffer, found a leak
24673         * docs/gst/gstreamer-docs.sgml:
24674         * docs/gst/gstreamer-sections.txt:
24675         * docs/gst/gstreamer.types:
24676         * docs/gst/tmpl/gstminiobject.sgml:
24677           add miniobject to docs
24678         * gst/gstminiobject.c:
24679           add some docs
24680         * gst/gstvalue.c: (gst_value_deserialize_buffer),
24681         (gst_string_unwrap):
24682           fix a hard-to-find invalid write for one of the tests
24683           fix a leak for deserialized buffers
24684
24685 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24686
24687         * docs/pwg/advanced-events.xml:
24688         * docs/pwg/advanced-request.xml:
24689         * docs/pwg/advanced-scheduling.xml:
24690         * docs/pwg/appendix-porting.xml:
24691         * docs/pwg/building-boiler.xml:
24692         * docs/pwg/intro-preface.xml:
24693         * docs/pwg/other-ntoone.xml:
24694           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
24695           of example code and explanation for pad activation, loop() and
24696           getrange() functions and a bit more. Remove old comments pointing
24697           to loop-functions.
24698         * examples/pwg/Makefile.am:
24699           Add loop/getrange examples.
24700
24701 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24702
24703         * configure.ac:
24704           check for valgrind binary + some fixes
24705         * check/gst.supp:
24706           valgrind suppressions for the tests
24707         * check/Makefile.am:
24708           add a valgrind: target that valgrinds the unit tests
24709         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
24710         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24711         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24712         * check/gst/gstghostpad.c:
24713           added some cleanup
24714         * check/gst/gstdata.c:
24715           removed
24716         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
24717         (thread_unref), (gst_mini_object_suite), (main):
24718           added
24719         * gst/gst.c: (gst_deinit):
24720         * gst/gst.h:
24721           add a method to clean up.
24722         * gst/gstsystemclock.c: (gst_system_clock_dispose),
24723         (gst_system_clock_obtain):
24724           allow for disposing the system clock.
24725         * tools/gst-launch.c: (main):
24726           deinit
24727
24728 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
24729
24730         * docs/gst/tmpl/gstbasesrc.sgml:
24731         * docs/gst/tmpl/gstfakesrc.sgml:
24732         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24733         (gst_base_src_init), (gst_base_src_set_property),
24734         (gst_base_src_get_property), (gst_base_src_get_range),
24735         (gst_base_src_start):
24736         * gst/base/gstbasesrc.h:
24737           add num-buffers property
24738         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24739         (gst_fakesrc_init), (gst_fakesrc_set_property),
24740         (gst_fakesrc_get_property), (gst_fakesrc_create),
24741         (gst_fakesrc_start):
24742           remove num-buffers property
24743
24744 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24745
24746         * docs/gst/gstreamer-sections.txt:
24747         * docs/gst/tmpl/gstbasesink.sgml:
24748         * docs/gst/tmpl/gstbasesrc.sgml:
24749         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
24750         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
24751         (gst_base_sink_finalize), (gst_base_sink_set_clock),
24752         (gst_base_sink_set_property), (gst_base_sink_get_property),
24753         (gst_base_sink_handle_object), (gst_base_sink_event),
24754         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
24755         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
24756         (gst_base_sink_loop), (gst_base_sink_deactivate),
24757         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
24758         (gst_base_sink_change_state):
24759         * gst/base/gstbasesink.h:
24760         * gst/base/gstbasesrc.h:
24761         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
24762         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
24763         (gst_filesink_init):
24764           more macro splitting
24765
24766 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24767
24768         * gst/gstelement.c: (gst_element_get_bus):
24769           add debug
24770         * tools/gst-launch.c: (check_intr), (event_loop):
24771           fix bus leaks
24772
24773 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24774
24775         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
24776           fix a caps leak
24777
24778 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
24779
24780         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24781         (gst_base_src_finalize):
24782           add finalize method and clean up properly
24783         * gst/gstpipeline.c: (gst_pipeline_dispose):
24784           add debug
24785
24786 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24787
24788         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
24789         (gst_bin_suite):
24790           add more things to check
24791         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
24792         * gst/gstelement.c:
24793           more debug
24794
24795 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24796
24797         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24798         (GST_START_TEST), (fakesrc_suite):
24799         * check/gst-libs/gdp.c: (GST_START_TEST):
24800         * check/gst/gst.c: (GST_START_TEST):
24801         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24802         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
24803         * check/gst/gstbus.c: (GST_START_TEST):
24804         * check/gst/gstcaps.c: (GST_START_TEST):
24805         * check/gst/gstdata.c: (GST_START_TEST):
24806         * check/gst/gstelement.c: (GST_START_TEST):
24807         * check/gst/gstghostpad.c: (GST_START_TEST):
24808         * check/gst/gstiterator.c: (GST_START_TEST):
24809         * check/gst/gstmessage.c: (GST_START_TEST):
24810         * check/gst/gstobject.c: (GST_START_TEST):
24811         * check/gst/gstpad.c: (GST_START_TEST):
24812         * check/gst/gststructure.c: (GST_START_TEST):
24813         * check/gst/gstsystemclock.c: (GST_START_TEST),
24814         (gst_systemclock_suite):
24815         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
24816         * check/gst/gstvalue.c: (GST_START_TEST):
24817         * check/pipelines/cleanup.c: (GST_START_TEST):
24818         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
24819         * check/states/sinks.c: (GST_START_TEST):
24820         * check/gstcheck.c: (gst_check_init):
24821         * check/gstcheck.h:
24822           add debugging category
24823           use GST_START_TEST now, so we add a debug line
24824
24825 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
24826
24827         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
24828           add test for state change message on a bin
24829         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
24830           add another test
24831         * gst/gstbin.c: (gst_bin_init):
24832         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
24833         * gst/gstelement.c: (gst_element_post_message),
24834         (gst_element_set_state):
24835         * gst/gstelementfactory.c: (gst_element_factory_create):
24836         * gst/gstmessage.c: (gst_message_new):
24837         * gst/gstscheduler.c:
24838           various debugging additions and cleanups
24839
24840 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24841
24842         * check/Makefile.am:
24843         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
24844         (main):
24845           adding tests for elements
24846         * gst/gstelement.c: (gst_element_dispose):
24847
24848 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24849
24850         * gst/registries/gstlibxmlregistry.c: (load_feature):
24851           plug more leaks.  A simple gst_init() now is leakfree, yay.
24852
24853 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24854
24855         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
24856         (gst_xml_registry_load):
24857           plug another memleak
24858
24859 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24860
24861         * configure.ac:
24862           use GST_SET_ERROR_CFLAGS
24863         * docs/faq/cvs.xml:
24864           change to ERROR_CFLAGS
24865
24866 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
24867
24868         * configure.ac:
24869           make GST_ERROR_CFLAGS overridable and re-enable Werror
24870         * docs/faq/cvs.xml:
24871           add a note about error CFLAGS
24872         * docs/gst/tmpl/gstfakesrc.sgml:
24873         * gst/elements/gstfakesrc.c:
24874           comment out some unused code
24875         * gst/gst.c: (split_and_iterate):
24876         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
24877         (load_feature):
24878           plug some memleaks
24879
24880 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24881
24882         * common/Makefile.am:
24883         * common/gtk-doc.mak:
24884         * docs/gst/Makefile.am:
24885           factor out gtk-doc.mak
24886
24887 2005-07-07  Wim Taymans  <wim@fluendo.com>
24888
24889         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
24890         (gst_thread_scheduler_dispose):
24891         Unlock the STREAM_LOCK completely.
24892
24893 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
24894
24895         * check/Makefile.am:
24896         * check/elements/.cvsignore:
24897         * check/elements/gstfakesrc.c: (chain_func), (event_func),
24898         (START_TEST), (fakesrc_suite), (main):
24899         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
24900         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
24901         (gst_fakesrc_create), (gst_fakesrc_start):
24902         * gst/elements/gstfakesrc.h:
24903           adding a first element test
24904
24905 2005-07-07  Andy Wingo  <wingo@pobox.com>
24906
24907         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
24908         debug message.
24909
24910 2005-07-07  Wim Taymans  <wim@fluendo.com>
24911
24912         * gst/gstquery.c:
24913         * gst/gstquery.h:
24914         Remove old types
24915
24916 2005-07-07  Wim Taymans  <wim@fluendo.com>
24917
24918         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24919         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
24920         Allow subclasses to implement their own negotiation.
24921
24922 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24923
24924         * docs/design/part-gstbin.txt:
24925         * docs/design/part-gstpipeline.txt:
24926           Update design notes to reflect the movement of
24927           responsibility for bus handling from GstPipeline to
24928           GstBin
24929
24930 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24931
24932         * configure.ac:
24933           Remove unnecessary queue2/3/4 examples.
24934
24935 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
24936
24937         * examples/Makefile.am:
24938         * examples/helloworld/helloworld.c: (event_loop), (main):
24939         * examples/queue/queue.c: (event_loop), (main):
24940         * examples/queue2/queue2.c: (main):
24941           Update a couple of the examples to work again.
24942
24943         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24944         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
24945          Spelling corrections and extra debug.
24946         
24947         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
24948         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
24949         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
24950         * gst/gstbin.h:
24951         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
24952         (gst_pipeline_change_state):
24953         * gst/gstpipeline.h:
24954           Move the bus handler for children to the GstBin, and create a
24955           separate bus for receiving messages from children to the one the
24956           bus sends 'upwards' on.
24957
24958 2005-07-06  Wim Taymans  <wim@fluendo.com>
24959
24960         * gst/base/README:
24961         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
24962         (gst_base_sink_handle_object), (gst_base_sink_loop),
24963         (gst_base_sink_change_state):
24964         * gst/base/gstbasesink.h:
24965         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
24966         (gst_base_src_init), (gst_base_src_setcaps),
24967         (gst_base_src_getcaps), (gst_base_src_loop),
24968         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
24969         (gst_base_src_start), (gst_base_src_change_state):
24970         * gst/base/gstbasesrc.h:
24971         Make basesrc negotiate.
24972         Handle the case where preroll fails in basesink.
24973         Update README.
24974
24975 2005-07-06  Wim Taymans  <wim@fluendo.com>
24976
24977         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
24978         Implement the fixate function.
24979         Clean up acceptcaps.
24980
24981 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24982
24983         * docs/pwg/building-filterfactory.xml:
24984         * docs/pwg/pwg.xml:
24985           Remove never-written filter-factory chapter; I'll add the various
24986           base classes to part 4 ("other element types") later on.
24987
24988 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
24989
24990         * docs/pwg/advanced-negotiation.xml:
24991         * docs/pwg/building-boiler.xml:
24992         * docs/pwg/building-pads.xml:
24993         * docs/pwg/pwg.xml:
24994         * examples/pwg/Makefile.am:
24995           Add a chapter on caps negotiation, simplify the original code
24996           samples a bit w.r.t. caps negotiation, add link to the advanced
24997           section. Add a bunch of examples showing different use cases of
24998           different types of caps negotiation. Upstream renegotiation isn't
24999           fully documented yet since nobody knows how that works.
25000
25001 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25002
25003         * check/gst/gstpad.c:
25004         * check/gstcheck.c:
25005         * gst/gstpad.c: (gst_pad_get_internal_links_default):
25006           if pad has no parent, return NULL as list of internal links
25007
25008 2005-07-05  Andy Wingo  <wingo@pobox.com>
25009
25010         * gst/elements/gstfilesrc.c:
25011         * gst/elements/gstfakesrc.c: 
25012         * gst/base/gstpushsrc.c:
25013         * gst/base/gstbasesrc.h: 
25014         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
25015         
25016 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
25017
25018         * Makefile.am:
25019           better report generation target (lcov needs a patch)
25020
25021 2005-07-05  Andy Wingo  <wingo@pobox.com>
25022
25023         * gst/elements, testsuite: Null if we got it...
25024
25025 2005-07-05  Wim Taymans  <wim@fluendo.com>
25026
25027         * configure.ac:
25028         * libs/gst/dataprotocol/Makefile.am:
25029         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
25030         * libs/gst/dataprotocol/dataprotocol.h:
25031         * pkgconfig/Makefile.am:
25032         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
25033         * pkgconfig/gstreamer-dataprotocol.pc.in:
25034         Ported dataprotol to 0.9. 
25035         Added pkgconfig files.
25036
25037 2005-07-05  Andy Wingo  <wingo@pobox.com>
25038
25039         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
25040         Default to returning TRUE for the case when tranform_caps returns
25041         a fixed caps, like for identity or volume.
25042
25043         * check/gst/gstbus.c (pound_bus_with_messages): 
25044         * check/gst/gstmessage.c (START_TEST): 
25045         * check/pipelines/simple_launch_lines.c (got_handoff): Application
25046         message API change.
25047
25048         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
25049         logic weaks here: always run transform_caps, trying passthrough
25050         operation only if the original caps intersects with the transform.
25051
25052         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
25053         source and sink caps.
25054
25055         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
25056         Intersect the peer caps with the pad template before going into
25057         transform_caps.
25058         (gst_base_transform_transform_caps): More debugging.
25059
25060         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
25061         src argument.
25062
25063 2005-07-04  Edward Hervey  <edward@fluendo.com>
25064
25065         * gst/gstutils.c:
25066         * gst/gstutils.h:
25067         (gst_pad_add_*_probe): now returns the signal id for better wrapping
25068         in bindings.
25069
25070 2005-07-04  Andy Wingo  <wingo@pobox.com>
25071
25072         * check/gst/gstpad.c: Only set explicit caps on pads.
25073
25074 2005-07-01  Andy Wingo  <wingo@pobox.com>
25075
25076         * tests/network-clock.scm: Commentary update.
25077
25078         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
25079         Didn't really make sense, not implementable with basetransform,
25080         etc.
25081         (gst_identity_transform): Unref inbuf via make_writable. Feeble
25082         attempt at implementing the sync property, needs an unlock method.
25083
25084         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
25085         New func, by default returns the same caps (the identity
25086         transformation).
25087         (gst_base_transform_getcaps): Uses transform_caps to return
25088         something sensible.
25089         (gst_base_transform_setcaps): Complicated logic to get caps on
25090         both pads, even if they are different, and to call set_caps once
25091         for every time both pads get their caps set.
25092         (gst_base_transform_handle_buffer): Give the ref to the transform
25093         function. Allows in-place modification of the buffer.
25094
25095         * gst/base/gstbasetransform.h (transform_caps): New class method.
25096         Given caps on one side, what can I do on the other.
25097         (set_caps): Take two caps, one for each side of the element.
25098
25099         * gst/gstpad.h:
25100         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
25101         caps in place. This is safe because we can check the mutability of
25102         the caps, and a good idea because fixate functions are just called
25103         as a matter of last resort. (Not actually implemented.)
25104         (gst_pad_set_caps): If the caps we're setting is actually the same
25105         as the existing pad caps, just update the pointer without calling
25106         setcaps. Assert that caps is either NULL or fixed, as per the
25107         docs.
25108
25109         * gst/gstghostpad.c: Update for fixate changes.
25110
25111 2005-07-02  Andy Wingo  <wingo@pobox.com>
25112
25113         * gst/gstcaps.c:
25114         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
25115         two refcounts makes it immutable, which is enough. Doc more.
25116
25117 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
25118
25119         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
25120           Put the mini_object into GValue as a mini_object,
25121           not a gpointer, since that's how we declared
25122           the signal.
25123
25124 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25125
25126         * examples/pwg/Makefile.am:
25127           Fix buildbot again.
25128
25129 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25130
25131         * docs/pwg/building-testapp.xml:
25132           Add extra check.
25133         * examples/pwg/Makefile.am:
25134           Fix buildbot.
25135
25136 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25137
25138         * configure.ac:
25139         * examples/Makefile.am:
25140         * examples/pwg/Makefile.am:
25141         * examples/pwg/extract.pl:
25142           Enable building the PWG examples.
25143         * docs/pwg/advanced-interfaces.xml:
25144           Add URI interface stub.
25145         * docs/pwg/advanced-types.xml:
25146         * docs/pwg/other-autoplugger.xml:
25147         * docs/pwg/appendix-porting.xml:
25148         * docs/pwg/pwg.xml:
25149           Add porting guide (mostly stubs), remove autoplugging (see ADM).
25150         * docs/pwg/building-boiler.xml:
25151         * docs/pwg/building-chainfn.xml:
25152         * docs/pwg/building-pads.xml:
25153         * docs/pwg/building-props.xml:
25154         * docs/pwg/building-state.xml:
25155         * docs/pwg/building-testapp.xml:
25156           Update the building-*.xml parts for 0.9 changes. All examples
25157           code blocks compile in examples/pwg/*.
25158
25159 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25160
25161         * docs/manual/advanced-autoplugging.xml:
25162         * docs/manual/appendix-checklist.xml:
25163         * docs/manual/appendix-integration.xml:
25164         * docs/manual/highlevel-components.xml:
25165           Fix playbin/decodebin examples, update docs a bit, mention bus
25166           instead of signals in various places, mention kmplayer and
25167           kaffeine since they have a working GStreamer backend in the KDE
25168           section.
25169
25170 2005-06-30  Wim Taymans  <wim@fluendo.com>
25171
25172         * CHANGES-0.9:
25173         * docs/design/draft-ghostpads.txt:
25174         * docs/design/draft-push-pull.txt:
25175         * docs/design/draft-query.txt:
25176         * docs/design/part-TODO.txt:
25177         * docs/design/part-query.txt:
25178         Added CHANGES-0.9 doc, updated status of other docs.
25179         
25180         * gst/gstquery.h:
25181         Remove "hmm" macro
25182
25183 2005-06-30  Wim Taymans  <wim@fluendo.com>
25184
25185         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
25186         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
25187         (gst_base_sink_change_state):
25188         * gst/base/gstbasesink.h:
25189         Some tweaks, only EOS and a buffer complete a preroll.
25190
25191 2005-06-30  Andy Wingo  <wingo@pobox.com>
25192
25193         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
25194         activate_push down to the internal pad as well.
25195
25196 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
25197
25198         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25199
25200         * gst/gsttaginterface.c:
25201           Some documentation fixes (#307394 and #307397).
25202
25203 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
25204
25205         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25206
25207         * gst/gstvalue.c: (gst_value_intersect_list):
25208           Fix memleak (#309125).
25209
25210 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25211
25212         * docs/manual/advanced-dataaccess.xml:
25213           Fix fakesrc example to compile; doesn't work, bug somewhere...?
25214         * docs/manual/basics-pads.xml:
25215           Add reference for filtered caps to above chapter.
25216
25217 2005-06-30  Wim Taymans  <wim@fluendo.com>
25218
25219         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
25220         (gst_bin_change_state):
25221         Probes are gone.
25222         Lame attempt at making the state change function a bit
25223         more readable.
25224
25225 2005-06-30  Wim Taymans  <wim@fluendo.com>
25226
25227         * docs/design/part-clocks.txt:
25228         * docs/design/part-element-sink.txt:
25229         * docs/design/part-events.txt:
25230         * docs/design/part-preroll.txt:
25231         * docs/design/part-states.txt:
25232         Some more tweeks and additions to the docs.
25233
25234 2005-06-30  Wim Taymans  <wim@fluendo.com>
25235
25236         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25237         (default_have_data), (gst_pad_class_init), (gst_pad_init),
25238         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
25239         (gst_pad_check_pull_range), (gst_pad_get_range),
25240         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
25241         * gst/gstpad.h:
25242         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
25243         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
25244         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
25245         (gst_pad_remove_buffer_probe):
25246         Removed atomic operations, use existing LOCK.
25247         Move exception handling out of main code path.
25248
25249 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25250
25251         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25252         (silly_return_true_function), (gst_pad_class_init),
25253         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
25254         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
25255         (gst_pad_send_event):
25256           Fix accumulator, add default value by using _emitv() instead
25257           of _emit() for signal emission.
25258
25259 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25260
25261         * docs/manual/advanced-dataaccess.xml:
25262         * examples/manual/Makefile.am:
25263           Add probe example.
25264         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
25265           Make work (??).
25266
25267 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
25268
25269         * gst/elements/gstfilesink.c: (gst_filesink_render):
25270           Simplify code so that we don't have to handle short
25271           writes and return GST_FLOW_ERROR if an error occured.
25272
25273 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25274
25275         * docs/gst/gstreamer-docs.sgml:
25276           Remove probes more.
25277
25278 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25279
25280         * docs/gst/gstreamer-sections.txt:
25281         * docs/gst/tmpl/gstpad.sgml:
25282         * docs/gst/tmpl/gstprobe.sgml:
25283         * gst/Makefile.am:
25284         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
25285         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
25286         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
25287         (gst_pad_push_event), (gst_pad_send_event):
25288         * gst/gstpad.h:
25289         * gst/gstutils.c: (gst_pad_add_data_probe),
25290         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
25291         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
25292         (gst_pad_remove_buffer_probe):
25293         * gst/gstutils.h:
25294           Remove old probes, add new g-signal-based probes and some utility
25295           functions.
25296
25297 2005-06-29  Edward Hervey  <edward@fluendo.com>
25298
25299         * gst/gstelementfactory.c:
25300         * gst/gstutils.h:
25301         * gst/gstutils.c:
25302         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
25303         the definition to the header file.
25304
25305 2005-06-29  Andy Wingo  <wingo@pobox.com>
25306
25307         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
25308         plugins from the source directory.
25309
25310 2005-06-29  Wim Taymans  <wim@fluendo.com>
25311
25312         * docs/gst/tmpl/gstbuffer.sgml:
25313         * docs/gst/tmpl/gstclock.sgml:
25314         Some fixings for blantently wrong text.
25315
25316 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
25317
25318         * check/Makefile.am:
25319         * gst/gst.c: (add_path_func), (init_pre):
25320         * gst/gstregistry.c: (gst_registry_add_path):
25321           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
25322           only scan the GST_PLUGIN_PATH locations, and not add
25323           system locations
25324
25325 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
25326
25327         * docs/gst/gstreamer-sections.txt:
25328         * docs/gst/tmpl/gstbasesrc.sgml:
25329         * gst/gstelement.c:
25330         * gst/gstelement.h:
25331         * gst/gstevent.c:
25332         * gst/gstutils.c:
25333           doc fixes
25334
25335 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25336
25337         * docs/manual/advanced-autoplugging.xml:
25338           Fix autoplugging example.
25339
25340 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25341
25342         * docs/manual/advanced-autoplugging.xml:
25343         * docs/manual/mime-world.fig:
25344           Try to get autoplugging working, fix type detection. Fix text
25345           in hello-world image.
25346
25347 2005-06-29  Wim Taymans  <wim@fluendo.com>
25348
25349         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25350         (gst_base_sink_change_state):
25351         Small debug line.
25352
25353         * gst/gstclock.h:
25354         map SIGNAL and BROADCAST to the right function.
25355
25356         * gst/gstobject.h:
25357         Remove redundant braces.
25358
25359         * gst/gstpad.c: (gst_pad_set_caps):
25360         Don't call setcaps function when reseting caps to NULL.
25361
25362         * gst/gstsystemclock.c: (gst_system_clock_dispose),
25363         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
25364         (gst_system_clock_id_unschedule):
25365         Use BROADCAST as this is what we do.
25366
25367 2005-06-29  Wim Taymans  <wim@fluendo.com>
25368
25369         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25370         We are actually prerolling before commiting the state
25371         change. 
25372
25373 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
25374
25375         * docs/manual/advanced-clocks.xml:
25376         * docs/manual/advanced-interfaces.xml:
25377         * docs/manual/advanced-metadata.xml:
25378         * docs/manual/advanced-position.xml:
25379         * docs/manual/advanced-schedulers.xml:
25380         * docs/manual/advanced-threads.xml:
25381         * docs/manual/appendix-porting.xml:
25382         * docs/manual/basics-bins.xml:
25383         * docs/manual/basics-bus.xml:
25384         * docs/manual/basics-elements.xml:
25385         * docs/manual/basics-helloworld.xml:
25386         * docs/manual/basics-pads.xml:
25387         * docs/manual/highlevel-components.xml:
25388         * docs/manual/manual.xml:
25389         * docs/manual/thread.fig:
25390           Update (until threads/scheduling) Application Development Manual;
25391           remove GstThread, add GstBus, add simple porting checklist, add
25392           documentation for tag writing, clocks, make all examples until this
25393           part compile and run.
25394         * examples/manual/Makefile.am:
25395           Update from changes to Application Development Manual; add bus
25396           example, remove thread example.
25397
25398 2005-06-28  Wim Taymans  <wim@fluendo.com>
25399
25400         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
25401         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
25402         (gst_bus_source_dispatch):
25403         Add debugging messages.
25404         Make internal methods static.
25405         Handle the case where the bus is flushed in the handler.
25406         
25407         * gst/gstelement.c: (gst_element_get_bus):
25408         Fix refcount in _get_bus();
25409
25410         * gst/gstpipeline.c: (gst_pipeline_change_state),
25411         (gst_pipeline_get_clock_func):
25412         Clock refcounting fixes.
25413         Handle the case where preroll timed out more gracefully.
25414         
25415         * gst/gstsystemclock.c: (gst_system_clock_dispose):
25416         Clean up the internal thread in dispose. This is needed
25417         for subclasses that actually get disposed.
25418         
25419         * gst/schedulers/threadscheduler.c:
25420         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
25421         (gst_thread_scheduler_dispose):
25422         Free thread pool in dispose.
25423
25424 2005-06-28  Andy Wingo  <wingo@pobox.com>
25425
25426         * tests/network-clock-utils.scm (debug, print-event): New utils.
25427
25428         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
25429         (*packet-loss*): Unified loss probability.
25430         (network-time): Report out-of-band events.
25431
25432         * tests/plot-data: Add support for out-of-band events. Hack it
25433         into this script instead of passing it down the pipe; should fix
25434         this later.
25435
25436 2005-06-28  Wim Taymans  <wim@fluendo.com>
25437
25438         * docs/gst/gstreamer.types:
25439         * docs/gst/tmpl/gstbasesrc.sgml:
25440         * docs/gst/tmpl/gstpad.sgml:
25441         Docs fixes.
25442
25443 2005-06-28  Wim Taymans  <wim@fluendo.com>
25444
25445         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25446         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
25447         (gst_proxy_pad_do_fixatecaps):
25448         Correctly proxy the check_pull_range function.
25449
25450 2005-06-28  Andy Wingo  <wingo@pobox.com>
25451
25452         * tests/network-clock.scm: Removed need for slib.
25453         
25454 2005-06-28  Wim Taymans  <wim@fluendo.com>
25455
25456         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
25457         (gst_basesink_preroll_queue_flush):
25458         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
25459         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
25460         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25461         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
25462         (gst_proxy_pad_set_property):
25463         * gst/gstpad.c:
25464         * gst/gstpad.h:
25465         * gst/gstqueue.c: (gst_queue_init):
25466         The deprecated pad loop function is removed now.
25467
25468 2005-06-28  Andy Wingo  <wingo@pobox.com>
25469
25470         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
25471         New parameters, simulate network packet loss.
25472
25473         * tests/network-clock-utils.scm: Initialize the RNG.
25474
25475 2005-06-28  Wim Taymans  <wim@fluendo.com>
25476
25477         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
25478         (gst_basesink_event), (gst_basesink_deactivate):
25479         Flushing the preroll queue always needs to unlock the waiters.
25480
25481 2005-06-28  Edward Hervey  <edward@fluendo.com>
25482
25483         * gst/gstpipeline.c: (gst_pipeline_send_event): 
25484         Wheen a seek was successful on a pipeline, set the stream_time to the
25485         seek offset in order to have a synchronized stream_time.
25486
25487 2005-06-28  Wim Taymans  <wim@fluendo.com>
25488
25489         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
25490         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
25491         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
25492         (gst_proxy_pad_do_fixatecaps):
25493         Call wrapper function instead of just calling the function
25494         pointers. This takes care of any locking and whatmore.
25495
25496 2005-06-28  Wim Taymans  <wim@fluendo.com>
25497
25498         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
25499         (gst_pad_pull_range):
25500         * gst/gstpad.h:
25501         CONNECTED -> LINKED.
25502
25503 2005-06-28  Andy Wingo  <wingo@pobox.com>
25504
25505         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
25506         source-munging commit!!!
25507
25508         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
25509         (gst_object_sink): Take gpointer arguments, not GstObject --
25510         avoids casts. Like GLib.
25511
25512         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
25513         activate.
25514
25515 2005-06-27  Andy Wingo  <wingo@pobox.com>
25516
25517         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
25518         remaining buffer.
25519
25520         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
25521         returns a sorted copy of the trace list.
25522         (gst_alloc_trace_print_live): New API, only prints traces with
25523         live objects. Sort the list.
25524         (gst_alloc_trace_print_all): Sort the list.
25525         (gst_alloc_trace_print): Align columns.
25526
25527         * gst/elements/gstttypefindelement.c:
25528         * gst/elements/gsttee.c:
25529         * gst/base/gstbasesrc.c:
25530         * gst/base/gstbasesink.c:
25531         * gst/base/gstbasetransform.c:
25532         * gst/gstqueue.c: Adapt for pad activation changes.
25533
25534         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
25535         sched.
25536         (gst_pipeline_dispose): Drop ref on sched.
25537
25538         * gst/gstpad.c (gst_pad_init): Set the default activate func.
25539         (gst_pad_activate_default): Push mode by default.
25540         (pre_activate_switch, post_activate_switch): New stubs, things to
25541         do before and after switching activation modes on pads.
25542         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
25543         the pad's activate function to choose which mode to activate.
25544         Shortcut on deactivation and call the right function directly.
25545         (gst_pad_activate_pull): New API, (de)activates a pad in pull
25546         mode.
25547         (gst_pad_activate_push): New API, same for push mode.
25548         (gst_pad_set_activate_function) 
25549         (gst_pad_set_activatepull_function) 
25550         (gst_pad_set_activatepush_function): Setters for new API.
25551
25552         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
25553         Trace all miniobjects.
25554         (gst_mini_object_make_writable): Unref the arg if we copy, like
25555         gst_caps_make_writable.
25556
25557         * gst/gstmessage.c (_gst_message_initialize): No trace init.
25558
25559         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
25560         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
25561         Adapt for new pad API.
25562
25563         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
25564
25565         * gst/gstelement.h:
25566         * gst/gstelement.c (gst_element_iterate_src_pads) 
25567         (gst_element_iterate_sink_pads): New API functions.
25568         
25569         * gst/gstelement.c (iterator_fold_with_resync): New utility,
25570         should fold into gstiterator.c in some form.
25571         (gst_element_pads_activate): Simplified via use of fold and
25572         delegation of decisions to gstpad->activate.
25573
25574         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
25575         help in debugging.
25576
25577         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
25578         class once in init, like gstmessage. Didn't run into this issue
25579         but it seems correct. Don't initialize a trace, gstminiobject does
25580         that.
25581
25582         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
25583         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
25584         to the bus.
25585         (assert_live_count): New util function, uses alloc traces to check
25586         cleanup.
25587
25588         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
25589         To be modified when unlink drops the internal pad.
25590
25591 2005-06-27  Wim Taymans  <wim@fluendo.com>
25592
25593         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
25594         (gst_bin_change_state):
25595         Cleanup the get_state() function a little, make sure it
25596         iterates the same set of elements.
25597         Added stub iterate_state_order().
25598
25599 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
25600
25601         * docs/gst/gstreamer-docs.sgml:
25602         * docs/gst/gstreamer-sections.txt:
25603         * docs/gst/gstreamer.types:
25604         * docs/gst/tmpl/gstbasesink.sgml:
25605         * docs/gst/tmpl/gstbasesrc.sgml:
25606         * docs/gst/tmpl/gstbasetransform.sgml:
25607         * docs/gst/tmpl/gstelement.sgml:
25608         * docs/gst/tmpl/gstiterator.sgml:
25609         * gst/base/gstbasesrc.c:
25610         * gst/base/gstbasesrc.h:
25611         * gst/base/gstbasetransform.h:
25612         * gst/gstelement.c:
25613         * gst/gstiterator.h:
25614           adding basetransform and iterator docs
25615
25616 2005-06-27  Andy Wingo  <wingo@pobox.com>
25617
25618         * docs/design/part-activation.txt: Notes on how activation should
25619         work -- not quite implemented yet.
25620
25621 2005-06-25  Wim Taymans  <wim@fluendo.com>
25622
25623         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
25624         At least get the chain function correct, needs more
25625         fixing.
25626
25627 2005-06-25  Wim Taymans  <wim@fluendo.com>
25628
25629         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
25630         (gst_basesink_handle_object), (gst_basesink_event),
25631         (gst_basesink_do_sync), (gst_basesink_handle_event),
25632         (gst_basesink_change_state):
25633         * gst/gsttask.h:
25634         Right, two problems here: ghostpads don't take locks and
25635         glib _rec_mutex_lock_full() with depth==0 still locks.
25636         Catch illegal locking and g_warn them.
25637
25638 2005-06-25  Wim Taymans  <wim@fluendo.com>
25639
25640         * check/states/sinks.c: (START_TEST), (gst_object_suite):
25641         Have to check for completion now...
25642
25643 2005-06-25  Wim Taymans  <wim@fluendo.com>
25644
25645         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
25646         (gst_basesink_handle_object), (gst_basesink_event),
25647         (gst_basesink_do_sync), (gst_basesink_handle_event),
25648         (gst_basesink_change_state):
25649         * gst/gstpad.h:
25650         Unlock STREAM_LOCK whatever the recursion was.
25651
25652 2005-06-25  Wim Taymans  <wim@fluendo.com>
25653
25654         * gst/base/gstbasesink.c: (gst_basesink_set_property),
25655         (gst_basesink_preroll_queue_empty),
25656         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
25657         (gst_basesink_event), (gst_basesink_do_sync),
25658         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
25659         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
25660         (gst_basesink_change_state):
25661         Reworked the base sink, handle event and buffer serialisation
25662         correctly and removed possible deadlock.
25663         Handle EOS correctly.
25664
25665 2005-06-25  Wim Taymans  <wim@fluendo.com>
25666
25667         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
25668         (gst_pipeline_change_state):
25669         * tools/gst-launch.c: (check_intr), (event_loop), (main):
25670         Allow elements to post EOS in the state change function.
25671         Fix up -launch, make it exit the poll loop when the
25672         pipeline actually changed state.
25673         Fix up warning parsing in -launch.
25674
25675 2005-06-25  Wim Taymans  <wim@fluendo.com>
25676
25677         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
25678         (gst_tee_sink_activate):
25679         Core takes STREAM_LOCK for us now.
25680
25681 2005-06-25  Wim Taymans  <wim@fluendo.com>
25682
25683         * gst/gstelement.c: (gst_element_get_state_func),
25684         (gst_element_set_state):
25685         * gst/gstelement.h:
25686         * gst/gstmessage.c: (gst_message_parse_error),
25687         (gst_message_parse_warning):
25688         Keep track of current target state while performing a state
25689         change so that subclasses can do something interesting.
25690         Fix parsing of warning/error messages when GError is NULL.
25691
25692 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
25693
25694         * docs/gst/Makefile.am:
25695         * docs/gst/gstreamer-docs.sgml:
25696         * docs/gst/gstreamer-sections.txt:
25697         * docs/gst/gstreamer.types:
25698         * docs/gst/tmpl/gstbasesink.sgml:
25699         * docs/gst/tmpl/gstbasesrc.sgml:
25700         * docs/gst/tmpl/gstbin.sgml:
25701         * docs/gst/tmpl/gstcompat.sgml:
25702         * docs/gst/tmpl/gstfakesink.sgml:
25703         * docs/gst/tmpl/gstfakesrc.sgml:
25704         * docs/gst/tmpl/gstfilesink.sgml:
25705         * docs/gst/tmpl/gstfilesrc.sgml:
25706         * docs/gst/tmpl/gstindex.sgml:
25707         * docs/manual/appendix-quotes.xml:
25708         * gst/base/gstbasesrc.h:
25709         * gst/elements/gstfakesrc.h:
25710         * gst/gstmessage.h:
25711           start pulling in base classes and elements in our docs
25712
25713 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
25714
25715         * docs/gst/Makefile.am:
25716         * docs/libs/Makefile.am:
25717           fixed make distcheck with gtk-doc 1.3
25718
25719 2005-06-23  Wim Taymans  <wim@fluendo.com>
25720
25721         * gst/gstelement.c: (gst_element_get_state_func),
25722         (gst_element_set_state), (gst_element_change_state):
25723         When the state did not change, also report NO_PREROLL
25724         when it matters.
25725
25726 2005-06-23  Wim Taymans  <wim@fluendo.com>
25727
25728         * gst/gstpad.c: (gst_pad_event_default):
25729         * gst/gstqueue.c: (gst_queue_loop):
25730         No unsafe task pausing please.
25731
25732 2005-06-23  Wim Taymans  <wim@fluendo.com>
25733
25734         * gst/schedulers/threadscheduler.c:
25735         (gst_thread_scheduler_task_start),
25736         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
25737         Ref the task before pushing it on the threadpool. This
25738         makes sure that we have a ref when the threadfunction is
25739         actually called.
25740
25741 2005-06-23  Andy Wingo  <wingo@pobox.com>
25742
25743         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
25744         offset is greater than the file's size.
25745
25746         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
25747         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
25748         * gst/gstobject.c (gst_object_class_init): Make the class lock
25749         recursive. Wim won't let me drop deep_notify. Decodebin works
25750         again, whoopdy doo.
25751
25752         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
25753         internal pad, and hacks accordingly. Doesn't do it on the target
25754         pad because we change its caps. Probably catches all cases of
25755         interest tho.
25756         (gst_ghost_pad_set_property): Connect to notify::caps as
25757         appropritate.
25758
25759         * tests/network-clock.scm (plot-simulation): Pipe data to the
25760         elite python skript.
25761
25762         * tests/network-clock-utils.scm (define-parameter): New macro,
25763         defines a parameter that can be set via the command line.
25764         (set-parameter!, parse-parameter-arguments): Command line args
25765         parser.
25766
25767         * tests/plot-data: Simple matplotlib-based plotter, takes input on
25768         stdin.
25769
25770 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
25771
25772         * gst/elements/gsttypefindelement.c:
25773         (gst_type_find_element_handle_event):
25774           Don't restart typefinding on a discont.
25775         * gst/gstelement.c: (gst_element_set_state):
25776           Debug spelling fix.
25777         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
25778           Allow changing mode of an active pad.
25779           Debug output fixes.
25780         * gst/registries/gstlibxmlregistry.c: (load_feature):
25781           Don't cast a static pad template to a normal pad template.
25782
25783 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
25784
25785         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25786         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
25787           remove gst_strtoll completely, since it didn't actually do
25788           anything more than what g_ascii_strtoull already does.
25789           check for range errors when deserializing
25790           do a cast for the unsigned cases; but further fixing needs
25791           a decision on what the interpretation of "(int)" and
25792           deserialization should be for values that fall outside the
25793           type's boundaries (ie, refuse, or interpret as casting)
25794
25795 2005-06-23  Wim Taymans  <wim@fluendo.com>
25796
25797         * check/Makefile.am:
25798         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
25799         * docs/design/part-live-source.txt:
25800         * docs/design/part-states.txt:
25801         * gst/base/gstbasesrc.c: (gst_basesrc_init),
25802         (gst_basesrc_set_live), (gst_basesrc_is_live),
25803         (gst_basesrc_get_range), (gst_basesrc_activate),
25804         (gst_basesrc_change_state):
25805         * gst/base/gstbasesrc.h:
25806         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
25807         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
25808         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
25809         * gst/gstelement.c: (gst_element_get_state_func),
25810         (gst_element_set_state):
25811         * gst/gstelement.h:
25812         * gst/gsttypes.h:
25813         * tools/gst-launch.c: (event_loop), (main):
25814         Added support for live sources and other elements that
25815         cannot do preroll.
25816         Updated design docs, added live-source design doc.
25817         Implemented live source functionality in basesrc
25818         Fix error condition in _bin_get_state()
25819         Implement live source handling in -launch.
25820         Added check for live sources.
25821         Fixed case in GstBin where elements were changed state
25822         multiple times.
25823
25824
25825 2005-06-23  Andy Wingo  <wingo@pobox.com>
25826
25827         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
25828         borken refcounting.
25829
25830         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
25831         gst_caps_replace takes care of this for us.
25832
25833         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
25834         gst_pad_set_caps on the target, not just its setcaps() function.
25835
25836         * tests/network-clock.scm: 
25837         * tests/network-clock-utils.scm: A network clock simulator.
25838         Something of an algorithmic testbed before doing something in C.
25839
25840 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25841
25842         * check/Makefile.am:
25843         * check/gst/capslist.h:
25844           copy over from 0.8, and add two with bitmasks specified with
25845           (int) 0xFF...
25846         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
25847           add test to parse everything from capslist.h
25848         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
25849         (main):
25850           add test for structure deserialization
25851         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25852           add tests for deserialization of strings to int types
25853         * gst/gststructure.c: (gst_structure_nth_field_name):
25854         * gst/gststructure.h:
25855           add a way to get the name of a field referenced by index
25856         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
25857           instead of checking if the resulting long long lies between
25858           min and max, we check if the long long would fit into
25859           a number of bytes for the final type.
25860           This fixes cases where a string represents 2^32 - 1, which
25861           when cast to int would be the (valid) -1, but is bigger than
25862           G_MAXINT
25863
25864 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25865
25866         * gst/parse/grammar.y:
25867           add a log line for type deserialization
25868
25869 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
25870
25871         * check/gst/gstvalue.c: (START_TEST):
25872         * gst/gstvalue.c: (gst_value_deserialize):
25873           return long long, not int, so gint64 deserialization actually
25874           works.  Is there any flag that makes the compiler check this ?
25875           Fixes #308559
25876
25877 2005-06-22  Wim Taymans  <wim@fluendo.com>
25878
25879         * gst/gstbuffer.h:
25880         Added convenience macros for setting buffers in GValue.
25881
25882 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25883
25884         * check/gst/.cvsignore:
25885         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
25886           add a test deserializing int64, and comment part out because
25887           it fails, yay !
25888
25889 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
25890
25891         * check/Makefile.am:
25892         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
25893         * testsuite/Makefile.am:
25894         * testsuite/caps/Makefile.am:
25895         * testsuite/caps/value_serialize.c:
25896         * testsuite/test_gst_init.c:
25897           move a value_serialize test over
25898
25899 2005-06-20  Wim Taymans  <wim@fluendo.com>
25900
25901         * gst/gstpad.c:
25902         Small doc updates.
25903         
25904         * gst/gstvalue.c: (gst_value_compare_buffer),
25905         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
25906         (gst_value_compare_flags), (gst_value_serialize_flags),
25907         (gst_value_deserialize_flags), (_gst_value_initialize):
25908         Fix serialisation of buffers, they are not boxed types anymore
25909
25910 2005-06-20  Wim Taymans  <wim@fluendo.com>
25911
25912         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
25913         Testcase to show error in buffer-on-caps serialisation.
25914
25915 2005-06-20  Andy Wingo  <wingo@pobox.com>
25916
25917         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
25918         will be adding to later.
25919
25920         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
25921         if its socks fill with rocks.
25922         (gst_system_clock_obtain): Set the name on object construction.
25923         Avoid double-checked locking.
25924
25925 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
25926
25927         * gst/gsturi.c: (gst_element_make_from_uri):
25928           Fix potential endless loop.
25929
25930 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25931
25932         * check/Makefile.am:
25933           add gsttag
25934         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
25935         (main):
25936           move over from testsuite dir and clean up
25937         * configure.ac:
25938         * gst/gsttag.c:
25939         * testsuite/Makefile.am:
25940         * testsuite/tags/.cvsignore:
25941         * testsuite/tags/Makefile.am:
25942         * testsuite/tags/merge.c:
25943           remove testsuite/tags
25944
25945 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25946
25947         * docs/gst/gstreamer-sections.txt:
25948         * docs/gst/tmpl/gstenumtypes.sgml:
25949         * win32/gstenumtypes.c:
25950           clean up documentation build a little
25951
25952 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25953
25954         * check/gstcheck.h:
25955           add macros for checking refcounts on objects and caps
25956         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
25957           add some more unit tests
25958         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
25959         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
25960           fix leaked refcounts (I hope :)) so unittest works
25961         * gst/gstpad.h:
25962           whitespace removal
25963
25964 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
25965
25966         * configure.ac: back to HEAD
25967
25968 === release 0.9.1 ===
25969
25970 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
25971
25972         * NEWS:
25973         * RELEASE:
25974           updated
25975
25976 2005-06-17  Andy Wingo  <wingo@pobox.com>
25977
25978         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
25979         assert; it's always possible that the pad gets deactivated in
25980         between the checks in gstpad.c and the implementation. Rely on
25981         finish_preroll() to return a FLUSHING or similar instead of on the
25982         assert.
25983         
25984         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
25985         clock and post an EOS message if we come out of finish_preroll in
25986         the playing state.
25987
25988 2005-06-16  David Schleef  <ds@schleef.org>
25989
25990         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25991         (gst_capsfilter_set_property): Allow NULL as possible value
25992         for filter_caps property, indicating GST_CAPS_ANY.
25993
25994 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25995
25996         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
25997           fix debug output
25998         * gst/schedulers/Makefile.am:
25999           use libgst prefix
26000         * gstreamer.spec.in:
26001           fix spec for it
26002
26003 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
26004
26005         * gstreamer.spec.in:
26006           clean up
26007
26008 2005-06-08  Andy Wingo  <wingo@pobox.com>
26009
26010         * gst/gstutils.c: RPAD fixes all around.
26011         (gst_element_link_pads): Refcounting fixes.
26012
26013         * tools/gst-inspect.c:
26014         * tools/gst-xmlinspect.c:
26015         * parse/grammar.y:
26016         * gst/base/gsttypefindhelper.c:
26017         * gst/base/gstbasesink.c:
26018         * gst/gstqueue.c: RPAD fixes.
26019
26020         * gst/gstghostpad.h:
26021         * gst/gstghostpad.c: New ghost pad implementation as full proxy
26022         pads. The tricky thing is they provide both source and sink
26023         interfaces, since they proxy the internal pad for the external
26024         pad, and vice versa. Implement with lower-level ProxyPad objects,
26025         with the interior proxy pad as a child of the exterior ghost pad.
26026         Should write a doc on this.
26027         
26028         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
26029         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
26030         gst_object API.
26031         
26032         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
26033         pads are real pads. No ghost pads in this file. Not documenting
26034         the myriad s/RPAD/PAD/ and REALIZE fixes.
26035         (gst_pad_class_init): Add properties for "direction" and
26036         "template". Both are construct-only, so they can't change during
26037         the life of the pad. Fixes properly deriving from GstPad.
26038         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
26039         derived objects, just set properties when creating the objects via
26040         g_object_new.
26041         (gst_pad_get_parent): Implement as a function, return NULL if the
26042         parent is not an element.
26043         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
26044         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
26045         
26046         * gst/gstobject.c (gst_object_class_init): Make name a construct
26047         property. Don't set it in the object init.
26048
26049         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
26050         with UNKNOWN direction.
26051         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
26052         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
26053         (gst_element_remove_pad): Remove ghost-pad special cases.
26054         (gst_element_pads_activate): Remove rpad cruft.
26055
26056         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
26057         catch the pad's-parent-not-an-element case.
26058
26059         * gst/gst.h: Include gstghostpad.h.
26060
26061         * gst/gst.c (init_post): No more real, ghost pads.
26062
26063         * gst/Makefile.am: Add gstghostpad.[ch].
26064
26065         * check/Makefile.am:
26066         * check/gst/gstbin.c:
26067         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
26068         into a bin creates ghost pads, and that the refcounts are right.
26069         Partly moved from gstbin.c.
26070
26071 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26072
26073         * check/gst-libs/.cvsignore:
26074         * check/gst/.cvsignore:
26075         * check/pipelines/.cvsignore:
26076           ignore more
26077         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
26078         (START_TEST), (cleanup_suite), (main):
26079           add some tests related to cleanup after running pipelines
26080
26081 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26082
26083         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
26084           add a testsuite for GstBuffer
26085
26086 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
26087
26088         * gst/gstminiobject.h:
26089           add defines for accessing the refcount
26090
26091 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
26092
26093         * Makefile.am: added support for html unit test coverage reports
26094
26095 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
26096
26097         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26098           Free existing caps if the capsfilter changes. Add a FIXME about
26099           setting those caps on the pads.
26100
26101         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
26102           Before adding a ghost pad to a parent bin, check that there isn't
26103           already one for the element on the bin. Prevents infinite recursion
26104           when using decodebin in parse pipelines. Andy says he'll rewrite the
26105           way this works anyway, so ignore the hack.
26106
26107 2005-06-02  Andy Wingo  <wingo@pobox.com>
26108
26109         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
26110         file size, pass it on to the type find helper.
26111
26112         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
26113         segment_start and segment_end properly according to the seek
26114         method. Segment_end is still a bit flaky because offset can be
26115         negative for CUR and END cases, but it takes -1 as an "unset"
26116         value.
26117
26118 2005-06-02  Wim Taymans  <wim@fluendo.com>
26119
26120         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
26121         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
26122         (gst_basesink_activate):
26123         * gst/base/gstbasesink.h:
26124         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26125         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
26126         (gst_pad_query), (gst_pad_start_task):
26127         * gst/gstpad.h:
26128         * gst/gstqueue.c: (gst_queue_bufferalloc),
26129         (gst_queue_handle_sink_event), (gst_queue_chain):
26130         Bufferalloc: return GstFlowReturn to more accuratly report
26131         why allocation failed.
26132
26133 2005-06-02  Wim Taymans  <wim@fluendo.com>
26134
26135         * gst/gstpipeline.c: (gst_pipeline_send_event):
26136         Take snapshot of state without blocking.
26137
26138 2005-06-02  Wim Taymans  <wim@fluendo.com>
26139
26140         * docs/design/part-TODO.txt:
26141         * docs/design/part-caps.txt:
26142         * docs/design/part-clocks.txt:
26143         * docs/design/part-negotiation.txt:
26144         * docs/design/part-preroll.txt:
26145         Small doc updates 
26146
26147 2005-05-30  Wim Taymans  <wim@fluendo.com>
26148
26149         * gst/elements/gstidentity.c: (gst_identity_event),
26150         (gst_identity_transform), (gst_identity_get_property):
26151         Protect last_message property as it is accessed from
26152         multiple threads.
26153
26154 2005-05-30  Wim Taymans  <wim@fluendo.com>
26155
26156         * gst/gstelement.c: (gst_element_init),
26157         (gst_element_pads_activate), (gst_element_change_state):
26158         Slicker pad activation code.
26159
26160 2005-05-30  Wim Taymans  <wim@fluendo.com>
26161
26162         * gst/Makefile.am:
26163         * gst/gstelement.h:
26164         * gst/gstelementfactory.h:
26165         * gst/gsttypes.h:
26166         Move elementfactory methods to separate .h file.
26167
26168 2005-05-30  Wim Taymans  <wim@fluendo.com>
26169
26170         * docs/design/part-overview.txt:
26171         * gst/gstsystemclock.h:
26172         Small typo fixes, doc updates.
26173
26174 2005-05-30  Wim Taymans  <wim@fluendo.com>
26175
26176         * gst/gst.c: (gst_init_get_popt_table), (init_post),
26177         (init_popt_callback):
26178         Remove cpu-opt flag.
26179
26180 2005-05-30  Wim Taymans  <wim@fluendo.com>
26181
26182         * gst/gstbuffer.c: (gst_subbuffer_finalize),
26183         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
26184         * gst/gstbuffer.h:
26185         Avoid typechecking in places where not needed.
26186         Added accessor for malloc_data.
26187
26188 2005-05-30  Wim Taymans  <wim@fluendo.com>
26189
26190         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
26191         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
26192         (gst_pad_configure_sink), (gst_pad_configure_src),
26193         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
26194         (gst_pad_start_task):
26195         Propagate errors from _set_caps() in configure_src/sink
26196         functions instead of returning TRUE.
26197         FLUSH events can travel up and downstream
26198
26199
26200 2005-05-30  Wim Taymans  <wim@fluendo.com>
26201
26202         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
26203         (gst_basesink_activate):
26204         Handle EOS in preroll.
26205
26206 2005-05-30  Wim Taymans  <wim@fluendo.com>
26207
26208         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
26209         (gst_queue_loop), (gst_queue_handle_src_event):
26210         Remove old pieces of code
26211         Flushing the queue in an upstream event is a very bad idea.
26212
26213 2005-05-26  Andy Wingo  <wingo@pobox.com>
26214
26215         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
26216         gst_value_set_mini_object so as to add a ref on the object (which
26217         will be removed when the value is unset).
26218
26219         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
26220         arg type in ::handoff.
26221
26222         * gst/gstelement.c (gst_element_change_state): Also deactivate
26223         pads in READY->NULL, just in case the element didn't make it to
26224         PAUSED. Wingo tested, Wim approved.
26225
26226 2005-05-26  Wim Taymans  <wim@fluendo.com>
26227
26228         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26229         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
26230         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
26231         A flushing pad cannot be used to alloc_buffer from.
26232
26233 2005-05-26  Wim Taymans  <wim@fluendo.com>
26234
26235         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
26236         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
26237         (gst_bus_source_dispatch), (gst_bus_source_finalize),
26238         (gst_bus_create_watch), (gst_bus_add_watch_full):
26239         * gst/gstbus.h:
26240         Implement a real GSource and use g_main_context_wakeup() to
26241         signal new messages instead of the socketpair.
26242
26243 2005-05-25  Wim Taymans  <wim@fluendo.com>
26244
26245         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
26246         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
26247         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26248         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
26249         (gst_pad_send_event), (gst_pad_start_task):
26250         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
26251         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
26252         (gst_queue_sink_activate), (gst_queue_src_activate),
26253         (gst_queue_change_state):
26254         * gst/gstqueue.h:
26255         Fix state changes for non sinks. We now change sinks, then elements
26256         with unconnected srcpads, then the rest.
26257         More efficient queue unlocking in flush and state changes.
26258         Set the pad activate mode even if it does not have an activate
26259         function.
26260
26261 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26262
26263         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
26264           Don't go in pull mode for non-seekable sources.
26265         * gst/elements/gsttypefindelement.h:
26266         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
26267         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
26268         (free_entry), (stop_typefinding),
26269         (gst_type_find_element_handle_event), (find_peek),
26270         (gst_type_find_element_chain), (do_pull_typefind),
26271         (gst_type_find_element_change_state):
26272           Allow typefinding (w/o seeking) in push-mode, simplified version
26273           of what was in 0.8.
26274         * gst/gstutils.c: (gst_buffer_join):
26275         * gst/gstutils.h:
26276           gst_buffer_join() from 0.8.
26277
26278 2005-05-25  Wim Taymans  <wim@fluendo.com>
26279
26280         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
26281         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
26282         (gst_pad_send_event), (gst_pad_start_task):
26283         Disable attempt at mode switching until it is figured out.
26284
26285 2005-05-25  Wim Taymans  <wim@fluendo.com>
26286
26287         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
26288         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
26289         (gst_basesink_finish_preroll), (gst_basesink_chain),
26290         (gst_basesink_loop), (gst_basesink_activate),
26291         (gst_basesink_change_state):
26292         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
26293         (gst_basesrc_get_range), (gst_basesrc_loop),
26294         (gst_basesrc_activate):
26295         * gst/elements/gsttee.c: (gst_tee_sink_activate):
26296         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
26297         (gst_real_pad_init), (gst_real_pad_set_property),
26298         (gst_real_pad_get_property), (gst_pad_set_active),
26299         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
26300         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
26301         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
26302         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
26303         (gst_pad_event_default_dispatch), (gst_pad_event_default),
26304         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
26305         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
26306         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
26307         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
26308         (gst_pad_stop_task):
26309         * gst/gstpad.h:
26310         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
26311         (gst_queue_loop), (gst_queue_src_activate):
26312         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
26313         (gst_task_get_state):
26314         * gst/gsttask.h:
26315         * gst/schedulers/threadscheduler.c:
26316         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
26317         Implement gst_pad_pause/start/stop_task(), take STREAM lock
26318         in task function.
26319         Remove ACTIVE pad flag, use FLUSHING everywhere
26320         Added _pad_chain(), _pad_get_range() to call chain/getrange 
26321         functions.
26322         Add locks around IS_FLUSHING when reading.
26323         Take STREAM lock in chain(), get_range() functions so plugins
26324         don't need to take it anymore.
26325         
26326
26327
26328 2005-05-25  Wim Taymans  <wim@fluendo.com>
26329
26330         * tools/gst-launch.c: (event_loop):
26331         Unref message after using its contents instead of
26332         before.
26333
26334 2005-05-24  Wim Taymans  <wim@fluendo.com>
26335
26336         * docs/design/draft-ghostpads.txt:
26337         * docs/design/draft-push-pull.txt:
26338         * docs/design/draft-query.txt:
26339         * docs/design/part-overview.txt:
26340         Docs updates, added general overview doc.
26341
26342 2005-05-21  David Schleef  <ds@schleef.org>
26343
26344         * docs/gst/tmpl/old/GstBin.sgml:
26345         * docs/gst/tmpl/old/GstBuffer.sgml:
26346         * docs/gst/tmpl/old/GstCaps.sgml:
26347         * docs/gst/tmpl/old/GstClock.sgml:
26348         * docs/gst/tmpl/old/GstCompat.sgml:
26349         * docs/gst/tmpl/old/GstData.sgml:
26350         * docs/gst/tmpl/old/GstElement.sgml:
26351         * docs/gst/tmpl/old/GstEvent.sgml:
26352         * docs/gst/tmpl/old/GstIndex.sgml:
26353         * docs/gst/tmpl/old/GstStructure.sgml:
26354         * docs/gst/tmpl/old/GstTag.sgml:
26355         * docs/gst/tmpl/old/cothreads.sgml:
26356         * docs/gst/tmpl/old/cothreads_compat.sgml:
26357         * docs/gst/tmpl/old/gettext.sgml:
26358         * docs/gst/tmpl/old/gobject2gtk.sgml:
26359         * docs/gst/tmpl/old/grammar.tab.sgml:
26360         * docs/gst/tmpl/old/gst-i18n-app.sgml:
26361         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
26362         * docs/gst/tmpl/old/gst_private.sgml:
26363         * docs/gst/tmpl/old/gstaggregator.sgml:
26364         * docs/gst/tmpl/old/gstarch.sgml:
26365         * docs/gst/tmpl/old/gstatomic_impl.sgml:
26366         * docs/gst/tmpl/old/gstbufferstore.sgml:
26367         * docs/gst/tmpl/old/gstdata_private.sgml:
26368         * docs/gst/tmpl/old/gstdisksink.sgml:
26369         * docs/gst/tmpl/old/gstdisksrc.sgml:
26370         * docs/gst/tmpl/old/gstelementfactory.sgml:
26371         * docs/gst/tmpl/old/gstextratypes.sgml:
26372         * docs/gst/tmpl/old/gstfakesink.sgml:
26373         * docs/gst/tmpl/old/gstfakesrc.sgml:
26374         * docs/gst/tmpl/old/gstfdsink.sgml:
26375         * docs/gst/tmpl/old/gstfdsrc.sgml:
26376         * docs/gst/tmpl/old/gstfilesink.sgml:
26377         * docs/gst/tmpl/old/gstfilesrc.sgml:
26378         * docs/gst/tmpl/old/gsthttpsrc.sgml:
26379         * docs/gst/tmpl/old/gstidentity.sgml:
26380         * docs/gst/tmpl/old/gstindexfactory.sgml:
26381         * docs/gst/tmpl/old/gstmarshal.sgml:
26382         * docs/gst/tmpl/old/gstmd5sink.sgml:
26383         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
26384         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
26385         * docs/gst/tmpl/old/gstpadtemplate.sgml:
26386         * docs/gst/tmpl/old/gstpipefilter.sgml:
26387         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
26388         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
26389         * docs/gst/tmpl/old/gstshaper.sgml:
26390         * docs/gst/tmpl/old/gstspider.sgml:
26391         * docs/gst/tmpl/old/gstspideridentity.sgml:
26392         * docs/gst/tmpl/old/gststatistics.sgml:
26393         * docs/gst/tmpl/old/gsttee.sgml:
26394         * docs/gst/tmpl/old/gsttimecache.sgml:
26395         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
26396         * docs/gst/tmpl/old/gstxmlregistry.sgml:
26397         * docs/gst/tmpl/old/gthread-cothreads.sgml:
26398         * docs/gst/tmpl/old/types.sgml:
26399           I didn't intend to add these or check them in.
26400
26401 2005-05-19  David Schleef  <ds@schleef.org>
26402
26403         * configure.ac: Use -no-common everywhere.  In a sane world, it
26404           would be the default in libtool, because without it, you can't
26405           build DLLs on Windows.
26406         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
26407         * docs/gst/gstreamer-sections.txt:
26408         * docs/gst/tmpl/gstcpu.sgml:
26409         * docs/gst/tmpl/gstdata.sgml:
26410         * docs/gst/tmpl/gstthread.sgml:
26411
26412 2005-05-19  David Schleef  <ds@schleef.org>
26413
26414         * gst/gstminiobject.c: (gst_value_set_mini_object),
26415         (gst_value_take_mini_object), (gst_value_get_mini_object):
26416         * gst/gstminiobject.h: Add GValue set/get functions.
26417
26418 2005-05-19  Wim Taymans  <wim@fluendo.com>
26419
26420         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
26421         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
26422         (gst_subbuffer_init), (gst_buffer_is_span_fast):
26423         * gst/gstbuffer.h:
26424         * gst/gstbus.c: (gst_bus_post):
26425         * gst/gstelement.c: (gst_element_get_random_pad):
26426         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
26427         Make subbufer unref the parent in finalize.
26428         some more debugging info.
26429
26430
26431 2005-05-19  Wim Taymans  <wim@fluendo.com>
26432
26433         * gst/base/gstbasesink.c: (gst_basesink_class_init),
26434         (gst_basesink_init), (gst_basesink_finalize),
26435         (gst_basesink_activate), (gst_basesink_change_state):
26436         Don't free preroll queue too early.
26437
26438 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26439
26440         * gst/Makefile.am:
26441         * gst/ROADMAP:
26442           Hi, I'm outdated. Please shoot me.
26443
26444 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26445
26446         * gst/gstpipeline.c: (gst_pipeline_send_event):
26447           Do not access variables after they have been deleted.
26448
26449 2005-05-19  Wim Taymans  <wim@fluendo.com>
26450
26451         * tools/gst-inspect.c: (print_plugin_features):
26452         A plugin feature does unfortunatly not use the
26453         object name yet...
26454
26455 2005-05-18  Wim Taymans  <wim@fluendo.com>
26456
26457         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
26458         Port _span() functions to new subbuffers.
26459
26460 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26461
26462         * gst/gstbin.c: (gst_bin_add_func):
26463           Fix clock settery in bins when adding kids after the clock has
26464           been selected.
26465
26466 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26467
26468         * gst/elements/gstidentity.c: (gst_identity_class_init):
26469           Workaround until signals support GstMiniObject.
26470
26471 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
26472
26473         * gst/gstbuffer.c:
26474         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
26475
26476 2005-05-18  Wim Taymans  <wim@fluendo.com>
26477
26478         * gst/base/Makefile.am:
26479         * gst/base/gstadapter.c: (gst_adapter_base_init),
26480         (gst_adapter_class_init), (gst_adapter_init),
26481         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
26482         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
26483         (gst_adapter_flush), (gst_adapter_available),
26484         (gst_adapter_available_fast):
26485         * gst/base/gstadapter.h:
26486         Ported and added adapter to the base classes.
26487
26488 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
26489
26490         * gst/gst.c:
26491         * gst/gstmessage.c:
26492           Make sure the class is reffed/unreffed once before threads can be
26493           used.  Fixes #304551.
26494
26495 2005-05-17  Wim Taymans  <wim@fluendo.com>
26496
26497         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
26498         (gst_basesink_chain_unlocked), (gst_basesink_activate):
26499         * gst/gstminiobject.c: (gst_mini_object_get_type),
26500         (gst_mini_object_free):
26501         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
26502         (gst_pad_push), (gst_pad_push_event):
26503         * gst/gstqueue.c: (gst_queue_change_state):
26504         Don't queue buffers in basesink when we are flushing.
26505         Unref buffer when flushing in basesink.
26506         Flush queue when going to READY
26507         Unref buffer when _push() returns an error.
26508         Don't free MiniObject instance when refcount is incremented
26509         in _finalize() so that we can recover objects.
26510
26511 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
26512
26513         * docs/manual/advanced-schedulers.xml:
26514         * docs/manual/appendix-checklist.xml:
26515         * docs/pwg/advanced-clock.xml:
26516         * docs/pwg/advanced-interfaces.xml:
26517         * docs/pwg/advanced-request.xml:
26518         * docs/pwg/advanced-types.xml:
26519         * docs/pwg/intro-preface.xml:
26520         * examples/plugins/example.c: (gst_example_get_type),
26521         (gst_example_class_init), (gst_example_chain),
26522         (gst_example_set_property), (gst_example_get_property),
26523         (gst_example_change_state), (plugin_init):
26524         * examples/plugins/example.h:
26525           small doc fixes
26526
26527 2005-05-17  Wim Taymans  <wim@fluendo.com>
26528
26529         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
26530         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
26531         * gst/gstqueue.c: (gst_queue_change_state):
26532         Clear queue when going to READY.
26533         Remove IN_SETCAPS flag too.
26534
26535 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
26536
26537         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
26538           Remove implicit cast from gboolean to GstElementStateReturn;
26539           make sure we still return failure in paused => ready case if
26540           the parent class fails to change state and our own stop 
26541           vfunc succeeds.
26542
26543 2005-05-17  Wim Taymans  <wim@fluendo.com>
26544
26545         * tools/gst-launch.c: (event_loop):
26546         Message was unreffed too soon.
26547
26548 2005-05-16  Andy Wingo  <wingo@pobox.com>
26549
26550         * gst/gstbin.c (sink_iterator_filter): Err... um...
26551
26552         * check/gst/gstbin.c (test_ghost_pads): New test for the
26553         ghosting-if-elements-not-in-same-bin behavior.
26554
26555 2005-05-16  David Schleef  <ds@schleef.org>
26556
26557         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
26558         accessing refcount directly.
26559
26560 2005-05-15  David Schleef  <ds@schleef.org>
26561
26562         * check/Makefile.am: remove GstData checks
26563         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
26564         * gst/Makefile.am: add miniobject, remove data
26565         * gst/gst.h: add miniobject, remove data
26566         * gst/gstdata.c: remove
26567         * gst/gstdata.h: remove
26568         * gst/gstdata_private.h: remove
26569         * gst/gsttypes.h: remove GstEvent and GstMessage
26570         * gst/gstelement.c: (gst_element_post_message): fix for API changes
26571         * gst/gstmarshal.list: change BOXED -> OBJECT
26572
26573         Implement GstMiniObject.
26574         * gst/gstminiobject.c:
26575         * gst/gstminiobject.h:
26576
26577         Modify to be subclasses of GstMiniObject.
26578         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
26579         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
26580         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
26581         (gst_subbuffer_get_type), (gst_subbuffer_init),
26582         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
26583         (gst_buffer_span):
26584         * gst/gstbuffer.h:
26585         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
26586         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
26587         (_gst_event_copy), (gst_event_new):
26588         * gst/gstevent.h:
26589         * gst/gstmessage.c: (_gst_message_initialize),
26590         (gst_message_get_type), (gst_message_class_init),
26591         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
26592         (gst_message_new), (gst_message_new_error),
26593         (gst_message_new_warning), (gst_message_new_tag),
26594         (gst_message_new_state_changed), (gst_message_new_application):
26595         * gst/gstmessage.h:
26596         * gst/gstprobe.c: (gst_probe_perform),
26597         (gst_probe_dispatcher_dispatch):
26598         * gst/gstprobe.h:
26599         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
26600         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
26601         (_gst_query_copy), (gst_query_new):
26602
26603         Update elements for GstData -> GstMiniObject changes
26604         * gst/gstquery.h:
26605         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
26606         (gst_queue_chain), (gst_queue_loop):
26607         * gst/elements/gstbufferstore.c:
26608         (gst_buffer_store_add_buffer_func),
26609         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
26610         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
26611         (gst_fakesink_render):
26612         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
26613         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
26614         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
26615         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
26616         (gst_filesrc_create_read):
26617         * gst/elements/gstidentity.c: (gst_identity_class_init):
26618         * gst/elements/gsttypefindelement.c:
26619         (gst_type_find_element_src_event), (free_entry_buffers),
26620         (gst_type_find_element_handle_event):
26621         * libs/gst/dataprotocol/dataprotocol.c:
26622         (gst_dp_header_from_buffer):
26623         * libs/gst/dataprotocol/dataprotocol.h:
26624         * libs/gst/dataprotocol/dp-private.h:
26625
26626 2005-05-15  David Schleef  <ds@schleef.org>
26627
26628         * gst/elements/gstelements.c: Don't include headers that were
26629         just removed.
26630
26631 2005-05-15  David Schleef  <ds@schleef.org>
26632
26633         * gst/elements/Makefile.am: Remove some elements that don't
26634         need to be in the core (or even exist at all).
26635         * gst/elements/gstaggregator.c:
26636         * gst/elements/gstaggregator.h:
26637         * gst/elements/gstmd5sink.c:
26638         * gst/elements/gstmd5sink.h:
26639         * gst/elements/gstmultifilesrc.c:
26640         * gst/elements/gstmultifilesrc.h:
26641         * gst/elements/gstpipefilter.c:
26642         * gst/elements/gstpipefilter.h:
26643         * gst/elements/gstshaper.c:
26644         * gst/elements/gstshaper.h:
26645         * gst/elements/gststatistics.c:
26646         * gst/elements/gststatistics.h:
26647         * po/POTFILES.in: Remove above files.
26648
26649 2005-05-14  Andy Wingo  <wingo@pobox.com>
26650
26651         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
26652         so as to get the refs right.
26653         (sink_iterator_filter): New function, wraps bin_element_is_sink,
26654         unreffing objects that don't pass the filter.
26655
26656         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
26657         gst_element_set_bus.
26658         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
26659         normal cases, this will destroy the bus.
26660
26661         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
26662         object.
26663
26664         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
26665         has no sinks.
26666
26667 2005-05-13  Andy Wingo  <wingo@pobox.com>
26668
26669         * gst/gstutils.c (gst_element_link_pads): Instead of calling
26670         gst_pad_link, call pad_link_maybe_ghosting,
26671         (pad_link_maybe_ghosting): Links pads, making sure that the
26672         elements being linked are in the same bin.
26673         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
26674         Helpers for pad_link_maybe_ghosting.
26675
26676 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
26677
26678         * configure.ac:
26679           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
26680
26681 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
26682
26683         * docs/design/part-element-source.txt:
26684           Mention GstPushSrc
26685
26686 2005-05-12  Wim Taymans  <wim@fluendo.com>
26687
26688         * gst/base/gstbasesink.c: (gst_basesink_init),
26689         (gst_basesink_activate):
26690         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
26691         (gst_basesrc_is_seekable):
26692         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
26693         (bin_element_is_sink), (gst_bin_change_state):
26694         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
26695         * gst/gstelement.h:
26696         Identify sinks by their flag to avoid overly complicated
26697         checks (fow now).
26698         Do state changes even for elements not reachable from the
26699         sinks.
26700         BaseSink is a sink now :)
26701         Some more debugging info in the basesrc.
26702
26703
26704 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26705
26706         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
26707           Implement _query on a bin, similar to _send_event.
26708
26709 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
26710
26711         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
26712           Discont event offset format should be GST_FORMAT_BYTES,
26713           not GST_FORMAT_TIME.
26714
26715 2005-05-12  Wim Taymans  <wim@fluendo.com>
26716
26717         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
26718         Same fix as Ronald's but without the signal. 
26719
26720 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26721
26722         * gst/gstutils.c: (gst_element_query_position):
26723           No, an element is not a pad.
26724
26725 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26726
26727         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
26728         (gst_bin_get_state):
26729           If a child is removed from a bin while we remove the child from
26730           the bin and while we're retrieving its state, signal this to the
26731           get_state function so we abort the wait (instead of waiting for
26732           a timeout) and can immediately re-iterate over all other elements.
26733
26734 2005-05-12  Wim Taymans  <wim@fluendo.com>
26735
26736         * gst/base/Makefile.am:
26737         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
26738         (gst_basesrc_start):
26739         * gst/base/gstbasesrc.h:
26740         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
26741         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
26742         (gst_pushsrc_init), (gst_pushsrc_create):
26743         * gst/base/gstpushsrc.h:
26744         Added is_seekable to BaseSrc
26745         Added simple PushSrc.
26746
26747 2005-05-11  Wim Taymans  <wim@fluendo.com>
26748
26749         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
26750         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26751         (gst_element_link_pads), (gst_element_query_position),
26752         (gst_element_query_convert), (intersect_caps_func),
26753         (gst_pad_query_position), (gst_pad_query_convert):
26754         Fix refcounting in utils function.
26755         No point in trying to activate a pad when it's added, it could
26756         be added from the state change function and then we deadlock, the
26757         element has to decide what to do.
26758
26759 2005-05-10  Andy Wingo  <wingo@pobox.com>
26760
26761         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
26762         *all* the arguments.
26763
26764         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
26765         stream lock if it's a FLUSH_DONE; normal flushes don't get the
26766         lock (according to the docs -- if this is wrong change the docs).
26767
26768         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
26769         flush messages in the NULL state.
26770
26771         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
26772         message immediately and return.
26773         (gst_bus_set_flushing): New function. If a bus is flushing, it
26774         flushes out any queued messages and immediately unrefs new
26775         messages. This is so when an element goes to NULL, all of the
26776         unhandled messages coming from it can be freed, and their
26777         references to the element dropped. In other words: message source
26778         ref considered harmful :P
26779
26780         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
26781         we're finished with it.
26782
26783         * gst/gstmessage.c (gst_message_new_state_changed): 
26784
26785 2005-05-10  Wim Taymans  <wim@fluendo.com>
26786
26787         * gst/gstvalue.c: (gst_value_compare_flags),
26788         (gst_value_serialize_flags), (gst_value_deserialize_flags),
26789         (_gst_value_initialize):
26790         Added flags serialize/deserialize/compare code.
26791
26792 2005-05-09  Andy Wingo  <wingo@pobox.com>
26793
26794         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
26795         Intersect the peer's caps with our caps.
26796
26797 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26798
26799         * gst/base/gsttypefindhelper.c: (helper_find_peek):
26800         * gst/elements/gsttypefindelement.c: (find_peek):
26801           Handle negative offsets better. Fixes decodebin.
26802
26803 2005-05-09  Wim Taymans  <wim@fluendo.com>
26804
26805         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
26806         (gst_base_transform_event):
26807         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
26808         Implement accept_caps.
26809         Fix silly lock/unlock mismatch in base class.
26810
26811 2005-05-09  Wim Taymans  <wim@fluendo.com>
26812
26813         * docs/design/draft-push-pull.txt:
26814         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
26815         * gst/elements/gstfilesink.c: (gst_filesink_init),
26816         (gst_filesink_query):
26817         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
26818         (gst_type_find_handle_src_query), (find_element_get_length):
26819         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
26820         * gst/gstelement.h:
26821         * gst/gstmessage.c:
26822         * gst/gstmessage.h:
26823         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
26824         (gst_real_pad_get_caps_unlocked),
26825         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
26826         (gst_pad_event_default_dispatch), (gst_pad_event_default),
26827         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
26828         (gst_real_pad_dispose), (gst_real_pad_finalize),
26829         (gst_pad_load_and_link), (gst_pad_save_thyself),
26830         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
26831         (gst_pad_check_pull_range), (gst_pad_pull_range),
26832         (gst_pad_template_get_type), (gst_pad_template_class_init),
26833         (gst_pad_template_init), (gst_pad_template_dispose),
26834         (name_is_valid), (gst_static_pad_template_get),
26835         (gst_pad_template_new), (gst_static_pad_template_get_caps),
26836         (gst_pad_template_get_caps), (gst_pad_set_element_private),
26837         (gst_pad_get_element_private), (gst_pad_start_task),
26838         (gst_pad_pause_task), (gst_pad_stop_task),
26839         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
26840         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
26841         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
26842         (gst_ghost_pad_new):
26843         * gst/gstpad.h:
26844         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
26845         (gst_query_new_position), (gst_query_set_position),
26846         (gst_query_parse_position), (gst_query_new_convert),
26847         (gst_query_set_convert), (gst_query_parse_convert):
26848         * gst/gstquery.h:
26849         * gst/gstqueryutils.c:
26850         * gst/gstqueryutils.h:
26851         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
26852         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
26853         (gst_queue_handle_src_query):
26854         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26855         (gst_element_query_position), (gst_element_query_convert),
26856         (intersect_caps_func), (gst_pad_query_position),
26857         (gst_pad_query_convert):
26858         * gst/gstutils.h:
26859         * tools/gst-inspect.c: (print_pad_info):
26860         * tools/gst-xmlinspect.c: (print_element_info):
26861         Remove old query functions. Ported old code.
26862         Added position/convert helper functions to gstutils.
26863         Reordered gstpad.c code, grouping relevant things.
26864         Remove gst_message_new(), always need to speficy a specific
26865         message.
26866
26867
26868 2005-05-09  Andy Wingo  <wingo@pobox.com>
26869
26870         * gst/gstiterator.h: Add some includes.
26871
26872         * gst/gstqueryutils.h: Include more headers.
26873
26874         * gst/gstpad.h:
26875         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
26876         some uses of gst_pad_query.
26877
26878         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
26879         NULL out parameters.
26880         (gst_query_new_position): New proc, allocates a new position
26881         query.
26882
26883         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
26884         gstqueryutils.c to the build.
26885
26886         * gst/gststructure.c (gst_structure_set_valist): Implement with
26887         the generic G_VALUE_COLLECT.
26888         
26889 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
26890
26891         * gst/Makefile.am: (gst_headers):
26892         Added gstqueryutils.h to the list of headers to install, that was
26893         a 'nachty' move wingo :)
26894
26895 2005-05-06  Andy Wingo  <wingo@pobox.com>
26896
26897         * gst/gstquery.h
26898         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
26899         GstData, init a memchunk.
26900         (standard_definitions): Add a few query types, deprecate a few.
26901         (gst_query_get_type): New proc.
26902         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
26903         implementation.
26904         (gst_query_new_application, gst_query_get_structure): New public
26905         procs.
26906
26907         * docs/design/draft-query.txt: Removed LINKS from the query types,
26908         because all the rest can be dispatched to other pads -- seemed
26909         ugly to have a query that couldn't be dispatched. internal_links
26910         is fine as a pad method.
26911
26912         * gst/gstpad.h: Add query2 as a pad method, add the new functions
26913         in gstpad.c, but maintain binary compatibility for the moment.
26914         Will fix before 0.9 is out.
26915
26916         * gst/gstqueryutils.c: 
26917         * gst/gstqueryutils.h: New files, implement 3 methods for each
26918         query type: parse_query, parse_response, and set. Probably need an
26919         allocator as well.
26920
26921         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
26922
26923         * gst/elements/gstfilesink.c (gst_filesink_query2):
26924         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
26925         query_types, and formats methods.
26926
26927         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
26928         (gst_pad_set_query2_function): New functions.
26929         (gst_real_pad_init): Set query2_default as the default query2
26930         function. Basically just dispatches to internally linked pads.
26931
26932         Needs review!
26933         
26934         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
26935         without using the atomic operations. Only one thread can possibly
26936         be accessing the data at this point. Changed so as to avoid
26937         gst_atomic operations.
26938
26939 2005-05-06  Wim Taymans  <wim@fluendo.com>
26940
26941         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
26942         Also set caps if we use the fallback buffer alloc.
26943
26944 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
26945
26946         * docs/gst/Makefile.am:
26947         * docs/gst/gstreamer-docs.sgml:
26948         * docs/gst/gstreamer-sections.txt:
26949         * docs/gst/tmpl/gstatomic.sgml:
26950         * docs/gst/tmpl/gstmemchunk.sgml:
26951         * testsuite/elements/struct_i386.h:
26952         * win32/GStreamer.vcproj:
26953         * win32/Makefile:
26954           Purge GstAtomic stuff from docs and win32 makefiles as well
26955
26956 2005-05-06  Wim Taymans  <wim@fluendo.com>
26957
26958         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
26959         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
26960         * gst/gstpad.c: (gst_pad_peer_get_caps):
26961         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
26962         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
26963         (gst_queue_src_activate), (gst_queue_change_state):
26964         * gst/gstqueue.h:
26965         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
26966         (intersect_caps_func):
26967         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
26968         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
26969         Some fixes for the peer_get_caps() change.
26970
26971 2005-05-06  Wim Taymans  <wim@fluendo.com>
26972
26973         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
26974         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
26975         (gst_basesink_activate):
26976         Actually do something with error codes returned from the push
26977         functions.
26978
26979 2005-05-06  Wim Taymans  <wim@fluendo.com>
26980
26981         * docs/design/part-element-sink.txt:
26982         * docs/design/part-element-source.txt:
26983         * gst/base/gstbasesink.c: (gst_basesink_class_init),
26984         (gst_basesink_event), (gst_basesink_activate):
26985         * gst/base/gstbasesink.h:
26986         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
26987         (gst_basesrc_activate):
26988         * gst/base/gstbasesrc.h:
26989         * gst/gstelement.c: (gst_element_pads_activate):
26990         Some more documentation.
26991         Fixed scheduling decision in _pads_activate().
26992
26993 2005-05-05  Andy Wingo  <wingo@pobox.com>
26994
26995         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
26996         the test suite.
26997
26998 2005-05-05  Wim Taymans  <wim@fluendo.com>
26999
27000         * gst/base/Makefile.am:
27001         * gst/base/gstbasesink.h:
27002         * gst/base/gstbasesrc.c: (gst_basesrc_init),
27003         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
27004         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
27005         (gst_collectpads_class_init), (gst_collectpads_init),
27006         (gst_collectpads_finalize), (gst_collectpads_new),
27007         (gst_collectpads_set_function), (gst_collectpads_add_pad),
27008         (find_pad), (gst_collectpads_remove_pad),
27009         (gst_collectpads_is_active), (gst_collectpads_collect),
27010         (gst_collectpads_collect_range), (gst_collectpads_start),
27011         (gst_collectpads_stop), (gst_collectpads_peek),
27012         (gst_collectpads_pop), (gst_collectpads_available),
27013         (gst_collectpads_read), (gst_collectpads_flush),
27014         (gst_collectpads_chain):
27015         * gst/base/gstcollectpads.h:
27016         * gst/elements/Makefile.am:
27017         * gst/elements/gstelements.c:
27018         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
27019         (gst_fakesink_get_times), (gst_fakesink_event),
27020         (gst_fakesink_preroll), (gst_fakesink_render):
27021         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
27022         (gst_filesink_init), (gst_filesink_set_location),
27023         (gst_filesink_open_file), (gst_filesink_close_file),
27024         (gst_filesink_pad_query), (gst_filesink_event),
27025         (gst_filesink_render), (gst_filesink_change_state):
27026         * gst/elements/gstfilesink.h:
27027         Added object to help in making collect pad based elements.
27028         Ported filesink.
27029         Make event function in sink baseclass return gboolean.
27030
27031 2005-05-05  Wim Taymans  <wim@fluendo.com>
27032
27033         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
27034         (gst_bin_get_by_name):
27035         * gst/gstbuffer.h:
27036         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
27037         (gst_clock_finalize):
27038         * gst/gstdata.c: (gst_data_replace):
27039         * gst/gstdata.h:
27040         * gst/gstelement.c: (gst_element_request_pad),
27041         (gst_element_pads_activate):
27042         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
27043         (gst_object_unref):
27044         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27045         (gst_pad_set_checkgetrange_function),
27046         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
27047         (gst_pad_check_pull_range), (gst_pad_pull_range),
27048         (gst_static_pad_template_get_caps), (gst_pad_start_task),
27049         (gst_pad_pause_task), (gst_pad_stop_task):
27050         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
27051         (gst_element_request_pad), (gst_pad_proxy_getcaps):
27052         Fix name lookup in GstBin.
27053         Added _data_replace() function and _buffer_replace()
27054         Use finalize method to clean up clock.
27055         Fix refcounting on request pads.
27056         Fix pad schedule mode error.
27057         Some more object refcounting debug info,
27058
27059
27060 2005-05-04  Andy Wingo <wingo@pobox.com>
27061
27062         * check/Makefile.am:
27063         * docs/gst/tmpl/gstatomic.sgml:
27064         * docs/gst/tmpl/gstplugin.sgml:
27065         * gst/base/gstbasesink.c: (gst_basesink_activate):
27066         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
27067         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
27068         (gst_basesrc_query), (gst_basesrc_set_property),
27069         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
27070         (gst_basesrc_activate):
27071         * gst/base/gstbasesrc.h:
27072         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
27073         (gst_base_transform_src_activate):
27074         * gst/elements/gstelements.c:
27075         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27076         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
27077         * gst/elements/gsttee.c: (gst_tee_sink_activate):
27078         * gst/elements/gsttypefindelement.c: (find_element_get_length),
27079         (gst_type_find_element_checkgetrange),
27080         (gst_type_find_element_activate):
27081         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
27082         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
27083         (gst_caps_load_thyself):
27084         * gst/gstelement.c: (gst_element_pads_activate),
27085         (gst_element_save_thyself), (gst_element_restore_thyself):
27086         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
27087         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
27088         * gst/gstpad.h:
27089         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
27090         (gst_xml_parse_file), (gst_xml_parse_memory),
27091         (gst_xml_get_element), (gst_xml_make_element):
27092         * gst/indexers/gstfileindex.c: (gst_file_index_load),
27093         (_file_index_id_save_xml), (gst_file_index_commit):
27094         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
27095         (read_enum), (load_pad_template), (load_feature), (load_plugin),
27096         (load_paths):
27097         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
27098         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
27099         * tools/gst-complete.c: (main):
27100         * tools/gst-compprep.c: (main):
27101         * tools/gst-inspect.c: (print_element_properties_info):
27102         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
27103         * tools/gst-xmlinspect.c: (print_element_properties):
27104         GCC 4 fixen.
27105         
27106 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
27107
27108         * gst/gstplugin.c: (gst_plugin_check_module),
27109         (gst_plugin_check_file), (gst_plugin_load_file):
27110             apply patch from #172526 to make register work on MacOSX
27111
27112 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
27113
27114         * docs/gst/tmpl/gstconfig.sgml:
27115         * gst/gstconfig.h.in:
27116           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
27117         * testsuite/debug/printf_extension.c: (main):
27118           Do not use GST_PTR_FORMAT on pointers to types with
27119           sizeof < sizeof(gpointer).  Fixes test on 64-bit
27120         * testsuite/elements/property.h:
27121           use correct printf format
27122
27123 2005-05-02  Wim Taymans  <wim@fluendo.com>
27124
27125         * docs/design/draft-push-pull.txt:
27126         * docs/design/draft-query.txt:
27127         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
27128         (gst_basesrc_start):
27129         Added draft for new query API.
27130         Added draft for better selecting scheduling methods.
27131         Make basesrc ignore length if the subclass does not support
27132         it.
27133
27134 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
27135
27136         * gst/Makefile.am:
27137           possible fixes for automake-1.5 - _LIBADD is reserved
27138
27139 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
27140
27141         * docs/faq/Makefile.am:
27142         * docs/manual/Makefile.am:
27143         * docs/manuals.mak:
27144         * docs/pwg/Makefile.am:
27145         * gst/Makefile.am:
27146           possible fixes for automake-1.5
27147
27148 2005-04-28  Wim Taymans  <wim@fluendo.com>
27149
27150         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27151         (gst_basesink_pad_getcaps), (gst_basesink_init),
27152         (gst_basesink_do_sync):
27153         * gst/gstclock.c: (gst_clock_entry_new):
27154         * gst/gstevent.c: (gst_event_discont_get_value):
27155         * gst/gstpipeline.c: (pipeline_bus_handler),
27156         (gst_pipeline_change_state):
27157         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
27158         Better debugging of clocking info.
27159         Allow NULL values when getting discont values.
27160
27161 2005-04-27  Wim Taymans  <wim@fluendo.com>
27162
27163         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
27164         * check/gst/gstpad.c: (gst_pad_suite):
27165         Increase timeout for checks.
27166
27167 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
27168
27169         * check/Makefile.am:
27170           fix the broken rule for cleanup.  Apparently this rule is
27171           only needed on FC2, so maybe this warrants further autotool
27172           inspection.
27173
27174 2005-04-26  Wim Taymans  <wim@fluendo.com>
27175
27176         * gst/gsttrashstack.h:
27177         Ooohh. a nasty one! After having a failed pop() from the stack,
27178         it's possible that the stack is empty. In that case, don't
27179         follow the NULL pointer.
27180
27181 2005-04-25  Wim Taymans  <wim@fluendo.com>
27182
27183         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27184         (gst_pad_set_checkgetrange_function),
27185         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
27186         (gst_pad_check_pull_range), (gst_pad_pull_range),
27187         (gst_static_pad_template_get_caps), (gst_pad_start_task),
27188         (gst_pad_pause_task), (gst_pad_stop_task):
27189         * gst/gstplugin.c: (gst_plugin_load):
27190         * gst/gstplugin.h:
27191         Remove gst_library_load as it does more harm than good with
27192         the new g_module flags.
27193         Revert bogus caps template check in pad linking, pad caps
27194         are important when linking not the template, which is more
27195         general than the current caps.
27196
27197 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27198
27199         * gst/autoplug/.cvsignore:
27200         * gst/autoplug/Makefile.am:
27201         * gst/autoplug/gstsearchfuncs.c:
27202         * gst/autoplug/gstsearchfuncs.h:
27203         * gst/autoplug/gstspider.c:
27204         * gst/autoplug/gstspider.h:
27205         * gst/autoplug/gstspideridentity.c:
27206         * gst/autoplug/gstspideridentity.h:
27207         * gst/autoplug/spidertest.c:
27208           Die, spider, die.
27209
27210 2005-04-25  Wim Taymans  <wim@fluendo.com>
27211
27212         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27213         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
27214         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
27215         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
27216         * gst/gstpad.h:
27217         Added stubs for unimplemented functions. 
27218
27219 2005-04-24  David Schleef  <ds@schleef.org>
27220
27221         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
27222         please fix.
27223
27224 2005-04-24  David Schleef  <ds@schleef.org>
27225
27226         Convert everything from GstAtomicInt to g_atomic_int_*, and
27227         remove gstatomic.
27228         * gst/Makefile.am:
27229         * gst/gstatomic.c:
27230         * gst/gstatomic.h:
27231         * gst/gstatomic_impl.h:
27232         * gst/gstbuffer.c:
27233         * gst/gstcaps.c:
27234         * gst/gstcaps.h:
27235         * gst/gstclock.c:
27236         * gst/gstclock.h:
27237         * gst/gstdata.c:
27238         * gst/gstdata.h:
27239         * gst/gstdata_private.h:
27240         * gst/gstevent.c:
27241         * gst/gstinfo.c:
27242         * gst/gstinfo.h:
27243         * gst/gstmessage.c:
27244         * gst/gstobject.c:
27245         * gst/gstobject.h:
27246         * gst/gststructure.c:
27247         * gst/gststructure.h:
27248         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
27249         * gst/gstutils.h:
27250
27251 2005-04-24  David Schleef  <ds@schleef.org>
27252
27253         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
27254         make the regressions tests work.  Remove some code that is no
27255         longer true.
27256         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
27257         Disable warning for pads without templates.
27258
27259 2005-04-24  David Schleef  <ds@schleef.org>
27260
27261         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
27262         functions that handle filtered links.
27263         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
27264         removed functions.
27265         * gst/gstutils.c: Fix/remove utility functions that handle
27266         filtered caps.
27267         * gst/gstutils.h:
27268         * gst/gstvalue.c: Add serialization/deserialization of caps
27269         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
27270         requires fixing so that the filter caps notation creates
27271         a capsfilter element and sets the filter_caps property.  I
27272         think everyone probably wants to keep the shorthand notation.
27273         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
27274         * docs/gst/tmpl/gstpad.sgml:
27275
27276         * gst/elements/gstelements.c: Register capsfilter element.
27277         * gst/Makefile.am: fix spacing
27278         * docs/random/ds/0.9-suggested-changes: random
27279
27280 2005-04-23  David Schleef  <ds@schleef.org>
27281
27282         * gst/elements/Makefile.am:
27283         * gst/elements/gstcapsfilter.c: New element that acts like an
27284         identity, but filters caps.  Will eventually replace filtered
27285         caps in pad linking.
27286         * gst/gstutils.c: (gst_element_create_all_pads): New function
27287         to create all the ALWAYS pads that are registered with an
27288         element class.  This functionality should eventually be
27289         merged in with GstElement initialization.
27290         * gst/gstutils.h:
27291         * testsuite/trigger/README: part of trigger test code that should
27292         have been checked in a long time ago.
27293
27294 2005-04-23  David Schleef  <ds@schleef.org>
27295
27296         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
27297         needed with new versions of libtool (nobody will confirm this),
27298         and hard to carry around.
27299         * gst/autoplug/Makefile.am:
27300         * gst/base/Makefile.am:
27301         * gst/elements/Makefile.am:
27302         * gst/indexers/Makefile.am:
27303         * gst/schedulers/Makefile.am:
27304         * libs/gst/bytestream/Makefile.am:
27305         * libs/gst/control/Makefile.am:
27306         * libs/gst/dataprotocol/Makefile.am:
27307         * libs/gst/getbits/Makefile.am:
27308
27309 2005-04-21  Wim Taymans  <wim@fluendo.com>
27310
27311         * docs/design/draft-push-pull.txt:
27312         * docs/design/part-MT-refcounting.txt:
27313         * docs/design/part-TODO.txt:
27314         * docs/design/part-caps.txt:
27315         * docs/design/part-events.txt:
27316         * docs/design/part-gstbus.txt:
27317         * docs/design/part-gstpipeline.txt:
27318         * docs/design/part-messages.txt:
27319         * docs/design/part-push-pull.txt:
27320         * docs/design/part-query.txt:
27321         Some more docs.
27322
27323 2005-04-21  Wim Taymans  <wim@fluendo.com>
27324
27325         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
27326         (gst_message_new), (gst_message_new_error),
27327         (gst_message_new_warning), (gst_message_new_tag),
27328         (gst_message_new_state_changed), (gst_message_new_application),
27329         (gst_message_get_structure):
27330         * gst/gstmessage.h:
27331         * gst/gststructure.c: (gst_structure_set_parent_refcount),
27332         (gst_structure_copy_conditional):
27333         Use parent refcount in GstMessage to ensure GstStructure
27334         consistency.
27335         Cleaned up headers a bit.
27336         
27337
27338 2005-04-20  Wim Taymans  <wim@fluendo.com>
27339
27340         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27341         (gst_basesink_pad_getcaps), (gst_basesink_init),
27342         (gst_basesink_chain_unlocked):
27343         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
27344         (gst_type_find_helper):
27345         * gst/elements/gsttypefindelement.c:
27346         (gst_type_find_element_have_type), (gst_type_find_element_init),
27347         (stop_typefinding), (gst_type_find_element_handle_event),
27348         (find_suggest), (gst_type_find_element_chain),
27349         (gst_type_find_element_checkgetrange),
27350         (gst_type_find_element_getrange), (do_typefind),
27351         (gst_type_find_element_activate):
27352         * gst/gstbuffer.c: (_gst_buffer_sub_free),
27353         (gst_buffer_default_free), (gst_buffer_default_copy),
27354         (gst_buffer_set_caps):
27355         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
27356         (gst_caps_replace):
27357         * gst/gstmessage.c: (gst_message_new),
27358         (gst_message_new_state_changed):
27359         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27360         (gst_pad_set_checkgetrange_function),
27361         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
27362         (gst_pad_set_caps), (gst_pad_check_pull_range),
27363         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
27364         * gst/gstpad.h:
27365         * gst/gsttypefind.c: (gst_type_find_register):
27366         Make gst_caps_replace() work like other _replace() functions.
27367         Use _caps_replace() where possible.
27368         Make sure _message_new() initialises its field.
27369         Add gst_static_pad_template_get_caps()
27370
27371
27372 2005-04-18  Andy Wingo  <wingo@pobox.com>
27373
27374         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
27375         on the peer, not the pad. I think that was a typo. Pass an extra
27376         arg to see if random access is possible. Activate the pads as
27377         PULL_RANGE if possible.
27378
27379         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
27380
27381         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
27382         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
27383         to PROP_....
27384
27385 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27386
27387         * docs/faq/using.xml:
27388           Add note on gstreamer-properties (#154996).
27389
27390 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27391
27392         * docs/random/bbb/optional-properties:
27393           Some analysis on optional properties.
27394
27395 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27396
27397         * docs/gst/tmpl/gstelementfactory.sgml:
27398         * gst/gstelement.h:
27399         * gst/gstelementfactory.c: (gst_element_factory_init),
27400         (gst_element_factory_cleanup), (gst_element_register),
27401         (__gst_element_factory_add_static_pad_template),
27402         (gst_element_factory_get_static_pad_templates),
27403         (gst_element_factory_can_src_caps),
27404         (gst_element_factory_can_sink_caps):
27405         * gst/registries/Makefile.am:
27406         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
27407         (gst_xml_registry_class_init), (gst_xml_registry_init),
27408         (gst_xml_registry_new), (gst_xml_registry_set_property),
27409         (gst_xml_registry_get_property), (get_time), (make_dir),
27410         (gst_xml_registry_get_perms_func),
27411         (plugin_times_older_than_recurse), (plugin_times_older_than),
27412         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
27413         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
27414         (add_to_char_array), (read_string), (read_uint), (read_enum),
27415         (load_pad_template), (load_feature), (load_plugin), (load_paths),
27416         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
27417         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
27418         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
27419         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
27420         (gst_xml_registry_rebuild):
27421         * gst/registries/gstlibxmlregistry.h:
27422         * tools/gst-compprep.c: (main):
27423         * tools/gst-inspect.c: (print_pad_templates_info):
27424         * tools/gst-xmlinspect.c: (print_element_info):
27425           Use libxml2 for registry parsing, use staticpadtemplates in
27426           elementfactories. Makes gst_init() +/- 10x faster.
27427
27428 2005-04-12  Wim Taymans  <wim@fluendo.com>
27429
27430         * gst/base/Makefile.am:
27431         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27432         (gst_basesink_pad_getcaps), (gst_basesink_init),
27433         (gst_basesink_event), (gst_basesink_change_state):
27434         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27435         (gst_basesrc_init), (gst_basesrc_query),
27436         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
27437         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
27438         (gst_basesrc_check_get_range), (gst_basesrc_loop),
27439         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
27440         (gst_basesrc_stop), (gst_basesrc_activate),
27441         (gst_basesrc_change_state):
27442         * gst/base/gsttypefindhelper.c: (helper_find_peek),
27443         (helper_find_suggest), (gst_type_find_helper):
27444         * gst/base/gsttypefindhelper.h:
27445         * gst/elements/Makefile.am:
27446         * gst/elements/gstelements.c:
27447         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
27448         (gst_fakesink_get_times), (gst_fakesink_event),
27449         (gst_fakesink_preroll), (gst_fakesink_render):
27450         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27451         (gst_fakesrc_init), (gst_fakesrc_event_handler),
27452         (gst_fakesrc_get_property), (gst_fakesrc_create),
27453         (gst_fakesrc_start), (gst_fakesrc_stop):
27454         * gst/elements/gstfakesrc.h:
27455         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
27456         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
27457         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
27458         (gst_filesrc_create_read), (gst_filesrc_create),
27459         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
27460         (gst_filesrc_start):
27461         * gst/elements/gsttypefindelement.c:
27462         (gst_type_find_element_have_type), (gst_type_find_element_init),
27463         (start_typefinding), (stop_typefinding), (push_buffer_store),
27464         (gst_type_find_element_handle_event),
27465         (gst_type_find_element_chain),
27466         (gst_type_find_element_checkgetrange),
27467         (gst_type_find_element_getrange), (do_typefind),
27468         (gst_type_find_element_activate),
27469         (gst_type_find_element_change_state):
27470         * gst/elements/gsttypefindelement.h:
27471         * gst/gstpipeline.c: (pipeline_bus_handler):
27472         Added typefind helper.
27473         Small preroll fix in the base sink.
27474         Disable typefind code in basesrc.
27475         Crude port of typefindelement.
27476         Fakesrc cleanups.
27477
27478
27479 2005-04-11  Wim Taymans  <wim@fluendo.com>
27480
27481         * check/gst/gstbus.c: (gstbus_suite):
27482         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
27483         * check/gstcheck.h:
27484           Fix up the timeout so that the test does not fail.
27485
27486 2005-04-06  Wim Taymans  <wim@fluendo.com>
27487
27488         * gst/base/README:
27489         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27490         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
27491         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
27492         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
27493         (gst_basesrc_check_get_range), (gst_basesrc_loop),
27494         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
27495         (gst_basesrc_stop), (gst_basesrc_activate),
27496         (gst_basesrc_change_state), (basesrc_find_peek),
27497         (basesrc_find_suggest), (gst_basesrc_type_find):
27498         * gst/base/gstbasesrc.h:
27499         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
27500         (gst_filesrc_class_init), (gst_filesrc_init),
27501         (gst_filesrc_finalize), (gst_filesrc_set_location),
27502         (gst_filesrc_set_property), (gst_filesrc_get_property),
27503         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
27504         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
27505         (gst_filesrc_create_read), (gst_filesrc_create),
27506         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
27507         * gst/elements/gstfilesrc.h:
27508         * gst/gstelement.c: (gst_element_get_state_func),
27509         (gst_element_lost_state), (gst_element_pads_activate):
27510         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27511         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
27512         (gst_pad_pull_range):
27513         * gst/gstpad.h:
27514         More work on the generic source base class, implement seeking,
27515         query.
27516         Make filesrc extend the base source class.
27517         Added gst_pad_set_checkgetrange_function to GstPad.
27518
27519 2005-04-06  Andy Wingo  <wingo@pobox.com>
27520
27521         * pkgconfig/gstreamer-base.pc.in:
27522         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
27523
27524         * pkgconfig/Makefile.am:
27525         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
27526
27527 2005-04-04  Wim Taymans  <wim@fluendo.com>
27528
27529         * gst/base/Makefile.am:
27530         * gst/base/README:
27531         * gst/base/gstbasesink.c: (gst_basesink_base_init),
27532         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
27533         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
27534         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
27535         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
27536         (gst_basesrc_base_init), (gst_basesrc_class_init),
27537         (gst_basesrc_init), (gst_basesrc_get_formats),
27538         (gst_basesrc_get_query_types), (gst_basesrc_query),
27539         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
27540         (gst_basesrc_set_property), (gst_basesrc_get_property),
27541         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
27542         (gst_basesrc_loop), (gst_basesrc_activate),
27543         (gst_basesrc_change_state):
27544         * gst/base/gstbasesrc.h:
27545         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
27546         (gst_fakesrc_class_init), (gst_fakesrc_init),
27547         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
27548         (gst_fakesrc_get_property), (gst_fakesrc_create):
27549         * gst/elements/gstfakesrc.h:
27550         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
27551         (gst_filesrc_open_file), (gst_filesrc_loop),
27552         (gst_filesrc_activate), (filesrc_find_peek),
27553         (gst_filesrc_type_find):
27554         Made base source class, make fakesrc extend it.
27555         Add comments to basesink class.
27556         Some filesrc cleanup.
27557
27558 2005-03-31  David Schleef  <ds@schleef.org>
27559
27560         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
27561         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
27562         expected to link against libgstreamer.
27563         * gst/base/Makefile.am: link against libgstreamer
27564         * gst/elements/Makefile.am: same
27565
27566 2005-03-31  Andy Wingo  <wingo@pobox.com>
27567
27568         * tests/instantiate/Makefile.am:
27569         * tests/instantiate/caps.c: Add test to test speed of caps copy
27570         and free.
27571
27572         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
27573         GMemChunk to be fair.
27574
27575         * gst/gsttrashstack.h: Remove warning about using the fallback
27576         trash stack implementation, it's still faster than malloc.
27577
27578 2005-03-30  Andy Wingo  <wingo@pobox.com>
27579
27580         * tests/complexity.c: Add a copyright.
27581
27582 2005-03-31  Wim Taymans  <wim@fluendo.com>
27583
27584         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
27585         (gst_base_transform_class_init), (gst_base_transform_init),
27586         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
27587         (gst_base_transform_get_property),
27588         (gst_base_transform_sink_activate),
27589         (gst_base_transform_src_activate),
27590         (gst_base_transform_change_state):
27591         * gst/base/gstbasetransform.h:
27592         * gst/elements/gstidentity.c: (gst_identity_class_init),
27593         (gst_identity_event), (gst_identity_check_perfect),
27594         (gst_identity_transform), (gst_identity_start),
27595         (gst_identity_stop):
27596         Added start/stop methods to transform base class so subclasses 
27597         don't need to deal with state changes even.
27598
27599 2005-03-31  Wim Taymans  <wim@fluendo.com>
27600
27601         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
27602         (gst_event_new_discontinuous), (gst_event_discont_get_value):
27603         * gst/gstevent.h:
27604         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27605         (gst_pad_pull_range):
27606         Added rate to the discont event to prepare for variable speed
27607         and reverse playback.
27608
27609 2005-03-29  David Schleef  <ds@schleef.org>
27610
27611         * configure.ac:
27612         * testsuite/trigger/Makefile.am:
27613         * testsuite/trigger/trigger.c: A little example program to show
27614         how trigger-based elements can work.
27615
27616 2005-03-29  Wim Taymans  <wim@fluendo.com>
27617
27618         * gst/base/Makefile.am:
27619         * gst/base/README:
27620         * gst/base/gstbasesink.c: (gst_basesink_get_type),
27621         (gst_basesink_base_init), (gst_basesink_class_init),
27622         (gst_basesink_pad_getcaps), (gst_basesink_init),
27623         (gst_basesink_activate), (gst_basesink_change_state):
27624         * gst/base/gstbasesink.h:
27625         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
27626         (gst_base_transform_base_init), (gst_base_transform_finalize),
27627         (gst_base_transform_class_init), (gst_base_transform_init),
27628         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
27629         (gst_base_transform_event), (gst_base_transform_getrange),
27630         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
27631         (gst_base_transform_set_property),
27632         (gst_base_transform_get_property),
27633         (gst_base_transform_sink_activate),
27634         (gst_base_transform_src_activate),
27635         (gst_base_transform_change_state):
27636         * gst/base/gstbasetransform.h:
27637         * gst/elements/gstidentity.c: (gst_identity_finalize),
27638         (gst_identity_class_init), (gst_identity_init),
27639         (gst_identity_event), (gst_identity_check_perfect),
27640         (gst_identity_transform), (gst_identity_set_property),
27641         (gst_identity_get_property), (gst_identity_change_state):
27642         * gst/elements/gstidentity.h:
27643         * gst/gstelement.c: (gst_element_get_state_func),
27644         (gst_element_lost_state), (gst_element_pads_activate):
27645         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
27646         (gst_pad_check_pull_range), (gst_pad_pull_range):
27647         * gst/gstpad.h:
27648         Simplify pad activation.
27649         Added function to check if pull_range can be performed.
27650         Error out when pulling inactive or flushing pads.
27651         Removed const from refcounted types as it does not make sense.
27652         Simplify pad templates in basesink
27653         Added base class for simple 1-to-1 transforms.
27654         Make identity subclass the base transform.
27655
27656 2005-03-29  Andy Wingo  <wingo@pobox.com>
27657
27658         * docs/libs/gstreamer-libs-overrides.txt: 
27659         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
27660         really don't understand what's going on, but like whatever. I want
27661         green buildbot!
27662
27663         * docs/gst/Makefile.am:
27664         * docs/libs/Makefile.am: Dist the overrides files.
27665
27666         * check/Makefile.am (clean-local): Remove .libs directories.
27667
27668         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
27669         elements to EXTRA_DIST, so po/ files are happy.
27670
27671         * po/POTFILES.in: Er, remove it here.
27672
27673         * po/POTFILES: Remove gstspider.c.
27674
27675         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
27676
27677         * docs/libs/gstreamer-libs-docs.sgml: 
27678         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
27679         bytestream.
27680
27681         * tests/complexity.c (main): Set the length of the preroll queue
27682         on the sinks to prevent a lockup.
27683
27684         * libs/gst/dataprotocol/Makefile.am: 
27685         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
27686         the same as the one in check/gst-libs/gdp.c.
27687
27688         * po/, docs/gst/: Commit automatic changes to docs and po files.
27689
27690         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
27691         the versioned libgstbase.
27692
27693         * check/Makefile.am: Depend on an unversioned gst-register, seems
27694         to make autoconf happier.
27695
27696         * gst/base/Makefile.am: Make libgstbase a versioned lib.
27697
27698 2005-03-28  Wim Taymans  <wim@fluendo.com>
27699
27700         * configure.ac:
27701         * docs/design/part-gstelement.txt:
27702         * docs/design/part-negotiation.txt:
27703         * docs/design/part-preroll.txt:
27704         * docs/design/part-scheduling.txt:
27705         * docs/design/part-states.txt:
27706         * gst/Makefile.am:
27707         * gst/base/Makefile.am:
27708         * gst/base/README:
27709         * gst/base/gstbasesink.c: (gst_basesink_get_template),
27710         (gst_basesink_base_init), (gst_basesink_class_init),
27711         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
27712         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
27713         (gst_basesink_set_pad_functions),
27714         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
27715         (gst_basesink_set_property), (gst_basesink_get_property),
27716         (gst_base_sink_get_template), (gst_base_sink_get_caps),
27717         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
27718         (gst_basesink_preroll_queue_push),
27719         (gst_basesink_preroll_queue_empty),
27720         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
27721         (gst_basesink_event), (gst_basesink_get_times),
27722         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
27723         (gst_basesink_chain_unlocked), (gst_basesink_chain),
27724         (gst_basesink_loop), (gst_basesink_activate),
27725         (gst_basesink_change_state):
27726         * gst/base/gstbasesink.h:
27727         * gst/elements/Makefile.am:
27728         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
27729         (gst_fakesink_class_init), (gst_fakesink_init),
27730         (gst_fakesink_set_property), (gst_fakesink_get_property),
27731         (gst_fakesink_get_times), (gst_fakesink_event),
27732         (gst_fakesink_preroll), (gst_fakesink_render),
27733         (gst_fakesink_change_state):
27734         * gst/elements/gstfakesink.h:
27735         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
27736         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
27737         * gst/gstelement.c: (gst_element_add_pad),
27738         (gst_element_get_state_func), (gst_element_abort_state),
27739         (gst_element_commit_state), (gst_element_lost_state),
27740         (gst_element_set_state), (gst_element_pads_activate):
27741         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
27742         * gst/gstpipeline.c: (gst_pipeline_send_event),
27743         (gst_pipeline_change_state):
27744         Added state change code.
27745         Added/updated docs.
27746         Added sink base class, make fakesink extend the base class.
27747         Small cleanups in GstPipeline.
27748
27749 2005-03-26  David Schleef  <ds@schleef.org>
27750
27751         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
27752         is broken and should be implemented in a different library.
27753         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
27754         * gst/gst.h: remove gstcpu.h
27755         * gst/gstcpu.c: remove
27756         * gst/gstcpu.h: remove
27757         * gst/Makefile.am.future: Remove this file.  It's ancient.
27758
27759 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27760
27761         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
27762         (gst_bin_send_event):
27763           Add default event/set_manager handlers. The set_manager handler
27764           takes care that the manager is distributed over kids that were
27765           already in the bin before the manager was set. The event handler
27766           is a utility virtual function that sends the event over all sinks,
27767           so that gst_element_send_event (bin, event); has the expected
27768           behaviour.
27769         * gst/gstpad.c: (gst_pad_event_default):
27770           Re-install default event handling for discontinuities, so that
27771           seeking works without requiring hacks in applications or extra
27772           code in sinks.
27773         * gst/gstpipeline.c: (gst_pipeline_class_init),
27774         (gst_pipeline_send_event):
27775           Half hack, half utility: set a pipeline to PAUSED for seek events,
27776           since that is the only way we can guarantee a/v sync. Means that
27777           you can do gst_element_seek (pipeline, method, pos); on a pipeline
27778           and it "just works".
27779
27780 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27781
27782         * gst/gstpipeline.c: (gst_pipeline_use_clock):
27783           Lock/unlock mismatch.
27784
27785 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
27786
27787         * docs/faq/gst-uninstalled:
27788           add gst-plugins-base
27789         * docs/gst/Makefile.am:
27790           don't error out until docs are fixed
27791         * docs/gst/gstreamer.types:
27792           remove thread
27793
27794 2005-03-22  Wim Taymans  <wim@fluendo.com>
27795
27796         * check/Makefile.am:
27797         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
27798         * gst/gststructure.c: (gst_structure_set_valist),
27799         (gst_structure_copy_conditional):
27800         Activated more tests.
27801         Added message test.
27802         Added G_TYPE_POINTER to GstStructure.
27803         
27804
27805 2005-03-22  Wim Taymans  <wim@fluendo.com>
27806
27807         * docs/design/part-TODO.txt:
27808         * docs/design/part-events.txt:
27809         * docs/design/part-gstbin.txt:
27810         * docs/design/part-gstbus.txt:
27811         * docs/design/part-gstpipeline.txt:
27812         * docs/design/part-messages.txt:
27813         * gst/gstbus.c:
27814         * gst/gstmessage.c:
27815         Docs updates
27816
27817 2005-03-21  Wim Taymans  <wim@fluendo.com>
27818
27819         * gst/gstbus.c: (gst_bus_post):
27820         Fix copy-and-paste error.
27821
27822 2005-03-21  Wim Taymans  <wim@fluendo.com>
27823
27824         * check/Makefile.am:
27825         * gst/Makefile.am:
27826         * gst/elements/Makefile.am:
27827         * gst/elements/gstelements.c:
27828         * gst/elements/gstfakesink.c: (gst_fakesink_init),
27829         (gst_fakesink_event), (gst_fakesink_chain):
27830         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
27831         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
27832         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
27833         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
27834         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
27835         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
27836         (gst_fakesrc_loop), (gst_fakesrc_activate),
27837         (gst_fakesrc_change_state):
27838         * gst/elements/gstfakesrc.h:
27839         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
27840         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
27841         (gst_filesrc_open_file), (gst_filesrc_loop),
27842         (gst_filesrc_activate), (gst_filesrc_change_state),
27843         (filesrc_find_peek), (filesrc_find_suggest),
27844         (gst_filesrc_type_find):
27845         * gst/elements/gstidentity.c: (gst_identity_finalize),
27846         (gst_identity_class_init), (gst_identity_init),
27847         (gst_identity_proxy_getcaps), (identity_queue_push),
27848         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
27849         (gst_identity_getrange), (gst_identity_chain),
27850         (gst_identity_sink_loop), (gst_identity_src_loop),
27851         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
27852         (gst_identity_set_property), (gst_identity_get_property),
27853         (gst_identity_change_state):
27854         * gst/elements/gstidentity.h:
27855         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
27856         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
27857         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
27858         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
27859         (gst_tee_sink_activate):
27860         * gst/elements/gsttee.h:
27861         * gst/gst.c: (gst_register_core_elements), (init_post):
27862         * gst/gst.h:
27863         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
27864         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
27865         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
27866         (gst_bin_change_state):
27867         * gst/gstbin.h:
27868         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
27869         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
27870         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
27871         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
27872         (gst_bus_set_sync_handler), (gst_bus_create_watch),
27873         (bus_watch_callback), (bus_watch_destroy),
27874         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
27875         (poll_timeout), (gst_bus_poll):
27876         * gst/gstbus.h:
27877         * gst/gstcaps.h:
27878         * gst/gstdata.h:
27879         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
27880         (gst_element_post_message), (gst_element_message_full),
27881         (gst_element_get_state_func), (gst_element_get_state),
27882         (gst_element_abort_state), (gst_element_commit_state),
27883         (gst_element_lost_state), (gst_element_set_state),
27884         (gst_element_pads_activate), (gst_element_change_state),
27885         (gst_element_dispose), (gst_element_set_manager_func),
27886         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
27887         (gst_element_set_manager), (gst_element_get_manager),
27888         (gst_element_set_bus), (gst_element_get_bus),
27889         (gst_element_set_scheduler), (gst_element_get_scheduler):
27890         * gst/gstelement.h:
27891         * gst/gstevent.c: (gst_event_new_segment_seek),
27892         (gst_event_new_flush):
27893         * gst/gstevent.h:
27894         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
27895         (_gst_message_free), (gst_message_get_type), (gst_message_new),
27896         (gst_message_new_eos), (gst_message_new_error),
27897         (gst_message_new_warning), (gst_message_new_tag),
27898         (gst_message_new_state_changed), (gst_message_new_application),
27899         (gst_message_get_structure), (gst_message_parse_tag),
27900         (gst_message_parse_state_changed), (gst_message_parse_error),
27901         (gst_message_parse_warning):
27902         * gst/gstmessage.h:
27903         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
27904         (gst_real_pad_set_property), (gst_pad_set_active),
27905         (gst_pad_is_active), (gst_pad_set_blocked_async),
27906         (gst_pad_set_blocked), (gst_pad_is_blocked),
27907         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
27908         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
27909         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
27910         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
27911         (gst_pad_link_filtered), (gst_pad_relink_filtered),
27912         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
27913         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
27914         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
27915         (gst_pad_set_caps), (gst_pad_configure_sink),
27916         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
27917         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
27918         (gst_real_pad_dispose), (gst_real_pad_finalize),
27919         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
27920         (gst_pad_event_default_dispatch), (gst_pad_event_default),
27921         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
27922         * gst/gstpad.h:
27923         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
27924         (pipeline_bus_handler), (gst_pipeline_change_state),
27925         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
27926         * gst/gstpipeline.h:
27927         * gst/gstprobe.h:
27928         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
27929         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
27930         (gst_queue_link_src), (gst_queue_bufferalloc),
27931         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
27932         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
27933         (gst_queue_loop), (gst_queue_handle_src_event),
27934         (gst_queue_handle_src_query), (gst_queue_src_activate),
27935         (gst_queue_change_state):
27936         * gst/gstqueue.h:
27937         * gst/gstscheduler.c: (gst_scheduler_init),
27938         (gst_scheduler_dispose), (gst_scheduler_create_task),
27939         (gst_scheduler_factory_create):
27940         * gst/gstscheduler.h:
27941         * gst/gststructure.c: (gst_structure_get_type),
27942         (gst_structure_copy_conditional):
27943         * gst/gststructure.h:
27944         * gst/gsttaginterface.h:
27945         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27946         (gst_task_init), (gst_task_dispose), (gst_task_create),
27947         (gst_task_get_state), (gst_task_start), (gst_task_stop),
27948         (gst_task_pause):
27949         * gst/gsttask.h:
27950         * gst/gstthread.c:
27951         * gst/gstthread.h:
27952         * gst/gsttypes.h:
27953         * gst/schedulers/Makefile.am:
27954         * gst/schedulers/cothreads_compat.h:
27955         * gst/schedulers/entryscheduler.c:
27956         * gst/schedulers/faircothreads.c:
27957         * gst/schedulers/faircothreads.h:
27958         * gst/schedulers/fairscheduler.c:
27959         * gst/schedulers/gstbasicscheduler.c:
27960         * gst/schedulers/gstoptimalscheduler.c:
27961         * gst/schedulers/gthread-cothreads.h:
27962         * gst/schedulers/threadscheduler.c:
27963         (gst_thread_scheduler_task_get_type),
27964         (gst_thread_scheduler_task_class_init),
27965         (gst_thread_scheduler_task_init),
27966         (gst_thread_scheduler_task_start),
27967         (gst_thread_scheduler_task_stop),
27968         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
27969         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
27970         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
27971         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
27972         (plugin_init):
27973         * libs/gst/Makefile.am:
27974         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
27975         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
27976         (gst_file_pad_parent_set):
27977         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27978         (gst_dp_event_from_packet):
27979         * tests/complexity.c: (main):
27980         * tests/mass_elements.c: (main):
27981         * testsuite/states/locked.c: (message_received), (main):
27982         * testsuite/states/parent.c: (main):
27983         * tools/gst-inspect.c: (print_element_flag_info),
27984         (print_implementation_info), (print_pad_info):
27985         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
27986         (main):
27987         * tools/gst-md5sum.c: (event_loop), (main):
27988         * tools/gst-typefind.c: (main):
27989         * tools/gst-xmlinspect.c: (print_element_info):
27990         Next big merge.
27991         Added GstBus for mainloop integration.
27992         Added GstMessage for sending notifications on the bus.
27993         Added GstTask as an abstraction for pipeline entry points.
27994         Removed GstThread.
27995         Removed Schedulers.
27996         Simplified GstQueue for multithreaded core.
27997         Made _link threadsafe, removed old capsnego.
27998         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
27999         Added pad blocking functions.
28000         Reworked scheduling functions in GstPad to prepare for
28001         scheduling updates soon.
28002         Moved events out of data stream.
28003         Simplified GstEvent types.
28004         Added return values to push/pull.
28005         Removed clocking from GstElement.
28006         Added prototypes for state change function for next merge.
28007         Removed iterate from bins and state change management.
28008         Fixed some elements, disabled others for now.
28009         Fixed -inspect and -launch.
28010         Added check for GstBus.
28011
28012 2005-03-10  Wim Taymans  <wim@fluendo.com>
28013
28014         * docs/design/part-MT-refcounting.txt:
28015         * docs/design/part-clocks.txt:
28016         * docs/design/part-gstelement.txt:
28017         * docs/design/part-gstobject.txt:
28018         * docs/design/part-standards.txt:
28019         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
28020         (gst_bin_remove_func), (gst_bin_remove):
28021         * gst/gstbin.h:
28022         * gst/gstbuffer.c:
28023         * gst/gstcaps.h:
28024         * testsuite/clock/clock1.c: (main):
28025         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
28026         (main):
28027         * testsuite/dlopen/loadgst.c: (do_test):
28028         * testsuite/refcounting/bin.c: (add_remove_test1),
28029         (add_remove_test2), (main):
28030         * testsuite/refcounting/element.c: (main):
28031         * testsuite/refcounting/element_pad.c: (main):
28032         * testsuite/refcounting/pad.c: (main):
28033         * tools/gst-launch.c: (sigint_handler_sighandler):
28034         * tools/gst-typefind.c: (main):
28035         Doc updates.
28036         Added doc about clock.
28037         removed gst_bin_iterate_recurse_up(), marked methods
28038         for removal.
28039         Fix more testsuites.
28040
28041 2005-03-09  Wim Taymans  <wim@fluendo.com>
28042
28043         * gst/gstpad.c: (gst_pad_get_direction),
28044         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
28045         (gst_pad_collect_valist):
28046         * testsuite/bins/interface.c: (main):
28047         * testsuite/caps/audioscale.c: (test_caps):
28048         * testsuite/caps/caps.c: (test1), (test2), (test3):
28049         * testsuite/caps/deserialize.c: (main):
28050         * testsuite/caps/enumcaps.c: (main):
28051         * testsuite/caps/filtercaps.c: (main):
28052         * testsuite/caps/intersect2.c: (main):
28053         * testsuite/caps/random.c: (main):
28054         * testsuite/caps/renegotiate.c: (my_fixate), (main):
28055         * testsuite/caps/sets.c: (check_caps):
28056         * testsuite/caps/simplify.c: (check_caps), (main):
28057         * testsuite/caps/subtract.c: (check_caps):
28058         Fix _pad_get_direction wrt ghostpads.
28059         Fix caps testsuite.
28060
28061 2005-03-09  Wim Taymans  <wim@fluendo.com>
28062
28063         * check/Makefile.am:
28064         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
28065         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
28066         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
28067         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
28068         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
28069         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
28070         (gst_bin_remove), (gst_bin_iterate_recurse_up),
28071         (bin_element_is_sink), (gst_bin_iterate_sinks),
28072         (gst_bin_iterate_all_by_interface):
28073         * gst/gstbin.h:
28074         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
28075         (gst_element_change_state), (gst_element_dispose),
28076         (gst_element_finalize), (gst_element_set_loop_function):
28077         * gst/gstelement.h:
28078         * gst/gstiterator.c: (find_custom_fold_func):
28079         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
28080         (gst_pad_collectv), (gst_pad_collect_valist),
28081         (gst_pad_template_new):
28082         * gst/gstpipeline.c: (gst_pipeline_class_init),
28083         (gst_pipeline_dispose), (gst_pipeline_set_property),
28084         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
28085         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
28086         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
28087         * gst/gstutils.h:
28088         * gst/schedulers/entryscheduler.c:
28089         * gst/schedulers/gstbasicscheduler.c:
28090         (gst_basic_scheduler_cothreaded_chain),
28091         (gst_basic_scheduler_chain_add_element):
28092         * testsuite/bins/interface.c: (main):
28093         Added GstBin test.
28094         Added GstSystemClock test.
28095         Implemented clock distribution code in GstBin.
28096         Implemented iterate sinks method for future use.
28097         Rearranged gstelement.h
28098         Fix GstIterator comparison bug.
28099         Moved some code to GstPipeline, mostly clocking related.
28100
28101 2005-03-09  Wim Taymans  <wim@fluendo.com>
28102
28103         * configure.ac:
28104         * gst/gst_private.h:
28105         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
28106         (gst_bin_remove_func), (gst_bin_remove),
28107         (gst_bin_get_by_name_recurse_up):
28108         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
28109         (gst_clock_id_compare_func), (gst_clock_id_wait),
28110         (gst_clock_id_wait_async), (gst_clock_init),
28111         (gst_clock_adjust_unlocked), (gst_clock_get_time):
28112         * gst/gstelement.h:
28113         * gst/gstinfo.c: (_gst_debug_init):
28114         * gst/gstobject.h:
28115         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
28116         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
28117         * gst/gstpad.h:
28118         Bump version number, we're now 0.9.0
28119         Add future debugging category.
28120         Fix NULL _unref() in _get_by_name_recurse_up
28121         Rearrange gstpad.h.
28122         Update some docs.
28123
28124 2005-03-08  Wim Taymans  <wim@fluendo.com>
28125
28126         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
28127         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
28128         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
28129         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
28130         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
28131         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
28132         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
28133         * gst/elements/gstidentity.c: (gst_identity_class_init):
28134         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
28135         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
28136         * gst/elements/gstshaper.c: (gst_shaper_class_init):
28137         * gst/elements/gststatistics.c: (gst_statistics_class_init):
28138         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
28139         (gst_tee_link):
28140         * gst/gstelement.c: (gst_element_class_init),
28141         (gst_element_base_class_init), (gst_element_init),
28142         (gst_element_get_random_pad), (gst_element_wait_state_change),
28143         (gst_element_change_state), (gst_element_dispose),
28144         (gst_element_finalize), (gst_element_set_loop_function):
28145         * gst/gstelement.h:
28146         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
28147         * gst/gstthread.c: (gst_thread_class_init),
28148         (gst_thread_release_children_locks), (gst_thread_change_state):
28149         * gst/schedulers/gstbasicscheduler.c:
28150         (gst_basic_scheduler_loopfunc_wrapper),
28151         (gst_basic_scheduler_chain_wrapper),
28152         (gst_basic_scheduler_src_wrapper),
28153         (gst_basic_scheduler_remove_element):
28154         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
28155         Remove threadsafe properties. Fix elements because GObject
28156         complains when installing a property before declaring a
28157         set/get_property handler.
28158         Rearrange gstelement.h file, use STATE macros for state locks.
28159         Free mutexes in the finalize method instead of dispose.
28160
28161 2005-03-08  Wim Taymans  <wim@fluendo.com>
28162
28163         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
28164         * gst/gstthread.c: (gst_thread_release_children_locks):
28165         Added parentage check.
28166         Fix build og GstThread again.
28167
28168 2005-03-08  Wim Taymans  <wim@fluendo.com>
28169
28170         * docs/design/part-MT-refcounting.txt:
28171         * docs/design/part-conventions.txt:
28172         * docs/design/part-gstobject.txt:
28173         * docs/design/part-relations.txt:
28174         * docs/design/part-standards.txt:
28175         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
28176         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
28177         (gst_bin_get_by_name), (gst_bin_get_by_interface),
28178         (gst_bin_iterate_all_by_interface):
28179         * gst/gstbuffer.h:
28180         * gst/gstclock.h:
28181         * gst/gstelement.c: (gst_element_class_init),
28182         (gst_element_change_state), (gst_element_set_loop_function):
28183         * gst/gstelement.h:
28184         * gst/gstiterator.c:
28185         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
28186         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
28187         (gst_object_dispatch_properties_changed), (gst_object_set_name),
28188         (gst_object_set_parent), (gst_object_unparent),
28189         (gst_object_check_uniqueness):
28190         * gst/gstobject.h:
28191         Docs updates, clean up some headers.
28192
28193 2005-03-07  Wim Taymans  <wim@fluendo.com>
28194
28195         * check/.cvsignore:
28196         * check/Makefile.am:
28197         * check/gst-libs/.cvsignore:
28198         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
28199         * check/gst/.cvsignore:
28200         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
28201         (START_TEST), (gstbus_suite), (main):
28202         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
28203         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
28204         (gst_data_suite), (main):
28205         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
28206         (add_fold_func), (gstiterator_suite), (main):
28207         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
28208         (thread_name_object), (thread_name_object_default),
28209         (gst_object_name_compare), (gst_object_suite), (main):
28210         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
28211         (gst_pad_suite), (main):
28212         * check/gstcheck.c: (gst_check_log_message_func),
28213         (gst_check_log_critical_func), (gst_check_init):
28214         * check/gstcheck.h:
28215         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
28216         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
28217         Added checks.
28218
28219 2005-03-07  Wim Taymans  <wim@fluendo.com>
28220
28221         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
28222         (gst_list_iterator_next), (gst_list_iterator_resync),
28223         (gst_list_iterator_free), (gst_iterator_new_list),
28224         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
28225         (gst_iterator_free), (gst_iterator_push), (filter_next),
28226         (filter_resync), (filter_uninit), (filter_free),
28227         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
28228         (gst_iterator_foreach), (find_custom_fold_func),
28229         (gst_iterator_find_custom):
28230         * gst/gstiterator.h:
28231         Added missing files.
28232
28233 2005-03-07  Wim Taymans  <wim@fluendo.com>
28234
28235         * Makefile.am:
28236         * configure.ac:
28237         * docs/design/part-MT-refcounting.txt:
28238         * docs/design/part-conventions.txt:
28239         * docs/design/part-gstobject.txt:
28240         * docs/design/part-relations.txt:
28241         * examples/mixer/mixer.c: (main):
28242         * examples/thread/thread.c: (eos), (main):
28243         * gst/Makefile.am:
28244         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
28245         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
28246         (gst_spider_plug_from_srcpad):
28247         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
28248         (gst_spider_identity_change_state),
28249         (gst_spider_identity_sink_loop_type_finding):
28250         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
28251         * gst/elements/gstidentity.c: (gst_identity_init):
28252         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
28253         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
28254         * gst/elements/gsttypefindelement.c: (free_entry):
28255         * gst/gst.c:
28256         * gst/gst.h:
28257         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
28258         (gst_bin_set_clock_func), (gst_bin_auto_clock),
28259         (gst_bin_set_index), (gst_bin_set_element_sched),
28260         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
28261         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
28262         (gst_bin_iterate_elements), (iterate_child_recurse),
28263         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
28264         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
28265         (compare_interface), (gst_bin_get_by_interface),
28266         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
28267         * gst/gstbin.h:
28268         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
28269         (gst_buffer_default_free), (gst_buffer_default_copy),
28270         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
28271         (gst_buffer_create_sub):
28272         * gst/gstbuffer.h:
28273         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
28274         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
28275         (gst_caps_unref), (gst_static_caps_get),
28276         (gst_caps_remove_and_get_structure), (gst_caps_append),
28277         (gst_caps_append_structure), (gst_caps_remove_structure),
28278         (gst_caps_copy_nth), (gst_caps_set_simple),
28279         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
28280         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
28281         (gst_caps_structure_intersect_field), (gst_caps_intersect),
28282         (gst_caps_structure_subtract_field), (gst_caps_subtract),
28283         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
28284         (gst_caps_structure_figure_out_union),
28285         (gst_caps_switch_structures), (gst_caps_do_simplify),
28286         (gst_caps_replace), (gst_caps_from_string),
28287         (gst_caps_copy_conditional):
28288         * gst/gstcaps.h:
28289         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
28290         (_gst_clock_id_free), (gst_clock_id_unref),
28291         (gst_clock_id_compare_func), (gst_clock_id_wait),
28292         (gst_clock_id_wait_async), (gst_clock_class_init),
28293         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
28294         (gst_clock_get_time), (gst_clock_set_time_adjust),
28295         (gst_clock_set_property), (gst_clock_get_property):
28296         * gst/gstclock.h:
28297         * gst/gstcompat.h:
28298         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
28299         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
28300         * gst/gstdata.h:
28301         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
28302         (gst_element_requires_clock), (gst_element_provides_clock),
28303         (gst_element_set_clock), (gst_element_clock_wait),
28304         (gst_element_wait), (gst_element_set_time_delay),
28305         (gst_element_is_indexable), (gst_element_add_pad),
28306         (gst_element_add_ghost_pad), (gst_element_remove_pad),
28307         (pad_compare_name), (gst_element_get_static_pad),
28308         (gst_element_request_pad), (gst_element_get_request_pad),
28309         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
28310         (gst_element_class_get_pad_template_list),
28311         (gst_element_class_get_pad_template), (gst_element_error_func),
28312         (gst_element_get_random_pad), (gst_element_get_event_masks),
28313         (gst_element_send_event), (gst_element_seek),
28314         (gst_element_get_query_types), (gst_element_query),
28315         (gst_element_get_formats), (gst_element_convert),
28316         (gst_element_is_locked_state), (gst_element_set_locked_state),
28317         (gst_element_sync_state_with_parent), (gst_element_change_state),
28318         (gst_element_finalize), (gst_element_yield),
28319         (gst_element_interrupt), (gst_element_set_scheduler),
28320         (gst_element_get_scheduler), (gst_element_set_loop_function):
28321         * gst/gstelement.h:
28322         * gst/gstevent.h:
28323         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
28324         (gst_format_get_by_nick), (gst_format_get_details),
28325         (gst_format_iterate_definitions):
28326         * gst/gstformat.h:
28327         * gst/gstindex.c: (gst_index_gtype_resolver):
28328         * gst/gstinfo.c:
28329         * gst/gstinfo.h:
28330         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
28331         (gst_mem_chunk_free):
28332         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
28333         (gst_object_ref), (gst_object_unref), (gst_object_sink),
28334         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
28335         (gst_object_dispatch_properties_changed),
28336         (gst_object_set_name_default), (gst_object_set_name),
28337         (gst_object_get_name), (gst_object_set_name_prefix),
28338         (gst_object_get_name_prefix), (gst_object_set_parent),
28339         (gst_object_get_parent), (gst_object_unparent),
28340         (gst_object_check_uniqueness), (gst_object_save_thyself),
28341         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
28342         (gst_object_set_property), (gst_object_get_property),
28343         (gst_object_get_path_string):
28344         * gst/gstobject.h:
28345         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
28346         (gst_real_pad_init), (gst_real_pad_get_property),
28347         (gst_pad_custom_new), (gst_pad_get_direction),
28348         (gst_pad_set_active), (gst_pad_is_active),
28349         (gst_pad_set_event_function), (gst_pad_is_linked),
28350         (gst_pad_link_free), (gst_pad_link_intersect),
28351         (gst_pad_link_fixate), (gst_pad_set_caps),
28352         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
28353         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
28354         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
28355         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
28356         (gst_pad_get_caps), (gst_pad_peer_get_caps),
28357         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
28358         (gst_pad_realize), (gst_pad_get_allowed_caps),
28359         (gst_real_pad_dispose), (gst_real_pad_finalize),
28360         (gst_pad_collectv), (gst_pad_collect_valist),
28361         (gst_pad_template_dispose), (gst_pad_template_new),
28362         (gst_pad_get_internal_links):
28363         * gst/gstpad.h:
28364         * gst/gstpipeline.c: (gst_pipeline_dispose),
28365         (gst_pipeline_change_state):
28366         * gst/gstpipeline.h:
28367         * gst/gstplugin.c:
28368         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
28369         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
28370         * gst/gstpluginfeature.h:
28371         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
28372         * gst/gstquery.c: (_gst_query_type_initialize),
28373         (gst_query_type_register), (gst_query_type_get_by_nick),
28374         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
28375         * gst/gstquery.h:
28376         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
28377         * gst/gstscheduler.c: (gst_scheduler_add_element),
28378         (gst_scheduler_factory_create):
28379         * gst/gststructure.c: (gst_structure_set_parent_refcount),
28380         (gst_structure_free), (gst_structure_set_name),
28381         (gst_structure_id_set_value), (gst_structure_set_value),
28382         (gst_structure_set_valist), (gst_structure_remove_field),
28383         (gst_structure_remove_fields),
28384         (gst_structure_remove_fields_valist),
28385         (gst_structure_remove_all_fields), (gst_structure_foreach),
28386         (gst_structure_map_in_place),
28387         (gst_caps_structure_fixate_field_nearest_int),
28388         (gst_caps_structure_fixate_field_nearest_double):
28389         * gst/gststructure.h:
28390         * gst/gstsystemclock.c: (gst_system_clock_class_init),
28391         (gst_system_clock_init), (gst_system_clock_dispose),
28392         (gst_system_clock_async_thread),
28393         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
28394         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
28395         * gst/gstsystemclock.h:
28396         * gst/gsttag.c: (gst_tag_list_add_value_internal),
28397         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
28398         * gst/gsttaginterface.c:
28399         * gst/gstthread.c: (gst_thread_dispose),
28400         (gst_thread_release_children_locks), (gst_thread_change_state),
28401         (gst_thread_main_loop):
28402         * gst/gsttrashstack.h:
28403         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
28404         * gst/gsttypes.h:
28405         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
28406         (gst_element_request_pad), (gst_element_get_pad_from_template),
28407         (gst_element_request_compatible_pad),
28408         (gst_element_get_compatible_pad_filtered),
28409         (gst_element_get_compatible_pad), (gst_element_state_get_name),
28410         (gst_element_link_pads_filtered), (gst_element_link_filtered),
28411         (gst_element_link_many), (gst_element_link),
28412         (gst_element_link_pads), (gst_element_unlink_pads),
28413         (gst_element_unlink_many), (gst_element_unlink),
28414         (gst_pad_can_link_filtered), (gst_pad_can_link),
28415         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
28416         (gst_object_default_error), (gst_bin_add_many),
28417         (gst_bin_remove_many), (gst_element_populate_std_props),
28418         (gst_element_class_install_std_props), (gst_buffer_merge),
28419         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
28420         (link_fold_func), (gst_pad_proxy_setcaps):
28421         * gst/gstutils.h:
28422         * gst/gstvalue.c: (gst_value_deserialize_string):
28423         * gst/parse/grammar.y:
28424         * gst/schedulers/gstbasicscheduler.c:
28425         (gst_basic_scheduler_cothreaded_chain),
28426         (gst_basic_scheduler_chain_recursive_add),
28427         (gst_basic_scheduler_pad_link):
28428         * gst/schedulers/gstoptimalscheduler.c:
28429         (get_group_schedule_function),
28430         (gst_opt_scheduler_state_transition),
28431         (gst_opt_scheduler_add_element), (element_get_reachables_func):
28432         * libs/gst/bytestream/bytestream.c:
28433         * libs/gst/dataprotocol/dataprotocol.c:
28434         (gst_dp_header_from_buffer):
28435         * po/nb.po:
28436         * po/ru.po:
28437         * tests/threadstate/threadstate2.c: (eos):
28438         * tools/gst-compprep.c: (main):
28439         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
28440         (print_pad_info), (print_children_info):
28441         * tools/gst-launch.c: (idle_func), (main):
28442         * tools/gst-md5sum.c: (idle_func), (main):
28443         * tools/gst-xmlinspect.c: (print_element_info):
28444         First THREADED backport attempt, focusing on adding locks and
28445         making sure the API is threadsafe. Needs more work. More docs
28446         follow this week.
28447
28448 2005-02-24  Andy Wingo  <wingo@pobox.com>
28449
28450         * tests/bench-complexity.scm:
28451         * tests/complexity.gnuplot: New files, good for running complexity
28452         benchmarks.
28453
28454         * tests/Makefile.am:
28455         * tests/complexity.c: New test, sets up N elements, at each level
28456         teeing into M streams per element. Eeeenteresting.
28457
28458         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
28459         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
28460         running bench-mass_elements.scm.
28461
28462         * tests/bench-mass_elements.scm: New script, runs mass_elements
28463         for various numbers of identities, outputting the results to a
28464         file. Requires guile 1.6. Just for testing.
28465
28466 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
28467
28468         * gst/schedulers/fairscheduler.c:
28469           compile with debug disabled
28470
28471 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
28472
28473         * configure.ac:
28474           hunting season on 0.9 is now OPEN