gst/gstvalue.c: Don't crash if either of the string GValues is empty.
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
2
3         * gst/gstvalue.c:
4           Don't crash if either of the string GValues is empty.
5
6 2008-11-17  Andy Wingo  <wingo@pobox.com>
7
8         * tools/gst-inspect.c (print_all_uri_handlers): New function,
9         prints a summary of what URI schemes are supported by what
10         elements.
11         (main): Plumb in support for --uri-handlers or -u, and fix the
12         argc check for -a and -u.
13
14 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
15
16         * gst/gstutils.h:
17         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
18         conversion functions.
19
20 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
21
22         * gst/gstbuffer.c: (gst_buffer_finalize):
23         Avoid costly typechecking for trivially correct pointers.
24
25         * gst/gstpoll.c: (gst_poll_wait):
26         Add some G_LIKELY here and there.
27
28         * libs/gst/base/gstadapter.c: (gst_adapter_push):
29         Add some debug info.
30
31 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
32
33         * docs/random/wtay/poll-timeout:
34         Small tweaks.
35
36 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
37
38         * tests/old/testsuite/caps/intersection.c: (main):
39         * tests/old/testsuite/plugin/loading.c: (main):
40         Remove references to deprecated API g_mem_chunk*.
41         Fixes #560442.
42
43 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
44
45         * tools/gst-inspect.c: (main):
46         Add --plugin option. Fixes #560301.
47
48 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
49
50         * docs/random/wtay/poll-timeout:
51         Quick braindump for a possible (not totally verified) atomic case.
52
53 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
54
55         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
56         (gst_registry_binary_initialize_magic),
57         (gst_registry_binary_write_cache),
58         (gst_registry_binary_check_magic):
59         * gst/gstregistrybinary.h:
60         Don't write and check a CRC for the binary registry file. It's
61         guaranteed that the registry is completely written (it's first written
62         to a temporary file and then moved) and if the registry was corrupted
63         by some hardware failure we would have bigger problems.
64
65         Bump binary registry version to 0.10.21.1 for this as it's an
66         incompatible change and to ensure that the registry gets rebuild
67         after the update.
68
69         This saves some milliseconds for reading/writing the registry.
70         Fixes bug #560399.
71
72 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
73
74         * docs/random/wtay/poll-timeout:
75         Some pseudo code for how we could implement clock timeouts with GstPoll.
76
77 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
78
79         * plugins/elements/gstfilesink.c:
80           Update Author string to match others.
81
82 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
83
84         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
85         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
86         being fixed and inline the trivial check.
87
88 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
89
90         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
91         (gst_caps_merge_structure), (gst_caps_get_structure),
92         (gst_caps_copy_nth), (gst_caps_set_simple),
93         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
94         (gst_caps_is_equal_fixed), (gst_caps_intersect),
95         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
96         (gst_caps_to_string):
97         Callgrind micro optimisations.
98         Avoid array bounds checks and force inline of trivial function.
99
100         * gst/gstobject.c: (gst_object_set_name_default):
101         -1 is equivalent to letting glib to the strlen but then there is more
102         room for optimisations and it's not our fault.
103
104         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
105         no need to clear the array, we're cool.
106
107         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
108         The most common _is_fixed() check is done on fundamental glib base
109         types so we check this first instead of doing a huge amount of
110         useless GST_TYPE_ARRAY calls.
111
112 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
113
114         * gst/gstevent.h:
115         Add a SKIP seek flag for use with advanced trickmodes.
116         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
117
118 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
119
120         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
121         No need to memset, we can clear the value ourselves.
122
123         * gst/gstvalue.c: (gst_type_is_fixed),
124         (gst_value_get_compare_func):
125         Some optimisations from a few callgrind sessions:
126         When checking if a type is fixed, check for trivial fundamental types
127         first before checking types for which we need to get the type followed
128         by the heavy duty type checks, this reduces the amount of
129         g_type_fundamental() calls a lot.
130         When getting the compare function, first check for our registered types.
131         If that fails, do the heavy duty g_type_is_a() checks, reduces the
132         amount of g_type_is_a() considerably.
133
134 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
135
136         * docs/design/part-TODO.txt:
137         Mumble something about removing GstXML.
138
139 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
140
141         * gst/gstbin.c: (gst_bin_handle_message_func):
142         Get the seqnum before we dispose the message.
143
144 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
145
146         * docs/design/part-TODO.txt:
147         Refer to the framestepping document.
148
149 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
150
151         * gst/gstbin.c: (bin_handle_async_start),
152         (gst_bin_handle_message_func), (gst_bin_query):
153         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
154         (gst_base_sink_event), (gst_base_sink_change_state):
155         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
156         (gst_base_src_loop), (gst_base_src_change_state):
157         Copy seqnums from events to messages so that they can all be related
158         back to eachother.
159
160 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
161
162         * tools/gst-launch.c: (event_loop):
163         Print the message seqnums.
164
165 2008-11-04  Andy Wingo  <wingo@pobox.com>
166
167         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
168
169 2008-11-04  Andy Wingo  <wingo@pobox.com>
170
171         Add sequence numbers to events and messages. See #559250.
172
173         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
174         API: New functions.
175
176         * gst/gstevent.h:
177         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
178         events with a new sequence number, and copy it when copying.
179         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
180         an event's sequence number.
181
182         * gst/gstmessage.h:
183         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
184         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
185         so with messages.
186
187         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
188
189 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
190
191         * docs/manual/advanced-position.xml:
192         * docs/manual/basics-bins.xml:
193         * docs/manual/basics-bus.xml:
194         * docs/manual/basics-pads.xml:
195         * docs/manual/intro-gstreamer.xml:
196         * docs/manual/intro-preface.xml:
197         Some Application Development Manual fixes thanks to
198         Andrew Feren. Fixes #558459.
199
200 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
201
202         * gst/gstregistrybinary.c:
203           Don't bother with the GTimer if we don't output the results.
204
205 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
206
207         Patch by: David Schleef  <ds@schleef.org>
208
209         * libs/gst/net/Makefile.am:
210         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
211
212 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
213
214         * gst/gstregistrybinary.c:
215           Oh my, studip, stupid me. Remove double stat() call.
216
217 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
218
219         * gst/gstpreset.c:
220           Use g_unlink instead of unlink.
221
222         * gst/gststructure.c:
223           Use glib type.
224
225         * gst/gstutils.c:
226           Add a FIXME:.
227
228         * gst/gsttaglist.c:
229         * gst/gsttypefind.c:
230         * gst/gstvalue.c:
231           Formatting & whitespaces.
232
233 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
234
235         * plugins/elements/gstidentity.c:
236           Doc typo. Use return value of parent_class->event.
237   
238         * plugins/elements/gsttypefindelement.c:
239           Chain up at the end for consistency.
240   
241 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
242
243         * docs/Makefile.am:
244         * docs/gst/gstreamer-docs.sgml:
245         * docs/gst/gstreamer-sections.txt:
246         * docs/gst/running.xml:
247         * docs/libs/gstreamer-libs-docs.sgml:
248           Change to xinclude based build - its faster and easier to maintain.
249
250 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
251
252         * gst/gstregistrybinary.c:
253         * gst/gstregistryxml.c:
254           Use g_unlink() as none of these are directories.
255
256 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
257
258         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
259         Some more comments.
260
261 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
262
263         * libs/gst/base/gstbasetransform.c:
264         (gst_base_transform_find_transform), (gst_base_transform_getrange):
265         If we have a fixate function, call it even if we already have fixed caps
266         because the subclass might add some caps. Makes audioconvert add a
267         default channel layout.
268
269 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
270
271         * libs/gst/base/gstbasetransform.c:
272         (gst_base_transform_prepare_output_buffer),
273         (gst_base_transform_getrange):
274         Clear the output buffer variable.
275         Cleanups to the error path in the getrange function.
276         Fixes #557649.
277
278 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
279
280         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
281         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
282         Use gst_buffer_try_new_and_alloc() and handle errors instead of
283         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
284         be allocated.
285
286 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
287
288         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
289         Set the last_stop to a more meaningful position when configuring the
290         segment. ie. the start/stop of the segment or clipped against the
291         updated segment boundaries.
292
293         * tests/check/gst/gstsegment.c: (GST_START_TEST):
294         Add some unit tests for the last_stop.
295
296 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
297
298         * libs/gst/base/gstbytereader.c:
299         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
300         copies of them.
301
302 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
303
304         * docs/gst/gstreamer-sections.txt:
305         * gst/gstutils.h:
306         API: Move float endianness conversion macros from libgstfloatcast
307         to core as it's useful in general, even in core. Fixes bug #555196.
308         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
309         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
310         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
311
312         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
313         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
314         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
315         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
316
317 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
318
319         * docs/libs/gstreamer-libs-sections.txt:
320         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
321         (gst_byte_reader_peek_data):
322         * libs/gst/base/gstbytereader.h:
323         * win32/common/libgstbase.def:
324         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
325         to get a pointer to the data at the current position and have
326         a guaranteed size.
327
328 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
329
330         * configure.ac:
331         Fix a bug in the output of the configure script summary
332         when --gst-disable-registry is supplied
333
334 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
335
336         * libs/gst/base/gstbitreader.c:
337         * libs/gst/base/gstbytereader.c:
338         Fix the names of 2 functions in the docs strings.
339
340 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
341
342         * libs/gst/base/gstbasetransform.c:
343         (gst_base_transform_prepare_output_buffer),
344         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
345         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
346         refcount problems as seen in banshee and maybe also in farsight2.
347         Remove atomic int now that we need to take the lock anyways.
348
349 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
350
351         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
352         (gst_base_sink_default_prepare_seek_segment),
353         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
354         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
355         (gst_base_sink_query):
356         Implement more seeking in pull mode.
357         Use pad convert functions to convert position to the requested format.
358         Fix position/duration reporting in pull mode.
359         Implement position and duration reporting in other formats than time.
360
361         * libs/gst/base/gstbasesink.h:
362         Add member to keep track of when the segment is playing.
363
364 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
365
366         * gst/gstpad.c: (gst_pad_configure_src):
367         When we use gst_pad_alloc_buffer() without wanting to set the caps we
368         also don't need to check if the caps are compatible because the caller
369         presumably is going to perform its own custom checks. Fixes some cases
370         where basetransform elements would error out when it was not needed.
371
372 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
373
374         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
375         Update comment.
376
377         * libs/gst/base/gstbasetransform.c:
378         (gst_base_transform_handle_buffer),
379         (gst_base_transform_reconfigure):
380         Add some debug info.
381
382         * win32/common/libgstbase.def:
383         Add new method.
384
385 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
386
387         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
388           Remove duplicated assignment and log a message in failure case.
389
390 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
391
392         Patch by: Dig Ge <dig.ge.cn at gmail com>
393
394         * tests/examples/helloworld/helloworld.c: (main):
395           Fix copy'n'paste bug in hello world example (#556900).
396
397 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
398
399         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
400         (gst_base_sink_query):
401         Query the total number of bytes when activating the pad in pull mode.
402         Implement duration query in pull mode by using the installed pad convert
403         function to convert from bytes to the requested format.
404
405 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
406
407         * docs/libs/gstreamer-libs-sections.txt:
408         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
409         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
410         (gst_base_sink_event), (gst_base_sink_perform_seek),
411         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
412         (gst_base_sink_send_event), (gst_base_sink_change_state):
413         * libs/gst/base/gstbasesink.h:
414         Add method to commit the state in subclasses.
415         Refactor the flush_start and flush_stop code because we need it for
416         flushing while seeking too.
417         Implement the beginnings of seeking in pull mode.
418         Use the segment last_stop field for the pulling offset.
419         Fix the pause method in pull mode.
420         Configure the segment to BYTES for pull mode.
421         API: GstBaseSink::gst_base_sink_do_preroll()
422
423 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
424
425         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
426         Update some docs.
427
428 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
429
430         * gst/gstquark.c: (_priv_gst_quarks_initialize):
431           Fix printf format warning.
432
433 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
434
435         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
436         Fix flow aggregation of tee. Error out immediately for all flow returns
437         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
438         and return OK if at least one pad is linked.
439
440         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
441         and otherwise returned the flow return of the last pad, which is wrong.
442         
443         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
444         (GST_START_TEST), (tee_suite):
445         Add unit tests for the flow aggregation.
446
447 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
448
449         * docs/design/part-TODO.txt:
450         Remove item from the todo list because it was fixed with the latency
451         state change rewrites.
452
453         * docs/design/part-seeking.txt:
454         * docs/design/part-segments.txt:
455         Update some docs.
456
457         * gst/gstevent.c: (gst_event_new_new_segment_full),
458         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
459         (gst_event_parse_buffer_size), (gst_event_new_qos),
460         (gst_event_parse_qos), (gst_event_new_seek),
461         (gst_event_parse_seek), (gst_event_new_latency),
462         (gst_event_parse_latency):
463         Use quarks to construct and parse events.
464
465         * gst/gstquark.c: (_priv_gst_quarks_initialize):
466         * gst/gstquark.h:
467         Add some more quarks to the table.
468         Emit a warning when the quark tables are not in sync.
469
470         * tests/check/gst/gstbus.c: (GST_START_TEST):
471         Add an assert.
472
473 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
474
475         * plugins/elements/Makefile.am:
476         * plugins/indexers/Makefile.am:
477           Don't install static libs for plugins. Fixes #550851 for core.
478
479 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
480
481         * gst/gstbus.c: (gst_bus_source_finalize),
482         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
483         (gst_bus_enable_sync_message_emission),
484         (gst_bus_disable_sync_message_emission),
485         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
486         Fix deadlock, g_source_get_id() cannot be called in finalize.
487         Keep track of the watch source by keeping a pointer to the source object
488         instead.
489         Use the bus lock to protect access to the pointer to the current
490         watch source.
491
492 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
493
494         Base on Patch by: Olivier Crete <tester at tester dot ca>
495
496         * gst/gstbus.c: (gst_bus_source_finalize),
497         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
498         Only allow one bus watch to be set at a time. This is necessary
499         because the dispatcher pops the message from the bus and the second
500         watcher will then get NULL or the next message (and the first won't
501         get this next message then, etc). If more than one "watcher" is
502         required signal watches should be used. Fixes bug #526044.
503
504 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
505
506         * tools/gst-launch.c:
507         Change the printing of the 'buffering...' output to avoid putting
508         a \r in a translateable string (flagged by the TP).
509
510 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
511
512         * gst/gstxml.c:
513         Clarify that the save_thyself() and restore_thyself() virtual
514         functions of GstObject need to be overriden, not
515         gst_object_(save|restore)_thyself() which is impossible.
516         Fixes bug #555700.
517
518 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
519
520         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
521         Revert a patch from 21 months ago that broke caps negotiation in pull
522         mode. Basically, having a buffer pass over a pad will trigger the
523         setcaps function when caps change, just like in push mode.
524
525 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
526
527         * docs/design/part-negotiation.txt:
528         Update the docs some more.
529
530         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
531         If we pull a buffer with non-trivial caps, suggest those caps with the
532         max probability.
533
534 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
535
536         * docs/design/part-TODO.txt:
537         Add another limitation of pad-blocking with segment seeks not pushing
538         EOS events.
539
540 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
541
542         * win32/common/libgstbase.def:
543         * win32/common/libgstreamer.def:
544         Add new symbols to the win32 defs files
545
546 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
547
548         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
549         (gst_bin_handle_message_func):
550         The message src can be NULL, don't try to print the object names in that
551         case.
552
553         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
554         Add some more debug info.
555
556         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
557         (GST_START_TEST):
558         Add some debug.
559         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
560         scheduling modes.
561
562 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
563
564         * docs/design/part-negotiation.txt:
565         Small doc update.
566
567         * docs/libs/gstreamer-libs-sections.txt:
568         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
569         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
570         (gst_base_sink_init), (gst_base_sink_set_blocksize),
571         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
572         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
573         (gst_base_sink_loop), (gst_base_sink_pad_activate),
574         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
575         (gst_base_sink_change_state):
576         * libs/gst/base/gstbasesink.h:
577         Add blocksize property and methods to control the amount of data
578         to pull.
579         Negotiate first before activating upstream in pull mode so that they can
580         negotiate themselves.
581         When we operate in pull mode, we only accept the caps that we
582         negotiated.
583         Make the sink go ASYNC to PAUSED, like all other sinks.
584         API: GstBaseSink::gst_base_sink_set_blocksize()
585         API: GstBaseSink::gst_base_sink_get_blocksize()
586         API: GstBaseSink::blocksize
587
588         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
589         (gst_base_src_set_live), (gst_base_src_is_live),
590         (gst_base_src_set_format), (gst_base_src_query_latency),
591         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
592         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
593         (gst_base_src_set_property), (gst_base_src_get_property):
594         * libs/gst/base/gstbasesrc.h:
595         Add typechecking in public API functions.
596         Add methods to control the blocksize in subclasses.
597         API: GstBaseSrc::gst_base_src_set_blocksize()
598         API: GstBaseSrc::gst_base_src_get_blocksize()
599
600 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
601
602         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
603         (buffer_probe), (event_probe), (GST_START_TEST):
604         We now see 3 events go through our pad, since basesink now sends
605         upstream latency events.
606
607 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
608
609         * gst/gstpipeline.c: (gst_pipeline_change_state):
610         Release the object lock before trying to flush the bus.
611
612 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
613
614         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
615         Forward LATENCY events upstreams so that elements know about the total
616         pipeline latency. Fixes #555307.
617
618 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
619
620         * plugins/elements/gstqueue.c:
621         Allow through queries when we don't know how
622         to adjust them (not TIME or BYTES), as otherwise it's
623         not possible to query the current position in order
624         to seek in other formats at all.
625
626 2008-10-08  Andy Wingo  <wingo@pobox.com>
627
628         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
629
630 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
631
632         * gst/gstghostpad.c:
633         * gst/gstghostpad.h:
634         Unbreak -good build, private is a reserved c++ keyword.
635
636 2008-10-08  Andy Wingo  <wingo@pobox.com>
637
638         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
639         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
640         removal: re-add GST_GHOST_PAD_CAST to the header.
641
642         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
643         (GstGhostPadClass): Publically expose these structures so as to
644         allow easy subclassing from C. Hide the member data behind a
645         private opaque data pointer.
646
647         * gst/gstghostpad.c: Adapt to store instance data in the type
648         instance's private data region, not in the public struct.
649
650 2008-10-08  Andy Wingo  <wingo@pobox.com>
651
652         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
653         template via g_object_get(), be sure to unref it.
654
655         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
656
657 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
658
659         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
660         If we can't get a cache file don't try to save something to it.
661         Dereferencing NULL pointers usually isn't a good idea.
662
663 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
664
665         * tests/check/Makefile.am:
666         * tests/check/gst/gstabi.c:
667         * tests/check/gst/struct_sparc.h:
668         * tests/check/libs/libsabi.c:
669         * tests/check/libs/struct_sparc.h:
670         Add Sparc ABI checks
671
672         * tests/check/gst/gstvalue.c: (GST_START_TEST):
673         Cast signed integer to unsigned to avoid a compiler warning.
674
675 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
676
677         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
678         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
679         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
680         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
681         (gst_byte_reader_peek_int24_be):
682         Use new GST_READ_UINT24_(LE|BE) macros.
683
684 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
685
686         * docs/gst/gstreamer-sections.txt:
687         * gst/gstutils.h:
688         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
689         as it's too easy to break the ISO C strict aliasing rules with simple
690         casts to the corresponding type and this would introduce hard to debug
691         bugs. Fixes bug #545714.
692
693         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
694
695 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
696
697         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
698         * gst/gstghostpad.c: (gst_ghost_pad_construct):
699           Add 'Since' bits to gtk-doc chunks for new API.
700
701 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
702
703         * docs/gst/gstreamer-sections.txt:
704         Fix documentation
705
706 2008-10-06  Andy Wingo  <wingo@pobox.com>
707
708         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
709         that will be called on the malloc_data to free it. Basically a way
710         to avoid subclassing when all you need is a different free
711         function, i.e. free() instead of g_free().
712
713         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
714         calling the free function.
715         (gst_buffer_init): Initialize the free function to g_free.
716
717 2008-10-06  Andy Wingo  <wingo@pobox.com>
718
719         * gst/gstghostpad.h:
720         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
721         finishes the initialization of ghost pad. Useful for language
722         bindings and subclassers of GstGhostPad. Fixes #539108.
723         (gst_ghost_pad_new_full): Use the new constructor.
724
725 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
726
727         Base on Patch by: Olivier Crete <tester at tester dot ca>
728
729         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
730         (gst_bin_remove_func), (update_degree),
731         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
732         Keep track of pads that are being linked/unlinked and resync the state
733         changes.
734
735         * gst/gstpad.c: (gst_pad_get_direction),
736         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
737         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
738         (gst_pad_link_prepare), (gst_pad_link),
739         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
740         (gst_pad_check_pull_range), (gst_pad_get_range),
741         (gst_pad_pull_range):
742         Some code cleanups, use macros to check pad direction.
743         Don't need to take the lock on the pad direction.
744         Post structure change when pads are linked/unlinked.
745         Change some checks into _return_if_fail().
746
747         * tests/check/gst/gstbin.c:
748         (test_link_structure_change_state_changed_sync_cb),
749         (GST_START_TEST), (gst_bin_suite):
750         Add testcase for pad link/unlinke resync during a state change.
751         Fixes #510354.
752
753 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
754
755         * docs/gst/gstreamer-sections.txt:
756         * gst/gstmessage.c: (gst_message_new_structure_change),
757         (gst_message_parse_structure_change):
758         * gst/gstmessage.h:
759         Implement STRUCTURE_CHANGED messages. These messages will be used to
760         signal the parent bin of link/unlink operations that could require a
761         resync when doing a state change. See ##510354.
762         API: gst_message_new_structure_change()
763         API: gst_message_parse_structure_change()
764
765 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
766
767         * gst/gstquark.c:
768         * gst/gstquark.h:
769         Add some more quarks for new message. See #510354.
770
771 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
772
773         * docs/libs/gstreamer-libs-docs.sgml:
774         * docs/libs/gstreamer-libs-sections.txt:
775         * libs/gst/base/Makefile.am:
776         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
777         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
778         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
779         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
780         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
781         (gst_bit_reader_skip_to_byte):
782         * libs/gst/base/gstbitreader.h:
783         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
784         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
785         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
786         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
787         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
788         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
789         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
790         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
791         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
792         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
793         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
794         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
795         * libs/gst/base/gstbytereader.h:
796         * tests/check/Makefile.am:
797         * tests/check/libs/bitreader.c: (GST_START_TEST),
798         (gst_bit_reader_suite):
799         * tests/check/libs/bytereader.c: (GST_START_TEST),
800         (gst_byte_reader_suite):
801         API: Add bit reader and byte reader classes, including documentation
802         and an extensive unit test suite. Fixes bug #553554.
803
804 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
805
806         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
807         (gst_base_sink_query):
808         Improve position reporting while flushing and other intermediate state
809         changes. Fixes #553874.
810
811 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
812
813         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
814
815         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
816         Original patch by : Simon Descaries
817         Fix small refount leak in caps compatibility check.
818         Fixes #551676.
819
820 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
821
822         * docs/pwg/advanced-request.xml:
823           Fix 0.8 api usage in example. Fixes #554561
824
825         * docs/pwg/appendix-porting.xml:
826           Change 0.9 to 0.10 here.
827
828 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
829
830         * docs/manual/basics-data.xml:
831           Change "event-event interaction" to "element-element interaction".
832           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
833           updates.
834
835 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
836
837         * configure.ac:
838         Back to development -> 0.10.21.1
839
840 === release 0.10.21 ===
841
842 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
843
844         * configure.ac:
845           releasing 0.10.21, "Take These Things From Me"
846
847 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
848
849         * configure.ac:
850         0.10.20.4 pre-release
851
852 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
853
854         * libs/gst/base/gstbasetransform.c:
855         * plugins/elements/gstcapsfilter.c:
856         * tests/check/Makefile.am:
857         * tests/check/elements/.cvsignore:
858         * tests/check/elements/capsfilter.c:
859         Fix assertion in basetransform when the subclass chooses not to
860         allocate a buffer in prepare_buffer(), and make capsfilter error out
861         cleanly if requested to apply caps that don't completely specify the
862         buffer. Fixes #551509
863
864 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
865
866         * libs/gst/base/gstbasetransform.c:
867         (gst_base_transform_prepare_output_buffer):
868         Take new caps ref because our old one might have been gone when the
869         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
870
871 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
872
873         * configure.ac:
874           Do not probe availability of check unit test library when cross
875           compiling, as test would not work anyway. Also cleanup verbose output
876           of the check test. Fixes #551952.
877
878 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
879
880         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
881
882         * gst/gstelement.c: (gst_element_sync_state_with_parent):
883         Avoid leaking the parent ref when we fail changing the state of the
884         element using gst_element_sync_state_with_parent(). Fixes #551978.
885
886 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
887
888         * docs/manual/intro-motivation.xml::
889           Remove some bits that no longer apply, update others (#551642).
890
891 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
892
893         * configure.ac:
894         0.10.20.2 pre-release
895
896         * po/LINGUAS:
897         * po/id.po:
898         * po/pt_BR.po:
899
900         New translations.
901
902 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
903
904         * win32/common/config.h.in:
905           Add GST_DATADIR, hard-code cpu to x86.
906
907         * win32/common/libgstreamer.def:
908           Spaces to tabs.
909
910 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
911
912         * gst/gsttaglist.h:
913           Fix Since: markers for new geo tags.
914
915 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
916
917         * gst/gsttaglist.h:
918           Fix actual tag name define after renaming from altitude to elevation.
919
920 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
921
922         * gst/gstpad.c: (add_unref_pad_to_list),
923         (gst_pad_get_internal_links_default):
924         Add fallback when calling the deprecated function on an element that
925         implements the new internal_link handler.
926
927 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
928
929         * docs/gst/gstreamer-sections.txt:
930         * gst/gsttaglist.c:
931         * gst/gsttaglist.h:
932           Add new tags for geo location and clarify purpose of existing location
933           tag. Fixes #481169
934
935 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
936
937         Patch by: Olivier Crete <tester at tester dot ca>
938
939         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
940         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
941         Use thread-safe internal links iterator. Fixes #549504.
942
943 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
944
945         Based on patch by: Olivier Crete <tester at tester dot ca>
946
947         * docs/gst/gstreamer-sections.txt:
948         * win32/common/libgstreamer.def:
949         * gst/gstpad.c: (gst_pad_init),
950         (gst_pad_set_iterate_internal_links_function),
951         (int_link_iter_data_free), (iterate_pad),
952         (gst_pad_iterate_internal_links_default),
953         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
954         * gst/gstpad.h:
955         Add threadsafe replacement functions for getting internal links of an
956         element. Deprecate the old internal links functions.
957         API:GstPad::gst_pad_set_iterate_internal_links_function()
958         API:GstPad::GstPadIterIntLinkFunction
959         API:GstPad::gst_pad_iterate_internal_links()
960         API:GstPad::gst_pad_iterate_internal_links_default()
961
962         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
963         (gst_proxy_pad_init):
964         Implement threadsafe internal links.
965
966         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
967         Unit test for internal links on tee. See #549504.
968
969 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
970
971         * tests/check/Makefile.am:
972         libs/transform1 test requires libs/test_transform.c
973
974 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
975
976         * gst/gstpad.c: (gst_pad_get_internal_links_default):
977         Die evil deadlock, die !
978
979 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
980
981         * gst/gstutils.c: (gst_element_get_compatible_pad):
982         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
983         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
984         Fix all leaks due to the bug in gst_pad_template_new() by which it does
985         not steal the refcount of the given caps as stated.
986
987         REVERT THIS COMMIT ONCE FIXED !
988         REVERT THIS COMMIT ONCE FIXED !
989         REVERT THIS COMMIT ONCE FIXED !
990         REVERT THIS COMMIT ONCE FIXED !
991         REVERT THIS COMMIT ONCE FIXED !
992         REVERT THIS COMMIT ONCE FIXED !
993
994 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
995
996         * gst/gstiterator.c:
997         * gst/gstiterator.h:
998         After 3 years it's about time to revise the documentation of the
999         iterator objects.
1000
1001 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1002
1003         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1004         Make the internal links function less thread-unsafe and add some
1005         comments, dunno why.
1006
1007 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1008
1009         * gst/gst_private.h:
1010           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1011           build with --disable-gst-debug.
1012
1013 2008-08-28  David Schleef  <ds@schleef.org>
1014
1015         * gst/gstpadtemplate.c: Revert last change, since it breaks
1016           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1017           but shouldn't be enabled until we've released fixed versions
1018           of -good and -ffmpeg.
1019
1020 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1021
1022         * gst/gstobject.c:
1023           Put the gst_object_get_name() back in.
1024
1025 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1026
1027         * gst/gstpadtemplate.c:
1028           The old behaviour was that gst_pad_template_new() takes ownership of
1029           the caps. As we now call g_object_new() which calls g_object_set() and
1030           which copies the caps, we have to unref them to not leak them. Fixes
1031           make valgrid for me.
1032
1033 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1034
1035         * gst/gsturi.c:
1036           Don't segfault on input like "tel:+1-123-555-1234".
1037
1038 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1039
1040         * gst/gstobject.c:
1041           Due to popular request also include ObjectType in
1042           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1043
1044 2008-08-26  David Schleef  <ds@schleef.org>
1045
1046         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1047           src_val must be positive, because that's not a requirement.
1048           This causes problems with converting negative granulepos
1049           values for Dirac.
1050         * gst/gstquery.c: Same, gst_query_new_convert().
1051
1052 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1053
1054         * gst/gstclock.c: (gst_clock_add_observation):
1055         Add some more debugging to the clock slaving code.
1056
1057         * win32/common/libgstbase.def:
1058         Add new basetransform method.
1059
1060 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1061
1062         * gst/gstbin.c: (gst_bin_element_set_state):
1063         Take the (recursive) state lock between getting the locked state of an
1064         element and changing the element state. This allows the application to
1065         lock an element's state and then change its state without races.
1066
1067 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1068
1069         * gst/gstbin.c: (gst_bin_element_set_state):
1070         When an element is in the locked state we still want to update the
1071         base_time of the element.
1072
1073 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1074
1075         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1076         Use the result from gst_pad_set_caps() instead of assuming the element
1077         always accepted the caps computed by the default negotiate function.
1078
1079 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1080
1081         * docs/libs/gstreamer-libs-sections.txt:
1082         * libs/gst/base/gstbasetransform.c:
1083         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1084         (gst_base_transform_chain), (gst_base_transform_suggest),
1085         (gst_base_transform_reconfigure):
1086         * libs/gst/base/gstbasetransform.h:
1087         Implement method for reconfiguring basetransform.
1088         API: GstBaseTransform::gst_base_transform_reconfigure()
1089
1090 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1091
1092         patch by: Murray Cumming <murrayc@murrayc.com>
1093
1094         * gst/gstutils.c:
1095           Mention that this is just like gst_buffer_merge() but with extra
1096           unreffing for C coders. Advise language bindings not to wrap it.
1097           Fixes Bug #533856.
1098           
1099           Also fix file comment.
1100
1101 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1102
1103         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1104
1105         * plugins/elements/gstfakesink.c:
1106         * plugins/elements/gstfakesrc.c:
1107           Call super::event() when not handling it. Fixes #544855.
1108
1109 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1110
1111         Patch by: Alessandro Decina <alessandro@nnva.org>
1112         * plugins/elements/gstfilesrc.c:
1113           Use 64 bit variants of stat functions on win32, to enable support
1114           of large files there.
1115           Fixes #547277.
1116
1117 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1118
1119         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1120         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1121         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1122         (gst_base_sink_get_position), (gst_base_sink_change_state):
1123         Improve position reporting in the flushing state.
1124         Also report the position when we are not yet prerolled but we
1125         have a newsegment event. Fixes #543444.
1126         Improve the pull-based negotiation code.
1127
1128         * tests/check/elements/fakesink.c: (GST_START_TEST),
1129         (fakesink_suite):
1130         Add testcase for position reporting while flushing in PAUSED and
1131         PLAYING.
1132
1133         * tests/check/generic/sinks.c: (GST_START_TEST):
1134         Update unit-test, we can now query the position as soon as we receive a
1135         NEWSEGMENT event.
1136
1137 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1138
1139         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1140
1141         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1142         When the subclass event handler releases the PREROLL_LOCK, we could be
1143         in the flushing state and we have to ignore the event. Fixes #548394.
1144
1145 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1146
1147         * tools/gst-launch.1.in:
1148           Document GST_REGISTRY_UPDATE environment variable.
1149
1150 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1151
1152         * libs/gst/base/gstbasetransform.c:
1153         (gst_base_transform_prepare_output_buffer):
1154         If the element is configured in passthrough mode but the
1155         prepare_output_buffer gave us a new output buffer, discard that buffer
1156         and reuse the input buffer.
1157
1158 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1159
1160         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1161
1162         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1163         (gst_tee_request_new_pad), (gst_tee_release_pad),
1164         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1165         * plugins/elements/gsttee.h:
1166         Protect pad_alloc with a new lock so that we can be sure that nothing is
1167         performing a pad_alloc when removing the pad. Fixes #547835.
1168
1169         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1170         (buffer_alloc_harness_teardown), (app_thread_func),
1171         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1172         Added testcase for shutdown race.
1173
1174 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1175
1176         * gst/gstpad.h:
1177         Add doc
1178
1179 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1180
1181         * libs/gst/base/gstbasetransform.c:
1182         (gst_base_transform_prepare_output_buffer),
1183         (gst_base_transform_buffer_alloc):
1184         Go over the buffer_alloc function again and make sure we always end up
1185         allocating a buffer.
1186         Add some more docs.
1187         Avoid doing pad alloc when we have a pending suggestion because we
1188         cannot yet deal with changing caps in that case. Fixes #547728
1189
1190 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1191
1192         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1193
1194         * docs/manual/advanced-clocks.xml:
1195         * docs/manual/clocks.png:
1196         * docs/manual/diagrams-clocks.svg:
1197           Add one more image showing different times together with a describing
1198           paragraph. Fixes #547729.
1199
1200 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1201
1202         * win32/common/libgstbase.def:
1203         Add new method.
1204
1205 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1206
1207         * libs/gst/base/gstbasetransform.c:
1208         (gst_base_transform_transform_caps),
1209         (gst_base_transform_prepare_output_buffer),
1210         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1211         Don't overwrite the outsize when calculating the expected size of a new
1212         buffer because we still need it in case we cannot process the new
1213         buffer.
1214         When converting the size of the new buffer to an upstream size, actually
1215         use the expected size of the buffer, not some other random value.
1216         Use an atomic int to signal that a new upstream caps suggestion is
1217         available.
1218         When we can convert the current buffer to a new format, check if the
1219         buffer size is of the expected size and allocate a new buffer of the
1220         expected size when this is not the case. Fixes #546883.
1221
1222         * tests/check/libs/transform1.c: (GST_START_TEST):
1223         remove ifdeffed code from the unit test.
1224
1225 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1226
1227         * pkgconfig/gstreamer-uninstalled.pc.in:
1228         * pkgconfig/gstreamer.pc.in:
1229           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1230           called gstcontroller-0.10.
1231
1232 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1233
1234         * gst/gstchildproxy.h:
1235         * gst/gstpreset.h:
1236           Remove double interface from doc-string.        
1237
1238 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1239
1240         * libs/gst/base/gstbasesrc.c:
1241         * libs/gst/base/gstbasetransform.c:
1242           Fix headings in docs and gtk-doc warnings.
1243
1244 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1245
1246         * gst/gstregistrybinary.c:
1247           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1248           libc.
1249           Fixes #544776.
1250
1251 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1252
1253         * libs/gst/base/gstbasetransform.c:
1254         (gst_base_transform_buffer_alloc):
1255         Fix a "may be used unitialized" warning.
1256
1257 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1258
1259         * docs/gst/gstreamer-sections.txt:
1260         * gst/gstpreset.h:
1261           Document preset-iface vmethods.
1262
1263 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1264
1265         * docs/manual/advanced-interfaces.xml:
1266           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1267           only used to discover devices.
1268
1269 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1270
1271         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1272
1273         * gst/gst.c: (init_pre):
1274         Make sure gettext returns translations in UTF-8 encoding rather
1275         than in the current locale encoding (#546822).
1276
1277 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1278
1279         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1280         Fix subset test.
1281
1282         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1283         Improve unit test subset tests and add a testcase for the subset failure
1284         cases.
1285
1286         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1287         Improve subtraction unit test.
1288
1289 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1290
1291         * plugins/elements/gsttee.c:
1292           Unlock, instead of locking again.
1293
1294 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1295
1296         * gst/gstpad.h:
1297         Clarify the docs a bit more.
1298
1299 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1300
1301         * tests/examples/metadata/read-metadata.c:
1302           Don't leak old taglist.
1303
1304 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1305
1306         Patch by: Olivier Crete <tester at tester dot ca>
1307
1308         * gst/gststructure.c:
1309         (gst_structure_fixate_field_nearest_fraction):
1310         Avoid overflows in fixation code when dealing with MAXINT values, which
1311         v4l2src seems to do.
1312         Fixes #546328.
1313
1314         * tests/check/gst/gststructure.c: (GST_START_TEST):
1315         Make a unit test to check the fix. 
1316
1317 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1318
1319         * plugins/elements/gstcapsfilter.c: (copy_func),
1320         (gst_capsfilter_set_property):
1321         Use new caps suggestion feature of basetransform to request a caps
1322         negotiation upstream.
1323
1324 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1325
1326         * docs/libs/gstreamer-libs-sections.txt:
1327         Add new function:
1328         API: GstBaseTransform::gst_base_transform_suggest()
1329
1330         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1331         (gst_base_transform_init), (gst_base_transform_transform_caps),
1332         (gst_base_transform_transform_size),
1333         (gst_base_transform_configure_caps),
1334         (gst_base_transform_can_transform),
1335         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1336         (gst_base_transform_prepare_output_buffer),
1337         (gst_base_transform_buffer_alloc),
1338         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1339         (gst_base_transform_chain), (gst_base_transform_activate),
1340         (gst_base_transform_set_passthrough),
1341         (gst_base_transform_is_passthrough),
1342         (gst_base_transform_set_in_place),
1343         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1344         (gst_base_transform_set_qos_enabled),
1345         (gst_base_transform_is_qos_enabled),
1346         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1347         (gst_base_transform_reconfigure):
1348         * libs/gst/base/gstbasetransform.h:
1349         Rewrite of basetransform to perform negotiation outside of the
1350         buffer_alloc functions.  Fixes #545853.
1351
1352         * tests/check/libs/transform1.c: (GST_START_TEST),
1353         (buffer_alloc_ct2):
1354         Update unit test.
1355
1356 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1357
1358         * tests/check/gst/gstpreset.c:
1359           Only run preset tests when $HOME is writable. Preliminary fix for
1360           #545433.
1361
1362 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1363
1364         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1365         (gst_bin_change_state_func), (bin_handle_async_done),
1366         (gst_bin_handle_message_func):
1367         Fix race for bins that simulate ASYNC state changes by inserting
1368         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1369         pending ASYNC messages even when the bin does not have ASYNC children.
1370         We note detect this behaviour because we will receive an ASYNC message
1371         that is originating from the bin itself. 
1372         Fixes races with decodebin2 state changes.
1373
1374         * tests/check/gst/gstbin.c: (GST_START_TEST):
1375         Add some more debug.
1376
1377 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1378
1379         * gst/gsttaglist.c: (_gst_tag_initialize):
1380           Fix typo.
1381
1382 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1383
1384         * gst/gsttaglist.c:
1385           Argh. actually save the text before committing. Now adds
1386           gst_tag_merge_strings_with_comma() to gst_tag_register().
1387
1388 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1389
1390         * gst/gsttaglist.c:
1391         * gst/gsttaglist.h:
1392           Do as tim pointed out and actually register the new tag. Also improve
1393           te docs and use gst_tag_merge_strings_with_comma() method to allow
1394           retriving all keywords merged in one list.
1395
1396 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1397
1398         * configure.ac:
1399         * docs/gst/gstreamer.types:
1400           Revert 'accidential' change of the configure option removal. We still
1401           need to generate the types file in configure --disable-load-save.
1402
1403 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1404
1405         * docs/gst/gstreamer-sections.txt:
1406         * gst/gsttaglist.h:
1407           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1408
1409 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1410
1411         * gst/gstpadtemplate.c:
1412           (gst_pad_template_class_init), (gst_static_pad_template_get),
1413           (gst_pad_template_new), (gst_pad_template_pad_created),
1414           (gst_pad_template_set_property), (gst_pad_template_get_property):
1415           Add "name-template", "direction", "presence" and "caps" properties,
1416           so that gst_pad_template_new() is just a thin wrapper around
1417           g_object_new(), which is better for bindings. (Fixes: #539772)
1418
1419 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1420
1421         * gst/gsturi.c:
1422           Be more liberal in what URIs we accept.
1423           Do not unescape bits of the URI for no apparent reason before passing to
1424           the element. Fixes #545352.
1425
1426 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1427
1428         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1429
1430         * gst/gst.c:
1431         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1432
1433 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1434
1435         * configure.ac:
1436         * docs/gst/gstreamer-sections.txt:
1437         * docs/gst/gstreamer.types:
1438         * docs/gst/gstreamer.types.in:
1439         * gst/Makefile.am:
1440         * gst/gst.c:
1441         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1442         * gst/gstconfig.h.in:
1443         * gst/gstelement.c: (gst_element_get_index):
1444         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1445         (gst_registry_binary_load_feature),
1446         (gst_registry_binary_read_cache):
1447         * gst/gstregistryxml.c: (load_feature),
1448         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1449         * plugins/Makefile.am:
1450         * tools/gst-indent:
1451         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1452         (print_plugin_features), (print_element_features):
1453         * tools/gst-xmlinspect.c: (print_event_masks),
1454         (print_element_info):
1455         * win32/common/gstconfig.h:
1456         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1457
1458         Disabling the indexers and URI handler code will only reduce the
1459         required amount of memory by a very small amount but on the other hand
1460         requires much more maintaince work. Apart from that many places of
1461         code are broken when disabling them.
1462
1463         Disabling the enum types doesn't reduce the required amount of memory
1464         by more than a few bytes and makes it hard to fix bugs like #539772,
1465         i.e. use the enums as GObject properties.
1466
1467 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1468
1469         * docs/design/part-TODO.txt:
1470         Add some thoughts and problems with upstream renegotiation.
1471
1472 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1473
1474         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1475         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1476         Remove silly redundant debug.
1477         Add some more debug info.
1478         Clarify the docs regarding new caps received from pad_alloc.
1479
1480 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1481
1482         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1483         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1484         Make setting the caps more threadsafe.
1485
1486 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1487
1488         * docs/design/part-element-transform.txt:
1489         Update docs.
1490
1491 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1492
1493         * plugins/elements/gstqueue.c: (gst_queue_init),
1494         (gst_queue_acceptcaps):
1495         Add and use a custom acceptcaps function instead of falling back to the
1496         potentially less optimized default implementation.
1497
1498 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1499
1500         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1501           Only sanity-check the buffer size if requested_caps == buffer_caps
1502           (ie. don't take pad caps into account, they're not relevant here)
1503
1504 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1505
1506         * plugins/elements/gsttee.c:
1507         * plugins/elements/gsttee.h:
1508           Reverting as not everything is clear yet. Needs some general design
1509           work.
1510
1511 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1512
1513         * ChangeLog:
1514           ChangeLog surgery for tee commit.
1515
1516 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1517
1518         * docs/gst/gstreamer-sections.txt:
1519           Cleanup section-file.
1520
1521 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1522
1523         * plugins/elements/gsttee.c:
1524         * plugins/elements/gsttee.h:
1525           Relay tag events in tee. Fixes parts of #474016.
1526           Downgrades 3 reoccurring debugs to log.
1527
1528 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1529
1530         * configure.ac:
1531         * libs/gst/Makefile.am:
1532           Build the net library if we have winsock2.
1533
1534 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1535
1536         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1537
1538         * docs/manual/advanced-threads.xml:
1539         * docs/manual/diagrams-pipelines.svg:
1540         * docs/manual/hello-world.png:
1541         * docs/manual/linked-elements.png:
1542         * docs/manual/mime-world.png:
1543         * docs/manual/queue.png:
1544         * docs/manual/thread-buffering.png:
1545         * docs/manual/thread-synchronizing.png:
1546           Replace one diagram with two separate ones and updates others.
1547           Fixes #542401.
1548
1549 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1550
1551         * gst/gstelement.h:
1552         Fix link in documentation.
1553
1554 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1555
1556         * gst/gstmessage.c:
1557         Fix confusing documentation.
1558
1559 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1560
1561         * libs/gst/base/gstbasesrc.h:
1562         revert the changes to the header file for the ABI.
1563
1564 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1565
1566         * libs/gst/base/gstbasesrc.c:
1567         * libs/gst/base/gstbasesrc.h:
1568         Don't cache the seekable status.
1569         Fixes bug #544174
1570
1571 2008-07-24  Rene Stadler  <mail@renestadler.de>
1572
1573         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1574         code to close the pipeline graph.  This prevents the program from
1575         printing internal data flow errors.
1576
1577 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1578
1579         * docs/manual/basics-bus.xml:
1580         Correct typo. Fixes bug #544320.
1581
1582 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1583
1584         * configure.ac:
1585           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1586           Add check (taken from -base) for winsock, adds WIN32_LIBS
1587         * gst/Makefile.am:
1588           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1589           winsock.
1590           Define GST_EXPORTS when building libgstreamer (only used on win32)
1591         * gst/gst_private.h:
1592         * gst/gstinfo.h:
1593           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1594           for symbols that we need to export in both these files.
1595         * gst/gstpoll.c:
1596           Include gst_private.h higher up to avoid some compile problems on win32.
1597
1598 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1599
1600         * gst/gstvalue.c:
1601         Fix typos.
1602
1603 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1604
1605         * gst/gstcaps.c:
1606         Previous commit was wrong NULL caps does not exist
1607         and indicate an error, so also add a FIXME to
1608         gst_caps_is_equal where NULL caps are accepted.
1609
1610 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1611
1612         * gst/gstcaps.c:
1613         Allow passing of NULL to gst_caps_union
1614
1615 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1616
1617         * gst/gstghostpad.c:
1618         Add in doc that gst_ghost_pad_set_target can accept
1619         NULL to clear target
1620
1621 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1622
1623         * gst/gstplugin.c:
1624         * gst/gstregistry.c:
1625           GstRegistryPool doesn't exist; don't refer to it in docs.
1626           Don't refer to functions that don't exist in docs, it's
1627           unhelpful.
1628
1629 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1630
1631         * gst/gst.c:
1632         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1633
1634 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1635
1636         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1637
1638         * docs/pwg/building-testapp.xml:
1639         Don't use an undeclared variable in the example program.
1640         Fixes bug #542573.
1641
1642 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1643
1644         * gst/gstdebugutils.c:
1645           Squeeze ghost-pad links and remove <> from classname labels to save
1646           more horizontal space.
1647
1648 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1649
1650         * gst/gstdebugutils.c:
1651           Give request and sometimes pads a different shpe style. Condense the
1652           graphs a little more.
1653
1654 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1655
1656         * configure.ac:
1657           Don't require flex and bison if the parser is disabled.
1658
1659 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1660
1661         * libs/gst/controller/gstinterpolationcontrolsource.c:
1662         (_list_find_sorted_custom):
1663         Don't use declarations after statements.
1664
1665 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1666
1667         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1668         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1669         of the the child-added / -removed signals as GstChildProxy
1670         only supports GstObjects.
1671
1672 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1673
1674         * gst/gstdebugutils.c:
1675         Fix memleak
1676
1677 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1678
1679         Patch by: Alessandro Decina <alessandro at nnva dot org>
1680
1681         * gst/gstpoll.c:
1682         Fix "ignored return value" compiler warning with newer glibc.
1683
1684 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1685
1686         * gst/gstchildproxy.c:
1687         Fix copy&paste error in gst_child_proxy_removed() documentation.
1688
1689 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
1690
1691         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1692           Print error debug message if plugin description fields that should
1693           be set are NULL.
1694
1695         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1696           Don't crash if the string to serialise is NULL (it really should
1697           not be, but apparently this used to work with the xml registry ...).
1698
1699 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
1700
1701         * tools/gst-plot-timeline.py:
1702         Fix parsing of log messages
1703
1704 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1705
1706         * win32/common/libgstbase.def::
1707           Sort alphabetically so make check-exports doesn't barf.
1708
1709 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
1710
1711         * gst/gstevent.c:
1712           Use gst_format_get_name() to improve debug output.
1713
1714         * gst/gstpreset.c:
1715           Remove #ifdef'ed code. Add TODO comment.
1716
1717         * gst/gstsegment.c:
1718           Add debug output to ease spotting format != segment.format assertions.
1719
1720 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1721
1722         * tests/check/libs/gdp.c: (gst_dp_suite):
1723         Also enable the GDP unit test again on PPC now that the bug
1724         is fixed.
1725
1726 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1727
1728         * libs/gst/dataprotocol/dataprotocol.c:
1729         Don't write to the same region of memory as a uint64 and uint16
1730         as this breaks strict aliasing rules and apparantly breaks on PPC
1731         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1732
1733 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1734
1735         * libs/gst/controller/gstinterpolationcontrolsource.c:
1736           Optimize list handling. Use own find function. Exploit that fact that
1737           the list is sorted. Also pass back the node before, so that we can
1738           insert quickly. Have a fast path for append.
1739
1740 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1741
1742         * docs/design/draft-framestep.txt:
1743         * docs/design/part-negotiation.txt:
1744           Fix two typos.
1745
1746 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1747
1748         * configure.ac:
1749           Show configuration sumary after configure run. Based on patch by
1750           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1751
1752 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1753
1754         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1755
1756         * docs/manual/advanced-autoplugging.xml:
1757         * docs/manual/advanced-threads.xml:
1758         * docs/manual/basics-bins.xml:
1759         * docs/manual/basics-elements.xml:
1760         * docs/manual/basics-helloworld.xml:
1761         * docs/manual/basics-pads.xml:
1762           Add scale factor for pdf output.
1763
1764         * docs/manual/intro-basics.xml:
1765           Switched sections "pads" and "bins" and added a pipeline diagram.
1766
1767         * docs/manual/intro-gstreamer.xml:
1768           Added more info on gstreamer.
1769
1770         * docs/manual/intro-motivation.xml:
1771           Commented out the whole section "current problem", which sounds
1772           historical and somehow osolete; it could be turned in a positive
1773           way and reused to improve the design principles.
1774
1775         * docs/manual/intro-preface.xml:
1776           - Update URLs to library.gnome.org. 
1777           - Do not mention GTK+ in preliminary reading (irrelevant). 
1778           - Mention Plugin Writer's Manual and further reading only in the
1779             previous section.
1780           - Added a list of most relevant GObject/glib topics.
1781
1782         * docs/manual/Makefile.am:
1783         * docs/manual/bin-element-ghost.fig:
1784         * docs/manual/bin-element-ghost.png:
1785         * docs/manual/bin-element-noghost.fig:
1786         * docs/manual/bin-element-noghost.png:
1787         * docs/manual/bin-element.fig:
1788         * docs/manual/bin-element.png:
1789         * docs/manual/filter-element-multi.fig:
1790         * docs/manual/filter-element-multi.png:
1791         * docs/manual/filter-element.fig:
1792         * docs/manual/filter-element.png:
1793         * docs/manual/gstreamer-overview.png:
1794         * docs/manual/hello-world.fig:
1795         * docs/manual/hello-world.png:
1796         * docs/manual/linked-elements.fig:
1797         * docs/manual/linked-elements.png:
1798         * docs/manual/mime-world.fig:
1799         * docs/manual/mime-world.png:
1800         * docs/manual/queue.fig:
1801         * docs/manual/queue.png:
1802         * docs/manual/simple-player.png:
1803         * docs/manual/sink-element.fig:
1804         * docs/manual/sink-element.png:
1805         * docs/manual/src-element.fig:
1806         * docs/manual/src-element.png:
1807         * docs/manual/diagrams-general.svg:
1808         * docs/manual/diagrams-pipelines.svg:
1809           Removed .fig, added .png counterpart.
1810           
1811           Fixes: #539137
1812
1813 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
1814
1815         * plugins/elements/gstmultiqueue.c:
1816         * plugins/elements/gstmultiqueue.h:
1817         revert extra-size-buffers stuff, caused some race conditions
1818         and extra-size-buffers is not used anymore. Docs needs some updates
1819
1820 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1821
1822         * win32/common/config.h:
1823         * win32/common/gstenumtypes.c:
1824         * win32/common/gstenumtypes.h:
1825         * win32/common/gstversion.h:
1826           Update win32 files.
1827
1828 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1829
1830         * gst/gstdebugutils.h: (GstDebugGraphDetails),
1831           (GST_DEBUG_BIN_TO_DOT_FILE):
1832           Add missing Since' markers to gtk-doc blurbs.
1833
1834 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
1835
1836         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1837         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1838         (set_caps_1), (set_caps_ct1), (transform_ct1),
1839         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1840         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1841         (transform_size_ct2), (buffer_alloc_ct2):
1842         Add some more tests with switching caps in buffer_alloc.
1843
1844 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1845
1846         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1847         (gst_test_trans_class_init), (result_sink_chain),
1848         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1849         (gst_test_trans_push), (gst_test_trans_pop):
1850         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1851         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1852         (set_caps_1), (set_caps_ct1), (transform_ct1),
1853         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1854         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1855         (transform_size_ct2), (buffer_alloc_ct2),
1856         (gst_basetransform_suite):
1857         More tests, prepare for tests with switching caps in buffer_alloc.
1858
1859 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1860
1861         * plugins/elements/gstmultiqueue.c:
1862         * plugins/elements/gstmultiqueue.h:
1863         Fix dead-lock in underrun_cb
1864
1865 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1866
1867         * docs/design/part-states.txt:
1868         Fix device open/close docs.
1869
1870 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1871
1872         * ChangeLog:
1873           Mention bugnumber for last commit.
1874
1875 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1876
1877         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1878
1879         * docs/manual/manual.xml:
1880         - Reorganised the previous "introduction" bundle into Foreword,
1881         Introduction, and About GStreamer. The two first are <preface>
1882         docbook elements. The later is the first part of the book.
1883         - added intro-gstreamer.xml (content partially from
1884         intro-preface.xml)
1885         - moved appendix-win32.xml into appendix-integration.xml
1886
1887         * docs/manual/intro-preface.xml: gstreamer section moved...
1888         * docs/manual/intro-gstreamer.xml: ...here. new file.
1889
1890         * docs/manual/appendix-win32.xml: removed file. Content moved...
1891         * docs/manual/appendix-integration.xml: ...here.
1892         
1893         * docs/manual/highlevel-components.xml: section about GstEditor moved...
1894         * docs/manual/appendix-checklist.xml: ...here.
1895         
1896         Fixes: 538764
1897
1898 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1899
1900         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1901
1902         * docs/manual/basics-helloworld.xml:
1903         * docs/manual/hello-world.fig:
1904           - Explicitely include glib.h.
1905           - Do not use global variables.
1906           - Use g_printerr() instead of g_print().
1907           - Minor formating/renaming to increase readibility.
1908           - Renamed new_pad() to on_pad_added()
1909           - Improved explenatory comments.
1910           - renamed ogg parser to ogg demuxer
1911           - Use "autoaudiosink" instead of "alsasink".
1912           Fixes: #538619
1913
1914 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1915
1916         * ChangeLog:
1917           Remove cvs conflict marker.
1918
1919 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1920
1921         * docs/README:
1922           Document that for plgin-docs we extraxt he short-desc from the element
1923           details.
1924
1925         * docs/design/part-states.txt:
1926           Tell that devices should be closed in PAUSED -> READY.
1927
1928         * docs/manual/README:
1929           Document how tests in the manual are handled.
1930
1931         * docs/manuals.mak:
1932           Typo in comment.
1933
1934 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1935
1936         * gst/gstbin.c: (bin_query_latency_fold):
1937         Only care about latency min and max when the sink is actually a live
1938         sink.
1939
1940 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1941
1942         * docs/design/part-block.txt:
1943         Fix typo.
1944
1945         * docs/design/part-element-transform.txt:
1946         Add notes about why transform needs to know input/output sizes.
1947         Add some issues that need to be solved.
1948         Add some more use cases.
1949
1950         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1951         (gst_test_trans_class_init), (result_sink_chain),
1952         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1953         (gst_test_trans_push), (gst_test_trans_pop):
1954         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1955         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1956         (set_caps_1), (set_caps_ct1), (transform_ct1),
1957         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1958         (gst_basetransform_suite):
1959         Add suport for different pad templates and buffer-alloc.
1960         Add more checks for caps and buffer-alloc.
1961         Add checks for proxy buffer alloc.
1962         Add unit test for copy transform.
1963
1964 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
1965
1966         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1967
1968         * docs/manual/appendix-integration.xml:
1969         * docs/manual/appendix-licensing.xml:
1970         * docs/manual/basics-elements.xml:
1971         * docs/manual/basics-helloworld.xml:
1972         * docs/manual/basics-pads.xml:
1973         * docs/manual/highlevel-components.xml:
1974         * docs/manual/highlevel-xml.xml:
1975         * docs/manual/intro-basics.xml:
1976         * docs/manual/intro-preface.xml:
1977           Typo and formatting fixes (#538594).
1978
1979 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1980
1981         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1982         Fix some memory leaks and uses of object instances that we don't
1983         actually own.
1984
1985 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1986
1987         * plugins/elements/gstmultiqueue.c:
1988         Add functionality to extra-size-buffers property.
1989
1990 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1991
1992         * plugins/elements/gstmultiqueue.c:
1993         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
1994         activate the pads if they are added in STATE_NULL.
1995
1996 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1997
1998         * docs/libs/gstreamer-libs-sections.txt:
1999         Add new API to doc
2000         * libs/gst/check/gstcheck.c:
2001         * libs/gst/check/gstcheck.h:
2002         API: gst_check_teardown_pad_by_name
2003
2004 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2005
2006         * libs/gst/check/gstcheck.c:
2007         * libs/gst/check/gstcheck.h:
2008         Also setup request pads and allow setup pads by name (#537812)
2009         API: gst_check_setup_src_pad_by_name
2010         API: gst_check_setup_sink_pad_by_name
2011
2012 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2013
2014         * tests/check/gst/gstbuffer.c:
2015         * tests/check/pipelines/parse-launch.c:
2016           Use HAVE_VALGRIND_H some more.
2017
2018 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2019
2020         * scripts/cvs-update.sh:
2021           Pass arguments to make.
2022           Run autoregen.sh if Makefile is not there.
2023
2024 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2025
2026         * configure.ac:
2027         * gst/gstinfo.c:
2028           Don't assume that <valgrind/valgrind.h> exists just because
2029           the binary is there.
2030
2031 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2032
2033         * tests/check/Makefile.am:
2034         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2035         (gst_test_trans_class_init), (gst_test_trans_init),
2036         (gst_test_trans_set_data), (result_sink_chain),
2037         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2038         (gst_test_trans_pop):
2039         * tests/check/libs/transform1.c: (GST_START_TEST),
2040         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2041         Add some test basetransform element and the beginnings of various
2042         unit tests for it.
2043
2044 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2045
2046         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2047         Increase code readability.
2048         Don't try to compare buffer offsets when ther are invalid.
2049
2050 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2051
2052         * docs/design/Makefile.am:
2053           Dist some more design docs.
2054
2055         * docs/random/moving-plugins:
2056           Small addition: good plugins mustn't have functional code
2057           within assertion macros.
2058
2059 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2060
2061         * docs/design/draft-framestep.txt:
2062         Some ideas about a framestep API
2063
2064         * docs/design/part-element-transform.txt:
2065         Start design and use cases for basetransform in order to get it
2066         fixed soon.
2067
2068 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2069
2070         * gst/gsttaglist.h:
2071           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2072           be in UTF-8 encoding.
2073
2074 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2075
2076         * gst/gstbus.c:
2077           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2078
2079 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2080
2081         * plugins/elements/gstcapsfilter.c:
2082         * plugins/elements/gstfakesink.c:
2083         * plugins/elements/gstfakesrc.c:
2084         * plugins/elements/gstfdsink.c:
2085         * plugins/elements/gstfdsrc.c:
2086         * plugins/elements/gstfilesink.c:
2087         * plugins/elements/gstfilesrc.c:
2088         * plugins/elements/gstidentity.c:
2089         * plugins/elements/gstmultiqueue.c:
2090         * plugins/elements/gstqueue.c:
2091         * plugins/elements/gsttee.c:
2092         * plugins/elements/gsttypefindelement.c:
2093           Remove short_description. Add basic docs for gsttypefindelement.
2094           Simplify markup for fakesrc/fdsrc.
2095
2096 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2097
2098         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2099         Added Since doc.
2100
2101 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2102
2103         Patch by: Joel Larsson <tilljoel at gmail dot com>
2104
2105         * docs/plugins/gstreamer-plugins.args:
2106         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2107         (gst_fd_src_init), (gst_fd_src_update_fd),
2108         (gst_fd_src_set_property), (gst_fd_src_get_property),
2109         (gst_fd_src_create):
2110         * plugins/elements/gstfdsrc.h:
2111         Add timeout property like udpsrc. Fixes #538628.
2112         Add some more docs and example pipelines.
2113
2114 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2115
2116         * docs/libs/gstreamer-libs-sections.txt:
2117         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2118         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2119         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2120         (gst_base_sink_do_sync):
2121         * libs/gst/base/gstbasesink.h:
2122         * win32/common/libgstbase.def:
2123         Add method to allow sinks to specify additional delay between the sync
2124         times and the actual rendering of the data.
2125         API: gst_base_sink_set_render_delay()
2126         API: gst_base_sink_get_render_delay()
2127
2128 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2129
2130         * configure.ac:
2131         Bump version number back to dev -> 0.10.20.1
2132
2133 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2134
2135         * docs/gst/gstreamer-sections.txt:
2136         * gst/gsttaglist.c: (_gst_tag_initialize):
2137         * gst/gsttaglist.h:
2138         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2139         Fixes bug #538568.
2140
2141 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2142
2143         * libs/gst/controller/gstcontroller.c:
2144           Revert one change, that make ret value possible uninitialized.
2145
2146 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2147
2148         * libs/gst/controller/gstcontroller.c:
2149           Use freeze/thaw notify to sync notify emission a bit (its also more
2150           efficient). Move debug output to LOG (is called a lot in a loop).
2151           Always unset g_values if the have been initialized.
2152
2153 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2154
2155         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2156         (gst_base_sink_wait_eos), (gst_base_sink_event):
2157         If we have not seen a buffer before EOS, use the segment values to
2158         report the current position instead of invalid positions.
2159
2160 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2161
2162         * docs/plugins/tmpl/.cvsignore:
2163         * tests/check/gst/.cvsignore:
2164           Ignore more.
2165
2166 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2167
2168         * libs/gst/controller/gstinterpolation.c:
2169         * libs/gst/controller/gstinterpolationcontrolsource.c:
2170         * tests/check/libs/controller.c:
2171           Rewrite handling of default values. Fix overflow with unsigned types
2172           in linear interpolation. Remove now obsolete _first_value() function.
2173           Add more tests. Fixes #538201.
2174
2175 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2176
2177         * libs/gst/base/gstbasetransform.c:
2178         (gst_base_transform_class_init), (gst_base_transform_init),
2179         (gst_base_transform_transform_caps),
2180         (gst_base_transform_prepare_output_buffer):
2181         Add debug info.
2182         When a buffer is writable, its metadata is also writable so we don't
2183         need to subbuffer (which then makes the buffer not-writable anymore).
2184
2185 === release 0.10.20 ===
2186
2187 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2188
2189         * configure.ac:
2190           releasing 0.10.20, "You Crazy Diamond"
2191
2192 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2193
2194         * configure.ac:
2195         0.10.19.3 pre-release
2196
2197 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2198
2199         * configure.ac:
2200         * gst/gstpreset.c:
2201         Rename DATADIR to GST_DATADIR to avoid build problems
2202         on win32. Patch By: David Schleef <ds@schleef.org>
2203         Fixes: #536857
2204
2205 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2206
2207         * configure.ac:
2208         Explicitely link with -ldl if dladdr() is found there. Before it was
2209         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2210         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2211
2212 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2213
2214         * gst/gsterror.c: (_gst_stream_errors_init):
2215           Fix typo (spotted by Fabricio Godoy, #536723).
2216
2217 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2218
2219         * configure.ac:
2220         0.10.19.2 pre-release
2221
2222 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2223
2224         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2225         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2226         Add some debug.
2227         Make sure we don't generate invalid QoS messages.
2228
2229 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2230
2231         * gst/gstevent.c: (gst_event_new_qos):
2232         Add some assert and docs for invalid input to the qos function.
2233
2234 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2235
2236         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2237         (gst_base_sink_get_position):
2238         The reported position must always be smaller than the last seen
2239         timestamps (or timestamp + duration for reverse).
2240
2241 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2242
2243         Patch by: Rob Bradford <rob at robster dot org dot uk>
2244
2245         * gst/gstregistry.c: (gst_registry_scan_path_level):
2246         Don't recurse into .debug directories as some distros install
2247         the debugging symbols next to the plugins in .debug directories
2248         and dlopen() crashes on them sometimes. Fixes bug #508070.
2249
2250         Add FIXME for 0.11 to not recurse into directories at all because
2251         it's very inconsistent to the behaviour of other PATH environment
2252         variables.
2253
2254 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2255
2256         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2257         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2258         Fix position query range checks in reverse playback.
2259
2260 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2261
2262         * gst/gstelement.c:
2263         * gst/gstelement.h:
2264         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2265         clear of the reference to the resulting pad must be released later
2266         or not, resulting in possible leaks. Fixes bug #533865.
2267
2268 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2269
2270         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2271
2272         * gst/gstelementfactory.c:
2273         Small doc fix. Fixes #535285.
2274
2275 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2276
2277         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2278
2279         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2280         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2281         (gst_base_src_loop), (gst_base_src_set_flushing),
2282         (gst_base_src_change_state):
2283         Make sending an EOS event to the basesrc non-blocking even if the
2284         implementation does blocking waits in the create function. This is done
2285         by unlocking the create function when EOS is sent.
2286         Fixes #535218.
2287
2288 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2289
2290         * tools/gst-inspect.c: (print_element_properties_info):
2291         If possible print the element type of GValueArray properties.
2292
2293 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2294
2295         * gst/gstiterator.c:
2296         Remove an unused field from the private GstListIterator struct.
2297
2298 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2299
2300         * libs/gst/controller/gstcontroller.c:
2301           Add parameter guards.
2302
2303 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2304
2305         * tests/check/gst/gstpipeline.c:
2306           Revert test change and add comment why it should not work.
2307
2308 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2309
2310         * tests/check/gst/gstpipeline.c:
2311           Extending the test a little to verify that we also get the NULL state-
2312           change message.
2313
2314 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2315
2316         * gst/gstpreset.c: (gst_preset_default_get_meta),
2317           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2318           (gst_preset_load_preset), (gst_preset_save_preset),
2319           (gst_preset_rename_preset), (gst_preset_delete_preset),
2320           (gst_preset_set_meta):
2321           Add Since: markers to docs blurbs.
2322
2323         * win32/common/libgstreamer.def:
2324           Add recently-added API.
2325
2326 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2327
2328         Patch by: Stefan Kost  <ensonic@users.sf.net>
2329
2330         * configure.ac:
2331         Add DATADIR for storing presets.
2332
2333         * docs/gst/gstreamer-docs.sgml:
2334         * docs/gst/gstreamer-sections.txt:
2335         * docs/gst/gstreamer.types.in:
2336         Add GstPreset to docs.
2337
2338         * gst/Makefile.am:
2339         * gst/gst.h:
2340         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2341         (preset_open_and_parse_header), (preset_parse_version),
2342         (preset_merge), (preset_get_keyfile),
2343         (gst_preset_default_get_preset_names),
2344         (gst_preset_default_get_property_names),
2345         (gst_preset_default_load_preset),
2346         (gst_preset_default_save_presets_file),
2347         (gst_preset_default_save_preset),
2348         (gst_preset_default_rename_preset),
2349         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2350         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2351         (gst_preset_default_reset), (gst_preset_get_preset_names),
2352         (gst_preset_get_property_names), (gst_preset_load_preset),
2353         (gst_preset_save_preset), (gst_preset_rename_preset),
2354         (gst_preset_delete_preset), (gst_preset_set_meta),
2355         (gst_preset_get_meta), (gst_preset_class_init),
2356         (gst_preset_base_init), (gst_preset_get_type):
2357         * gst/gstpreset.h:
2358         Add GstPreset to core. Fixes #396779
2359
2360         * tests/check/Makefile.am:
2361         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2362         (gst_preset_test_set_property), (gst_preset_test_class_init),
2363         (gst_preset_test_base_init), (gst_preset_test_get_type),
2364         (gst_preset_test_plugin_init), (GST_START_TEST),
2365         (remove_preset_file), (test_setup), (test_teardown),
2366         (gst_preset_suite):
2367         Add GstPreset unit tests.
2368
2369 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2370
2371         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2372         The default event function on a sinkpad should return TRUE when
2373         there are no internal links but should collect the return values from
2374         the internal links otherwise.
2375
2376 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2377
2378         * plugins/elements/gsttypefindelement.c:
2379         (gst_type_find_element_src_event),
2380         (gst_type_find_element_handle_event):
2381         Use faster and safer _pad_push_event().
2382
2383 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2384
2385         * docs/gst/gstreamer-sections.txt:
2386         * gst/gstutils.c: (element_find_unlinked_pad),
2387           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2388         * gst/gstutils.h:
2389           API: add gst_bin_find_unlinked_pad()
2390           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2391
2392 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2393
2394         * gst/gstclock.c:
2395         * gst/gstclock.h:
2396         * gst/gsttask.c:
2397         * gst/gsttask.h:
2398         Fixed a bunch of typos.
2399
2400 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2401
2402         * gst/gstpad.h:
2403         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2404           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2405           (gst_parse_bin_from_description_full):
2406         * gst/gstutils.h:
2407           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2408
2409 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2410
2411         * docs/pwg/advanced-tagging.xml:
2412           Small docs update, can't be bothered to rewrite the nonsensical
2413           examples right now.
2414
2415 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2416
2417         * gst/gstevent.h:
2418           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2419
2420 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2421
2422         * gst/parse/grammar.y:
2423           Remove unneeded casts.
2424
2425 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2426
2427         * gst/parse/grammar.y:
2428         * tests/check/pipelines/parse-launch.c:
2429           Get all missing elements from a parse launch string if possible
2430           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2431
2432 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2433
2434         * tests/check/Makefile.am:
2435         * tests/check/pipelines/parse-launch.c:
2436           Add some unit tests for the new gst_parse_launch*_full() API.
2437           (Exposes a previously-existing memory leak in the error code
2438           path, so adding to VALGRIND_TO_FIX for now).
2439
2440 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2441
2442         * docs/gst/gstreamer-sections.txt:
2443         * gst/gst.c: (init_post):
2444         * gst/gst_private.h: (_GstParseContext):
2445         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2446           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2447           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2448           (gst_parse_launch_full):
2449         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2450           (GstParseFlags), (GstParseContext):
2451         * gst/gstutils.c: (gst_parse_bin_from_description),
2452           (gst_parse_bin_from_description_full):
2453         * gst/gstutils.h:
2454         * gst/parse/grammar.y:
2455         * gst/parse/types.h:
2456         * win32/common/libgstreamer.def:
2457           Add new gst_parse_*_full API (#528178):
2458           API: gst_parse_launch_full()
2459           API: gst_parse_launchv_full()
2460           API: gst_parse_bin_from_description_full()
2461           API: gst_parse_context_new()
2462           API: gst_parse_context_free()
2463           API: gst_parse_context_get_missing_elements()
2464
2465 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2466
2467         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2468
2469         * docs/faq/gst-uninstalled:
2470           Also support ffmpeg in gst-uninstalled.
2471
2472 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2473
2474         * configure.ac:
2475         After discussion on IRC use the binary registry as default
2476         but allow to disable it with --disable-binary-registry.
2477
2478         * win32/common/libgstreamer.def:
2479         Add the two new symbols for the binary registry.
2480
2481 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2482
2483         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2484         * gst/gstutils.c: (gst_parse_bin_from_description):
2485         * gst/parse/grammar.y: (graph):
2486           More guards against bad input; typo fix; some minor clean-ups.
2487
2488 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2489
2490         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2491
2492         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2493         If nothing else can be used, use the last buffer's start time as
2494         the segment's last stop. Fixes bug #534258.
2495
2496 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2497
2498         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2499           Move size sanity check to the right place: downstream may return
2500           a buffer with a smaller size if the buffer caps are different than
2501           the requested ones, as may happen when doing reverse negotiation.
2502
2503 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2504
2505         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2506         (gst_file_sink_render):
2507         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2508         (gst_file_src_start):
2509         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2510         use it yet.
2511
2512 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2513
2514         * gst/gstpad.c: (gst_pad_load_and_link):
2515         * gst/gstutils.c: (gst_element_link_pads),
2516         (gst_element_unlink_pads):
2517         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2518         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2519         (gst_check_teardown_sink_pad),
2520         (gst_check_element_push_buffer_list):
2521         * tests/check/elements/fakesink.c: (GST_START_TEST):
2522         * tests/check/elements/filesink.c:
2523         * tests/check/elements/filesrc.c: (GST_START_TEST):
2524         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2525         (mq_sinkpad_to_srcpad):
2526         * tests/check/elements/tee.c: (GST_START_TEST):
2527         * tests/check/generic/sinks.c: (GST_START_TEST):
2528         * tests/check/gst/gstbin.c: (GST_START_TEST):
2529         * tests/check/gst/gstevent.c: (GST_START_TEST):
2530         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2531         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2532         * tests/check/gst/gstquery.c: (GST_START_TEST):
2533         * tests/check/gst/gstutils.c: (GST_START_TEST):
2534         * tests/check/libs/basesrc.c: (GST_START_TEST):
2535         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2536         (gst_parse_test_element_change_state):
2537         Don't use gst_element_get_pad().
2538
2539 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2540
2541         * docs/Makefile.am:
2542         Fix installing plugin documentation when gtk-doc is disabled.
2543
2544 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2545
2546         * docs/manual/advanced-autoplugging.xml:
2547         * docs/manual/basics-helloworld.xml:
2548         * docs/manual/basics-pads.xml:
2549         * docs/manual/highlevel-components.xml:
2550         Avoid using a bad function in the example code.
2551
2552 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2553
2554         * gst/gstclock.c: (gst_clock_set_calibration):
2555         Fix debug of the new clock rate.
2556
2557 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2558
2559         * win32/common/libgstbase.def:
2560         Add gst_base_sink_wait_clock() to the exported symbols.
2561
2562 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2563
2564         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2565
2566         * libs/gst/base/gstbasetransform.c:
2567         (gst_base_transform_sink_event):
2568         Unref events that the GstBaseTransform::event vfunc didn't want to
2569         have forwarded by the base class. Closes a leak in identity.
2570         Fixes bug #446763.
2571
2572 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2573
2574         * docs/libs/gstreamer-libs-sections.txt:
2575         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2576         * libs/gst/base/gstbasesink.h:
2577         Expose a method that was previously used internally to synchronize
2578         against the clock because it can be useful for subclasses too.
2579         API: GstBaseSink::gst_base_sink_wait_clock()
2580
2581 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2582
2583         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2584           Add sanity check to make sure we don't get smaller buffers
2585           than requested (and fallback to normal buffer alloc if we do).
2586
2587 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2588
2589         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2590         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2591         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2592         Refactor adjusting the running_time with latency and offset into a
2593         separate method.
2594         When doing clipping, we still want to use the subclass get_times method,
2595         just in case the DURATION or TIMESTAMP are not set.
2596
2597 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2598
2599         * docs/gst/gstreamer-sections.txt:
2600         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2601         * gst/gsttypefind.h:
2602         * win32/common/libgstreamer.def:
2603           API: add gst_type_find_suggest_simple(), #533740.
2604
2605 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2606
2607         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2608           Use right error code when typefinding fails, so we can use
2609           the default (translated) error messages.
2610
2611 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2612
2613         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2614         (gst_base_src_start):
2615         When the subclass did not set caps on outgoing buffers, configure the
2616         caps we negotiated on the source pad.
2617         When the typefind helper does not find caps, error out properly instead
2618         of doing things with NULL caps.
2619
2620 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2621
2622         * gst/gsttypefind.h:
2623           Tabs to spaces, oh yes!
2624
2625 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2626
2627         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2628           Add David's and Benjamin's tests for array intersection to the
2629           unit test suite (#147931).
2630
2631 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2632
2633         * gst/gstevent.c:
2634           Document that gst_event_new_tag() and gst_event_new_navigation()
2635           take ownership of the taglist/structure passed to them. (#533635).
2636
2637 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2638
2639         * docs/Makefile.am:
2640         Don't descend into the plugins dir if plugin docs building
2641         is disabled.
2642
2643         * docs/README:
2644         Add a note about the new type:GTypeName syntax for the plugin
2645         documentation .types file.
2646
2647 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2648
2649         * gst/gstmessage.c: (gst_message_new_error),
2650         (gst_message_new_warning), (gst_message_new_info):
2651         * gst/gstmessage.h:
2652         Mark the debug string parameters as const. Fixes bug #533490.
2653
2654 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2655
2656         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2657         Sort buffer cache list by end offsets. This makes sure that we don't
2658         stop to search for a cached buffer that contains the requested data
2659         too early.
2660         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2661         more efficient. Fixes bug #459862.
2662
2663 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2664
2665         * gst/gstinfo.c:
2666           Explain why we copy the list.
2667
2668         * gst/gstpipeline.c:
2669           Improve docs.
2670
2671         * gst/gstutils.c:
2672           Add one debug-log statement to help tracing probelms with linking pads.
2673
2674 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2675
2676         * tests/check/gst/gstinfo.c:
2677         Add a test for removing the default log handler. Seems to fail under
2678         windows.
2679
2680 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2681
2682         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2683         Release pad lock before calling out to avoid a possible deadlock.
2684
2685 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2686
2687         * gst/parse/grammar.y:
2688         Remove unneeded value unset.
2689
2690         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2691         Add unit test for de/serialization of caps.
2692
2693 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2694
2695         * plugins/elements/gstfakesink.c:
2696         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2697         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2698         (gst_fake_src_class_init):
2699         Use custom marshalers that take GstMiniObject as first parameter.
2700         Using OBJECT as parameter while a GstMiniObject is given will lead
2701         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2702
2703 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2704
2705         * plugins/elements/gsttypefindelement.c:
2706         (gst_type_find_element_handle_event),
2707         (gst_type_find_element_send_cached_events),
2708         (gst_type_find_element_change_state):
2709         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2710         immediately.
2711
2712 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2713
2714         * plugins/elements/gsttypefindelement.c:
2715         (gst_type_find_handle_src_query), (stop_typefinding),
2716         (gst_type_find_element_handle_event),
2717         (gst_type_find_element_send_cached_events),
2718         (gst_type_find_element_change_state):
2719         Forward FLUSH_START events immediately and clean up instead of
2720         caching them.
2721
2722 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2723
2724         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2725
2726         * libs/gst/base/gstbasetransform.c:
2727         (gst_base_transform_buffer_alloc):
2728         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2729         fall back to default negotiation in the chain function if the caps
2730         are different from what was requested. Fixes bug #526768.
2731
2732 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2733
2734         * gst/gstsegment.c:
2735         * tests/check/gst/gstsegment.c:
2736           No, let's not use g_slice_{dup|copy} here, since they only exist
2737           since GLib 2.14 and we still depend only on >= 2.12. Also add
2738           unit test for gst_segment_copy().
2739
2740 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2741
2742         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2743           Try to fix 'dereferencing type-punned pointer will break strict
2744           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2745           changed the default GType typedef from gulong to gsize at some point,
2746           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2747           g_once_* functions all take a gsize * though, so work around the type
2748           mismatch for C++ by doing everything in gsize and casting to GType
2749           later.
2750
2751 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
2752
2753         * plugins/elements/gstmultiqueue.c:
2754         Add documentation for the signals to push our core plugin docs
2755         coverage back up to 100%.
2756
2757 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2758
2759         * gst/gstinfo.h (GST_FUNCTION):
2760           Reverted GST_FUNCTION to the old version as we don't want the
2761           full signature in C++ code. Also added support for MSVC.
2762
2763 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2764
2765         * gst/gstutils.h:
2766         Intern the type name string, similar to what G_DEFINE_TYPE does.
2767
2768 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2769
2770         * gst/gstutils.h:
2771         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2772
2773 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2774
2775         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2776
2777         * libs/gst/base/gstbasetransform.c:
2778         (gst_base_transform_buffer_alloc):
2779         Don't passthrough buffer allocation too easily if the caps change.
2780         This breaks when working in passthrough mode and upstream changes
2781         it's caps. Fixes bug #526768.
2782
2783 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2784
2785         * gst/gstinfo.c (gst_debug_log_valist):
2786           Improved the __FILE__ part of debug output for MSVC.
2787
2788 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2789
2790         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2791           Declaration after statement fix for compilers like MSVC.
2792
2793 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2794
2795         * win32/common/config.h.in:
2796           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2797           use the real thing than having "???" unconditionally.
2798
2799 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2800
2801         * gst/gstinfo.h (GST_FUNCTION):
2802           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2803
2804 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2805
2806         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2807         Small code cleanup.
2808
2809         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2810         (gst_base_sink_set_flushing):
2811         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2812         Fix some comments.
2813
2814 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2815
2816         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2817         (gst_fake_src_init), (gst_fake_src_set_property),
2818         (gst_fake_src_get_property), (gst_fake_src_start):
2819         * plugins/elements/gstfakesrc.h:
2820         Added format property to control the format of the newsegment events.
2821         API: GstFakeSrc:format
2822
2823 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2824
2825         * win32/common/libgstreamer.def:
2826         Add gst_pad_has_name() to the exported symbols.
2827
2828 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2829
2830         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2831         * libs/gst/base/gstbasetransform.c:
2832         (gst_base_transform_prepare_output_buffer):
2833         Don't allow negative sizes when allocating new buffers.
2834         Fixes bug #461253.
2835
2836 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2837
2838         Patch by: Sjoerd Simons <sjoerd at luon net>
2839
2840         * gst/gstbus.c: (gst_bus_source_dispatch):
2841           Don't print a warning if the queue is empty when we try to pop
2842           here. That could happen if another thread or callback set the
2843           bus to flushing between the source's check/prepare and the
2844           dispatch being called (#531538).
2845
2846 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2847
2848         * plugins/elements/gstmultiqueue.c:
2849           Small docs fix.
2850         
2851 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
2852
2853         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2854         Add unit test for deserializing uint64s and check some really large
2855         numbers in the int64 test.
2856
2857 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
2858
2859         * tools/gst-inspect.c: (n_print), (print_hierarchy),
2860         (print_interfaces), (print_element_properties_info),
2861         (print_signal_info):
2862         Use "%s" as format string instead of printing strings directly.
2863
2864 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
2865
2866         * gst/gstclock.c: (gst_clock_set_calibration):
2867         Make some checks actually useful.
2868
2869         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2870         Remove some unused code. Unsigned integers tend to be >= 0.
2871
2872 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2873
2874         * gst/gstminiobject.c: (gst_value_get_mini_object):
2875           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
2876           function was not in the unscheduled 0.10.19 release.
2877
2878 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2879
2880         * gst/gstregistry.c: (gst_registry_scan_path_level):
2881           Only print one log message per non-plugin file.
2882
2883 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2884
2885         * gst/gstinfo.c: (gst_debug_log_default):
2886           Fix alignment of debug log columns on 64-bit.
2887
2888 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2889
2890         * docs/libs/Makefile.am:
2891         * docs/libs/gstreamer-libs-sections.txt:
2892           Ignore private controller headers for docs.
2893
2894 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
2895
2896         * libs/gst/controller/gstcontrollerprivate.h:
2897         * libs/gst/controller/gsthelper.c:
2898         * libs/gst/controller/gstinterpolation.c:
2899         * libs/gst/controller/gstinterpolationcontrolsource.c:
2900         (gst_interpolation_control_source_set_interpolation_mode):
2901         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
2902         * libs/gst/controller/lib.c:
2903         Move some private declarations into private headers.
2904
2905 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
2906
2907         * gst/gstdebugutils.c: (debug_dump_element_pad):
2908         Remove some code that is unused after Stefan's refactoring and uses
2909         uninitialized variables now, resulting in a compiler warning.
2910
2911 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
2912
2913         * gst/gstregistry.c: (gst_registry_scan_path_level):
2914           Run g_str_has_suffix() only on the file name, not the
2915           entire file path.
2916
2917 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
2918
2919         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
2920           Since we're not called only from the chain function any longer,
2921           we can't assume that there's always data in the queue, so move
2922           the is_full check to the beginning of the loop (otherwise we'd
2923           hit the assert when changing the limit properties while the
2924           queue is empty or not running yet).
2925           Also, only set a discont if items were actually removed from
2926           the queue.
2927
2928         * tests/check/elements/queue.c: (test_leaky_downstream):
2929           Test case for the above.
2930
2931 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2932
2933         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
2934
2935         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
2936         (gst_queue_chain), (queue_capacity_change),
2937         (gst_queue_set_property):
2938         When changing thr max capacity of a leaky queue, immediatly drop buffers
2939         instead of waiting for a push on the sinkpad. Fixes #530637.
2940
2941 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
2942
2943         * gst/gstdebugutils.c:
2944           Refactor code and fix handling of ghostpads and their proxypads.
2945
2946 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2947
2948         * docs/gst/gstreamer-sections.txt:
2949         * gst/gstevent.c: (gst_event_has_name):
2950         * gst/gstevent.h:
2951         * tests/check/gst/gstevent.c: (GST_START_TEST):
2952         Add method to conveniently check the name of a custom event with
2953         gst_event_has_name().
2954         Reformat the event docs so that related methods are put together instead
2955         of the default alphabetical sort.
2956         Update unit test with new method.
2957         API: GstEvent::gst_event_has_name()
2958
2959 2008-04-28  Michael Smith <msmith@songbirdnest.com>
2960
2961         * libs/gst/check/Makefile.am:
2962           Don't add an explicit link to libgstreamer-0.10.la; it's already
2963           included in GST_OBJ_LIBS.
2964
2965 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
2966
2967         * gst/gst.c:
2968         Register GstClock type from a type-safe context. Fixes bug #530317.
2969
2970 2008-04-25  Michael Smith <msmith@songbirdnest.com>
2971
2972         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
2973         * tools/gst-run.c:
2974           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
2975
2976 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2977
2978         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2979         (gst_bin_dispose):
2980         Use the GLib stuff to create a private structure.
2981         Add some locking around some dispose methods to make them a little
2982         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
2983
2984 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
2985
2986         * libs/gst/base/gstbasesink.h:
2987         * libs/gst/base/gstbasesrc.h:
2988         * libs/gst/base/gstbasetransform.h:
2989         * libs/gst/base/gstcollectpads.h:
2990           Fix doc typos and unify caps a bit.
2991
2992 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
2993
2994         * tools/gst-launch.1.in:
2995           Forgot to also add the envvar docs here.
2996
2997 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
2998
2999         * gst/gst.c: (init_post), (gst_deinit):
3000         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3001           (test_concurrent_create), (gst_pipeline_suite):
3002           Ref some more classes in gst_init() to work around thread-safety
3003           issues in pre-2.16 GLibs, and add basic unit test.
3004
3005 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3006
3007         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3008         (gst_base_sink_send_event):
3009         Rearrange the latency query code. We always want to do the upstream
3010         query, even if we are not live so that the upstream elements can get the
3011         latency results too. If we fail doing the query and we are live, we
3012         return TRUE afterwards.
3013
3014 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3015
3016         patch by: Jason Zhao <e3423c@motorola.com>
3017
3018         * docs/gst/running.xml:
3019         * gst/gst.c:
3020           Enable/disable scan_and_update_registry() based on commandline switch
3021           or environment variable. Fixes #520468.
3022           
3023         * ChangeLog:
3024           Fix typo in my previous commit.
3025
3026 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3027
3028         * gst/gstregistrybinary.c:
3029           Add a warning if we hit unhandled factories when saving.
3030           More debug logging detail, but move to LOG category.
3031
3032 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3033
3034         * gst/gstregistry.c:
3035           Tell the *truth* when improving the documentation.
3036
3037 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3038
3039         * gst/gstelementfactory.c: (gst_element_factory_make):
3040         Unref the factory after it was used the last time, not before.
3041
3042         * gst/gstindexfactory.c: (gst_index_factory_make):
3043         Improve debugging a bit and don't leak a ref to the index factory with
3044         each call.
3045
3046 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3047
3048         * gst/gstregistry.c:
3049           Improve the documentation.
3050
3051 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3052
3053         * gst/gstsegment.c:
3054           The glib macro seems to be borked. Use g_slice_copy directly and cast
3055           in the hope that this fixes the warning on 64bit.
3056
3057 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3058
3059         * gst/gstsegment.c:
3060           Document the new function. Use g_slice_dup() (no need for
3061           gst_segment_init()).    
3062
3063 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3064
3065         * docs/gst/gstreamer-sections.txt:
3066           Move GParamSepc macros to standart section.
3067   
3068         * gst/gstbin.c:
3069           Dn't document _get_type - its in private section in docs anyway and
3070           this doc-blob was incomplete.
3071
3072         * gst/gstclock.h:
3073           Fix wrong symbol names in docs.
3074
3075         * gst/gstmacros.h:
3076           Add once doc sentence.
3077
3078         * tests/check/gst/.cvsignore:
3079           Ignore more.
3080
3081 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3082
3083         * docs/gst/Makefile.am:
3084           And remove those libs here.
3085
3086 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3087
3088         * docs/libs/Makefile.am:
3089           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3090
3091 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3092
3093         Patch by: Olivier Crete <tester at tester dot ca>
3094
3095         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3096         Add the min-threshold to the min latency if possible. Fixes #529148.
3097
3098 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3099
3100         * docs/gst/gstreamer.types.in:
3101           Stupid editor, I removed that line as it should go in yet.
3102
3103 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3104
3105         * docs/gst/gstreamer.types.in:
3106         * docs/libs/gstreamer-libs.types:
3107           Remove library types fro core docs and have them in libs docs.
3108           Reformat and cleanup. Add comment for miniobject types.
3109
3110 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3111
3112         * gst/gsturi.c: (gst_uri_get_protocol):
3113           Fix leak: g_strdown operates on the string in place, while
3114           g_ascii_strdown() returns a newly-allocated string.
3115
3116 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3117
3118         * tools/gst-inspect.c: (print_uri_handler_info),
3119         (print_element_info):
3120         Print the URI protocols and the URI type supported by the element.
3121
3122 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3123
3124         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3125         Use g_value_take_string() instead of the deprecated
3126         g_value_set_string_take_ownership().
3127
3128 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3129
3130         * gst/gstregistrybinary.c: (_gst_crc32):
3131         Return the old CRC instead of 0 if we give a NULL buffer
3132         or a buffer with a length of 0.
3133
3134 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3135
3136         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3137         (gst_uri_get_protocol), (gst_uri_has_protocol),
3138         (gst_uri_construct), (gst_uri_handler_set_uri):
3139         A valid URI scheme can also include '+', '-' and '.' additional
3140         to alphanumeric characters as per RFC 3986 Section 3.1.
3141
3142         Handle URI schemes case insensitive in all places and convert
3143         to lower-case when constructing an URI or setting an URI with
3144         the GstURIHandler interface. Fixes bug #528868.
3145         All elements can still assume (as before) that they will
3146         get passed URIs with a lower-case URI scheme by the GstURIHandler
3147         interface.
3148
3149 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3150
3151         * gst/gstcaps.c: (gst_static_caps_get):
3152         * gst/gstclock.c: (gst_clock_entry_new):
3153           Don't use g_atomic_set_int where it's not needed.
3154
3155 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3156
3157         * gst/gstvalue.c: (gst_value_deserialize_caps):
3158         * gst/parse/grammar.y:
3159         Fix 2 caps leaks.
3160
3161 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3162
3163         * gst/gstutils.c: (gst_atomic_int_set):
3164         Use g_atomic_int_set() here too instead of assignment +
3165         g_atomic_int_get().
3166
3167 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3168         
3169         * gst/gstutils.c:
3170         * gst/gstutils.h:
3171         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3172         now that we depend on new enough GLib.
3173
3174         * gst/gstcaps.c: (gst_static_caps_get):
3175         * gst/gstclock.c: (gst_clock_entry_new):
3176         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3177         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3178         (gst_debug_category_set_threshold):
3179         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3180         (gst_base_sink_set_qos_enabled):
3181         * libs/gst/net/gstnettimeprovider.c:
3182         (gst_net_time_provider_set_property):
3183         Use g_atomic_int_set() instead of gst_atomic_int_set().
3184
3185 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3186
3187         * gst/gstquery.c:
3188           Also use G_GINT64_CONSTANT for the queries.
3189
3190 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3191
3192         * gst/gstmessage.c:
3193           Use G_GINT64_CONSTANT in varargs function.
3194
3195 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3196
3197         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3198         Initialize the registry magic with zeroes.
3199
3200 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3201
3202         * gst/gstregistrybinary.c: (_gst_crc32),
3203         (gst_registry_binary_write),
3204         (gst_registry_binary_initialize_magic),
3205         (gst_registry_binary_write_cache),
3206         (gst_registry_binary_check_magic),
3207         (gst_registry_binary_read_cache):
3208         * gst/gstregistrybinary.h:
3209         Add crc32 checksum to the binary registry file and check this before
3210         accepting a registry file.
3211
3212         Also free the data list when writing to the registry file fails.
3213
3214 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3215
3216         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3217         (gst_registry_binary_load_feature),
3218         (gst_registry_binary_load_plugin):
3219         If an element supports the Uri interface, returns a valid pointer
3220         to the supported URI protocols but this pointer contains nothing
3221         don't try to save that as it will corrupt the registry.
3222
3223         Don't unref the plugin if we added it to the registry already but
3224         fail to load a feature as gst_registry_add_plugin() takes ownership
3225         of the plugin.
3226
3227         Improve debugging a bit.
3228
3229 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3230
3231         * gst/gsttaglist.h:
3232           Clarify some tag item docs after discussion on irc.
3233
3234 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3235
3236         * docs/gst/gstreamer-docs.sgml:
3237           Remove commented out plugins (they have their own docs). Update
3238           comments.
3239
3240 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3241
3242         * docs/gst/gstreamer-docs.sgml:
3243         * docs/gst/gstreamer-sections.txt:
3244         * gst/gstparamspecs.c:
3245         * gst/gstparamspecs.h:
3246           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3247           docs to own section.
3248
3249         * gst/gstvalue.c:
3250           This now only documents GValue.
3251           
3252         * docs/libs/gstreamer-libs-sections.txt:
3253         * libs/gst/controller/gstcontroller.h:
3254           Remove GST_PARAM_CONTROLLABLE.
3255
3256 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3257
3258         * docs/README:
3259           Correct file path. Tell about how to use -overrides.txt.
3260         * docs/design/draft-tagreading.txt:
3261           Small design update.
3262
3263 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3264
3265         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3266         (gst_registry_binary_load_plugin):
3267         Fix a typo in a debug message and revert change from yesterday as
3268         gst_registry_add_plugin() will only fail if something is really wrong
3269         already and we can't survive it anyway.
3270
3271 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3272
3273         * gst/gst.c: (init_post), (gst_deinit):
3274           Pre-register GstGError GType from a thread-safe context
3275           (fixes #527967); unref enum type classes in deinit.
3276
3277 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3278
3279         Patch by: Rene Stadler <mail at renestadler de>
3280
3281         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3282           Merging an empty list with another list in KEEP_ALL mode should
3283           yield an empty list as result and not the second list (#512578).
3284
3285         * tests/check/gst/gsttagsetter.c:
3286           Add unit test for tag merge modes and the aforementioned bug.
3287
3288 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3289
3290         Patch by: Rene Stadler <mail at renestadler de>
3291
3292         * gst/gsttaglist.h:
3293           Fix description to match the order in the table (#512577).
3294   
3295 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3296
3297         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3298
3299         * libs/gst/net/gstnettimepacket.h:
3300         * docs/libs/gstreamer-libs-sections.txt:
3301           Define socklen_t as int if it's not defined yet. Fixes compilation
3302           with MSVC6 and other versions where socklen_t is not defined in
3303           the windows headers (#518022).
3304
3305 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3306
3307         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3308         If gst_registry_add_plugin() fails our reference to the plugin is
3309         invalid so don't try to use it anymore and instead error out.
3310
3311 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3312
3313         * tools/gst-xmlinspect.c: (print_element_info), (main):
3314           De-cruft a bit. If no argument is specified, print all elements in
3315           XML syntax rather than a freestyle list of elements like gst-inspect.
3316           Also, don't print XML header chunk unless we actually have something
3317           to print (ie. don't print it before an error message); print error
3318           message to stderr not stdout. Remove support for printing plugin
3319           info (it would just output something freestyle along the lines of
3320           gst-inspect so far), which fixes #514507. Also add license header.
3321
3322 2008-04-11  Julien Moutte  <julien@fluendo.com>
3323
3324         Mac OS X love...
3325         * configure.ac: Merge platform specific defines, introduce a new
3326         define on OS X to remember that forking when updating registry is
3327         unsafe.
3328         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3329         module.
3330         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3331         is defined.
3332         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3333         condition that leads to absolutely no plugins being registered on
3334         OS X.
3335
3336 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3337
3338         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3339
3340         * gst/gstutils.c: (gst_pad_add_data_probe),
3341           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3342           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3343           (gst_pad_add_buffer_probe_full):
3344         * gst/gstutils.h:
3345         * docs/gst/gstreamer-sections.txt:
3346         * win32/common/libgstreamer.def:
3347           Add gst_pad_add_*_probe_full() functions with a notify callback that
3348           lets the caller free the data it passes to the probe functions. This
3349           is useful for bindings such as gst-python or gstreamermm (#526814).
3350           API: gst_pad_add_data_probe_full
3351           API: gst_pad_add_buffer_probe_full
3352           API: gst_pad_add_event_probe_full
3353
3354         * tests/check/gst/gstutils.c:
3355           Add minimal unit test to make sure freeing the data actually works
3356           as expected.
3357
3358         * tests/benchmarks/.cvsignore:
3359           Random cvsignore addendum.
3360
3361 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3362
3363         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3364           (GST_DEBUG_BIN_TO_DOT_FILE):
3365           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3366           to it in the docs (since these are macros the types of the arguments
3367           won't be shown in the docs otherwise).
3368
3369 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3370
3371         * gst/gstpad.c:
3372           Do not abort on out of memory for pad_alloc_buffer.
3373
3374 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3375
3376         * libs/gst/check/gstcheck.c:
3377           Remove blank line between symbol name ad parameters to fix gtkdoc
3378           warning.
3379
3380 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3381
3382         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3383
3384         * docs/gst/gstreamer-sections.txt:
3385         * gst/gstsegment.c:
3386         * gst/gstsegment.h:
3387         * win32/common/libgstreamer.def:
3388           Expose gst_segment_copy() to make things easier for the c++ bindings.
3389           Fixes #518932.
3390           API: gst_segment_copy()
3391
3392 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3393
3394         * gst/gst.c: (gst_init_get_option_group), (init_post):
3395           Fix const position; ref GType classes for enum types to work
3396           around thread-safety issues in GLib versions < 2.16.
3397
3398 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3399
3400         * docs/design/part-buffering.txt:
3401         Fix some typos and set the estimated total for push mode to -1.
3402
3403         * gst/gstquery.c: (gst_query_new_buffering):
3404         Set buffering-left to 0 as we're not buffering by default.
3405
3406         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3407         Implement BUFFERING query.
3408
3409 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3410
3411         Based on patch by: Milosz Derezynski <internalerror gmail com>
3412
3413         * gst/gsterror.c: (_gst_stream_errors_init):
3414         * gst/gsterror.h:
3415           Add two new error codes for encrypted content. Fixes #524659.
3416           API: GST_STREAM_ERROR_DECRYPT
3417           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3418
3419 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3420
3421         * gst/gstquery.h:
3422           Fix typo.
3423
3424         * win32/common/libgstreamer.def:
3425           Add new functions.
3426
3427 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3428
3429         * plugins/elements/gstidentity.c: (gst_identity_event),
3430         (gst_identity_start):
3431         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3432         event after processing some data. Fixes bug #526042.
3433
3434 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3435
3436         * docs/gst/gstreamer-sections.txt:
3437         * gst/gstquery.c: (gst_query_parse_latency),
3438         (gst_query_set_buffering_percent),
3439         (gst_query_parse_buffering_percent),
3440         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3441         * gst/gstquery.h:
3442         Rename _avail -> _range
3443         API: gst_query_set_buffering_range
3444         API: gst_query_parse_buffering_range
3445
3446 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3447
3448         * docs/design/part-buffering.txt:
3449         * gst/gstquark.c:
3450         * gst/gstquark.h:
3451         * gst/gstquery.c: (gst_query_parse_latency),
3452         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3453         (gst_query_parse_buffering_percent):
3454         * gst/gstquery.h:
3455         Add busy field and quark for the buffering query so that the app can
3456         only use the query to see if buffering is in progress.
3457
3458 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3459
3460         * docs/gst/gstreamer-sections.txt:
3461         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3462         (gst_message_parse_buffering_stats):
3463         * gst/gstmessage.h:
3464         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3465         (gst_query_parse_latency), (gst_query_new_buffering),
3466         (gst_query_set_buffering_percent),
3467         (gst_query_parse_buffering_percent),
3468         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3469         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3470         * gst/gstquery.h:
3471         Reorder the message docs and headers for clarity.
3472         Add aditional buffering stats API for messages.
3473         Add buffering query.
3474         Convert some leftover queries to use GstQuark.
3475         API: gst_message_set_buffering_stats
3476         API: gst_message_parse_buffering_stats
3477         API: GST_QUERY_BUFFERING
3478         API: GstBufferingMode
3479         API: gst_query_new_buffering
3480         API: gst_query_set_buffering_percent
3481         API: gst_query_parse_buffering_percent
3482         API: gst_query_set_buffering_stats
3483         API: gst_query_parse_buffering_stats
3484
3485 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3486
3487         * gst/gstmessage.c: (gst_message_new_error),
3488         (gst_message_new_warning), (gst_message_new_info),
3489         (gst_message_new_buffering), (gst_message_new_state_changed),
3490         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3491         (gst_message_new_new_clock), (gst_message_new_segment_start),
3492         (gst_message_new_segment_done), (gst_message_new_duration),
3493         (gst_message_new_async_start), (gst_message_parse_buffering),
3494         (gst_message_parse_state_changed),
3495         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3496         (gst_message_parse_new_clock), (gst_message_parse_error),
3497         (gst_message_parse_warning), (gst_message_parse_info),
3498         (gst_message_parse_segment_start),
3499         (gst_message_parse_segment_done), (gst_message_parse_duration),
3500         (gst_message_parse_async_start):
3501         Use GstQuark for messages.
3502
3503 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3504
3505         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3506         * gst/gstquark.h:
3507         Add some more quarks needed for messages and queries.
3508
3509 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3510
3511         * docs/design/part-buffering.txt:
3512         Remove the "none" buffering mode, STREAM is a good default.
3513         Move estimated-time to the avail query, that's when it will be needed.
3514         Other small typo fixes and updates.
3515
3516 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3517
3518         * gst/gstindex.c: (gst_index_resolver_get_type):
3519           Don't put descriptions into the nick field of a GEnumValue: it's not
3520           meant for that and some language bindings rely on the nick field to
3521           construct constants and the like. Fixes #526705.
3522
3523 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3524
3525         * NEWS:
3526         * RELEASE:
3527         * gstreamer.doap:
3528           Merge other changes from 0.10.19 release branch.
3529
3530 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3531
3532         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3533
3534         * configure.ac:
3535         Actually build dlls when cross-compiling with mingw32.
3536         Fixes bug #526247.
3537
3538 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3539
3540         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3541
3542         * gst/gstpoll.c:
3543         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3544
3545 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3546
3547         * docs/design/draft-latency.txt:
3548         Fix typo.
3549
3550         * docs/design/part-buffering.txt:
3551         Update design docs with more buffering ideas.
3552
3553 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3554
3555         * configure.ac:
3556           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3557
3558 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3559
3560         * configure.ac:
3561           Revert part that belongs to the preset patch.
3562
3563 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3564
3565         * configure.ac:
3566           Add qoutes to the define. Fixes # 525961.
3567
3568 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3569
3570         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3571         (gst_file_index_load), (gst_file_index_add_id),
3572         (gst_file_index_get_assoc_entry):
3573         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3574         (gst_mem_index_free_id), (gst_mem_index_add_id),
3575         (gst_mem_index_index_format):
3576         Use GSlice when possible.
3577
3578 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3579
3580         * libs/gst/controller/gstinterpolationcontrolsource.c:
3581         (gst_control_point_free),
3582         (gst_interpolation_control_source_set_internal):
3583         Use GSlice for allocating the control points.
3584
3585 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3586
3587         * plugins/elements/gsttypefindelement.c:
3588         (gst_type_find_element_class_init),
3589         (gst_type_find_element_set_property),
3590         (gst_type_find_element_get_property),
3591         (gst_type_find_element_activate):
3592         * plugins/elements/gsttypefindelement.h:
3593         Cleanup properties.
3594         Fix pad leak when peer query fails.
3595         We can still typefind when the peer returns -1.
3596         Add property to force caps and bypass typefinding. This will be used in
3597         uridecodebin.
3598         API::force-caps
3599
3600 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3601
3602         * configure.ac:
3603         Require GLib 2.12.
3604
3605         * gst/glib-compat-private.h:
3606         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3607         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3608         Unconditionally use GSlice for allocation.
3609
3610         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3611         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3612         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3613         (gst_structure_free):
3614         Use GSlice for allocation.
3615
3616 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3617
3618         * gst/parse/Makefile.am:
3619         * gst/parse/grammar.tab.pre.c:
3620         * gst/parse/grammar.tab.pre.h:
3621         * gst/parse/lex._gst_parse_yy.pre.c:
3622         Require a new enough flex and bison and remove the parser hacks to use
3623         a pre-regenerated version.
3624
3625 2008-04-01  Julien Moutte  <julien@fluendo.com>
3626
3627         patch by: Jason Zhao <E3423C@motorola.com>
3628
3629         * configure.ac: Add a configure switch to disable option parsing
3630         in gst_init.
3631         Fixes #522882.
3632
3633 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3634
3635         * configure.ac:
3636         * gst/gstregistry.c:
3637           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3638           and handle this case.
3639
3640         * gst/gst.c:
3641           Add a comment here describing, why we stat each plugin and not try to
3642           be smart.
3643
3644 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3645
3646         * libs/gst/base/gstbasetransform.c:
3647         (gst_base_transform_prepare_output_buffer):
3648         Also unset the GAP flag on buffers if we're working inplace but
3649         the element is not GAP-aware.
3650
3651         Mark a comment as FIXME 0.11.
3652
3653 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3654
3655         * gst/gst.c:
3656           Fix type in log message and add one to ease seeing how long registry
3657           cache verification takes.
3658
3659         * gst/gstregistry.c:
3660           Only test plugin filenames against G_MODULE_SUFFIX.
3661
3662 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3663
3664         * gst/gstdebugutils.c:
3665           Improve handling ghost/proxy pads.
3666
3667 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3668
3669         * docs/gst/gstreamer-sections.txt:
3670         * gst/gstpad.c:
3671         * gst/gstpad.h:
3672           Expose macro to docs and fix link to it.
3673
3674 2008-03-27  Michael Smith <msmith@fluendo.com>
3675
3676         * libs/gst/dataprotocol/dataprotocol.c:
3677         (gst_dp_packet_from_event_1_0):
3678           When calculating GDP body CRC, use the correct pointer. 
3679           Fixes part of #522401.
3680
3681 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3682
3683         Patch by: Mark Nauwelaerts <manauw at skynet be>
3684
3685         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3686         (gst_identity_init), (gst_identity_prepare_output_buffer):
3687         Identity is not always a passthrough element, it can modify the buffer
3688         timestamps when it has a datarate and operates in single-segment mode.
3689         We therefore make it an in_place filter with a custom buffer prepare
3690         function that conditionally makes the input buffer metadata writable
3691         when needed.  Fixes #523985.
3692
3693 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3694
3695         Patch by: Mark Nauwelaerts <manauw at skynet be>
3696
3697         * gst/gstclock.h:
3698         * libs/gst/base/gstbasesrc.h:
3699         * libs/gst/base/gstbasetransform.c:
3700         * libs/gst/check/gstcheck.c:
3701         Small documentation fixes. Fixes #523978.
3702
3703 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3704
3705         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3706         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3707         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3708
3709 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3710
3711         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3712         (single_queue_underrun_cb):
3713         When trying to make room in the queue, bump the max allowed buffers
3714         bigger than the current amount of buffers in the queue. this fixes some
3715         nasty deadlocks in multiqueue when dynamically changing the limits of
3716         the queue.
3717
3718 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3719
3720         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3721
3722         * gst/gstcaps.c: (gst_caps_set_simple),
3723         (gst_caps_set_simple_valist), (gst_caps_intersect):
3724         * gst/gstcaps.h:
3725         Constify the field gchar * params in set_simple and friends.
3726         Fixes #522326.
3727
3728 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3729
3730         * gst/gstvalue.c: (gst_value_transform_object_string):
3731         Transform a GstObject to a more meaningfull string that includes the
3732         object type in addition to its name.
3733
3734 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
3735
3736         * ChangeLog:
3737           ChangeLog surgery to add bugnumber to commit.
3738
3739 2008-03-23  Rene Stadler  <mail@renestadler.de>
3740
3741         * libs/gst/base/gstbasetransform.c:
3742         (gst_base_transform_set_gap_aware): Fix confusing documentation.
3743
3744 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3745
3746         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3747         Rename constant everywhere and don't forget one occurence.
3748
3749 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3750
3751         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3752         Align memory to the pointer size even if the architecture allows
3753         unaligned memory access. Unaligned memory access usually comes with
3754         performance penality.
3755
3756 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3757
3758         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3759         (gst_registry_binary_check_magic),
3760         (gst_registry_binary_load_pad_template),
3761         (gst_registry_binary_load_feature),
3762         (gst_registry_binary_load_plugin):
3763         Align memory to the pointer size instead of always 32 bit. Fixes
3764         unaligned memory accesses on ia64 and friends.
3765
3766         * gst/gstregistrybinary.h:
3767         Bump binary registry format version for this as it changes the
3768         format on those architectures that don't have unaligned access
3769         and 64 bit pointers.
3770
3771 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3772
3773         * docs/pwg/advanced-dparams.xml:
3774         * docs/pwg/building-props.xml:
3775         * docs/pwg/other-source.xml:
3776         * gst/glib-compat.h:
3777         * gst/gstbin.c: (gst_bin_class_init):
3778         * gst/gstclock.c: (gst_clock_class_init):
3779         * gst/gstindex.c: (gst_index_class_init):
3780         * gst/gstobject.c: (gst_object_class_init):
3781         * gst/gstpad.c: (gst_pad_class_init):
3782         * gst/gstpipeline.c: (gst_pipeline_class_init):
3783         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3784         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3785         * libs/gst/base/gstbasetransform.c:
3786         (gst_base_transform_class_init):
3787         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3788         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3789         (_gst_check_fault_handler_sighandler),
3790         (_gst_check_fault_handler_setup), (gst_check_init):
3791         * libs/gst/controller/gstcontroller.c:
3792         (_gst_controller_class_init):
3793         * libs/gst/controller/gstlfocontrolsource.c:
3794         (gst_lfo_control_source_class_init):
3795         * libs/gst/net/gstnetclientclock.c:
3796         (gst_net_client_clock_class_init):
3797         * libs/gst/net/gstnettimeprovider.c:
3798         (gst_net_time_provider_class_init):
3799         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3800         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3801         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3802         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3803         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3804         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3805         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3806         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3807         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3808         * plugins/elements/gstqueue.c: (gst_queue_class_init):
3809         * plugins/elements/gsttee.c: (gst_tee_class_init):
3810         * plugins/elements/gsttypefindelement.c:
3811         (gst_type_find_element_class_init):
3812         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3813         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3814         use it everywhere for GParamSpecs that use static strings (i.e. all).
3815         This gives us less memory usage, fewer allocations and thus less
3816         memory defragmentation. Fixes bug #523806.
3817
3818 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3819
3820         * gst/gstminiobject.c: (gst_value_dup_mini_object),
3821         (gst_param_spec_mini_object):
3822         * gst/gstminiobject.h:
3823         * win32/common/libgstreamer.def:
3824         * docs/gst/gstreamer-sections.txt:
3825         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3826         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3827         GstParamSpecMiniObject into a public header for this.
3828
3829         This make GstMiniObject a bit more consistent with GObject and makes
3830         it possible to extend the param specs.
3831
3832         gst_value_dup_mini_object is mainly useful for set_property methods.
3833
3834         Fixes bug #523798.
3835
3836         * tools/gst-inspect.c: (print_element_properties_info):
3837         Print something useful for GstMiniObject properties and not just
3838         "unknown type".
3839
3840 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
3841
3842         * docs/gst/gstreamer-sections.txt:
3843         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3844         (gst_registry_binary_check_magic):
3845         * gst/gstregistrybinary.h:
3846         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
3847         and add it to the (private part) of the docs to fix the build.
3848
3849 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
3850
3851         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3852         (gst_registry_binary_check_magic),
3853         (gst_registry_binary_read_cache):
3854         * gst/gstregistrybinary.h:
3855         Don't use GST_MAJORMINOR for the binary registry version. Instead
3856         hardcode a value that must be changed whenever the format changes
3857         in an incompatible way.
3858         Also don't GST_ERROR when there is a version mismatch, just
3859         regenerate the registry silently.
3860
3861 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
3862
3863         * configure.ac:
3864         Back to development - 0.10.18.1
3865
3866 === release 0.10.18 ===
3867
3868 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
3869
3870         * configure.ac:
3871           releasing 0.10.18, "So far away"
3872
3873 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
3874
3875         * configure.ac:
3876         * win32/common/config.h:
3877         0.10.17.4 pre-release
3878
3879 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
3880
3881         Patch by: Ole André Vadla Ravnås
3882             <ole dot andre dot ravnas at tandberg dot com>
3883
3884         * docs/gst/gstreamer-sections.txt:
3885         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
3886         (gst_poll_update_winsock_event_mask),
3887         (gst_poll_prepare_winsock_active_sets),
3888         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
3889         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
3890         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
3891         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3892         (gst_poll_check_ctrl_commands), (gst_poll_wait):
3893         * gst/gstpoll.h:
3894         * win32/common/libgstreamer.def:
3895         Add new function gst_poll_fd_ignored() for improved Windows
3896         compatibility.
3897         Various minor fixes and cleanups. See #520808.
3898
3899 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
3900
3901         * gst/gstindex.c: (gst_index_entry_free):
3902         * gst/gstindex.h:
3903           Don't free key strings which we don't own. Fixes crash in
3904           gst_index_entry_free() (#522741).
3905
3906         * tests/check/Makefile.am:
3907         * tests/check/gst/.cvsignore:
3908         * tests/check/gst/gstindex.c: (test_index_entries),
3909           (gst_index_suite), (gst_index):
3910           Add unit test for the above.
3911
3912 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
3913
3914         * win32/common/libgstreamer.def:
3915         Remove symbols that were removed recently. Fixes bug #521740.
3916
3917 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
3918
3919         * configure.ac:
3920         * win32/common/config.h:
3921         0.10.17.3 pre-release
3922
3923 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3924
3925         Patch by: Ole André Vadla Ravnås
3926             <ole dot andre dot ravnas at tandberg dot com>
3927
3928         * docs/gst/gstreamer-sections.txt:
3929         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
3930         (gst_poll_update_winsock_event_mask), (gst_poll_new),
3931         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
3932         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
3933         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
3934         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3935         (gst_poll_fd_can_write), (gst_poll_wait),
3936         (gst_poll_set_controllable), (gst_poll_restart),
3937         (gst_poll_set_flushing):
3938         * gst/gstpoll.h:
3939         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
3940         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
3941         (gst_net_time_provider_new):
3942         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
3943         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
3944         * tests/benchmarks/gstpollstress.c: (main):
3945         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
3946         Remove GstPollMode from the API, it does not make sense to let the
3947         application control this.
3948         Add support for Win32.
3949         Fix the testsuite. Fixes #520671.
3950
3951 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
3952
3953         Patch by: Ole André Vadla Ravnås
3954             <ole dot andre dot ravnas at tandberg dot com>
3955
3956         * gst/gstregistrybinary.c:
3957         Include io.h for write() and close() when building with MSVC. Fixes
3958         bug #520877.
3959
3960 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
3961
3962         * configure.ac:
3963         * gst/gst_private.h:
3964         * gst/gstconfig.h.in:
3965         * gst/gstregistry.h:
3966         * gst/gstregistrybinary.c:
3967         * win32/common/gstconfig.h:
3968           Move registry backend API to private headers where we can. Add
3969           fixme-0.11 comments for the others. Add stubs for the xml backend when
3970           using the binary to ensure they functions exists (they should not be
3971           used though). Fixes #520756.
3972
3973 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
3974
3975         * configure.ac:
3976         * win32/common/config.h:
3977         0.10.17.2 prelease
3978
3979 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
3980
3981         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3982         (gst_registry_binary_read_cache):
3983         * gst/gstregistryxml.c: (gst_registry_save):
3984         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
3985         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
3986         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
3987         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
3988         Switch to using portabl gsize/gssize instead of size_t/ssize_t
3989         Fixes #520152
3990
3991 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
3992
3993         * gst/gstminiobject.c:
3994         Import gst_private.h before any other header that might include other
3995         glib headers. This fixes the build on windows using native compilers.
3996
3997 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3998
3999         * win32/common/gstconfig.h:
4000           Add here too, just for completeness.
4001
4002 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4003
4004         * configure.ac:
4005         * gst/gstconfig.h.in:
4006         * gst/gstregistry.h:
4007           Fix broken use of config.h-defined preprocessor directive in a public
4008           header file. Add a corresponding define to gstconfig.h, since we can't
4009           really remove those function declarations from the header file now
4010           (or can we? and why are they there in the first place?).
4011
4012 2008-03-03  Andy Wingo  <wingo@pobox.com>
4013
4014         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4015         the new warning.
4016
4017         * gst/gststructure.c (gst_structure_from_string): Warn if
4018         structure_from_string didn't consume the whole string, but the
4019         caller did not provide an end pointer.
4020
4021 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4022
4023         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4024
4025         * gst/gstregistryxml.c: (read_string), (load_feature):
4026           Strings allocated by libxml2 should be freed with xmlFree(), not
4027           with g_free(). Fixes issues on windows in certain contexts (#519698).
4028
4029 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4030
4031         * gst/gstinterface.c: (gst_element_implements_interface):
4032           Don't crash if the element supports the interface queried, but does
4033           not implement GstImplementsInterface. Fixes #519584.
4034
4035         * tests/check/Makefile.am:
4036         * tests/check/gst/.cvsignore:
4037         * tests/check/gst/gstinterface.c:
4038           Add unit test for the above.
4039
4040 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4041
4042         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4043         Small doc update.
4044
4045 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4046
4047         * gst/gstsegment.c: (gst_segment_set_seek),
4048         (gst_segment_to_stream_time):
4049         Improve some comment.
4050         Update variables where it makes more sense.
4051
4052 2008-02-29  Rene Stadler  <mail@renestadler.de>
4053
4054         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4055         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4056         URIHandlers implemented using language bindings.
4057
4058 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4059
4060         * gst/gstelementfactory.h:
4061         * tests/check/elements/fakesink.c:
4062         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4063         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4064         * tests/check/elements/filesink.c: (setup_filesink):
4065         * tests/check/elements/filesrc.c: (setup_filesrc):
4066         * tests/check/elements/identity.c: (setup_identity):
4067         * tests/check/elements/tee.c:
4068         * tests/check/generic/sinks.c:
4069         * tests/check/generic/states.c: (setup), (teardown):
4070         * tests/check/gst/gst.c:
4071         * tests/check/gst/gstabi.c:
4072         * tests/check/gst/gstbin.c:
4073         * tests/check/gst/gstbus.c: (pull_messages):
4074         * tests/check/gst/gstcaps.c:
4075         * tests/check/gst/gstelement.c:
4076         * tests/check/gst/gstevent.c:
4077         * tests/check/gst/gstghostpad.c:
4078         * tests/check/gst/gstiterator.c:
4079         * tests/check/gst/gstmessage.c:
4080         * tests/check/gst/gstminiobject.c: (my_foo_init):
4081         * tests/check/gst/gstobject.c: (thread_name_object),
4082         (gst_object_suite):
4083         * tests/check/gst/gstpad.c:
4084         * tests/check/gst/gstplugin.c:
4085         * tests/check/gst/gstpoll.c:
4086         * tests/check/gst/gstquery.c:
4087         * tests/check/gst/gstsegment.c:
4088         * tests/check/gst/gststructure.c:
4089         * tests/check/gst/gstsystemclock.c:
4090         * tests/check/gst/gsttask.c:
4091         * tests/check/gst/gstutils.c:
4092         * tests/check/gst/gstvalue.c:
4093         * tests/check/gst/struct_hppa.h:
4094         * tests/check/gst/struct_i386.h:
4095         * tests/check/gst/struct_ppc32.h:
4096         * tests/check/gst/struct_ppc64.h:
4097         * tests/check/gst/struct_x86_64.h:
4098         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4099         * tests/check/libs/basesrc.c:
4100         * tests/check/libs/controller.c: (GST_START_TEST):
4101         * tests/check/libs/gdp.c:
4102         * tests/check/libs/gstnetclientclock.c:
4103         * tests/check/libs/gstnettimeprovider.c:
4104         * tests/check/libs/libsabi.c:
4105         * tests/check/libs/struct_hppa.h:
4106         * tests/check/libs/struct_i386.h:
4107         * tests/check/libs/struct_ppc32.h:
4108         * tests/check/libs/struct_ppc64.h:
4109         * tests/check/libs/struct_x86_64.h:
4110         * tests/check/pipelines/cleanup.c:
4111         * tests/check/pipelines/simple-launch-lines.c:
4112         * tests/check/pipelines/stress.c:
4113         And correct even more valid sparse warnings.
4114
4115         * win32/common/libgstreamer.def:
4116         Add gst_poll_fd_init to the list of symbols.
4117
4118 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4119
4120         * gst/gstconfig.h.in:
4121         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4122         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4123         (gst_check_log_critical_func), (gst_check_drop_buffers),
4124         (gst_check_element_push_buffer_list):
4125         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4126         (gst_controller_get_type):
4127         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4128         (gst_object_get_controller), (gst_object_get_control_source):
4129         * libs/gst/controller/gstinterpolationcontrolsource.c:
4130         (gst_interpolation_control_source_new):
4131         * libs/gst/controller/gstlfocontrolsource.c:
4132         (gst_lfo_control_source_new):
4133         * libs/gst/dataprotocol/dataprotocol.c:
4134         (gst_dp_event_from_packet_0_2):
4135         * plugins/elements/gstfdsrc.c:
4136         * plugins/elements/gstmultiqueue.c:
4137         * plugins/elements/gsttee.c:
4138         * plugins/elements/gsttypefindelement.c:
4139         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4140         (gst_file_index_add_association):
4141         * plugins/indexers/gstmemindex.c:
4142         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4143         * tests/check/elements/queue.c: (setup_queue):
4144         * tests/check/gst/gstpipeline.c:
4145         * tests/check/libs/collectpads.c: (setup), (teardown),
4146         (gst_collect_pads_suite):
4147         * tests/examples/adapter/adapter_test.c:
4148         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4149         * tests/examples/xml/createxml.c:
4150         * tests/examples/xml/runxml.c:
4151         * tools/gst-inspect.c:
4152         * tools/gst-run.c:
4153         Correct all relevant warnings found by the sparse semantic code
4154         analyzer. This include marking several symbols static, using
4155         NULL instead of 0 for pointers, not using variable sized arrays
4156         on the stack, moving variable declarations to the beginning of
4157         a block and using "foo (void)" instead of "foo ()" for declarations.
4158
4159 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4160
4161         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4162         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4163         Don't reset GstPollFDs, this is not necessary at all.
4164
4165         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4166         (delayed_restart), (delayed_control):
4167         Use GST_POLL_FD_INIT.
4168
4169 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4170
4171         * gst/gstpoll.c: (gst_poll_fd_init):
4172         * gst/gstpoll.h:
4173         Added Since tags.
4174
4175         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4176         Use some more init macros.
4177
4178 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4179
4180         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4181         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4182         Use init macros and functions.
4183
4184 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4185
4186         * docs/gst/gstreamer-sections.txt:
4187         * gst/gstpoll.c: (gst_poll_fd_init):
4188         * gst/gstpoll.h:
4189         Add INIT macro and _init method for initializing the GstPollFD.
4190
4191 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4192
4193         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4194         (gst_fd_sink_update_fd):
4195         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4196         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4197         (delayed_restart), (delayed_control):
4198         Initialize some uninitialized variables as spotted by valgrind.
4199
4200 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4201
4202         * tests/benchmarks/Makefile.am:
4203         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4204         (main):
4205         Add poll stress test.
4206
4207 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4208
4209         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4210
4211         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4212         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4213         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4214         * plugins/elements/gstfdsink.h:
4215         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4216         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4217         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4218         (gst_fd_src_uri_set_uri):
4219         * plugins/elements/gstfdsrc.h:
4220         Port to GstPoll. See #505417.
4221
4222 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4223
4224         * win32/common/libgstreamer.def:
4225         Add new gst_poll_ symbols to win32 defs.
4226
4227 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4228
4229         * docs/libs/gstreamer-libs-sections.txt:
4230         * libs/gst/net/gstnetclientclock.c:
4231         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4232         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4233         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4234         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4235         * libs/gst/net/gstnetclientclock.h:
4236         * libs/gst/net/gstnettimeprovider.c:
4237         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4238         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4239         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4240         (gst_net_time_provider_new):
4241         * libs/gst/net/gstnettimeprovider.h:
4242         Use a private stuct to not break ABI.
4243
4244 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4245
4246         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4247
4248         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4249         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4250         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4251         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4252         * libs/gst/net/gstnetclientclock.h:
4253         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4254         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4255         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4256         (gst_net_time_provider_new):
4257         * libs/gst/net/gstnettimeprovider.h:
4258         Massive code removal and cleanups because of GstPoll.
4259         Fixes #505417.
4260
4261 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4262
4263         * configure.ac:
4264         Add checks for poll, ppoll and pselect.
4265
4266         * docs/gst/gstreamer-docs.sgml:
4267         * docs/gst/gstreamer-sections.txt:
4268         Add docs for GstPoll.
4269
4270         * gst/Makefile.am:
4271         * gst/gst.h:
4272         * gst/gstpoll.c: (find_index), (selectable_fds),
4273         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4274         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4275         (gst_poll_set_mode), (gst_poll_get_mode),
4276         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4277         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4278         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4279         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4280         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4281         (gst_poll_fd_can_write), (gst_poll_wait),
4282         (gst_poll_set_controllable), (gst_poll_restart),
4283         (gst_poll_set_flushing):
4284         * gst/gstpoll.h:
4285         Add generic poll abstraction. We ideally don't want to have this in core
4286         here but in glib intead...
4287         This code will be used in various network elements and ultimately for
4288         the nanosecond precision monotonic clock (that's why it's here in core).
4289         It'll allow us to implement cancelable socket operations for windows too.
4290
4291         * tests/check/Makefile.am:
4292         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4293         (delayed_stop), (delayed_restart), (delayed_flush),
4294         (delayed_control), (gst_poll_suite):
4295         Add GstPoll unit test.
4296
4297 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4298
4299         * gst/gstfilter.c:
4300           Improve documentation of gst_filter_run(). Fixes #518627.
4301
4302 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4303
4304         * docs/README:
4305           Add a few lines about the new 'check-inspected-versions' target.
4306
4307 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4308
4309         * tests/check/gst/gstevent.c:
4310           Add qos to the event test. Rename tcase/tsuite; is not only about
4311           custom events.
4312
4313 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4314
4315         * plugins/elements/gstqueue.c:
4316           Ensure that buffer metadata is writeable, before modifying. Spotted by
4317           Mike.
4318
4319 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4320
4321         * plugins/elements/gstqueue.c:
4322         * plugins/elements/gstqueue.h:
4323           When dropping buffers in leaky modes, mark next buffers we sent as
4324           DISCONT.
4325
4326 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4327
4328         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4329           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4330
4331 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4332
4333         * plugins/elements/Makefile.am:
4334         * plugins/elements/gstbufferstore.c:
4335         * plugins/elements/gstbufferstore.h:
4336         * plugins/elements/gsttypefindelement.h:
4337           Remove GstBufferStore, no idea why we were still building it.
4338           It's not used anywhere and superseded by GstAdapter.
4339
4340         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4341           (gst_file_src_create_mmap):
4342         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4343           Printf format fixes for 64-bit integers.
4344
4345 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4346
4347         * configure.ac:
4348         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4349         We're not in 0.8 times anymore.
4350
4351 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4352
4353         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4354         (gst_check_element_push_buffer_list):
4355         * libs/gst/check/gstcheck.h:
4356         Make the declaration in the header for
4357         gst_check_element_push_buffer_list match the implementation.
4358
4359         Fix up spelling, grammar and wording of the documentation in a few
4360         places, and add the Since keyword to new API functions.
4361         Use g_list_delete_link instead of g_list_remove in
4362         gst_check_drop_buffers, since it's immeasurably more efficient.
4363
4364         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4365         Use new gst_check_drop_buffers function where appropriate.
4366
4367         * win32/common/libgstbase.def:
4368         * win32/common/libgstreamer.def:
4369         Add new symbols gst_collect_pads_take_buffer, 
4370         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4371         exports
4372
4373         Changelog surgery to add API keyword to new gst_check API.
4374
4375 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4376
4377         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4378         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4379         Update pre-generated flex files with flex 2.3.34.
4380
4381 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4382
4383         * gst/gstminiobject.c:
4384           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4385           friendly to subclasses and not require them to know all internals
4386           of their parent class.
4387
4388 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4389
4390         * docs/libs/gstreamer-libs-sections.txt:
4391         * libs/gst/base/gstcollectpads.c:
4392         * libs/gst/base/gstcollectpads.h:
4393           Add sub-buffer functions to collectpads. Fixes #516187.
4394           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4395
4396 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4397
4398         * gst/gstbuffer.c:
4399           Copy selected buffer-flags when creating subbuffers.
4400           Fixes #516395.
4401
4402 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4403
4404         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4405         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4406         * gst/gstmessage.c: (gst_message_class_init),
4407         (gst_message_finalize):
4408         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4409         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4410         (gst_mmap_buffer_finalize):
4411         Properly chain up finalize functions to the parent class.
4412
4413 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4414
4415         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4416
4417         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4418         (gst_index_set_resolver_full):
4419         * gst/gstindex.h:
4420         Add new function with option to dispose of user_data in resolver.
4421         Actually call the dispose function when finalizing the object and not
4422         just when changing the resolver/filter.
4423         API: GstIndex::gst_index_set_resolver_full()
4424
4425         * docs/gst/gstreamer-sections.txt:
4426         Add new function to docs. Fixes #515469.
4427
4428 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4429
4430         * gst/gstindex.c: (gst_index_finalize):
4431         Chain up finalize to the parent class. Fixes leaking the GstObject
4432         name and other things.
4433
4434 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4435
4436         * configure.ac:
4437         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4438         pre-releases or releases.
4439
4440         * docs/faq/gst-uninstalled:
4441         Add gst-plugins-gl
4442
4443         * docs/random/release:
4444         Change one of the steps - we only upload core & base to Gnome FTP
4445
4446 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4447
4448         * gst/gstconfig.h.in:
4449           Add 'id' for example.
4450
4451         * gst/gstpad.c:
4452         * gst/gstutils.c:
4453         * plugins/elements/gstfdsink.c:
4454           Link to signals. Doc and comment fixes.
4455
4456 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4457
4458         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4459         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4460           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4461           unused and unimplemented; finally, it is plugin features, not
4462           plugins, that have ranks.
4463           
4464 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4465
4466         * gst/gstpluginfeature.h:
4467           Clarify GstRank range docs.
4468
4469 2008-02-05  David Schleef  <ds@schleef.org>
4470
4471         * gst/gst.c: Add a separate gst_deinitialized that prevents
4472           gst_init() from being called after gst_deinit().  Fixes #509559
4473
4474 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4475
4476         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4477         (gst_bin_class_init):
4478         * gst/gstelement.c: (gst_element_base_class_init),
4479         (gst_element_class_add_pad_template):
4480         * gst/gstpadtemplate.c: (gst_pad_template_init):
4481         * gst/gstpipeline.c: (gst_pipeline_get_type),
4482         (gst_pipeline_base_init), (gst_pipeline_class_init):
4483         * libs/gst/base/gstbasesink.c:
4484         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4485         (gst_base_src_base_init), (gst_base_src_class_init):
4486         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4487         (gst_capsfilter_class_init):
4488         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4489         (gst_fake_sink_class_init):
4490         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4491         (gst_fake_src_class_init):
4492         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4493         (gst_fd_sink_class_init):
4494         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4495         (gst_fd_src_class_init):
4496         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4497         (gst_file_sink_class_init):
4498         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4499         (gst_file_src_class_init):
4500         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4501         (gst_identity_class_init):
4502         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4503         (gst_multi_queue_class_init):
4504         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4505         (gst_queue_class_init):
4506         * plugins/elements/gsttee.c: (gst_tee_base_init),
4507         (gst_tee_class_init):
4508         * plugins/elements/gsttypefindelement.c:
4509         (gst_type_find_element_base_init),
4510         (gst_type_find_element_class_init):
4511         * tests/check/gst/gstelement.c: (gst_element_suite):
4512         Revert previous changes to the behaviour of GstPadTemplates, etc
4513         and the possiblity to call them in class_init as it breaks too
4514         many elements. Reopens bug #491501.
4515
4516         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4517         several places.
4518
4519 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4520
4521         * tools/gst-launch.c:
4522         Dump one graph per pipeline state-change and state change name
4523         (if GST_DEBUG_DUMP_DOT_DIR is set).
4524
4525 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4526
4527         * gst/gstpad.c:
4528         * tests/check/gst/gstpad.c:
4529         Be sure that we have a new copy of the caps and not
4530         reffed caps from a template
4531
4532 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4533
4534         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4535         * gst/gstpipeline.c: (gst_pipeline_get_type),
4536         (gst_pipeline_class_init):
4537         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4538         (gst_base_sink_class_init):
4539         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4540         (gst_base_src_class_init):
4541         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4542         (gst_base_transform_class_init):
4543         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4544         (gst_collect_pads_class_init):
4545         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4546         * libs/gst/net/gstnettimeprovider.c:
4547         (gst_net_time_provider_base_init),
4548         (gst_net_time_provider_class_init):
4549         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4550         (gst_capsfilter_class_init):
4551         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4552         (gst_fake_sink_class_init):
4553         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4554         (gst_fake_src_class_init):
4555         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4556         (gst_fd_sink_class_init):
4557         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4558         (gst_fd_src_class_init):
4559         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4560         (gst_file_sink_class_init):
4561         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4562         (gst_file_src_class_init):
4563         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4564         (gst_identity_class_init):
4565         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4566         (gst_multi_queue_class_init):
4567         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4568         (gst_queue_class_init):
4569         * plugins/elements/gsttee.c: (gst_tee_base_init),
4570         (gst_tee_class_init):
4571         * plugins/elements/gsttypefindelement.c:
4572         (gst_type_find_element_base_init),
4573         (gst_type_find_element_class_init):
4574         Don't use base_init where not absolutely necessary. For example it's
4575         not necessary anymore for adding pad templates or setting element
4576         details.
4577
4578         Leave empty base_init functions in several places as GST_BOILERPLATE
4579         still defines and uses them.
4580
4581 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4582
4583         * gst/gstelement.c: (gst_element_base_class_init),
4584         (gst_element_class_add_pad_template):
4585         * gst/gstpadtemplate.c:
4586         Make it possible (and recommended) to set element details and add
4587         pad templates in the class_init functions by copying the details/pad
4588         templates in GstElement's base_init.
4589
4590         Also make it possible to replace existing pad templates by adding
4591         a new one with the same name. This was done in a hackish fashion
4592         in same elements before already.
4593
4594         Don't reference pad templates that are added a second time. A
4595         new pad template has a refcount of one and is not floating anymore
4596         and to be owned by the element's class. Make this more explicit by
4597         mentioning it in the docs of gst_element_class_add_pad_template().
4598
4599         These changes are backwards compatible. Fixes bug #491501.
4600
4601         * tests/check/gst/gstelement.c:
4602         Add unit test for setting element details, adding pad templates and
4603         replacing them in a subclass.
4604
4605 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4606
4607         * tools/gst-inspect.c: (print_interfaces),
4608         (print_element_properties_info), (print_pad_info),
4609         (print_signal_info), (print_element_info):
4610         Fix a few memory leaks.
4611
4612 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4613
4614         * docs/libs/gstreamer-libs-sections.txt:
4615         * libs/gst/check/gstcheck.c:
4616         * libs/gst/check/gstcheck.h:
4617         Add more functions for unit testing: gst_check_drop_buffers,
4618         gst_check_caps_equal, gst_check_element_push_buffer_list,
4619         gst_check_element_push_buffer
4620         API: gst_check_drop_buffers
4621         API: gst_check_caps_equal
4622         API: gst_check_element_push_buffer_list
4623         API: gst_check_element_push_buffer
4624
4625 2008-02-01  Julien Moutte  <julien@fluendo.com>
4626
4627         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4628         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4629         (gst_index_finalize), (gst_index_entry_free),
4630         (gst_index_add_association): Fix memory leaks.
4631         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4632         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4633         (gst_mem_index_free_format), (gst_mem_index_free_id),
4634         (gst_mem_index_finalize): Fix memory leaks.
4635         * win32/common/config.h: Updated to CVS HEAD.
4636
4637 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4638
4639         * docs/README:
4640           Some more details about how the plugin docs works.
4641
4642         * docs/plugins/gstreamer-plugins-sections.txt:
4643           Whitespace cleanup.
4644
4645 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4646
4647         * gst/parse/grammar.tab.pre.c:
4648         * gst/parse/grammar.tab.pre.h:
4649         * gst/parse/grammar.y:
4650         * gst/parse/lex._gst_parse_yy.pre.c:
4651           Add delayed set-property. This allows to set properties on dynamicaly
4652           created objects (pads in videomxer). Fixes #509391.
4653
4654 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4655
4656         * gst/gstutils.c:
4657         Check if caps are not NULL (fix bug #510194)
4658
4659 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4660
4661         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4662         (gst_base_sink_get_position_paused):
4663         Add fixme regarding EOS in pull mode.
4664         Fix position reporting in PAUSED for negative rates.
4665
4666 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4667
4668         * gst/gstminiobject.c: (gst_mini_object_replace):
4669         When replacing a miniobject, do a quick equality check first so that we
4670         can avoid a ref/unref pair.
4671
4672 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4673
4674         * docs/design/part-synchronisation.txt:
4675         Update some docs.
4676
4677         * docs/plugins/Makefile.am:
4678         * docs/plugins/gstreamer-plugins-docs.sgml:
4679         * docs/plugins/gstreamer-plugins-sections.txt:
4680         * plugins/elements/gstmultiqueue.c:
4681         Add multiqueue to the docs.
4682
4683 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4684
4685         * configure.ac:
4686           Back to CVS
4687
4688 === release 0.10.17 ===
4689
4690 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
4691
4692         * configure.ac:
4693           releasing 0.10.17, "Due Negligence"
4694
4695 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4696
4697         * gst/gstutils.c:
4698         Revert caps != NULL check temporarily for 0.10.17 release.
4699
4700 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4701
4702         * gst/gstutils.c:
4703         Check if caps are not NULL (fix bug #510194)
4704
4705 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4706
4707         * gst/gstutils.c:
4708         Fix compilation on systems that have posix timers but no
4709         monotonic clock.
4710         Fixes: #512715
4711         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4712         dot net>
4713
4714 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4715
4716         * tools/gst-inspect.c:
4717         Revert previous commit in preparation for an impromptu 0.10.17 release
4718
4719 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
4720
4721         * tools/gst-inspect.c: (print_interfaces),
4722         (print_element_properties_info), (print_pad_info),
4723         (print_signal_info), (print_element_info):
4724         Fix a few memory leaks.
4725
4726 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
4727
4728         * configure.ac:
4729         Back to CVS
4730
4731 === release 0.10.16 ===
4732
4733 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
4734
4735         * configure.ac:
4736           releasing 0.10.16, "Special Dispensation"
4737
4738 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4739
4740         * configure.ac:
4741           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4742           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4743           not fail when trying to crosscompile on OpenEmbedded (#511750).
4744
4745 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
4746
4747         * docs/manuals.mak:
4748         Use $(MAKE) instead of make to fix the build if GNU make is
4749         called different. Fixes bug #510747.
4750
4751 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4752
4753         * gst/gstplugin.c: (_gst_plugin_initialize):
4754           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4755           again, which I broke two commits ago when changing the API
4756           of gst_plugin_register_static(): the g_list_foreach() in
4757           _gst_plugin_register_static still assumed the old function
4758           signature and would therefore fail (re-fixes #510187).
4759
4760         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4761           (_gst_plugin_register_static), (gst_plugin_register_static):
4762           Revert the (technically correct) change to call g_thread_init() from
4763           the pre-main() constructor. This will break programs which call
4764           g_thread_init() without an if (!g_thread_supported()) guard in their
4765           main function. We could just blame it on GLib or the application, but
4766           it's probably best to just avoid this altogether and simply not use
4767           any GLib functions here and use plain old malloc() with a simple
4768           array to store the plugins to register later when gst_init() is
4769           finally called (re-fixes #510187).
4770
4771         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4772           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4773           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4774           (GST_START_TEST), (gst_plugin_suite):
4775           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4776           works.
4777
4778 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4779
4780         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4781           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4782           This makes gtk-doc complain, but results in slightly better
4783           compiler errors. The old _gst_plugin_register_static() is
4784           still guarded, so there'll be a compiler warning about that
4785           instead. Fixes #510187 too.
4786
4787 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4788
4789         * gst/gst.c: (init_post):
4790         * gst/gstplugin.c: (_gst_plugin_register_static),
4791           (gst_plugin_register_static), (_gst_plugin_initialize):
4792         * gst/gstplugin.h: (GstPluginFilter):
4793           Change API of gst_plugin_register_static() to not take
4794           a GstPluginDesc, but rather just take all the arguments
4795           in a GstPluginDesc directly. This is more intuitive and
4796           avoids certain mistakes when porting code from
4797           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4798           Fixes #510187.
4799
4800         * tests/check/gst/gstplugin.c:
4801           Fix up for changed API.
4802
4803 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4804
4805         * docs/faq/legal.xml:
4806           Update FAQ, Totem actually has an exception these days.
4807
4808 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
4809
4810         * win32/common/libgstreamer.def:
4811         Add new API declarations
4812
4813 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4814
4815         * gst/gstminiobject.c:
4816           Spelling fixes for the API docs.
4817
4818 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4819
4820         * libs/gst/base/gstbasetransform.c:
4821           Fix long property description for QoS.
4822
4823 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
4824
4825         * gst/gst.c:
4826         _gst_trace_on is already provided by gsttrace.h, no need to declare
4827         it ourselves.
4828
4829         * docs/libs/gstreamer-libs-sections.txt:
4830         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4831         and remove strange tcase_add_test which is outputting a warning.
4832
4833         * libs/gst/check/gstcheck.c:
4834         * libs/gst/check/gstcheck.h:
4835         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4836         and define them in gstcheck.c instead of having every .c file whcih
4837         includes gstcheck.h be defining its own copy and relying on symbol
4838         interposing to marry them all, which doesn't work on Solaris.
4839
4840         * tests/check/elements/identity.c: (GST_START_TEST):
4841         Don't define 'buffers' locally, it comes from libgstcheck.
4842
4843         * tests/check/generic/sinks.c: (send_buffer):
4844         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
4845
4846         * tests/check/gst/gststructure.c: (GST_START_TEST):
4847         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
4848         * tests/check/gst/gstutils.c: (GST_START_TEST):
4849         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4850         Add a bunch of casts to make various constants fit the types
4851         they're being assigned to.
4852
4853 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
4854
4855         * gst/gstchildproxy.c:
4856           Improve docs and add some ideas for making this more general-purpose.
4857
4858 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
4859
4860         * gst/gst_private.h: (GST_CAT_TYPES):
4861           Add GST_CAT_TYPES, for consistency, and so that the other
4862           debug categories don't make fun of it. Spotted by Saur on IRC.
4863
4864 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
4865
4866         * gst/parse/Makefile.am:
4867           Move types.h from EXTRA_DIST to noinst_HEADERS.
4868
4869 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
4870
4871         * autogen.sh:
4872           Add -Wno-portability to the automake parameters to stop warnings
4873           about GNU make extensions being used. We require GNU make in almost
4874           every Makefile anyway.
4875
4876         * configure.ac:
4877           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
4878           at the same time is required for per target flags.
4879
4880 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4881
4882         * gst/gstmacros.h:
4883           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
4884           __GNUC__ is defined before using it.
4885
4886 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4887
4888         * docs/gst/gstreamer-sections.txt:
4889         * gst/gst.c: (init_post):
4890         * gst/gstplugin.c: (_gst_plugin_register_static),
4891           (gst_plugin_register_static), (_gst_plugin_initialize),
4892           (gst_plugin_register_func):
4893         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4894           API: add gst_plugin_register_static() and deprecate
4895           GST_PLUGIN_DEFINE_STATIC, since it's not portable
4896           (#498924).
4897           Also, in _gst_plugin_register_static(), make sure to call
4898           g_thread_init() before calling GLib functions such as
4899           g_list_append() if we're not initialised yet, since that
4900           may lead to random crashes with older GSlice/GLib versions.
4901
4902         * tests/check/gst/gstplugin.c:
4903           Adapt unit test to above changes.
4904
4905 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4906
4907         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
4908         * gst/gstcaps.c: (gst_caps_to_string):
4909         * gst/gststructure.c: (GST_ASCII_IS_STRING),
4910           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
4911           Yet another gratuitous GString micro-optimisation: add a (private)
4912           function that serialises a structure appending to an existing
4913           GString, so that when we serialise caps we don't need to alloc+free
4914           a throwaway GString for each structure (each of which also entailing
4915           multiple reallocs on the way); also use g_string_sized_new() in
4916           various places with an approximate string length to avoid reallocs
4917           within GString. See #500143.
4918
4919 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4920
4921         * gst/gststructure.c: (gst_structure_id_set_value):
4922           Always check UTF-8 conformance of structure strings and not only
4923           if the debugging system is enabled; reasoning: the behaviour of
4924           the actual code shouldn't really change depending on whether the
4925           debugging system is enabled or not (#508291).
4926
4927 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
4928
4929         * Makefile.am:
4930           Remove old coverage target in favour of "make lcov".
4931
4932 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4933
4934         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4935         (gst_base_src_loop):
4936         The start segment for reverse playback goes from start to last_stop.
4937
4938 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4939
4940         Patch by: Peter Kjellerstedt <pkj axis com>
4941
4942         * gst/gstclock.h:
4943         Cast the results from the timeval/spec_to_time macros to what the
4944         docs say it casts to, a GstClockTime. fixes #508175.
4945
4946 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4947
4948         * gst/gstbuffer.c:
4949         Update some comments.
4950
4951         * tools/gst-inspect.c: (print_element_properties_info):
4952         Improve printing of flags.
4953
4954 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
4955
4956         * libs/gst/base/gstbasetransform.c:
4957           (gst_base_transform_transform_size):
4958           Print element name with g_warning() if there's a problem
4959           with the unit size.
4960
4961 2008-01-07  David Schleef  <ds@schleef.org>
4962
4963         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
4964
4965         * libs/gst/controller/gstcontroller.h:
4966         * libs/gst/controller/gstcontrolsource.h:
4967         * libs/gst/controller/gstinterpolationcontrolsource.h:
4968         * libs/gst/controller/gstlfocontrolsource.h:
4969         * libs/gst/dataprotocol/dataprotocol.h:
4970           Fix empty prototypes.  Fixes bug #507957.
4971
4972 2008-01-07  David Schleef  <ds@schleef.org>
4973
4974         * docs/faq/dependencies.xml: Fix typo.
4975
4976 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4977
4978         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
4979         (gst_base_src_loop):
4980         Don't update the last_stop position in do_seek, that's the position we
4981         did a seek to.
4982         Read backwards when we have a negative rate.
4983
4984         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
4985         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
4986         (filesrc_suite):
4987         Add check for reverse reading.
4988
4989 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
4990
4991         Patch by: Alexis Ballier <aballier at gentoo org>
4992
4993         * tests/check/gst/gstabi.c:
4994         * tests/check/gst/struct_ppc64.h:
4995         * tests/check/libs/libsabi.c:
4996         * tests/check/libs/struct_ppc64.h:
4997           Decide which header to include based on the userland ABI target
4998           and not the kernel/cpu. Fix up structure sizes of ppc64 header
4999           for 64-bit userland (#503590).  Might need something similar for
5000           x86 too.
5001
5002 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5003
5004         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5005           Log the reason why fopen fails in addition to the fact that it failed.
5006           
5007 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5008
5009         * gst/parse/parse.l:
5010         Use "%option never-interactive" to prevent useless calls to isatty()
5011         on every input when parsing. Also use "%option noinput" to not define
5012         the static input/yyinput functions which we don't use anyway. This
5013         removes a compiler warning with gcc 4.3 and saves some bytes in the
5014         library.
5015         
5016         * gst/parse/lex._gst_parse_yy.pre.c:
5017         Regenerated for the above change.
5018
5019 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5020
5021         * gst/gstpad.c: (fixate_value):
5022         Don't crash when trying to fixate and empty list.
5023         Fixes #506643.
5024
5025 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5026
5027         * docs/faq/gst-uninstalled:
5028         Clarify the comments to make the usage of this script and what it
5029         does easier to understand.
5030
5031 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5032
5033         * tools/gst-plot-timeline.py:
5034         Add more options to gst-plot-timeline
5035
5036 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5037
5038         * docs/design/part-synchronisation.txt:
5039         Some more info on how the stream_time in GstBaseSink is done.
5040
5041 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5042
5043         * tests/check/generic/sinks.c: (gst_sinks_suite):
5044           Put back the tcase_set_timeout(), apparently it's needed after
5045           all; fix it up in a way that makes things work with valgrind too.
5046
5047 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5048
5049         * gst/gstdebugutils.c:
5050           Add warning when failed to open file for writing.
5051
5052 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5053
5054         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5055
5056         * gst/gstvalue.c: (gst_value_is_fixed):
5057           Optimisation: bail out of the loop as early as possible (#500143).
5058
5059 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5060
5061         * gst/gstcaps.c: (gst_caps_to_string):
5062         * gst/gstinfo.c: (gst_debug_construct_term_color):
5063         * gst/gstparse.c: (gst_parse_launchv):
5064         * gst/gstutils.c: (gst_util_dump_mem):
5065         * gst/gstvalue.c: (gst_value_serialize_any_list),
5066           (gst_value_transform_any_list_string):
5067           Bunch of gratuitous nano-optimisations.
5068
5069 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5070
5071         * tests/check/generic/sinks.c: (async_done_func),
5072           (async_done_eos_func):
5073           Fix leak in unit test (bus sync handler must unref the message
5074           if it returns GST_BUS_DROP). Don't fiddle with the default test
5075           timeout, this is smaller than the current preconfigured value
5076           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5077           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5078
5079 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5080
5081         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5082
5083         * configure.ac:
5084         Check for stdio_ext.h for the filesink changes.
5085
5086         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5087         (gst_file_sink_class_init), (gst_file_sink_init),
5088         (gst_file_sink_dispose), (gst_file_sink_set_property),
5089         (gst_file_sink_get_property), (gst_file_sink_open_file),
5090         (gst_file_sink_close_file):
5091         * plugins/elements/gstfilesink.h:
5092         Add two properties to control the buffering mode and size.
5093         API: GstFileSink::buffer-mode
5094         API: GstFileSink::buffer-size
5095         Fixes #500150.
5096
5097 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5098
5099         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5100         Add some more docs to explain why a FIXME was wrongly added. 
5101
5102 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5103
5104         * gst/gstobject.c:
5105           Fix typo in the gst_object_{ref,unref} documentation.
5106
5107 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5108
5109         * tests/check/libs/controller.c:
5110         * tests/check/libs/typefindhelper.c:
5111         * tests/check/pipelines/parse-launch.c:
5112           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5113           going to be deprecated (see #498924).
5114
5115 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5116
5117         * gst/gsttypefind.c: (gst_type_find_register):
5118           Make gst_type_find_register work for static typefind functions,
5119           ie. allow passing plugin == NULL (prerequisite for #498924).
5120
5121         * gst/gstelementfactory.c: (gst_element_register):
5122           Small docs addition.
5123
5124 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5125
5126         * gst/gstpad.c: (gst_pad_dispose):
5127         Really unlink the peer pad instead of setting the peer pointer to NULL
5128         when we dispose the pad.
5129         This correctly calls the unlink functions and makes sure that the peer
5130         does not have a handle to invalid memory. See #504671.
5131
5132         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5133         Add testsuite for above case.
5134
5135 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5136
5137         Patch by: Peter Kjellerstedt <pkj axis com>
5138
5139         * libs/gst/check/gstcheck.h:
5140           Fix detection of the check version we're compiling against (would
5141           otherwise break if check goes v0.10.0); correctly report the
5142           name of the failed test again in case of failure, instead of
5143           just 'tf' (fixes #504499).
5144
5145 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5146
5147         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5148         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5149         (gst_base_src_loop), (gst_base_src_set_flushing),
5150         (gst_base_src_change_state):
5151         Allow sending EOS to the source to make it send out an EOS event from
5152         the streaming thread.
5153         Update docs and deprecate the old NULL/READY shutdown method.
5154
5155         * tests/check/libs/basesrc.c: (GST_START_TEST),
5156         (gst_basesrc_suite):
5157         Add unit test for controlled shutdown.
5158
5159 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5160
5161         * docs/design/part-synchronisation.txt:
5162         Small updates.
5163
5164         * gst/gstsegment.c: (gst_segment_set_seek),
5165         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5166         (gst_segment_to_running_time):
5167         The seek format can be different from the segment format when the start
5168         and stop values are not to be updated, when we only do a rate change for
5169         example.
5170
5171         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5172         (gst_segment_suite):
5173         Add a testcase for the rate-only seeks, checking that the format is
5174         correctly ignored when start and stop are not updated.
5175
5176 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5177
5178         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5179
5180         * win32/vs8/grammar.vcproj:
5181         * win32/vs8/libgstcontroller.vcproj:
5182         * win32/vs8/libgstreamer.vcproj:
5183         Fix compilation with VS8 and include some missing files.
5184
5185 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5186
5187         * gst/gsttaglist.c:
5188           Small docs addition: mention that the strings returned by
5189           gst_tag_list_get_string*() are in UTF-8 encoding.
5190
5191 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5192
5193         * Makefile.am:
5194           The check-exports stuff moved to common/win32.mak, so include that.
5195
5196 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5197
5198         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5199         (gst_base_src_perform_seek), (gst_base_src_get_range),
5200         (gst_base_src_set_playing), (gst_base_src_change_state):
5201         Make _wait_playing() not check any variables so that we can call this
5202         function from subclasses. Move the checks elsewhere similar to
5203         _wait_preroll() in basesink.
5204         Add some debugging.
5205         Only signal the LIVE cond when we are going back to PLAYING.
5206
5207 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5208
5209         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5210           Use g_remove() and g_rename(). Check result of g_rename(), and
5211           don't leak the open file descriptor if we error out when writing.
5212
5213         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5214           Must check the return value of close() after writing out the new
5215           registry file.  Sometimes write problems such as out-of-diskspace
5216           are only reported when the file is closed and not already during
5217           the write.  This may have caused partial/broken registry files in
5218           some rare circumstances. Should fix #503675.
5219
5220 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5221
5222         * docs/gst/.cvsignore:
5223         * docs/libs/.cvsignore:
5224         * docs/plugins/.cvsignore:
5225         Ignore files generated by new common/* modifications
5226
5227 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5228
5229         * win32/common/libgstbase.def:
5230           Yes, you can also have a <TAB> if you want.
5231
5232 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5233
5234         * win32/common/libgstbase.def:
5235           Add new basetransform API to win export file.
5236
5237 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5238
5239         * tests/check/gst/gstbin.c:
5240           Adjust the test to the refcount change two days ago.
5241
5242 2007-12-14  David Schleef  <ds@schleef.org>
5243
5244         * docs/faq/getting.xml: Fix typo.
5245
5246 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5247
5248         * docs/libs/gstreamer-libs-sections.txt:
5249         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5250           (gst_base_transform_prepare_output_buffer),
5251           (gst_base_transform_set_gap_aware):
5252         * libs/gst/base/gstbasetransform.h:
5253           API: Add gst_base_transform_set_gap_aware() to control whether
5254           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5255           get buffers with this flag at all. Fixes #503231.
5256
5257 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5258
5259         * libs/gst/base/gstbasesink.c:
5260         * libs/gst/base/gstbasesrc.c:
5261         * libs/gst/base/gstbasetransform.c:
5262           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5263           thread. Correct log message in gstbasesrc.c.
5264
5265 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5266
5267         * gst/gstutils.c: (element_find_unconnected_pad):
5268           Fix possible compiler warning (#503417).
5269
5270 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5271
5272         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5273           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5274
5275 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5276
5277         * tools/gst-inspect.c: (print_element_properties_info):
5278           Add support for GstFraction properties.
5279
5280 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5281
5282         * Makefile.am:
5283           Add check-exports target and run it as part of 'make check'
5284           (see #499140 and #493983).
5285
5286         * gst/gst_private.h:
5287         * gst/gstelementfactory.h:
5288         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5289         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5290           (_priv_gst_in_valgrind):
5291         * gst/gstinfo.h: (GstLogFunction):
5292         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5293           (gst_type_find_register):
5294         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5295           (gst_type_find_factory_get_type):
5296         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5297           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5298           (gst_controller_new_valist), (gst_controller_new_list),
5299           (_gst_controller_dispose), (_gst_controller_class_init):
5300         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5301         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5302           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5303           (gst_object_get_controller), (gst_object_set_controller),
5304           (gst_object_suggest_next_sync), (gst_object_sync_values),
5305           (gst_object_set_control_source), (gst_object_get_control_source),
5306           (gst_object_get_value_arrays), (gst_object_get_value_array),
5307           (gst_object_get_control_rate), (gst_object_set_control_rate):
5308         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5309         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5310           Make some functions that should be static static; rename some
5311           private symbols so that they don't get exported; add some FIXME
5312           comments so we can move accidentally exported functions into
5313           our private section in 0.11.
5314
5315         * win32/common/libgstreamer.def:
5316           Add gst_utils_get_timestamp().
5317
5318 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5319
5320         * gst/gstvalue.c:
5321         * gst/gstvalue.h:
5322           Add more missing "Since:" tags to docs.
5323
5324 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5325
5326         * gst/gstutils.c:
5327           Add mising "Since:" to docs.
5328
5329 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5330
5331         * gst/gstplugin.c:
5332           Include "glib-compat-private.h" to fix the build on system with
5333           glib < 2.10. Fixes #503131.
5334
5335 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5336
5337         * gst/gstutils.c:
5338         * gst/gstutils.h:
5339           Actually its not PURE as it gets the time from elsewhere.
5340
5341 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5342
5343         * docs/gst/gstreamer-sections.txt:
5344         * gst/gstclock.h:
5345         * gst/gstdebugutils.c:
5346         * gst/gstinfo.c:
5347         * gst/gstutils.c:
5348         * gst/gstutils.h:
5349         * libs/gst/base/gstbasesink.c:
5350         * tools/gst-launch.c:
5351           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5352           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5353           Thanks Tim for spotting.
5354           API: gst_util_get_timestamp
5355
5356 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5357
5358         * configure.ac:
5359           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5360
5361 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5362
5363         * gst/gststructure.c: (gst_structure_validate_name),
5364           (gst_structure_new_valist), (gst_structure_parse_value),
5365           (gst_structure_from_string):
5366           Don't crash in _from_string() if the structure name is not valid
5367           (fixes #501560).  Allow structure names to start with a number
5368           again (this apparently broke the ubuntu codec installer).
5369
5370         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5371           (GST_START_TEST):
5372           Add unit test for the crash; update unit tests for new behaviour.
5373
5374 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5375
5376         * gst/gstutils.c:
5377         Clarify gst_element_get_compatible_pad() documentation.
5378         Fixes #500919.
5379
5380 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5381
5382         * tests/check/Makefile.am:
5383           Don't forget to dist {gst,libs}/struct_hppa.h.
5384
5385 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5386
5387         * libs/gst/base/gstbasesink.c:
5388           Use new API to get elapsed time.
5389
5390 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5391
5392         * gst/gstdebugutils.c:
5393         * gst/gstinfo.c:
5394           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5395
5396         * tools/gst-launch.c:
5397           Use new API to get elapsed time.
5398
5399 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5400
5401         * docs/gst/gstreamer-sections.txt:
5402         * gst/gstclock.h:
5403         * gst/gstdebugutils.c:
5404         * gst/gstinfo.c:
5405           Rename new API + ChangeLog surgery to remove old name from last entry..
5406
5407 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5408
5409         * docs/gst/gstreamer-sections.txt:
5410         * gst/gstclock.h:
5411         * gst/gstdebugutils.c:
5412         * gst/gstinfo.c:
5413           Now hide the different clock stuff behind a macro.
5414
5415 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5416
5417         * configure.ac:
5418         * gst/gstdebugutils.c:
5419         * gst/gstinfo.c:
5420           Apply the posix-timer check from #361155. Conditionally use the posix
5421           timer for logging. This gives better timestamp precission, less
5422           overhead and no ntp jitter.
5423
5424 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5425
5426         * gst/gstminiobject.c: (gst_mini_object_get_type),
5427         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5428         (gst_mini_object_finalize), (gst_mini_object_copy),
5429         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5430         (gst_mini_object_replace), (param_mini_object_validate),
5431         (gst_param_spec_mini_object_get_type):
5432         Some cleanup and checking against invalid function parameters.
5433
5434 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5435
5436         * docs/gst/gstreamer-sections.txt:
5437         * gst/gstclock.h:
5438         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5439         (gst_systemclock_suite):
5440         Start merging in the easy bits of #361155, the monotonic clock patch.
5441         This one adds a few handy macros with docs and a testsuite.
5442
5443 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5444
5445         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5446         Be a bit smarter when seeking, like, don't try to do a seek when it's
5447         not needed. This avoids errors when the file is not seekable.
5448         Fixes #499771.
5449
5450 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5451
5452         * docs/gst/gstreamer-docs.sgml:
5453         * docs/gst/gstreamer-sections.txt:
5454         * docs/gst/gstreamer.types.in:
5455         * gst/Makefile.am:
5456         * gst/gst.h:
5457         * gst/gstpreset.c:
5458         * gst/gstpreset.h:
5459         * plugins/elements/gstqueue.c:
5460           Due to popular request remove preset interface again. :-(.
5461
5462 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5463
5464         * tools/gst-inspect.c:
5465           Print 'default value' for enums and flags too.
5466
5467 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5468
5469         * docs/random/ensonic/profiling.txt:
5470           More ideas.
5471
5472         * gst/gstbin.c:
5473           Fix typo and give better log output.
5474
5475         * gst/gstdebugutils.c:
5476         * gst/gstdebugutils.h:
5477           More ideas, make graphs a bit smaller and fix param name in macro.
5478
5479 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5480
5481         * gst/gstpreset.c:
5482           Try harder to use the return value from fgets().
5483
5484 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5485
5486         * gst/gstpreset.c:
5487           For theses two fgets we handle the error below.
5488
5489 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5490
5491         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5492         Only send upstream events upstream. Fixes #498746.
5493
5494 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5495
5496         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5497
5498         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5499         (gst_identity_init), (gst_identity_transform_ip),
5500         (gst_identity_set_property), (gst_identity_get_property):
5501         * plugins/elements/gstidentity.h:
5502         Add property to disable handoff signal emission. Fixes #498694.
5503         API: GstIdentity::signal-handoffs
5504
5505 2007-11-21  Julien Moutte  <julien@fluendo.com>
5506
5507         * docs/faq/gst-uninstalled: Yet another missing library for the
5508         uninstalled script (fft)
5509
5510 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5511
5512         * docs/faq/developing.xml:
5513         Add a question about how to submit new translations.
5514
5515         * docs/random/release:
5516         Update the contact email address for the Translation Project
5517
5518         * plugins/elements/gstfdsrc.c:
5519         The parent_class for fdsrc is pushsrc, not GstElement.
5520
5521 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5522
5523         * gst/gstpreset.c:
5524           Plug a leak and fix saving.
5525
5526 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5527
5528         * docs/gst/gstreamer-sections.txt:
5529         Add new gst_preset__get_property_names() function to the docs
5530         to fix the build.
5531
5532 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5533
5534         * gst/gstpreset.c:
5535         * gst/gstpreset.h:
5536           Change _get_preset_names API to return a strv with copies. Add
5537           _get_property_names to allow implementations to filter and provide
5538           good default implementation.
5539
5540 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5541
5542         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5543         script (sdp).
5544
5545 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5546
5547         * gst/gstpreset.c:
5548           More cleanups, docs, and TODOs from comments that now slowly come in.
5549
5550 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5551
5552         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5553         search path.
5554
5555 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5556
5557         * gst/gstpreset.c:
5558           Fix bogus warning and make the property type specific code more
5559           similar.
5560
5561 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5562
5563         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5564         it build on OS X.
5565
5566 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5567
5568         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5569         (gst_bin_add_func), (gst_bin_remove_func),
5570         (gst_bin_change_state_func), (gst_bin_continue_func):
5571         Change email, cleanups add some more debug and comments.
5572         Also set bus and clock on new elements when the pipeline was in error.
5573
5574 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5575
5576         * gst/gstbin.c:
5577         * gst/gstdebugutils.c:
5578           Fix build with --disable-gst-debug. Fixes #497859.
5579           Spotted by Sameer Naik.
5580
5581 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5582
5583         * gst/gstevent.c:
5584           Little documentation improvment.
5585
5586         * gst/gstpreset.c:
5587           More TODO cleanups. Remove c++ comments.
5588
5589         * libs/gst/controller/gstcontroller.c:
5590           Add TODO and use quark from static string.
5591
5592         * tests/check/gst/gstmessage.c:
5593         * tests/check/gst/gststructure.c:
5594           Use quark from static string.
5595
5596 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5597
5598         * gst/gstpreset.c:
5599           Add some comments and TODOs.
5600
5601         * gst/gstpreset.h:
5602           Add padding for future changes.
5603
5604         * plugins/elements/gstqueue.c:
5605           Implement the iface.    
5606
5607 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5608
5609         * docs/gst/gstreamer-docs.sgml:
5610         * docs/gst/gstreamer-sections.txt:
5611         * docs/gst/gstreamer.types.in:
5612         * gst/Makefile.am:
5613         * gst/gst.h:
5614         * gst/gstpreset.c:
5615         * gst/gstpreset.h:
5616           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5617
5618 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5619
5620         * configure.ac:
5621
5622         Back to CVS
5623
5624 === release 0.10.15 ===
5625
5626 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5627
5628         * configure.ac:
5629           releasing 0.10.15, "October"
5630
5631 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5632
5633         * win32/vs6/libgstreamer.dsp:
5634         Convert line endings back to DOS.
5635
5636 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5637
5638         * docs/design/draft-tagreading.txt:
5639         * docs/random/ensonic/profiling.txt:
5640         Update fast tagreading draft and performance profiling ideas.
5641
5642 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5643
5644         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5645         Don't hold the object lock when unreffing a buffer because it could
5646         cause a deadlock when the finalize function wants to grab the object
5647         lock too. Fixes #495133.
5648
5649 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5650
5651         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5652         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5653         Also accumulate time correctly when doing reverse playback. Fixes
5654         #488201,
5655         When converting to running and stream time, use default values for
5656         start/stop/time/accum when comparing different formats. Fixes #494245.
5657
5658         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5659         Do running/stream time in TIME format.
5660
5661         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5662         (gst_segment_suite):
5663         2 new unit tests for segment accumulation.
5664
5665 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5666
5667         * gst/gst.c: (init_pre):
5668         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5669           (_gst_debug_bin_to_dot_file):
5670           Move getenv() back into gst_init, so everyone can live happily
5671           ever after. Make sure the symbol isn't exported though.
5672
5673 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5674
5675         Patch by: Sebastien Moutte  <sebastien moutte net>
5676
5677         * win32/common/gstenumtypes.c:
5678         * win32/common/gstenumtypes.h:
5679           Update enum types.
5680
5681         * win32/vs6/libgstreamer.dsp:
5682           Update vs6 project files (#494343).
5683
5684 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5685
5686         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5687         (gst_base_src_perform_seek), (gst_base_src_default_event),
5688         (gst_base_src_set_flushing), (gst_base_src_activate_push),
5689         (gst_base_src_activate_pull):
5690         Unify flushing code, remove some old unlock code that is no longer used.
5691         Take the streaming lock when seeking to avoid races. Fixes #492729.
5692         Added some more comments.
5693
5694 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5695
5696         * gst/gst.c: (_gst_disable_segtrap):
5697           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
5698           we can use gst_segtrap_is_enabled() there now that we have that API.
5699           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5700           to do the getenv here (and export the variable).
5701
5702         * gst/gstdebugutils.c: (debug_dump_element),
5703           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5704           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5705
5706         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5707           (gst_debug_log_default):
5708           Rename _gst_info_start_time to priv_gst_info_start_time so it
5709           doesn't get exported (was never in any header).
5710
5711         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5712           (gst_plugin_loading_mutex):
5713           Make static mutex gst_plugin_loading_mutex really static (was never
5714           in any header), and use gst_segtrap_is_enabled() instead of
5715           _gst_disable_segtrap.
5716
5717         * gst/gsttrace.c: (_gst_trace_default):
5718           Make local _gst_trace_default static (was never in any header).
5719
5720 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5721
5722         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5723
5724         * win32/common/libgstbase.def:
5725         * win32/common/libgstcontroller.def:
5726         * win32/common/libgstdataprotocol.def:
5727         * win32/common/libgstnet.def:
5728         * win32/common/libgstreamer.def:
5729           Add more missing symbols, remove some duplicates, and sort
5730           as the 'sort' command sorts it (partially fixes #493983).
5731
5732 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5733
5734         * gst/gstelement.c: (gst_element_set_state_func):
5735         Only change the state cookie if a different state was set on the
5736         element. See #492729.
5737
5738 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5739
5740         * gst/gstvalue.c:
5741           Remove unused and uninitialised type variables that were still
5742           exported for some reason (they were never in any header files
5743           though).
5744
5745 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5746
5747         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5748         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5749         (gst_base_sink_event), (gst_base_sink_get_position_last),
5750         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5751         (gst_base_sink_change_state):
5752         Don't try to report a 0 position when we don't know, return -1 and FALSE
5753         instead. This mostly happens when we are prerolling.
5754         Make sure we can report the right position before we post the ASYNC_DONE
5755         message so that a message handler can query position without races.
5756
5757         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5758         (async_done_handoff), (async_done_func), (send_buffer),
5759         (async_done_eos_func), (gst_sinks_suite):
5760         Add two tests for the above.
5761
5762 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5763
5764         * MAINTAINERS:
5765         Update with new email address.
5766
5767         * docs/design/part-TODO.txt:
5768         Add some more info about future pad-block and negotiation changes.
5769
5770         * docs/design/part-buffering.txt:
5771         Add some ideas about buffering reporting.
5772
5773 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
5774
5775         * tests/check/gst/gstobject.c:
5776         Disable silly racy test that always fails on this combination of CPU
5777         and kernel.
5778
5779 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5780
5781         Patch by: Murray Cumming  <murrayc@murrayc.com>
5782
5783         * gst/gstobject.c:
5784           Corrected the registration of the parent-set and parent-unset
5785           signals: The parameter is a GstObject, not a GObject (#493134).
5786
5787 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5788
5789         * gst/gst_private.h:
5790         * gst/gstbuffer.h:
5791         * gst/gstevent.h:
5792         * gst/gstformat.h:
5793         * gst/gstmessage.h:
5794         * gst/gstplugin.h:
5795         * gst/gstquery.h:
5796         * gst/gsttaglist.h:
5797         * gst/gstvalue.h:
5798           Move declaration of private _gst_foo_initialize() functions into
5799           our private header file where they should have been all along.
5800
5801 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5802
5803         * docs/plugins/gstreamer-plugins-sections.txt:
5804         * gst/gstdebugutils.h:
5805         * gst/gstxml.h:
5806         * plugins/elements/gstqueue.c:
5807           gtk-doc fixes; trailing-comma-in-enum fix.
5808
5809 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5810
5811         * gst/gst.c: (gst_deinit):
5812           Clean up on deinit (not the external ones though, doesn't seem to be
5813           needed for some reason).
5814
5815 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5816
5817         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5818           Remove __declspec(dllimport) for MSVC that was copied over into core
5819           from a plugin, obviously without ever having been tested (note the
5820           single underscore in _declspec in the initial commit), and that doesn't
5821           really make sense.  See #492077.
5822
5823 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5824
5825         * gst/gst.c: (init_post):
5826         * gst/gstevent.c: (_gst_event_initialize):
5827         * gst/gstquery.c: (_gst_query_initialize):
5828         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5829           g_type_class_ref() other types as well, see #349410 and #64764.
5830
5831         * gst/gstbuffer.c: (_gst_buffer_initialize):
5832         * gst/gstmessage.c: (_gst_message_initialize):
5833           Simplify existing g_type_class_ref().
5834
5835 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5836
5837         * gst/gstformat.c: (_gst_format_initialize):
5838           g_type_class_ref() our GstFormat type to make sure we avoid the
5839           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5840           bug #64764. Should fix intermittent tee unit test failures (#474823).
5841
5842 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5843
5844         * tests/check/elements/tee.c: (test_num_buffers):
5845           Simplify, simplify, simplify - or not.  Rewrite unit test
5846           not to use gst_parse_launch(); allow N sub-streams. Increasing
5847           the number of sub-streams seems to reproduce #474823 more easily.
5848
5849 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
5850
5851         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5852
5853         * gst/gsttrace.c:
5854         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
5855         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5856         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
5857           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
5858           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
5859           so use _pipe() directly (#492077).
5860
5861         * win32/common/dirent.c: (_treaddir):
5862           Add a couple of casts to make it build without warnings with MSVC.
5863
5864         * win32/common/libgstreamer.def:
5865           Add some more symbols that need to be exported.
5866
5867 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
5868
5869         * tests/examples/metadata/read-metadata.c: (message_loop):
5870           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
5871           arriving in a second or third tag message are added to
5872           the tag list as well.
5873
5874 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
5875
5876         * libs/gst/base/gstbasesrc.c:
5877           Its "Since:" and not "@Since:". And remove an superflous cast.
5878
5879 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
5880
5881         * docs/libs/gstreamer-libs-sections.txt:
5882         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5883         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
5884         (gst_base_sink_get_property), (gst_base_sink_render_object),
5885         (gst_base_sink_preroll_object),
5886         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5887         (gst_base_sink_change_state):
5888         * libs/gst/base/gstbasesink.h:
5889         Add a new last-buffer property that contains the last buffer used in
5890         basesink for preroll or rendering. useful for making snapshots.
5891         API: gst_base_sink_get_last_buffer()
5892         API: GstBaseSink::last-buffer
5893
5894 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
5895
5896         * docs/gst/running.xml:
5897         * gst/gst.c:
5898         * gst/gstdebugutils.c:
5899         * gst/gstdebugutils.h:
5900         * tools/gst-launch.c:
5901           Improve bin graph dumping, by using the envvar to specify a path.
5902           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
5903
5904 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
5905
5906         * plugins/elements/gsttypefindelement.c:
5907           (gst_type_find_element_handle_event),
5908           (gst_type_find_element_activate):
5909           Post special error message if we can't determine the type of a stream
5910           because it's empty.
5911
5912 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
5913
5914         * docs/gst/running.xml:
5915         * gst/gstdebugutils.c:
5916           Document new env-var. Add one log-line after dumpng a graph.
5917
5918 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
5919
5920         * configure.ac:
5921           Ugly hack to put the (recently removed and non-portable, apparently)
5922           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
5923           GNU ld, because without that 'make check' fails miserably on my debian
5924           stable box.  Someone with more knowledge of linker intricacies and
5925           portability issues than me fix this properly please.
5926
5927 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
5928
5929         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
5930         Reset last seen position after flushing so that we don't report the old
5931         position anymore.
5932
5933 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5934
5935         * gst/gstelementfactory.c: (gst_element_register):
5936         * gst/gsturi.h:
5937         Patch from Alessandro Decina adding get_type_full and
5938         get_protocols_full private vfuncs to the URIHandler interface
5939         to allow bindings to support creating URI handlers. 
5940         Partially fixes: #339279
5941         API: GstURIHandlerInterface::get_type_full
5942         API: GstURIHandlerInterface::get_protocols_full
5943
5944 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5945
5946         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
5947         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
5948         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
5949         Make it so that pads are considered linked until a buffer is pushed
5950         and discovered otherwise. This avoids problems with decodebin2 hanging
5951         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
5952         case.
5953
5954         Make sure we lock the multiqueue when updating the max-size properties.
5955         
5956         Fix a crash on Solaris in a debug statement in get_request_pad that
5957         passes a NULL string to GST_DEBUG. 
5958
5959         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
5960         (run_output_order_test):
5961         Fix the test to allow the first buffer on not-linked pads to come out
5962         of sequence while multiqueue discovers that they are not-linked.
5963
5964 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5965
5966         * configure.ac:
5967         * libs/gst/check/Makefile.am:
5968         Use a custom export symbol regex for libgstcheck, as it needs
5969         to export symbols that don't match the standard GStreamer gst_*
5970         pattern, and  --export-dynamic is not portable (only works on 
5971         GNU ld)
5972
5973         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5974         (gst_check_setup_sink_pad):
5975         Make sure to pass a message parameter to the fail_* macros.
5976
5977         * tests/check/gst/gstinfo.c: (GST_START_TEST):
5978         Fix some compiler warnings.
5979
5980 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
5981
5982         * tests/check/gst/gststructure.c: (test_to_string):
5983           Disable test that checks that white spaces are not allowed
5984           in structure names or field names, since we need to
5985           support that for now for backwards compatibility reasons.
5986
5987 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
5988
5989         * docs/gst/gstreamer-sections.txt:
5990         * gst/gsttaglist.c:
5991         * gst/gsttaglist.h:
5992           API: add GST_TAG_ARTIST_SORTNAME
5993           API: add GST_TAG_ALBUM_SORTNAME
5994           API: add GST_TAG_TITLE_SORTNAME
5995           Add tag variants for sorting (#414539).
5996
5997 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
5998
5999         * gst/gststructure.c:
6000           Also allow white space for names so we don't break
6001           backwards compatibility.
6002
6003 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6004
6005         * docs/design/part-TODO.txt:
6006         * docs/design/part-segments.txt:
6007         * docs/design/part-streams.txt:
6008         Small updates.
6009
6010 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6011
6012         * docs/gst/gstreamer-sections.txt:
6013          Fixed documentation from my previous commit (added new API add
6014          gst_value_set_structure(), add gst_value_get_structure() and
6015          GST_VALUE_HOLDS_STRUCTURE).
6016
6017 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6018
6019         * gst/gstdebugutils.c:
6020           Reflow code to fix uninitialized variable warning.
6021
6022 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6023
6024         * gst/gstcaps.c: (gst_caps_to_string),
6025         (gst_caps_from_string_inplace):
6026         * gst/gststructure.c: (gst_structure_get_abbrs),
6027         (gst_structure_to_string), (gst_structure_from_string):
6028         * gst/gstvalue.c: (gst_value_set_structure),
6029         (gst_value_get_structure), (gst_value_serialize_structure),
6030         (gst_value_deserialize_structure), (_gst_value_initialize):
6031         * gst/gstvalue.h:
6032         * tests/check/gst/gststructure.c: (GST_START_TEST),
6033         (gst_structure_suite):
6034         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6035          Added GstStructure to gst_value_table and its related functions.
6036          Changed gst_structure_to_string to print ';' in the end.
6037          Changed gst_caps_to_string to not print ';' beteween its
6038          fields (structures) anymore and remove the lastes ';' from latest
6039          structure. Now it is possible to have nested structures.
6040          In addition, backward compatibilty is assured by accepting '\0' as
6041          end delimiter. Fixes: #487969.
6042          API: add gst_value_set_structure()
6043          API: add gst_value_get_structure()
6044          API: add GST_VALUE_HOLDS_STRUCTURE
6045
6046 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6047
6048         * gst/gstbus.c:
6049           When no GSource callback has been set up, tell developer
6050           to use a function that actually exists.
6051
6052 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6053
6054         * docs/gst/gstreamer-sections.txt:
6055         * gst/Makefile.am:
6056         * gst/gst.c:
6057         * gst/gst.h:
6058         * gst/gstdebugutils.c:
6059         * gst/gstdebugutils.h:
6060         * gst/gstinfo.c:
6061         * gst/gstinfo.h:
6062         * tools/gst-launch.c:
6063           Allow dumping pipelines as dot graphs. Fixes #456573.
6064
6065 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6066
6067         * gst/gststructure.c:
6068           Allow '+' as well, it can be part of media or mime types
6069           such as image/svg+xml.
6070
6071 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6072
6073         * docs/gst/gstreamer-sections.txt:
6074         * gst/gstbus.c:
6075         * gst/gstbus.h:
6076           API: add gst_bus_pop_filtered
6077           API: add gst_bus_timed_pop_filtered
6078           Two new functions for waiting for specific message types on the
6079           bus for a specified amount of time without iterating any main
6080           loops or main contexts.
6081
6082         * tests/check/gst/gstbus.c:
6083           Some tests for the new functions.
6084
6085 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6086
6087         * docs/libs/gstreamer-libs-sections.txt:
6088           Make gtk-doc ignore stuff it should ignore.
6089
6090 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6091
6092         * libs/gst/check/gstcheck.c:
6093         * libs/gst/check/gstcheck.h:
6094           Allow runtime selection of unit tests to run via the GST_CHECKS
6095           environment variable (test case function names, comma-separated).
6096
6097 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6098
6099         * gst/gststructure.c:
6100         * tests/check/gst/gststructure.c:
6101           Revert serialisation change and constrain structure-names after
6102           consensus on irc. Update api documentation to reflect the change.
6103
6104 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6105
6106         * gst/gststructure.c:
6107           Improve serialization and fix tests.
6108
6109         * tests/check/gst/gststructure.c:
6110           Add another test that covers why I actually did the previous structure
6111           change.
6112
6113 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6114
6115         * tools/gst-inspect.c: (print_element_info):
6116         Don't crash when inspecting an element.
6117
6118 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6119
6120         * tests/check/gst/gststructure.c:
6121           Add unit test for escaping of structure name when serialising
6122           and deserialising to/from strings.
6123
6124 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6125
6126         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6127         (gst_single_queue_new):
6128         * plugins/elements/gstqueue.c: (gst_queue_init),
6129         (gst_queue_push_one):
6130         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6131         upstream is tricked into thinking it can suggest a format downstream
6132         while downstream does not support that format. The real problem is that
6133         core calls acceptcaps when pushing a buffer with new caps, for which we
6134         do a little workaround by setting the caps on the srcpad ourselves
6135         before pushing the buffer (until this is figured out). Fixes #486758.
6136
6137 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6138
6139         * gst/gststructure.c:
6140         * gst/gstvalue.c:
6141           Add some more comments and debug output. Quote structure name to fix
6142           deserialisation of some strings.
6143
6144 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6145
6146         * gst/gstbuffer.h:
6147           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6148           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6149
6150 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6151
6152         * tools/gst-inspect.c:
6153           Save approx. 400 1 byte allocs when printing. Use API to acces element
6154           details.
6155
6156         * tools/gst-run.c:
6157           Avoid a strdup.
6158
6159         * tools/gst-xmlinspect.c:
6160           Use API to acces element details.
6161
6162 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6163
6164         * gst/gstinfo.c:
6165           Fix some spelling errors.
6166
6167 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6168
6169         * gst/gstbin.c: (bin_handle_async_done):
6170         Correctly set the next state if all of our async children commited their
6171         state. This makes sure we can actually cancel the state change in
6172         progress. Fixes a regression in Rhythmbox when seeking.
6173
6174 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6175
6176         * gst/gstbin.c:
6177           Don't shadow local variable.
6178
6179         * gst/gstinfo.c:
6180           Don't shadow global function name.
6181
6182 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6183
6184         * gst/gstelementfactory.c:
6185         * gst/gstpluginfeature.c:
6186         * gst/gstpluginfeature.h:
6187         * gst/gstregistrybinary.c:
6188         * gst/gstregistryxml.c:
6189         * gst/gsttypefind.c:
6190           Use already-interned string for the private GstPluginFeature
6191           plugin_name field.
6192
6193 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6194
6195         * docs/libs/gstreamer-libs-sections.txt:
6196           Add new API to docs; fixes the build.
6197
6198 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6199         
6200         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6201
6202         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6203         (gst_base_sink_event):
6204         * libs/gst/base/gstbasesink.h:
6205         Add function to wait for EOS, subclasses can use this to correctly wait
6206         for devices to drain before performing the EOS logic. Fixes #485343.
6207         API: gst_base_sink_wait_eos()
6208
6209 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6210
6211         * gst/gstplugin.h:
6212           Cast description string constants in GST_PLUGIN_DEFINE macros
6213           to a (gchar*) to make C++ code using these macros compile
6214           without warning with g++-4.2 (see #462737).  Even if slightly
6215           ugly, this seems preferable to putting the description strings
6216           into the GLib quark table or making the structure member a
6217           const gchar * and doing casts in core code that allocs and
6218           frees these strings, or requiring a cast in the C++ code.
6219
6220 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6221
6222         * gst/gstinfo.h:
6223           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6224           to print the entire class/function signature into the log
6225           file for C++ code.  This only affects C++ code, for C code
6226           everything remains the same.
6227
6228 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6229
6230         * gst/gstbin.c: (remove_from_queue):
6231         Work around a problem with pipelines containing (semi)loops until a
6232         proper, more complicated solution is ready. See #475455.
6233
6234 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6235
6236         * gst/gstplugin.c:
6237         * gst/gstplugin.h:
6238         * gst/gstregistrybinary.c:
6239         * gst/gstregistryxml.c:
6240           Put more strings into the GLib quark table. No need to keep
6241           a hundred-something copies of identical version strings,
6242           license strings, package name strings and package origin
6243           strings around. 
6244
6245 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6246
6247         * docs/manual/advanced-dataaccess.xml:
6248           Don't imply that it's okay to unconditionally change
6249           buffer data or buffer metadata in a pad probe callback,
6250           and a bunch of other comments. Fixes #430031.
6251
6252 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6253
6254         * win32/common/gstenumtypes.c:
6255         * win32/common/gstenumtypes.h:
6256         * win32/common/gstversion.h:
6257           Update generated files.
6258
6259 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6260
6261         * docs/manual/advanced-autoplugging.xml:
6262           Prefix section with broken code with a warning (see #342432).
6263
6264 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6265
6266         * docs/manual/appendix-integration.xml:
6267         * docs/manual/basics-init.xml:
6268           Call g_thread_init() before g_option_context_new() to
6269           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6270
6271 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6272
6273         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6274         (gst_base_sink_queue_object_unlocked),
6275         (gst_base_sink_queue_object), (gst_base_sink_event),
6276         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6277         When we received EOS and are waiting for when to post the EOS message,
6278         our state is prerolled and we should not return ASYNC.
6279         Reorganize some code paths to implement this behavior.
6280
6281         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6282         (gst_sinks_suite):
6283         Add unit test to verify above EOS fix.
6284
6285 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6286
6287         * plugins/elements/gsttypefindelement.c:
6288         (gst_type_find_element_have_type), (gst_type_find_element_init),
6289         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6290         Move detecting the input caps of the sinkpad to the setcaps function.
6291         This allows us to update the output caps when we receive new input caps
6292         instead of always using the first detected caps.
6293
6294 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6295
6296         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6297         (gst_base_sink_get_position):
6298         Don't try to preroll non-async elements after a flush.
6299         Subtract latency form clock times when reporting position.
6300
6301 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6302
6303         * gst/gstpad.c: (gst_pad_pause_task):
6304         * gst/gstutils.c:
6305         Small comment and documentation update.
6306
6307 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6308
6309         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6310         (gst_base_src_set_live), (gst_base_src_is_live),
6311         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6312         (gst_base_src_default_event), (gst_base_src_wait),
6313         (gst_base_src_do_sync), (gst_base_src_get_range),
6314         (gst_base_src_pad_get_range), (gst_base_src_loop),
6315         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6316         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6317         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6318         (gst_base_src_change_state):
6319         Rework the locking of basesrc in a similar fashion to basesink. We
6320         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6321         us to handle live sources and semi live ones much better.
6322         Simplify flushing.
6323         Fix unlocking when seeking, shutting down and pausing in live sources.
6324
6325 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6326
6327         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6328         Fix compilation again.
6329
6330 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6331
6332         * gst/gstelement.c:
6333           Use meaningful categories for the logs to clean the default one.
6334
6335 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6336
6337         * tests/check/pipelines/cleanup.c:
6338           Print message name and not just number.
6339
6340 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6341
6342         * docs/design/draft-tagreading.txt:
6343           Add some more thoughts.
6344
6345 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6346
6347         * tests/check/pipelines/simple-launch-lines.c:
6348           Print message name and not just number.
6349
6350 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6351
6352         * libs/gst/base/gsttypefindhelper.c:
6353           Speedup typefinding. This is work in progress (see #459862).
6354
6355 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6356
6357         * gst/gstplugin.c:
6358           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6359           Spotted by Josep Torra Valles <josep@fluendo.com>.
6360
6361 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6362
6363         * gst/gstclock.h:
6364           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6365           field has moved to GstObject.
6366
6367 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6368
6369         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6370         (gst_base_src_get_range), (gst_base_src_change_state):
6371         Call unlock for live sources so that they can't get stuck in _create and
6372         produce a buffer before they are set back to PLAYING.
6373
6374 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6375
6376         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6377         (gst_queue_locked_dequeue):
6378         Comment the segment-related code... in the PROPER function.
6379         See #482147 and my commit from yesterday.
6380
6381 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6382
6383         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6384         Also initialize the counter that calculates the first timestamp on a
6385         buffer correctly for non-live sources.
6386
6387 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6388
6389         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6390         Disable code that's breaking the current-time-level reporting.
6391         See #482147
6392
6393 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6394
6395         * docs/gst/gstreamer-sections.txt:
6396         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6397         as they shouldn't show up. Fixes the docs build.
6398
6399 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6400         
6401         * gst/gstinfo.h:
6402         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6403         Define M_PI which is used in files which are including gstinfo.h. 
6404         VS6 includes doesn't define it.
6405         * win32/common/libgstbase.def:
6406         * win32/common/libgstcontroller.def:
6407         * win32/common/libgstreamer.def:
6408         Add new exported functions and variables.
6409         * win32/vs6/libgstcontroller.dsp:
6410         * win32/vs6/libgstreamer.dsp:
6411         Update the list of files to build.
6412         
6413 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6414
6415         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6416
6417         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6418         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6419         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6420         Improve debugging. Fixes #480858.
6421
6422 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6423
6424         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6425
6426         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6427         First patch of code cleanups, use the macros and right arguments in the
6428         macros to signal and lock the queue. See #480858.
6429
6430 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6431
6432         * gst/gstbus.c: (poll_func):
6433         Improve debugging when dealing with _poll().
6434
6435 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6436
6437         * gst/gstregistryxml.c:
6438           Fix memory leak I introduced a few days ago.
6439
6440 2007-09-26  Michael Smith <msmith@fluendo.com>
6441
6442         * gst/gstbuffer.c: (gst_buffer_finalize):
6443           Make it once again possible to free GstBuffers in the default
6444           build.
6445           The poisoning scribbles on parts of the miniobject we need in
6446           order to free it.
6447           Fixes #480341
6448
6449 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6450
6451         * docs/gst/gstreamer-sections.txt:
6452         * gst/gsttaglist.c:
6453         * gst/gsttaglist.h:
6454         API: add GST_TAG_COMPOSER, fixes #459809.
6455
6456 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6457
6458         * gst/gstplugin.c:
6459         * gst/gstplugin.h:
6460         Add the 3-clause BSD license and the MIT/X11 license to the license
6461         list. Fixes #479784.
6462
6463 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6464
6465         * docs/faq/getting.xml:
6466           Add Q+A about different GStreamer versions (#364056).
6467
6468 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6469
6470         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6471         (gst_base_sink_event), (gst_base_sink_change_state):
6472         Return correct gboolean from query function.
6473
6474 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6475
6476         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6477         (gst_base_sink_event), (gst_base_sink_query),
6478         (gst_base_sink_change_state):
6479         Simplify latency query.
6480         When not synchronizing, we can report latency without querying the peer
6481         element.
6482
6483 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6484
6485         * gst/gstobject.h:
6486         * gst/gstvalue.c:
6487         Fix small typos in the docs.
6488
6489 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6490
6491         * docs/design/draft-latency.txt:
6492         * docs/design/draft-push-pull.txt:
6493         * docs/design/draft-tagreading.txt:
6494         * docs/design/part-MT-refcounting.txt:
6495         * docs/design/part-activation.txt:
6496         * docs/design/part-block.txt:
6497         * docs/design/part-element-source.txt:
6498         * docs/design/part-events.txt:
6499         * docs/design/part-gstbin.txt:
6500         * docs/design/part-gstelement.txt:
6501         * docs/design/part-gstobject.txt:
6502         * docs/design/part-gstpipeline.txt:
6503         * docs/design/part-messages.txt:
6504         * docs/design/part-preroll.txt:
6505         * docs/design/part-push-pull.txt:
6506         * docs/design/part-qos.txt:
6507         * docs/design/part-query.txt:
6508         * docs/design/part-scheduling.txt:
6509         * docs/design/part-seeking.txt:
6510         * docs/design/part-segments.txt:
6511         * docs/design/part-states.txt:
6512         Documentation updates and typo fixes.
6513
6514 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6515
6516         * plugins/elements/gstfakesink.c:
6517           Add some debug text to error message to indicate that
6518           we errored out on request.
6519
6520         * tools/gst-launch.c:
6521           When the state change to PLAYING fails, check for an
6522           error message on the bus and print it.
6523
6524 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6525
6526         translated by: Jorge González González <aloriel@gmail.com>
6527
6528         * po/LINGUAS:
6529         * po/es.po:
6530           Added Spanish translation.
6531
6532 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6533
6534         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6535         Fix printf arguments.
6536
6537 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6538
6539         * tests/check/generic/states.c:
6540           Improved state change unit test.
6541
6542 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6543
6544         * gst/gstbin.h:
6545           Move priv to the right place.
6546
6547         * gst/gstsystemclock.c:
6548           Add FIXME: and improve log.
6549
6550         * tests/check/Makefile.am:
6551         * tests/examples/manual/Makefile.am:
6552           Work with all types of registries.
6553
6554 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6555
6556         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6557         Don't unref the event after pushing it. Fixes #478401.
6558
6559 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6560
6561         * .cvsignore:
6562         * tests/examples/manual/.cvsignore:
6563           Ignore registries in any format.
6564
6565 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6566
6567         * gst/glib-compat-private.h:
6568           Add compatibility macro for g_intern_string() for
6569           GLib-2.8 (any reason we can't just bump the
6570           requirement to at least 2.10?)
6571
6572         * gst/gstpadtemplate.h:
6573         * gst/gstelementfactory.c:
6574         * gst/gstregistryxml.c:
6575         * gst/gstregistrybinary.c:
6576           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6577           up the internal code accordingly.  This shouldn't be a problem, since
6578           there is no reason external code could ever assume the string in such
6579           a structure is dynamically allocated unless it did that itself;  the
6580           use of g_strdup() is private to element factories.  The new code also
6581           saves some memory by putting pad template name strings into the GLib
6582           quark table instead of allocating them dynamically.
6583           Declaring this field constant fixes warnings with g++-4.2 when using
6584           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6585
6586 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6587
6588         * gst/gstelementfactory.c:
6589           Release static caps. Fixes #475723.
6590
6591 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6592
6593         * gst/gstinfo.c:
6594         * gst/gstinfo.h:
6595           Make some internal API take const gchar * instead of just
6596           gchar * to avoid compiler warnings with g++-4.2.2 when
6597           passing string constants (partially fixes #478092).
6598
6599 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6600
6601         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6602         A latency query fails when one of the sinks fail.
6603
6604         * gst/gstelement.c: (gst_element_set_base_time):
6605         Improve debugging.
6606
6607 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6608
6609         * gst/gstbin.c: (gst_bin_continue_func):
6610         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6611         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6612         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6613
6614         Fix minor compilation warnings shown with Forte.
6615
6616 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6617
6618         * plugins/elements/gstqueue.c: (apply_buffer),
6619         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6620         Measure queue level based on the diff between head and tail timestamps
6621         even when pushing the first buffer.
6622
6623 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6624
6625         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6626         (gst_base_sink_event), (gst_base_sink_change_state):
6627         Sinks that don't preroll can always be queried for the latency.
6628         Don't post ASYNC start when we are not async.
6629
6630 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6631
6632         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6633         (gst_queue_handle_sink_event), (gst_queue_chain),
6634         (gst_queue_push_one), (gst_queue_handle_src_query),
6635         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6636         * plugins/elements/gstqueue.h:
6637         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6638         push more buffers but allow pushing of EOS and NEWSEGMENT.
6639         Add some more debug info here and there. Fixes #476514.
6640
6641 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6642
6643         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6644         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6645         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6646         (gst_base_sink_set_flushing), (gst_base_sink_query),
6647         (gst_base_sink_change_state):
6648         Latency query is allowed after we are prerolled. Introduce a new flag
6649         for this and stop abusing other variables.
6650
6651 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6652
6653         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6654         Push OOB events downstream when we get them in send_event. This allows
6655         the application to insert events in the pipeline.
6656         Add some more comments.
6657
6658 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6659
6660         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6661         (do_bin_latency), (gst_bin_change_state_func):
6662         * gst/gstpipeline.c: (gst_pipeline_change_state):
6663         Move latency query from GstPipeline to GstBin so that we can also
6664         use it when async-handling is enabled on bins.
6665
6666 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6667
6668         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6669         (gst_base_src_do_sync), (gst_base_src_change_state):
6670         Update docs.
6671         Clean up the timestamping and syncing code for pseudo live sources.
6672
6673 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6674
6675         Patch by: Steve Fink  <sphink gmail com>
6676
6677         * docs/manual/appendix-checklist.xml:
6678           Mention less -R switch in the section about debug output (#474055).
6679
6680 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6681
6682         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6683         Queue can latency to the pipeline up to the configured max size in time.
6684         Report this fact in the latency query.
6685
6686 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6687
6688         Patch by: Sebastien Moutte <sebastien at moutte dot net>
6689
6690         * libs/gst/controller/gstinterpolation.c:
6691         * libs/gst/controller/gstlfocontrolsource.c:
6692         Use gst_guint64_to_gdouble() when converting from a uint64 or
6693         GstClockTime to double to fix the build on win32. Fixes #474371.
6694
6695 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6696
6697         * gst/gstbuffer.c: (gst_buffer_finalize):
6698         Implement poisoning for GstBuffer if --enable-poisoning is specified.
6699         When finalizing a buffer the complete struct is filled with 0xff,
6700         thus making a use of the buffer after the final unref impossible.
6701
6702 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6703
6704         * tests/check/libs/controller.c: (GST_START_TEST):
6705         Use fail_unless_equals_int(a, b) instead of
6706         fail_unless_equals (a == b) to get better output on failures.
6707
6708 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6709
6710         * tests/check/gst/gsturi.c:
6711           Also check for the other file URI variant on win32.
6712
6713 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6714
6715         * gst/gsturi.c: (gst_uri_get_location):
6716           If there's no hostname, we want to return 'c:/foo/bar.txt'
6717           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6718
6719         * tests/check/gst/gsturi.c:
6720           Unit test for the above and a few more things.
6721
6722 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6723
6724         * docs/design/part-live-source.txt:
6725         Add docs on how live sources should timestamp.
6726
6727         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6728         Add some more debug info.
6729         For subclasses that are live and like to sync, add aditional startup
6730         latency to sync time and timestamps so that we timstamp according to the
6731         design doc.
6732
6733 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6734
6735         * gst/gstbuffer.c:
6736           Also do a g_type_class_ref() for the subbuffer type in
6737           the init function.
6738
6739 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6740
6741         * docs/gst/gstreamer-sections.txt:
6742         * gst/gstpad.c: (gst_pad_peer_query):
6743         * gst/gstpad.h:
6744         Add function to perform a query on the peer of a pad.
6745         API: gst_pad_peer_query()
6746
6747 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
6748
6749         * tests/check/gst/gstsystemclock.c:
6750           Cleanup the test a little (use gst-logging and not g_message). Improve
6751           test to check if a wait reached the target.
6752
6753 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6754
6755         * docs/libs/gstreamer-libs-sections.txt:
6756           Add new API to docs and fix the build.
6757
6758 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
6759
6760         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6761         (gst_base_src_init), (gst_base_src_set_do_timestamp),
6762         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6763         (gst_base_src_get_property), (gst_base_src_do_sync):
6764         * libs/gst/base/gstbasesrc.h:
6765         Add property to make the basesrc timestamp buffers based on the current
6766         running time.
6767         API: GstBaseSrc::do-timestamp
6768         API: gst_base_src_set_do_timestamp()
6769         API: gst_base_src_get_do_timestamp()
6770
6771 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
6772
6773         * docs/random/release:
6774           Really make sure translations are up-to-date before
6775           a release (#465010).
6776
6777 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
6778
6779         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6780         Always destroy the timer, also in error cases.
6781
6782 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6783
6784         * docs/manual/highlevel-xml.xml:
6785         Fix XML example code. Fixes #472714.
6786
6787 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6788
6789         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6790         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6791         (gst_base_sink_query):
6792         Protect eos and have_preroll with the OBJECT lock so we don't need to
6793         take the PREROLL lock when querying the latency. Fixes #473846.
6794
6795 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
6796
6797         * gst/gstelement.c:
6798           Give some log-messages a category.
6799
6800 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
6801
6802         * gst/gststructure.c:
6803         (gst_structure_fixate_field_nearest_fraction):
6804         Fix fraction list fixation code. Take the fraction with the smallest
6805         difference with the target instead of the first one in the list.
6806
6807         * tests/check/gst/gststructure.c: (GST_START_TEST),
6808         (gst_structure_suite):
6809         Added test to verify correct fraction list fixation behaviour.
6810
6811 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
6812
6813         * win32/common/libgstreamer.def:
6814           Export gst_bus_add_signal_watch too.
6815
6816 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
6817
6818         * docs/libs/gstreamer-libs-sections.txt:
6819         Add new methods to docs.
6820
6821         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6822         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6823         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6824         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6825         * libs/gst/base/gstbasesink.h:
6826         Add ts-offset property to fine-tune the synchronisation.
6827         API: GstBaseSink::ts-offset property
6828         API: gst_base_sink_set_ts_offset()
6829         API: gst_base_sink_get_ts_offset()
6830
6831 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
6832
6833         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6834         (gst_base_sink_init), (gst_base_sink_set_sync),
6835         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6836         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6837         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6838         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6839         (gst_base_sink_get_property), (gst_base_sink_change_state):
6840         * libs/gst/base/gstbasesink.h:
6841         Add async property to instruct the sink never to inform the parent about
6842         ASYNC state changes, update docs.
6843         Check argument with g_return_* for the public functions.
6844         API: GstBaseSink::async property
6845         API: gst_base_sink_set_async_enabled()
6846         API: gst_base_sink_is_async_enabled()
6847
6848 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
6849
6850         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
6851         Improve debugging.
6852
6853         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6854         (gst_base_src_default_query), (gst_base_src_wait),
6855         (gst_base_src_do_sync), (gst_base_src_change_state):
6856         Rearrange some code so that we can add support for measuring the 
6857         startup latency.
6858
6859 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
6860
6861         * docs/random/ensonic/dynlink.txt:
6862           More thoughs on this.
6863
6864         * plugins/elements/gstcapsfilter.c:
6865           Add bugzilla ticket number to FIXME comment.
6866
6867 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
6868
6869         * docs/design/part-TODO.txt:
6870         * docs/design/part-block.txt:
6871         Update some docs.
6872
6873 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6874
6875         * gst/Makefile.am:
6876           Revert patch which uses $(gst_headers) instead of $^ because it
6877           breaks make dist.
6878
6879 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6880
6881         * tests/check/gst/gstbin.c: (GST_START_TEST):
6882           Fix leaks in the new unit test.
6883
6884 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
6885
6886         * gst/gst.c:
6887           Don't use GST_INFO before the debug system is actually initialised
6888           (shouldn't do any harm, but won't print anything either, so we can
6889           just as well remove it).
6890
6891         * gst/gstinfo.h:
6892           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
6893           compilers that don't support variadic macros (such as MSVC), should
6894           check for debug_level <= __gst_debug_min as well, since that's the
6895           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
6896           inline helper functions. Should improve performance a bit, but also
6897           makes sure uses of GST_INFO et.al are ignored if the debugging
6898           system isn't initialised yet (instead of printing an assertion
6899           failure).
6900
6901 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
6902
6903         patch by: David Nečas <yeti@physics.muni.cz>
6904
6905         * gst/Makefile.am:
6906           Replace some non portable makefile constructs.
6907
6908 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
6909
6910         * common/gtk-doc-plugins.mak:
6911           Grrrrr. Don't remove the types file on make clean.
6912
6913 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
6914
6915         * tools/gst-launch.1.in:
6916         Add colorspace to example pipeline. Fixes #458274.
6917
6918 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
6919
6920         * docs/random/release:
6921           The release manager should run 'make download-po' before making a
6922           release to make sure translations are up-to-date.
6923
6924         * po/LINGUAS:
6925         * po/be.po:
6926         * po/pl.po:
6927         * po/rw.po:
6928           Add some new translations.
6929
6930 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
6931
6932         * tools/gst-launch.c: (event_loop), (main):
6933         Don´t try to do any state management when a live pipeline posts
6934         buffering messages.
6935         Also make the buffering string translatable.
6936
6937 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6938
6939         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
6940         (bin_handle_async_start), (gst_bin_handle_message_func):
6941         Improve debugging.
6942         When adding elements, insert messages into the bus of the newly added
6943         element and make sure the element is the source of the message. This
6944         allows the parent bin to intercept the message and do the
6945         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
6946         messages to the app (which is not allowed).
6947         Update some docs.
6948
6949         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6950         Fix testsuite so that is does not work around messages that should not
6951         have been posted in the first place.
6952
6953 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6954
6955         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
6956         (update_degree), (gst_bin_sort_iterator_next):
6957         Fix annoying bug in the sorted iterator where a sink that is not really
6958         a sink (when it has downstream links) screwed up the iterator.
6959
6960         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6961         Unit test to verify the fix.
6962
6963 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6964
6965         * gst/gstmessage.h:
6966         Add some more docs for the messages.
6967
6968         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6969         (gst_base_sink_query):
6970         Add some more debugging.
6971
6972         * tools/gst-launch.c: (event_loop):
6973         When interrupting, don't try to set pipeline to PAUSED twice.
6974
6975 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
6976
6977         
6978         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
6979         (bin_handle_async_start), (gst_bin_handle_message_func):
6980         Move ASYNC_START message posting to where it belongs, similar to
6981         async_done. 
6982         Don't post ASYNC_START when we are in error. 
6983         Post ASYNC_START when we added an async element to a bin.
6984
6985 2007-08-14  Julien MOUTTE  <julien@moutte.net>
6986
6987         * gst/gstindex.c: (gst_index_add_association): Fix index entry
6988         generation from vargs. Fixes #466595.
6989
6990 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
6991
6992         * gst/gstbin.c: (gst_bin_element_set_state):
6993         Always change the state of a NO_PREROLL element even if it has ASYNC
6994         elements inside (in case of a bin).
6995
6996         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
6997         Unit test for this case.
6998
6999 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7000
7001         * libs/gst/check/gstbufferstraw.c:
7002         * libs/gst/check/gstcheck.h:
7003         * libs/gst/controller/gstcontroller.c:
7004         * libs/gst/controller/gstcontrolsource.h:
7005         * libs/gst/controller/gstlfocontrolsource.h:
7006         * plugins/elements/gstcapsfilter.h:
7007         * plugins/elements/gstfdsink.h:
7008         * plugins/elements/gstfdsrc.h:
7009           Add more missing docs.
7010
7011 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7012
7013         * gst/gststructure.c:
7014         Add Since tag to docs.
7015
7016 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7017
7018         * docs/gst/gstreamer-sections.txt:
7019         * gst/gststructure.c: (gst_structure_get_uint):
7020         * gst/gststructure.h:
7021         Add function to get uint from a structure.
7022         API: gst_structure_get_uint()
7023
7024 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7025
7026         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7027         (gst_caps_intersect):
7028         Fix proper check for simple caps.
7029
7030 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7031
7032         * docs/gst/Makefile.am:
7033         * docs/libs/Makefile.am:
7034           Remove cruft and do some cleanups.
7035
7036         * docs/gst/gstreamer-docs.sgml:
7037         * docs/libs/gstreamer-libs-docs.sgml:
7038           Prepare for comming gtkdoc features (rebase against online docs).
7039
7040 2007-08-10  Michael Smith <msmith@fluendo.com>
7041
7042         * docs/gst/gstreamer-sections.txt:
7043           Add gst_registry_add_path to docs.
7044
7045 2007-08-10  Michael Smith <msmith@fluendo.com>
7046
7047         * gst/gstregistry.h:
7048           Add gst_registry_add_path, which was missing from this header.
7049
7050 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7051
7052         * libs/gst/controller/gstlfocontrolsource.c:
7053           Printf format fix.
7054
7055 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7056
7057         * libs/gst/base/gstbasesink.c:
7058           Don't send an async_start message during downwards state change if 
7059           target state is less than READY
7060
7061 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7062
7063         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7064
7065         * po/LINGUAS:
7066         * po/hu.po:
7067           Added Hungarian translation.
7068
7069 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7070
7071         * po/fi.po:
7072         * po/it.po:
7073         * po/nl.po:
7074         * po/sv.po:
7075         * po/uk.po:
7076           Updated translations.
7077
7078 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7079
7080         * libs/gst/controller/Makefile.am:
7081         Dist gstlfocontrolsourceprivate.h
7082
7083 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7084
7085         * docs/libs/gstreamer-libs.types:
7086         Don't register the enum type gst_lfo_waveform_get_type() in the
7087         .types file - only GObject derived types belong.
7088
7089 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7090
7091         Patch by: <arenevier at fdn dot fr>
7092
7093         * gst/gstbuffer.h:
7094         Remove comma from last element in enum to avoid compile errors when
7095         using -pendantic. Fixes #464366.
7096
7097 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7098
7099         * docs/design/part-TODO.txt:
7100         Add some more TODO items
7101
7102         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7103         Improve debugging.
7104
7105         * gst/gstcaps.c: (gst_caps_intersect):
7106         Optimize trivial intersection case between identical caps pointers.
7107
7108         * gst/gstelement.c: (gst_element_continue_state),
7109         (gst_element_set_state_func):
7110         * gst/gstpad.c:
7111         Fix spelling and grammar mistakes.
7112
7113 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7114
7115         * po/POTFILES.in:
7116         * po/POTFILES.skip:
7117           Update POTFILES. Fixes #461599.
7118
7119 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7120
7121         * gst/gst.c:
7122         Fix confusing typo in debug output.
7123
7124 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7125
7126         reviewed by: Stefan Kost <ensonic@users.sf.net>
7127
7128         * libs/gst/controller/Makefile.am:
7129         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7130         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7131         (gst_lfo_control_source_new),
7132         (gst_lfo_control_source_set_waveform),
7133         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7134         (gst_lfo_control_source_finalize),
7135         (gst_lfo_control_source_dispose),
7136         (gst_lfo_control_source_set_property),
7137         (gst_lfo_control_source_get_property),
7138         (gst_lfo_control_source_class_init):
7139         * libs/gst/controller/gstlfocontrolsource.h:
7140         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7141         API: Add GstLFOControlSource, a control source that gives values
7142         for specific timestamps based on several periodic waveforms.
7143         Fixes #459717.
7144
7145         * tests/check/libs/controller.c: (GST_START_TEST),
7146         (gst_controller_suite):
7147         * docs/libs/gstreamer-libs-docs.sgml:
7148         * docs/libs/gstreamer-libs-sections.txt:
7149         * docs/libs/gstreamer-libs.types:
7150         Add documentation and unit tests for GstLFOControlSource.
7151
7152 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7153
7154         * configure.ac:
7155         Back to CVS
7156
7157 === release 0.10.14 ===
7158
7159 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7160
7161         * configure.ac:
7162           releasing 0.10.14, "Breathing Vacuum"
7163
7164 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7165
7166         * gst/gstelement.c: (gst_element_class_set_details_simple):
7167         * gst/gstelement.h:
7168           Make strings passed to gst_element_class_set_details_simple()
7169           constant, as they should be (#462752).
7170
7171 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7172
7173         * gst/gstbin.c: (gst_bin_change_state_func),
7174         (bin_handle_async_done), (gst_bin_handle_message_func):
7175         Don't forget about the fact that some element went ASYNC even after a
7176         resync. This makes us post the ASYNC_DONE message correctly.
7177         Fixes #462558.
7178
7179 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7180
7181         * gst/gstregistry.c: (gst_registry_add_feature):
7182         When replacing an existing feature in the registry, make sure to
7183         continue holding a reference until we've replaced the name string
7184         within our feature hash table. Make sure to use g_hash_table_replace
7185         instead of g_hash_table_insert to ensure the new name string is used
7186         as a key instead of the old one that we're about to free.
7187         Fixes: #462085
7188
7189 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7190
7191         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7192         (gst_plugin_feature_set_name):
7193         Revert patch from #459466 until after the release and we can work
7194         out exactly what the problem is (if any).
7195
7196 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7197
7198         * docs/gst/gstreamer-sections.txt:
7199         * gst/gsttaglist.c:
7200         * gst/gsttaglist.h:
7201           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7202
7203 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7204
7205         * docs/libs/Makefile.am:
7206         Include our build-prefix libs and includes before the generic ones to
7207         avoid linking against the installed libs when we want the build-tree
7208         ones.
7209
7210 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7211
7212         Patch by: Steve Fink  <sphink gmail com>
7213
7214         * docs/pwg/building-testapp.xml:
7215           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7216           if people try to build or install the example from the plugin
7217           template against a GStreamer from package using the configure
7218           defaults.
7219
7220 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7221
7222         Patch by: Steve Fink  <sphink gmail com>
7223
7224         * tools/gst-inspect.1.in:
7225           Document --print-all and --print-plugin-auto-install-info command
7226           line options in man page.
7227
7228 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7229
7230         * docs/gst/gstreamer-sections.txt:
7231         Add docs for new api function.
7232
7233 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7234
7235         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7236         * gst/gstelementfactory.h:
7237         API: gst_element_factory_has_interface()
7238         Added method to check if an element factory implements a named
7239         interface.
7240
7241 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7242
7243         * configure.ac:
7244         * docs/gst/gstreamer.types.in:
7245           Another conditional doc check.
7246
7247         * gst/gstmessage.c:
7248         * gst/gstparamspecs.h:
7249         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7250         * gst/gstvalue.c:
7251         * gst/gstxml.h:
7252           API-doc fixes.
7253
7254 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7255
7256         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7257         (gst_registry_binary_load_feature),
7258         (gst_registry_binary_load_plugin),
7259         (gst_registry_binary_read_cache):
7260           Print error just once and with additional info.
7261
7262 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7263
7264         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7265         (helper_find_suggest), (helper_find_get_length),
7266         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7267         (gst_type_find_helper_for_buffer):
7268           Cleanup the typefindhelper code and add private doc comments.
7269
7270 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7271
7272         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7273         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7274         Fix capsfilter for cases where the caps set on capsfilter will provide
7275         additional information.
7276         Fixes #449197
7277
7278 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7279
7280         * gst/gsttypefindfactory.c:
7281           Fix docs that recommened wrong function to use.
7282
7283 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7284
7285         * tools/gst-inspect.c: (print_plugin_features):
7286           Also give media-type for typefinders in element output.
7287
7288 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7289
7290         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7291         (gst_registry_remove_features_for_plugin_unlocked),
7292         (gst_registry_add_feature), (gst_registry_remove_feature),
7293         (gst_registry_lookup_feature_locked):
7294         * gst/gstregistry.h:
7295           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7296           Fixes #459501.
7297
7298 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7299
7300         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7301         (gst_plugin_feature_set_name):
7302           Avoid double memory usage for pluginfeature names. Fixes #459466.
7303
7304 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7305
7306         * gst/gstpad.h:
7307           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7308           driving the pipeline may need to explicitly check for NOT_LINKED as
7309           well, since IS_FATAL doesn't cover that.
7310
7311 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7312
7313         * docs/pwg/advanced-types.xml:
7314           Fix typo and duplicate entry in video formats list.
7315
7316 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7317
7318         * libs/gst/controller/gstinterpolation.c:
7319         Also round to the nearest int when using cubic interpolation.
7320
7321 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7322
7323         * libs/gst/controller/gstinterpolation.c:
7324         When linearly interpolating integer types, round to the nearest int
7325         by adding 0.5. Don't do it for float/double types.
7326         Fixes the failing controller test on my machine, which is somehow
7327         rounding differently than on the buildbots.
7328
7329 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7330
7331         * tools/gst-plot-timeline.py:
7332           Better log parsing (categories can have -). Adjust text vs. lines, so
7333           that they span the same y-range.        
7334
7335 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7336
7337         * docs/random/ensonic/audiobaseclasses.txt:
7338         * docs/random/ensonic/dynlink.txt:
7339         * docs/random/ensonic/profiling.txt:
7340           Save my thoughts.
7341
7342         * docs/random/moving-plugins:
7343           Add note to use g_assert type macros.
7344
7345 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7346
7347         * configure.ac:
7348         * libs/gst/check/Makefile.am:
7349           Add libm check as we use in for plugins.
7350
7351 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7352
7353         * gst/gstbin.c: (gst_bin_continue_func):
7354         Check that the state_cookie hasn't changed since the continue_func
7355         was scheduled. Avoids problems where the state changes back to
7356         something it shouldn't be because it was changed in the meantime.
7357
7358 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7359
7360         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7361         (gst_registry_binary_save_string),
7362         (gst_registry_binary_save_pad_template),
7363         (gst_registry_binary_save_feature),
7364         (gst_registry_binary_save_plugin),
7365         (gst_registry_binary_load_feature),
7366         (gst_registry_binary_load_plugin),
7367         (gst_registry_binary_read_cache):
7368           Fix memory leak. Be less verbose in the log.
7369
7370 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7371
7372         * tests/check/elements/.cvsignore:
7373         Add file to cvsignore as commanded.
7374
7375 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7376
7377         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7378         (mq_dummypad_event), (run_output_order_test):
7379         Use a GStaticMutex to protect all cases where libcheck
7380         fail_if/fail_unless macros might be called from multiple threads
7381         simultaneously to avoid errors like:
7382           "check_pack.c:107: :-1081725400:Bad message type arg"
7383
7384 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7385
7386         * tests/check/pipelines/stress.c: (GST_START_TEST):
7387         Make sure we set the pipeline back to the NULL state before
7388         dropping our final reference.
7389
7390 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7391
7392         * tests/check/elements/tee.c: (GST_START_TEST):
7393         Make the tee stress-test a little less stressful so it doesn't just
7394         time out on slow-machines, and remove a small race when it's starting 
7395         up by adding a get_state() call.
7396
7397 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7398
7399         * gst/gst.c:
7400           Avoid reading registry twice on startup. Fixes #457322.
7401
7402 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7403
7404         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7405         * pkgconfig/gstreamer-check.pc.in:
7406         Substitute the CFLAGS for libcheck into our .pc file too so that
7407         dependent modules will pick it up properly if libcheck is installed
7408         into some other prefix.
7409
7410 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7411
7412         * configure.ac:
7413         Revert the pkg-config check for libcheck, since it pulls in the
7414         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7415         a proper solution, either from the check project, or something else.
7416
7417 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7418
7419         * configure.ac:
7420           Use pkg-config to locate check.
7421
7422 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7423
7424         * gst/gsttaglist.c:
7425           Fix doc syntax.
7426
7427         * gst/gstutils.c:
7428         * gst/gstutils.h:
7429           Add deprecation guards.
7430
7431         * libs/gst/base/gstcollectpads.h:
7432           Don't document object (this is implicitly private).
7433
7434 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7435
7436         * gst/gststructure.c: (gst_structure_parse_value):
7437           When deserialising foo=bar without a type cast, check if it's a
7438           boolean before falling back to a string type, otherwise things like
7439           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7440           because the filtercaps end up having a signed=(string)true field,
7441           which causes problems later when intersection caps.
7442
7443         * tests/check/gst/gststructure.c: (GST_START_TEST):
7444           Add a unit test for this.
7445
7446 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7447
7448         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7449
7450         * libs/gst/controller/Makefile.am:
7451         * libs/gst/controller/gstcontroller.c:
7452         (gst_controlled_property_add_interpolation_control_source),
7453         (gst_controlled_property_new), (gst_controlled_property_free),
7454         (gst_controller_find_controlled_property),
7455         (gst_controller_new_valist), (gst_controller_new_list),
7456         (gst_controller_new), (gst_controller_remove_properties_valist),
7457         (gst_controller_remove_properties_list),
7458         (gst_controller_remove_properties),
7459         (gst_controller_set_property_disabled),
7460         (gst_controller_set_disabled), (gst_controller_set_control_source),
7461         (gst_controller_get_control_source), (gst_controller_get),
7462         (gst_controller_sync_values), (gst_controller_get_value_array),
7463         (_gst_controller_dispose), (gst_controller_get_type),
7464         (gst_controlled_property_set_interpolation_mode),
7465         (gst_controller_set), (gst_controller_set_from_list),
7466         (gst_controller_unset), (gst_controller_unset_all),
7467         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7468         * libs/gst/controller/gstcontroller.h:
7469         * libs/gst/controller/gstcontrollerprivate.h:
7470         * libs/gst/controller/gstcontrolsource.c:
7471         (gst_control_source_class_init), (gst_control_source_init),
7472         (gst_control_source_get_value),
7473         (gst_control_source_get_value_array), (gst_control_source_bind):
7474         * libs/gst/controller/gstcontrolsource.h:
7475         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7476         (gst_object_get_control_source):
7477         * libs/gst/controller/gstinterpolation.c:
7478         (gst_interpolation_control_source_find_control_point_node),
7479         (gst_interpolation_control_source_get_first_value),
7480         (_interpolate_none_get), (interpolate_none_get),
7481         (interpolate_none_get_boolean_value_array),
7482         (interpolate_none_get_enum_value_array),
7483         (interpolate_none_get_string_value_array),
7484         (_interpolate_trigger_get), (interpolate_trigger_get),
7485         (interpolate_trigger_get_boolean_value_array),
7486         (interpolate_trigger_get_enum_value_array),
7487         (interpolate_trigger_get_string_value_array):
7488         * libs/gst/controller/gstinterpolationcontrolsource.c:
7489         (gst_control_point_free), (gst_interpolation_control_source_reset),
7490         (gst_interpolation_control_source_new),
7491         (gst_interpolation_control_source_set_interpolation_mode),
7492         (gst_interpolation_control_source_bind),
7493         (gst_control_point_compare), (gst_control_point_find),
7494         (gst_interpolation_control_source_set_internal),
7495         (gst_interpolation_control_source_set),
7496         (gst_interpolation_control_source_set_from_list),
7497         (gst_interpolation_control_source_unset),
7498         (gst_interpolation_control_source_unset_all),
7499         (gst_interpolation_control_source_get_all),
7500         (gst_interpolation_control_source_get_count),
7501         (gst_interpolation_control_source_init),
7502         (gst_interpolation_control_source_finalize),
7503         (gst_interpolation_control_source_dispose),
7504         (gst_interpolation_control_source_class_init):
7505         * libs/gst/controller/gstinterpolationcontrolsource.h:
7506         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7507         API: Refactor GstController into the core controller which can take
7508         a GstControlSource for providing actual values for timestamps.
7509         Implement a interpolation control source and use this for backward
7510         compatibility, deprecate a bunch of functions that are now handled
7511         by GstControlSource or GstInterpolationControlSource.
7512         Make it possible to disable the controller completely or only for
7513         specific properties. Fixes #450711.
7514         * docs/libs/gstreamer-libs-docs.sgml:
7515         * docs/libs/gstreamer-libs-sections.txt:
7516         * docs/libs/gstreamer-libs.types:
7517         Add new functions and classes to the docs.
7518         * tests/check/libs/controller.c: (GST_START_TEST),
7519         (gst_controller_suite):
7520         * tests/examples/controller/audio-example.c: (main):
7521         Port unit test and example to the new API and add some new
7522         unit tests.
7523
7524 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7525
7526         Patch by: Mark Nauwelaerts <manauw at skynet be>
7527
7528         * plugins/elements/gstmultiqueue.c:
7529         (gst_multi_queue_get_internal_links), (apply_buffer),
7530         (single_queue_overrun_cb), (gst_single_queue_new):
7531         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7532         the pipeline layout can be tracked correctly. Fixes #453732.
7533
7534 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7535
7536         * docs/gst/Makefile.am:
7537         * docs/libs/Makefile.am:
7538         * docs/plugins/Makefile.am:
7539           Simplify --extra-dir as gtkdoc scans recursively.
7540
7541 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7542
7543         * tools/gst-launch.c: (main):
7544         When we got an error, there is no point in waiting for preroll when
7545         shutting down.
7546
7547 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7548
7549         * plugins/elements/gsttee.c: (gst_tee_base_init),
7550         (gst_tee_request_new_pad), (gst_tee_release_pad),
7551         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7552         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7553         (gst_tee_chain):
7554         Be a lot smarter when deciding what srcpad to use for proxying
7555         the buffer_alloc. Also handle pad added/removed when doing so.
7556         Fixes #357959.
7557         Keep track of what pads we already pushed on in case we have pads
7558         added/removed while pushing. Fixes #374639 
7559
7560         * tests/check/Makefile.am:
7561         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7562         (tee_suite):
7563         Added unit test for pad resync.
7564
7565 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7566
7567         * po/nl.po:
7568         * po/sv.po:
7569           Updated translations.
7570
7571 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7572
7573         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7574
7575         * po/LINGUAS:
7576         * po/fi.po:
7577           Added new Finnish translation.
7578
7579 2007-06-28  Wim Taymans  <wim@fluendo.com>
7580
7581         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7582         (single_queue_overrun_cb):
7583         When figuring out when a queue is filled, use our internal time estimate
7584         based on segments, just like check_full does.
7585
7586 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7587
7588         * gst/gstminiobject.c: (gst_mini_object_get_type):
7589           Remove 3 do-nothing methods.
7590
7591 2007-06-27  Wim Taymans  <wim@fluendo.com>
7592
7593         Patch by: Tim Angus <tim at ngus dot net>
7594
7595         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7596         (gst_capsfilter_set_property):
7597         Take a reference instead of a copy when setting "caps".
7598         Fix documentation to clarify this behaviour. Fixes #449414.
7599
7600 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7601
7602         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7603         * gst/gstplugin.c: (gst_plugin_init):
7604         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7605         * gst/gstquery.c: (gst_query_get_type):
7606         * gst/gstregistry.c: (gst_registry_init):
7607         * gst/gsturi.c: (gst_uri_handler_base_init):
7608           Remove empty instance_init() functions to save relocs and lessen the
7609           noise. Remove some of the function prototypes that are doubled by
7610           G_DEFINE_TYPE.
7611           
7612 2007-06-27  Wim Taymans  <wim@fluendo.com>
7613
7614         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7615
7616         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7617         Add peer and direction in the XML serialisation of ghostpads.
7618         Fixes #449226.
7619
7620 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7621
7622         * configure.ac:
7623           Preserve useful information, thanks Tim.
7624
7625 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7626
7627         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7628         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7629         (gst_single_queue_push_one), (gst_multi_queue_loop),
7630         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7631         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7632         (compute_high_id), (gst_single_queue_new):
7633         * plugins/elements/gstmultiqueue.h:
7634         Take the multiqueue lock when updating the fill level so we don't get
7635         confused. 
7636
7637         After applying a buffer or event on the src pad segment, make sure to
7638         call gst_data_queue_limits_changed() to get the data queue to unblock
7639         and check the filled state again.
7640         
7641         Rework the not-linked pad handling so the logic is that not-linked 
7642         pads can push as fast as they like, but only so they never get 
7643         ahead of any linked pads.
7644
7645         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7646         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7647         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7648
7649         Add a test to check that not-linked pads always stay behind
7650         linked pads.
7651
7652         Fixes: #430682
7653
7654 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7655
7656         * docs/random/release:
7657           Some updates to the release procedure.
7658
7659 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7660
7661         * gst/gstelementfactory.c: (__gst_element_details_clear):
7662           Microoptimization that saves stunning 80 bytes.
7663
7664 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7665
7666         * docs/plugins/gstreamer-plugins.args:
7667         * docs/plugins/inspect/plugin-coreelements.xml:
7668         * docs/plugins/inspect/plugin-coreindexers.xml:
7669           Update docs with caps info.
7670
7671 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7672
7673         * po/it.po:
7674           Updated Italian translation.
7675
7676 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7677
7678         * ChangeLog:
7679         * po/vi.po:
7680           Update Vietnamese translations.
7681
7682 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7683
7684         * libs/gst/base/gstbasesink.c:
7685           Remove unused signal enum.
7686
7687 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7688
7689         * docs/gst/gstreamer-sections.txt:
7690         * gst/gstelement.c:
7691         * gst/gstutils.c: (gst_type_register_static_full):
7692         Beef up and include the docs for gst_type_register_static_full and
7693         gst_element_class_set_details_simple and add the API keyword
7694         in the ChangeLog.
7695
7696 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7697
7698         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7699         (update_time_level), (gst_single_queue_push_one),
7700         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7701         (single_queue_overrun_cb), (single_queue_underrun_cb),
7702         (single_queue_check_full):
7703         Fix setting max-* properties after adding queues.
7704         Use IS_FILLED for checking visible items.
7705         Signal overrun if multiple queues overrun.
7706         Add extra debug output.
7707         Patch by: Wim Taymans <wim@fluendo.com>
7708
7709 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
7710
7711         * gst/gstelement.c: (gst_element_class_set_details_simple):
7712         * gst/gstelement.h:
7713         * gst/gstutils.c: (gst_type_register_static_full):
7714         * gst/gstutils.h:
7715         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7716         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7717         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7718         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7719         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7720         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7721         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7722         * plugins/elements/gstidentity.c: (gst_identity_base_init):
7723         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7724         * plugins/elements/gstqueue.c: (gst_queue_base_init),
7725         (apply_buffer), (gst_queue_chain):
7726         * plugins/elements/gsttee.c: (gst_tee_base_init):
7727         * plugins/elements/gsttypefindelement.c:
7728         (gst_type_find_element_base_init),
7729         (gst_type_find_element_class_init):
7730           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7731           API: add gst_type_register_static_full
7732           API: add gst_element_class_set_details_simple
7733
7734 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7735
7736         * docs/pwg/advanced-types.xml:
7737           Fix typo in iana.org URI.
7738
7739 2007-06-19  Andy Wingo  <wingo@pobox.com>
7740
7741         * tests/check/pipelines/simple-launch-lines.c
7742         (test_state_change_returns): Enable pull-mode tests now that
7743         basesink has been fixed.
7744
7745         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7746         Changed from gst_base_sink_is_prerolled, reversing the sense of
7747         the return value. Returns FALSE also if the sink is in pull mode,
7748         in which case it needs no preroll.
7749         (gst_base_sink_query, gst_base_sink_change_state): Update for
7750         needs_preroll change.
7751         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7752         chaining up, in which we return SUCCESS directly if we activated
7753         in pull mode instead of ASYNC. Involves countering an async_start
7754         message sent before chaining up; not sure if this is correct, in
7755         an ideal world we only send async-start when activating in push
7756         mode.
7757
7758         * tests/check/pipelines/simple-launch-lines.c
7759         (test_state_change_returns): New test, partially disabled until
7760         basesink is fixed.
7761
7762 2007-06-19  Wim Taymans  <wim@fluendo.com>
7763
7764         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7765         (gst_multi_queue_sink_event):
7766         Fix event leak.
7767
7768 2007-06-19  Wim Taymans  <wim@fluendo.com>
7769
7770         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7771         (gst_bin_change_state_func), (bin_push_state_continue),
7772         (bin_handle_async_start), (bin_handle_async_done),
7773         (gst_bin_handle_message_func):
7774         Move the common code for posting state-change messages into
7775         one function.
7776         Broadcast the state signal after we posted the messages.
7777         Mark the bin as busy when it's doing a state-change.
7778         Make sure async-start/done messages don't interfere with the bin's
7779         state when it's busy.
7780         After the state change, let the bin check which elements completed the
7781         state change while it was busy so that it can update its state.
7782
7783 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
7784
7785         * docs/random/release:
7786         Add a note about updating the doap file to the release checklist
7787
7788 2007-06-18  Wim Taymans  <wim@fluendo.com>
7789
7790         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7791         (gst_single_queue_push_one), (gst_multi_queue_chain),
7792         (gst_multi_queue_sink_event):
7793         Make sure we don't reference the buffer/event after we have given away
7794         ownership in the queue.
7795
7796 2007-06-18  Wim Taymans  <wim@fluendo.com>
7797
7798         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7799         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7800         Update queue state _after_ adding the item in the queue because else we
7801         could end up being full without the element added yet.
7802
7803 2007-06-18  Wim Taymans  <wim@fluendo.com>
7804
7805         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7806         (gst_bin_remove_func), (gst_bin_get_state_func),
7807         (gst_bin_element_set_state), (gst_bin_continue_func),
7808         (bin_push_state_continue), (bin_handle_async_start),
7809         (bin_handle_async_done), (gst_bin_handle_message_func):
7810         * gst/gstbin.h:
7811         Immediatly commit the toplevel bin state when receiving an async-done
7812         message. This enables us to avoid spawning a thread to commit the state
7813         in some common cases and it also avoids some races.
7814         Avoid spawning a state thread when adding/removing async elements to a
7815         toplevel bin. Instead we immediatly update the bin state.
7816         Get rid of iterating all the children when getting the state in the bin
7817         because it is now always up-to-date.
7818         Fix bug where locked elements would always return _SUCCESS even it they
7819         returned NO_PREROLL before being locked.
7820         Fix the order of the state_change, async-start/done messages that was
7821         sometimes incorrect.
7822         Mark the state_dirty field as deprecated, we don't need it anymore as we
7823         are always up-to-date.
7824
7825         * gst/gstelement.c: (gst_element_get_state_func),
7826         (gst_element_continue_state):
7827         Small debug inprovements.
7828         Return the previous element state return when nothing is pending instead
7829         of blindly returning SUCCESS.
7830
7831         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7832         (gst_sinks_suite):
7833         Add a whole bunch of new testcases.
7834
7835 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7836
7837         * po/uk.po:
7838         * po/vi.po:
7839           Update translations.
7840
7841 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
7842
7843         * gst/gstpad.c:
7844         Fix typo in the docs.
7845
7846 2007-06-15  Wim Taymans  <wim@fluendo.com>
7847
7848         * docs/libs/gstreamer-libs-sections.txt:
7849         Add docs for new methods.
7850
7851 2007-06-15  Wim Taymans  <wim@fluendo.com>
7852
7853         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
7854         (gst_multi_queue_item_new):
7855         Don't use GSlice because we don't depend on >= 2.10 yet.
7856
7857 2007-06-15  Wim Taymans  <wim@fluendo.com>
7858
7859         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7860         (update_time_level), (apply_segment), (apply_buffer),
7861         (gst_single_queue_push_one), (gst_multi_queue_item_new),
7862         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
7863         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
7864         (single_queue_underrun_cb), (single_queue_check_full):
7865         Remove debug printf.
7866
7867 2007-06-15  Wim Taymans  <wim@fluendo.com>
7868
7869         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
7870         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
7871         (gst_data_queue_set_flushing), (gst_data_queue_push),
7872         (gst_data_queue_pop), (gst_data_queue_drop_head),
7873         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
7874         * libs/gst/base/gstdataqueue.h:
7875         Various cleanups.
7876         Added methods to get the current levels and to inform the queue that the
7877         'full' limits changed.
7878
7879         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7880         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7881         (gst_single_queue_flush), (update_time_level), (apply_segment),
7882         (apply_buffer), (gst_single_queue_push_one),
7883         (gst_multi_queue_item_steal_object),
7884         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7885         (gst_multi_queue_loop), (gst_multi_queue_chain),
7886         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7887         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
7888         (gst_multi_queue_src_query), (single_queue_overrun_cb),
7889         (single_queue_underrun_cb), (single_queue_check_full),
7890         (gst_single_queue_new):
7891         Keep track of time in the queue by measuring the difference between
7892         running_time on input and output. This gives more accurate results and
7893         can compensate for segments correctly.
7894         Make a queue by default only 5 buffers deep. We will now increase the
7895         buffer size depending on the filledness of the other queues.
7896         Factor out commong flush code.
7897         Make sure we don't add additional refcounts to buffers when we can avoid
7898         it.
7899         Propagate GstFlowReturn differently.
7900         Use GSlice for intermediate GstMultiQueueItems.
7901         Keep track of EOS.
7902         Resize queues on over and underruns based on filled level of other
7903         queues.
7904         When checking if the queue is filled, prefer to measure in time if we
7905         can and fall back to bytes when no time is known.
7906
7907         * plugins/elements/gstqueue.c:
7908         Fix return value.
7909
7910 2007-06-15  Wim Taymans  <wim@fluendo.com>
7911
7912         * libs/gst/base/gstbasetransform.c:
7913         (gst_base_transform_sink_event):
7914         Work around the brokenness of the event vmethod in basetransform. Prefer
7915         to return TRUE when the subclass returned FALSE (meaning don't forward
7916         the event). 
7917
7918         * libs/gst/base/gstbasetransform.h:
7919         Clarify the docs.
7920
7921 2007-06-15  Wim Taymans  <wim@fluendo.com>
7922
7923         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
7924         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7925         (gst_base_src_default_query), (gst_base_src_get_range),
7926         (gst_base_src_start):
7927         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
7928         Improve debugging.
7929
7930 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
7931
7932         * docs/pwg/advanced-types.xml:
7933           Added more formats to caps table.
7934
7935 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
7936
7937         * tools/gst-launch.c: (main):
7938           Remove crufy code. GOption does not need this workaround.
7939
7940 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7941
7942         * libs/gst/controller/gstcontroller.c:
7943         (gst_controlled_property_set_interpolation_mode):
7944           Fix wrong getter for enums in controller.
7945
7946 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7947
7948         * libs/gst/check/gstcheck.c: (gst_check_init):
7949           Intercept criticals and warnings in the Gst-Phonon log domain, so
7950           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
7951           well.
7952         
7953 2007-06-14  Edward Hervey  <edward@fluendo.com>
7954
7955         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
7956         Since this file doesn't include "gst.h" it will not go through the
7957         macros that disable GST_LOG if debugging was disabled.
7958
7959 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7960
7961         * libs/gst/check/Makefile.am:
7962         * libs/gst/check/gstcheck.h:
7963         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7964         * pkgconfig/gstreamer-check.pc.in:
7965           Ugly 'fix' for the controller unit test on the p5 bot: in
7966           fail_unless_equals_float() check whether the values are 'almost
7967           equal' by allowing a small absolute error, which should be good
7968           enough for our use cases (normal numbers and values close to 0).
7969           Proper fixage left to floating point arithmetic aficionados.
7970
7971 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7972
7973         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
7974         (gst_base_sink_render_object), (gst_base_sink_get_position):
7975           Add two breaks thats where missing.
7976
7977 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7978
7979         * docs/libs/gstreamer-libs-sections.txt:
7980         * libs/gst/check/gstcheck.h:
7981           API: add fail_unless_equals_float() and assert_equals_float().
7982           Add documentation for some of the macros.
7983
7984         * tests/check/libs/controller.c: (GST_START_TEST):
7985           Use newly-added asserts.
7986
7987 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7988
7989         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
7990           Show the caps change in the log to help spotting the case of not
7991           exactly matching caps.
7992
7993 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7994
7995         * docs/pwg/building-boiler.xml:
7996           Fix typos, spotted by Thijs Vermeir (#447190).
7997
7998 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7999
8000         * docs/plugins/tmpl/.cvsignore:
8001         Ignore file to keep the buildbots happy
8002
8003 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8004
8005         * docs/plugins/Makefile.am:
8006         * docs/plugins/gstreamer-plugins-docs.sgml:
8007         * docs/plugins/gstreamer-plugins-sections.txt:
8008         Pull fdsink into the docs too.
8009
8010 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8011
8012         * libs/gst/controller/gstinterpolation.c:
8013         Actually use the new functions with min/max checks for the trigger and
8014         none interpolation modes for get() and get_value_array() instead of
8015         just the latter.
8016
8017 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8018
8019         * libs/gst/controller/gstcontroller.c:
8020         (gst_controlled_property_free):
8021         Unset the minimum and maximum GValues when freeing the corresponding
8022         GstControllerProperty struct.
8023
8024 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8025
8026         * libs/gst/controller/gstcontroller.c:
8027         (gst_controlled_property_new):
8028         * libs/gst/controller/gstcontrollerprivate.h:
8029         * libs/gst/controller/gstinterpolation.c:
8030         (gst_controlled_property_find_control_point_node),
8031         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8032         (interpolate_none_get_string_value_array),
8033         (interpolate_trigger_get),
8034         (interpolate_trigger_get_enum_value_array),
8035         (interpolate_trigger_get_string_value_array):
8036         Protect against values larger or smaller than the minimum or maximum
8037         allowed value for the property when using values that can be compared.
8038
8039         Optimize trigger interpolator a bit by taking the last requested value
8040         into account instead of always looping through the complete list.
8041
8042         Fix coding style a bit, everywhere else we use "return foo" instead
8043         of "return (foo)".
8044         
8045         * tests/check/libs/controller.c: (GST_START_TEST),
8046         (gst_controller_suite):
8047         Add unit test for the protection against too large or too small
8048         values.
8049
8050 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8051
8052         * docs/random/slomo/controller.txt:
8053         Add some thoughts about the future of the controller.
8054
8055 2007-06-08  Wim Taymans  <wim@fluendo.com>
8056
8057         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8058         Don't overflow in retimestamping code.
8059
8060 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8061
8062         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8063         Use gst_util_guint64_to_gdouble for conversions.
8064         * win32/common/libgstreamer.def:
8065         Add new exported functions.
8066
8067 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8068
8069         * gst/gstutils.c:
8070           Small docs addition.
8071
8072 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8073
8074         * README:
8075           Remove that test line again.
8076
8077 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8078
8079         * README:
8080           Test commit mail sending.
8081
8082 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8083
8084         * configure.ac:
8085           Fix typo and test commit mail sending.
8086
8087 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8088
8089         * tests/examples/controller/audio-example.c:
8090           Improve comment and test commit mail sending.
8091
8092 2007-06-07  Wim Taymans  <wim@fluendo.com>
8093
8094         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8095         (gst_bin_remove_func), (gst_bin_element_set_state),
8096         (bin_handle_async_start), (bin_handle_async_done),
8097         (gst_bin_handle_message_func):
8098         Add helper function to find messages.
8099         Generate the async-done messages together with the state change
8100         messages.
8101         Small cleanups in handling toplevel bins.
8102
8103 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8104
8105         * libs/gst/base/gstdataqueue.c:
8106         * libs/gst/base/gstdataqueue.h:
8107         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8108         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8109         (gst_multi_queue_sink_event):
8110         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8111           Fix multiqueue leaking buffers and events when downstream or the
8112           queue are flushing. Make refcounting assumptions explicit and
8113           document them (shouldn't break existing code that uses it other than
8114           maybe leak miniobjects, but that already happens anyway). Add unit
8115           test for the most common flushing case. Fixes #423700.
8116           
8117 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8118
8119         * libs/gst/controller/gstcontroller.c:
8120         Clarify docs: The get_all, get_value_array(s) functions
8121         don't modify the GObject properties.
8122
8123 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8124
8125         * libs/gst/controller/gstcontroller.c:
8126         (gst_controlled_property_set_interpolation_mode),
8127         (gst_controlled_property_prepend_default),
8128         (gst_controlled_property_new), (gst_controller_set_unlocked),
8129         (gst_controller_set), (gst_controller_set_from_list),
8130         (gst_controller_unset), (gst_controller_unset_all):
8131         * libs/gst/controller/gstcontrollerprivate.h:
8132         * libs/gst/controller/gstinterpolation.c:
8133         Factor out the 'set' logic into gst_controller_set_unlocked for the
8134         gst_controller_set and gst_controller_set_from_list functions.
8135
8136         To make life of the interpolators easier always add a control point
8137         at timestamp zero with the default value.
8138
8139         In the linear interpolator make things more obvious by better variable
8140         naming (slope).
8141
8142         Implement cubic interpolation mode (by using a natural cubic spline)
8143         and map the quadratic interpolation mode to this too (as quadratic
8144         doesn't make much sense, see discussion on the list).
8145
8146         * tests/check/libs/controller.c: (GST_START_TEST),
8147         (gst_controller_suite):
8148         Add unit test for the cubic interpolation mode and check everywhere
8149         if the interpolation mode could be set as expected.
8150
8151 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8152
8153         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8154           Don't use GLib-2.10 functions, we still depend on
8155           GLib-how-old-is-it-again-2.8.
8156
8157 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8158
8159         * docs/gst/gstreamer-sections.txt:
8160         * gst/Makefile.am:
8161         * gst/gst.c:
8162         * gst/gst.h:
8163         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8164         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8165         (_gst_param_fraction_values_cmp),
8166         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8167         * gst/gstparamspecs.h:
8168         * gst/gstvalue.c:
8169         * tests/check/Makefile.am:
8170         * tests/check/gst/.cvsignore:
8171         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8172         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8173         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8174         (GST_START_TEST), (gst_param_spec_suite):
8175           API: add GstParamSpecFraction, so elements can have fraction
8176           properties without lots of painful string parsing (#444648).
8177
8178 2007-06-05  Wim Taymans  <wim@fluendo.com>
8179
8180         * gst/gstobject.c: (gst_object_class_init):
8181         Fix signal signature.
8182
8183         * gst/gstsegment.c:
8184         Add small clarification in the api docs.
8185
8186         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8187         States are protected with object lock.
8188
8189 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8190
8191         * AUTHORS:
8192         I should probably be listed as an author by now.
8193
8194         * docs/random/release:
8195         Update the release doc
8196
8197 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8198
8199         * gst/gstvalue.c:
8200           Make docs for gst_value_compare() mention return enums that
8201           actually exist.
8202
8203 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8204
8205         * configure.ac:
8206           Back to CVS
8207
8208 === release 0.10.13 ===
8209
8210 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8211
8212         * configure.ac:
8213           releasing 0.10.13, "With or without you"
8214
8215 2007-05-25  Wim Taymans  <wim@fluendo.com>
8216
8217         * gst/gstbin.c: (bin_handle_async_done):
8218         Make sure that the child bin stops after completing the async state
8219         change so that the parent can continue the state change to PLAYING.
8220         Fixes #441159.
8221
8222 2007-05-25  Wim Taymans  <wim@fluendo.com>
8223
8224         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8225         (unref_data), (gst_collect_pads_remove_pad),
8226         (gst_collect_pads_check_pads):
8227         Use additional refcounting to avoid crashes when dynamically adding and
8228         removing pads. Fixes #420206.
8229
8230 2007-05-24  Wim Taymans  <wim@fluendo.com>
8231
8232         * tools/gst-launch.c: (event_loop):
8233         When buffering goes from a two digit to a single digit number, make sure
8234         to remove the old second digit by writing a blank over it.
8235
8236 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8237
8238         * libs/gst/base/gstdataqueue.c:
8239           Eliminate tabs and trailing comma in enum list; fix some typos.
8240
8241 2007-05-24  Wim Taymans  <wim@fluendo.com>
8242
8243         * tests/check/gst/gstbin.c: (GST_START_TEST):
8244         Allow refcount of 3 and 4 because some state thread might still be busy
8245         with it.
8246
8247 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8248
8249         * plugins/elements/Makefile.am:
8250         * plugins/elements/gstmultiqueue.h:
8251         * plugins/elements/gstqueue.h:
8252           These are not installed headers, no need for padding.
8253
8254 2007-05-24  Wim Taymans  <wim@fluendo.com>
8255
8256         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8257         (gst_bin_continue_func):
8258         Enable latency for next release.
8259         Restore STATE_LOCK around recalc_state that was left out during the
8260         rewrite and could result in racy behaviour when _get_state and
8261         recalc_state are run concurrently. See #440463.
8262
8263 2007-05-23  Wim Taymans  <wim@fluendo.com>
8264
8265         * tests/check/gst/gstsystemclock.c: (store_callback),
8266         (GST_START_TEST):
8267         Improve test_async_order to also work when both timers are already
8268         expired when we get scheduled to check it.
8269
8270 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8271
8272         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8273         (gst_bin_set_property), (gst_bin_get_property),
8274         (gst_bin_remove_func), (gst_bin_handle_message_func):
8275         * gst/gstbin.h:
8276           'private' is a c++ keyword, let's not use that in header files,
8277           otherwise c++ compilers will throw a tantrum.
8278
8279 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8280
8281         * plugins/elements/gstelements.c:
8282         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8283         (gst_file_sink_get_current_offset):
8284         * plugins/indexers/gstindexers.c: (plugin_init):
8285           Use #ifdef for HAVE_XYZ for consistency.
8286
8287         * tests/check/Makefile.am:
8288         * tests/check/elements/.cvsignore:
8289         * tests/check/elements/filesink.c: (setup_filesink),
8290         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8291           Add some unit tests for filesink.
8292
8293 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8294
8295         Patch by: Mark Nauwelaerts <manauw at skynet be>
8296
8297         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8298         (gst_file_sink_query), (gst_file_sink_do_seek),
8299         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8300         * plugins/elements/gstfilesink.h:
8301           Fix position reporting; rename data_written member to current_pos to
8302           reflect its real meaning (fixes #412648).
8303
8304 2007-05-22  Edward Hervey  <edward@fluendo.com>
8305
8306         * docs/gst/gstreamer-sections.txt:
8307         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8308         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8309         (gst_bin_remove_func), (gst_bin_handle_message_func):
8310         * gst/gstbin.h:
8311         Add a property for bins that handle the state change of their childs.
8312         Fixes #435880
8313
8314 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8315
8316         * libs/gst/controller/gstinterpolation.c:
8317         Use an array of the correct type when using _get_value_array with
8318         linear interpolation.
8319
8320 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8321
8322         * gst/gstelement.c (gst_element_requires_clock,
8323           gst_element_provides_clock, gst_element_request_pad,
8324           gst_element_class_set_details, gst_element_class_set_details_simple,
8325           gst_element_default_send_event, gst_element_abort_state,
8326           gst_element_continue_state, gst_element_set_state,
8327           gst_element_set_state_func, iterator_activate_fold_with_resync):
8328         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8329           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8330           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8331           gst_pad_get_range, gst_pad_pull_range):
8332         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8333           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8334           GstPadActivateModeFunction, GstPadChainFunction,
8335           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8336           GstPadFixateCapsFunction, GstPadTemplate):
8337         * gst/gstpipeline.c (gst_pipeline_change_state,
8338           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8339           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8340           gst_pipeline_get_delay):
8341           Whitespace and docs fixes.
8342
8343 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8344
8345         * libs/gst/controller/gstinterpolation.c:
8346         (interpolate_trigger_get_enum_value_array),
8347         (interpolate_trigger_get_string_value_array):
8348         Add support for retrieving value arrays when using the trigger
8349         interpolation mode. 
8350
8351 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8352
8353         * libs/gst/controller/gstcontroller.c:
8354         (gst_controller_get_value_array):
8355         * libs/gst/controller/gstcontroller.h:
8356         Clarify the docs of gst_controller_get_value_array(): The array where
8357         the values should be written to must be allocated as there seems to be
8358         no way to get the size of a random GType. This doesn't change any
8359         behaviour. Also fix some typos all over the place and remove an unused,
8360         commented function that is not necessary as g_object_set() could be
8361         used instead.
8362         * tests/check/libs/controller.c: (GST_START_TEST),
8363         (gst_controller_suite):
8364         Add unit test for gst_controller_get_value_array().
8365
8366 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8367
8368         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8369
8370         Disable part of the gst_buffer_try_new_and_alloc test, because
8371         it can happily succeed on 64-bit systems where there's more address
8372         space available.
8373
8374 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8375
8376         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8377         Add unit test for the improved caps checking from bug #421543.
8378
8379 2007-05-21  Wim Taymans  <wim@fluendo.com>
8380
8381         * docs/design/part-synchronisation.txt:
8382         Small addition.
8383
8384         * gst/gstbin.c: (gst_bin_query):
8385         * plugins/elements/gstqueue.c: (apply_segment):
8386         Improve debugging.
8387
8388         * gst/gstmessage.h:
8389         Improve docs.
8390
8391 2007-05-21  Wim Taymans  <wim@fluendo.com>
8392
8393         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8394         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8395         (gst_pad_configure_src):
8396         Added simple version of improved caps checking. It was previously
8397         assumed that a setcaps function would check the validity of the caps but
8398         people prefer us to check caps against the template automatically. 
8399         Fixes #421543.
8400
8401 2007-05-21  Wim Taymans  <wim@fluendo.com>
8402
8403         * libs/gst/base/gstbasetransform.h:
8404         Fix macro for locking/unlocking the transform lock.
8405
8406 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8407
8408         * docs/plugins/tmpl/.cvsignore:
8409           Ignore more.
8410
8411 2007-05-18  Edward Hervey  <edward@fluendo.com>
8412
8413         * plugins/elements/gstqueue.c: (gst_queue_loop):
8414         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8415         for the subtle art of warning a potentially blocking thread that it
8416         should check the source pad return value, and relay the information
8417         upstream.
8418
8419 2007-05-18  Edward Hervey  <edward@fluendo.com>
8420
8421         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8422         Release the queue lock !
8423
8424 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8425
8426         * docs/libs/gstreamer-libs-sections.txt:
8427         Add the two new controller functions to the appropiate places.
8428
8429 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8430
8431         reviewed by: Stefan Kost <ensonic@users.sf.net>
8432
8433         * libs/gst/controller/gstcontroller.c:
8434         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8435         (_gst_controller_get_property), (_gst_controller_set_property),
8436         (_gst_controller_init), (_gst_controller_class_init):
8437         * libs/gst/controller/gstcontroller.h:
8438         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8439         (gst_object_get_control_rate), (gst_object_set_control_rate):
8440         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8441         Add API that provides sync suggestion timestamps for elements that
8442         call gst_object_sync_values() from which those elements can subdivide
8443         their processing loop to get the best results for the controlled
8444         properties. For now it just suggests last_sync + control_rate as
8445         new timestamp but this will be improved in the future.
8446
8447         While doing that change the control-rate property to a GstClockTime
8448         from guint and change it's meaning from samples to nanoseconds as
8449         the GstController doesn't know anything about sampling rate. Strictly
8450         speaking this breaks ABI but as the control-rate property didn't do
8451         anything in the past and as such couldn't be used this should be no
8452         problem.        
8453
8454 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8455
8456         reviewed by: Stefan Kost <ensonic@users.sf.net>
8457
8458         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8459         (gst_controller_unset_all):
8460         * libs/gst/controller/gstcontrollerprivate.h:
8461         * libs/gst/controller/gstinterpolation.c:
8462         (gst_controlled_property_find_control_point_node):
8463         Save last synced value from the list to continue searching from there
8464         in future syncs. This speeds everything up a bit.
8465         
8466 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8467
8468         reviewed by: Stefan Kost <ensonic@users.sf.net>
8469
8470         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8471         (gst_control_point_find), (gst_controlled_property_new),
8472         (gst_control_point_free), (gst_controlled_property_free),
8473         (gst_controller_set), (gst_controller_set_from_list),
8474         (gst_controller_unset), (gst_controller_unset_all),
8475         (gst_controller_sync_values):
8476         * libs/gst/controller/gstcontroller.h:
8477         * libs/gst/controller/gstcontrollerprivate.h:
8478         * libs/gst/controller/gstinterpolation.c:
8479         (gst_controlled_property_find_control_point_node),
8480         (interpolate_none_get), (interpolate_trigger_get):
8481         Add a new private GstControlPoint struct which "inherits" from
8482         GstTimedValue to allow different interpolators to store internal
8483         values next to each control point. From the outside everything is
8484         still a GstControlPoint so we don't loose binary compatibility.
8485         Also fixup all the GValue handling to not leak GValues or list nodes.
8486         * tests/check/libs/controller.c: (GST_START_TEST):
8487         Free the list nodes and GValues in the controller_misc test.
8488
8489 2007-05-17  Edward Hervey  <edward@fluendo.com>
8490
8491         * gst/gstsegment.c:
8492         Small doc fix.
8493
8494 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8495
8496         * gst/gstplugin.c: (gst_plugin_load_file):
8497           If we fail to load a plugin because of unresolved symbols or missing
8498           libraries and spew a warning to stderr, we may just as well mention
8499           which plugin it was that failed to load.
8500
8501 2007-05-13  David Schleef  <ds@schleef.org>
8502
8503         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8504           handles the case when ENABLE_GTK_DOC is false, and installs
8505           the prebuilt documentation.  So gtk-doc subdirs are 
8506           unconditionally enabled.  Fixes: #349099.
8507
8508 2007-05-13  David Schleef  <ds@schleef.org>
8509
8510         * gst/gstutils.h: Reword some documentation.
8511
8512 2007-05-12  David Schleef  <ds@schleef.org>
8513
8514         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8515           do anything with the passed "module" parameter, so remove it.
8516           Allows removal of additional vestigal code.
8517
8518 2007-05-12  David Schleef  <ds@schleef.org>
8519
8520         * gst/gstplugin.c:
8521           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8522           Switch to using g_stat() because it's more portable.
8523
8524 2007-05-12  David Schleef  <ds@schleef.org>
8525
8526         * gst/gst.c:
8527           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8528           parsing for embedded systems.
8529         * gst/gstelementfactory.c:
8530           Allow gst_element_register() to be called with plugin==NULL.
8531           Did nobody notice that static elements were broken?
8532
8533 2007-05-12  Wim Taymans  <wim@fluendo.com>
8534
8535         * tools/gst-launch.c: (event_loop):
8536         Give more interesting info when buffering starts and stops.
8537         Fix case where buffering starts but we fail to update the buffering flag
8538         because the target state is not PLAYING.
8539
8540 2007-05-12  Wim Taymans  <wim@fluendo.com>
8541
8542         * plugins/elements/gstqueue.c: (gst_queue_init),
8543         (gst_queue_finalize), (update_time_level), (apply_segment),
8544         (apply_buffer), (gst_queue_locked_flush),
8545         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8546         (gst_queue_handle_sink_event), (gst_queue_chain),
8547         (gst_queue_push_one), (gst_queue_loop):
8548         * plugins/elements/gstqueue.h:
8549         Refactor an cleanup queue a bit.
8550         Do better time level calculations that also work when the srcpad is not
8551         yet running.
8552         Remove some unneeded debug lines.
8553
8554         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8555         Added testcase for time level measurement.
8556         Try to make some stuff more racefree.
8557
8558 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8559
8560         * gst/gsturi.c: (gst_element_make_from_uri):
8561           Don't leak plugin feature.
8562
8563         * tests/check/Makefile.am:
8564         * tests/check/gst/.cvsignore:
8565         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8566           Add brain-dead unit test.
8567
8568 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8569
8570         Patch by: Jeroen Wouters <woutersj at gmail com>
8571
8572         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8573           Treat protocol strings in a case-insensitive way (#437563).
8574
8575 2007-05-11  Michael Smith <msmith@fluendo.com>
8576
8577         * gst/gstplugin.c: (gst_plugin_load_file):
8578         * gst/gstregistry.c: (gst_registry_scan_path_level):
8579           Don't print a g_warning for any failure to load a shared object.
8580           Instead, push this down into gstplugin.c, and warn _only_ if we
8581           failed to open the module (i.e. failure to link).
8582           Avoids warnings on normal, working, non-plugin .so files.
8583
8584 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8585
8586         * gst/gstplugin.c (gst_plugin_load_file):
8587         * gst/gstregistry.c (GST_CAT_DEFAULT,
8588           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8589           Print a g_warning if there was an error when loading a plugins during
8590           registry scan. The shuld help beginners starting with gst-plugin
8591           template.
8592
8593 2007-05-10  Wim Taymans  <wim@fluendo.com>
8594
8595         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8596         (update_time_level), (gst_queue_locked_flush),
8597         (gst_queue_handle_sink_event), (gst_queue_chain),
8598         (gst_queue_push_one), (gst_queue_loop):
8599         * plugins/elements/gstqueue.h:
8600         Be smarter when calculating the current amount of data in the queue by
8601         measuring the difference between start and end timestamps (in running
8602         time) inside the queue. Fixes #432876.
8603         API: GstQueue::pushing to notify elements that we are pushing data again
8604         since the running signal is rather broken for this purpose.
8605
8606 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8607
8608         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8609           gst_queue_base_init, gst_queue_init):
8610           use GST_BOILERPLATE
8611
8612 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8613
8614         * win32/common/libgstreamer.def:
8615         Add new exported functions.
8616         * win32/vs6/grammar.dsp:
8617         Use grammar pre-generated files.
8618
8619 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8620
8621         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8622
8623         * gst/Makefile.am:
8624         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8625         * gst/gstparse.h:
8626         * gst/gstutils.c: (gst_parse_bin_from_description):
8627         * gst/gstutils.h:
8628           Maintain API and ABI when --disable-parse is used. Now that
8629           we have an appropriate error code, we can just return NULL and the
8630           appropriate error when gst_parse_launch() is used despite it having
8631           been disabled (#342564).
8632
8633         * tests/check/Makefile.am:
8634         * tests/check/pipelines/.cvsignore:
8635         * tests/check/pipelines/parse-disabled.c:
8636           Make sure these functions exist and return NULL plus a GError when
8637           --disable-parse is used.
8638
8639 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8640
8641         * tests/benchmarks/complexity.c: (main):
8642         * tests/benchmarks/mass-elements.c: (main):
8643           Set a good example and don't leak messages.
8644
8645 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8646
8647         * docs/gst/Makefile.am:
8648         * docs/libs/Makefile.am:
8649           Correct fixxrefs options.
8650
8651         * docs/plugins/Makefile.am:
8652         * docs/plugins/gstreamer-plugins-docs.sgml:
8653         * docs/plugins/gstreamer-plugins-sections.txt:
8654         * plugins/elements/Makefile.am:
8655         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8656         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8657           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8658           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8659           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8660           _GstCapsFilterClass, trans_class):
8661         * plugins/elements/gstelements.c (name, rank, type, _elements):
8662         * plugins/elements/gstidentity.c
8663           (gst_identity_check_imperfect_timestamp,
8664           gst_identity_check_imperfect_offset):
8665           Document capsfilter and add doc-blurb to identity.
8666
8667 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8668
8669         * libs/gst/controller/gstcontroller.c:
8670         (gst_controlled_property_set_interpolation_mode):
8671         * libs/gst/controller/gstinterpolation.c:
8672           Don't crash if someone tries to set an interpolation mode that
8673           is invalid or that isn't supported yet. Fixes #422295.
8674
8675         * tests/check/libs/controller.c: (GST_START_TEST),
8676         (gst_controller_suite):
8677           Add a test case for the above.
8678
8679 2007-05-03  Edward Hervey  <edward@fluendo.com>
8680
8681         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8682         Properly set the last_stop position on GstSegment. This will only happen
8683         if there is a buffer to push out.
8684
8685 2007-05-03  Wim Taymans  <wim@fluendo.com>
8686
8687         * libs/gst/base/gstbasetransform.c:
8688         (gst_base_transform_buffer_alloc):
8689         always_in_place does not mean that the sink and source caps are the
8690         same! Make sure we don't blindly proxy the buffer_alloc in this case.
8691
8692 2007-05-03  Wim Taymans  <wim@fluendo.com>
8693
8694         * docs/libs/gstreamer-libs-sections.txt:
8695         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8696         (gst_base_src_default_query), (gst_base_src_get_range):
8697         * libs/gst/base/gstbasesrc.h:
8698         API: gst_base_src_query_latency(). Added method so that subclasses can
8699         easily get the latency values of the base source class.
8700
8701 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
8702
8703         * tools/gst-inspect.c (print_implementation_info):
8704         Remove 0.8 cruft.
8705
8706 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
8707
8708         * tools/Makefile.am:
8709         * tools/gst-launch.1.in:
8710           Don't create a customised man page based on the host architecture,
8711           describe the default registry path generically. That way the man
8712           page is the same for all architectures and packagers have one
8713           multilib issue less to deal with. Fixes #434926.
8714
8715 2007-05-02  Wim Taymans  <wim@fluendo.com>
8716
8717         * gst/gstpad.c:
8718         Fix documentation as spotted by rg on IRC. 
8719
8720 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
8721
8722         * gst/gstutils.c:
8723           Improve docs for gst_element_{link,unlink}.
8724
8725 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
8726
8727         * docs/design/part-events.txt:
8728         * docs/design/part-overview.txt:
8729         * gst/gstevent.c:
8730         * gst/gsturi.c:
8731         * gst/gsturi.h:
8732         * libs/gst/base/gstbasesink.c:
8733           Typo fixes; minor docs addition.
8734
8735 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8736
8737         * docs/gst/gstreamer-sections.txt:
8738         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8739         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8740         * gst/gsturi.h:
8741         API: Add gst_uri_protocol_is_supported(), which checks if a sink
8742         or src that supports a given URI protocol exists.
8743
8744 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8745
8746         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8747         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8748         Set the location to NULL if "file://" is set as URI. Otherwise
8749         some random previous URI would still be set if "file://" is
8750         set on an already used filesink/filesrc.
8751
8752 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8753
8754         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8755         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8756         Special case the "file://" URI as as this is used by some
8757         applications to test with gst_element_make_from_uri if there's
8758         an element that supports the URI protocol.
8759         Also move the g_path_is_absolute() check for the location part
8760         of the URI to also check this for "file://localhost/bla" URIs.
8761
8762 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
8763
8764         * docs/gst/gstreamer-sections.txt:
8765         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8766         * gst/gstbuffer.h:
8767         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8768         (gst_buffer_suite):
8769           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8770
8771 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
8772
8773         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8774         (gst_registry_binary_load_pad_template),
8775         (gst_registry_binary_load_plugin),
8776         (gst_registry_binary_read_cache):
8777         * gst/gstregistrybinary.h:
8778           Implement no-mmap alternative for registry reading. Do code cleanups.
8779           Add more comments about avoiding strdups for all text data. Comments
8780           welcome.
8781
8782 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8783
8784         * gst/gstregistrybinary.h (GstBinaryPluginElement,
8785           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8786           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8787           Comment structs and reformat to fix the build (that stuff should go
8788           into a priv. header).
8789
8790 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8791
8792         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8793         (gst_registry_binary_load_feature):
8794         * gst/gstregistrybinary.h:
8795           Refactor so that we can implement multiple features. Add support for
8796           TypeFindFactory features.
8797
8798 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
8799
8800         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8801
8802         * configure.ac:
8803           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8804
8805 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
8806
8807         * gst/gstbin.c: (gst_bin_element_set_state),
8808         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8809         (bin_handle_async_done), (gst_bin_handle_message_func):
8810           Fix build with --gst-disable-gst-debug
8811
8812 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
8813
8814         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8815           Make sure streaming has finished before calling the ::stop() vfunc,
8816           since that vfunc might clear state which is being used in the
8817           streaming thread. This fixes a race that caused crashes in
8818           audioresample when shutting down a pipeline (#420106).
8819
8820 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8821
8822         * docs/gst/gstreamer-sections.txt:
8823           That was one byte missing.
8824
8825 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8826
8827         * configure.ac:
8828         * docs/gst/gstreamer-sections.txt:
8829         * gst/Makefile.am:
8830         * gst/gstconfig.h.in:
8831         * gst/gstobject.c: (gst_object_class_init),
8832         (gst_signal_object_class_init):
8833         * gst/gstobject.h:
8834           2nd attempt to have a xml-less build as a joined effort of #413123
8835           and #421480.
8836
8837 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8838
8839         * docs/design/draft-tagreading.txt:
8840           Added open issues/thoughts to draft.
8841
8842 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8843
8844         * gst/parse/grammar.tab.pre.c:
8845         * gst/parse/grammar.tab.pre.h:
8846         * gst/parse/lex._gst_parse_yy.pre.c:
8847         Update the prebuild parser sources.
8848
8849 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8850
8851         * gst/parse/Makefile.am:
8852         And now fix the building of the flex sources. Now everything should
8853         work as expected.
8854
8855 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8856
8857         * gst/parse/Makefile.am:
8858         Now hopefully fix the build failures by setting proper rule
8859         dependencies and moving instead of copying.
8860
8861 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8862
8863         * tests/benchmarks/complexity.gnuplot:
8864         * tests/benchmarks/complexity.scm:
8865         * tests/benchmarks/mass-elements.gnuplot:
8866         * tests/benchmarks/mass-elements.scm:
8867           Total licensification.
8868
8869 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8870
8871         * gst/parse/Makefile.am:
8872           Fix the build by correcting the rule that gave wrong files to flex.
8873
8874 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8875
8876         * tests/benchmarks/complexity.c:
8877         * tests/benchmarks/mass-elements.c:
8878           Change licence to LGPL as granted by Benjamin and Andy.
8879
8880 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8881
8882         * gst/parse/Makefile.am:
8883         Add correct grammar.tab.h dependency if compiling without new enough
8884         flex. Fixes #431150.
8885
8886 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
8887
8888         * gst/parse/Makefile.am:
8889         Fix typo and use outdated sources if the flex/bison sources are newer
8890         than the pregenerated ones but flex is too old. Print a warning in
8891         that case. This should fix the build on the build bot.
8892
8893 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
8894
8895         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
8896         * gst/parse/Makefile.am:
8897         * gst/parse/grammar.y:
8898         * gst/parse/parse.l:
8899         Make the parser reentrant and recursively callable. This requires flex
8900         >= 2.5.31, for older versions pregenerated sources are used as we
8901         can't bump the build dependency. Finally fixes #349180.
8902
8903         * gst/gstparse.c: (gst_parse_launch):
8904         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
8905         now anyway.
8906
8907         * docs/gst/Makefile.am:
8908         * docs/gst/Makefile.am:
8909         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
8910         (__gst_parse_strfree), (__gst_parse_link_new),
8911         (__gst_parse_link_free), (__gst_parse_chain_new),
8912         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
8913         (gst_parse_element_set), (gst_parse_free_link),
8914         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
8915         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
8916         (_gst_parse_launch):
8917         * gst/parse/grammar.tab.pre.h:
8918         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
8919         (yy_get_previous_state), (yy_try_NUL_trans), (input),
8920         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
8921         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
8922         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
8923         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
8924         (_gst_parse_yypop_buffer_state),
8925         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
8926         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
8927         (yy_fatal_error), (_gst_parse_yyget_extra),
8928         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
8929         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
8930         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
8931         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
8932         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
8933         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
8934         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
8935         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
8936         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
8937         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
8938         (_gst_parse_yyfree):
8939         If the installed flex version is too old use pre-generated parser
8940         sources. These pre-generated parser sources are always updated when
8941         the actual flex/bison sources change but require everybody who wants
8942         to change something in the parser to have flex >= 2.5.31 installed.
8943
8944 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
8945
8946         * common/m4/gst-gettext.m4:
8947         * gst/gst-i18n-lib.h:
8948           Make --disable-nls to work
8949
8950 2007-04-17  Wim Taymans  <wim@fluendo.com>
8951
8952         * gst/gstconfig.h.in:
8953         Revert previous change that broke the build.
8954
8955 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
8956
8957         * configure.ac:
8958         * gst/Makefile.am:
8959         * gst/gstconfig.h.in:
8960           Drop libxml2 dependency when building with 
8961           --enable-binary-registry --disable-loadsave
8962
8963 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
8964
8965         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8966         (gst_registry_binary_read_cache):
8967         * gst/gstregistrybinary.h:
8968           Remove unnecessary <sys/mman.h> include which broke the win32 build
8969           with MingW; move includes from header file to .c file, even if the
8970           header file isn't installed; use g_strerror() where UTF-8 strings
8971           are expected, such as in GST_DEBUG messages.
8972
8973 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8974
8975         * docs/libs/gstreamer-libs-sections.txt:
8976         Remove bogus addition for API I didn't end up keeping.
8977
8978         * libs/gst/base/gstbasesrc.h:
8979         Mention Since: 0.10.13 in the documentation.
8980
8981         Add the API keyword to the previous ChangeLog entry.
8982
8983 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8984
8985         * docs/libs/gstreamer-libs-sections.txt:
8986         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8987         (gst_base_src_default_prepare_seek_segment),
8988         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
8989         * libs/gst/base/gstbasesrc.h:
8990         Allow basesrc derived classes to execute seeks in other formats
8991         by providing a prepare_seek_segment vmethod. Sub-classes can choose
8992         to prepare the GstSegment in any format that their perform_seek method
8993         will be able to understand. The default implementation provides the
8994         old behaviour of attempting to convert the seek offsets to the 
8995         configured native format.
8996
8997         API: basesrc::prepare_seek_segment vmethod.
8998
8999 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9000
9001         * gst/gstelement.c: (gst_element_get_state_func):
9002         Don't output the same debug statement twice.
9003
9004         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9005         (gst_adapter_peek), (gst_adapter_take_buffer):
9006         Optimise the case where we have buffers at the head of the queue that
9007         can be joined quickly (because they're contiguous sub-buffers) by
9008         merging them together rather than copying data out into new memory.
9009
9010         * gst/parse/grammar.y:
9011         * tests/check/pipelines/parse-launch.c:
9012         Fix a leak in an error path for parse_launch, and add a check 
9013         for it to the testsuite.
9014
9015 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9016
9017         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9018           Don't deadlock when releasing a pad - gst_pad_set_active may try
9019           and take the multiqueue lock too.
9020
9021 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9022
9023         * gst/gsterror.c: (_gst_core_errors_init):
9024         * gst/gsterror.h:
9025           API: add GST_CORE_ERROR_DISABLED (#392804).
9026
9027 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9028
9029         * docs/faq/gst-uninstalled:
9030           don't get empty paths on the PATH variables
9031         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9032           Don't format for the uncommon terminal width of 84 characters.
9033
9034 2007-04-06  Wim Taymans  <wim@fluendo.com>
9035
9036         * gst/gstpipeline.c: (reset_stream_time),
9037         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9038         Only try to select a different pipeline clock when we went back to
9039         PAUSED and not when we merely got flushed.
9040
9041 2007-04-05  Michael Smith  <msmith@fluendo.com>
9042
9043         * tools/gst-launch.1.in:
9044           fractions are better supported in gstreamer than ractions, so
9045           suggest using those.
9046
9047 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9048
9049         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9050
9051         * po/LINGUAS:
9052         * po/da.po:
9053           Added Danish translation.
9054
9055 2007-04-05  Wim Taymans  <wim@fluendo.com>
9056
9057         * libs/gst/base/gstbasesink.c:
9058         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9059         Fix leak caused when refusing newsegment after EOS.
9060
9061         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9062         (gst_fake_sink_init), (gst_fake_sink_set_property),
9063         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9064         (gst_fake_sink_render), (gst_fake_sink_change_state):
9065         * plugins/elements/gstfakesink.h:
9066         Add num-buffers property to make the element generate EOS after a
9067         configurable amount of buffers.
9068         API: fakesink::num-buffers property.
9069
9070         * tests/check/elements/fakesink.c: (GST_START_TEST),
9071         (fakesink_suite):
9072         Fix GstBus leak in test.
9073         Test for fakesink num-buffers.
9074
9075 2007-04-05  Wim Taymans  <wim@fluendo.com>
9076
9077         * libs/gst/base/gstbasesink.c:
9078         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9079         (gst_base_sink_change_state):
9080         Don't accept anything after an EOS, return UNEXPECTED instead.
9081
9082         * tests/check/elements/fakesink.c: (GST_START_TEST),
9083         (fakesink_suite):
9084         Unit test for new EOS behaviour.
9085
9086 2007-04-05  Wim Taymans  <wim@fluendo.com>
9087
9088         * gst/gstelement.c: (gst_element_get_request_pad):
9089         Make padtemplates also work when they don't contain %s or %d.
9090
9091 2007-04-05  Wim Taymans  <wim@fluendo.com>
9092
9093         * docs/gst/gstreamer-sections.txt:
9094         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9095         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9096         * gst/gstclock.h:
9097         Improve _adjust_unlocked() so that it overflows less.
9098         Add gst_clock_unadjust_unlocked to convert from external time to
9099         internal time based on calibration.
9100         Add some more debug.
9101         API: GstClock::gst_clock_unadjust_unlocked()
9102
9103 2007-04-03  Wim Taymans  <wim@fluendo.com>
9104
9105         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9106
9107         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9108         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9109         when releasing sink pad. Fixes #425400.
9110
9111 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9112
9113         * docs/random/ensonic/dynlink.txt:
9114           More work on proposal for new core api.
9115
9116         * docs/libs/gstreamer-libs-sections.txt:
9117         * libs/gst/base/gstbasetransform.h:
9118           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9119           
9120         * libs/gst/controller/gstcontroller.c:
9121         (on_object_controlled_property_changed),
9122         (gst_controller_sync_values),
9123         (gst_controller_set_interpolation_mode):
9124         * libs/gst/controller/gstcontroller.h:
9125           Less verbose logging add docs for unimplemented parts and correctly
9126           return when using unavailable parts.
9127
9128 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9129
9130         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9131         Move all the debug to the CLOCK category, and associate it with
9132         the clock object.
9133
9134 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9135
9136         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9137         Make take_buffer a bit quicker by removing redundant checks
9138         caused by calling gst_adapter_take.
9139
9140 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9141
9142         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9143           Don't leak GCond.
9144
9145         * tests/check/Makefile.am:
9146         * tests/check/elements/.cvsignore:
9147         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9148         (GST_START_TEST), (multiqueue_suite):
9149           Add some dead simple unit tests for the 'multiqueue' element
9150           (some bits don't work yet and are disabled for now).
9151
9152 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9153
9154         * gst/gstelement.c: (gst_element_get_request_pad),
9155         (gst_element_class_get_request_pad_template):
9156           Make gst_element_get_request_pad() create request pads only for
9157           request pad templates and not for, say, sometimes pad templates.
9158
9159 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9160
9161         * docs/design/draft-klass.txt:
9162           Add example that needs more thinking.
9163         
9164         * docs/design/draft-missing-plugins.txt:
9165           More thoughts about wrapper plugins.
9166         
9167         * docs/random/ensonic/embedded.txt:
9168         * docs/random/ensonic/profiling.txt:
9169           More design work.
9170
9171 2007-03-25  Wim Taymans  <wim@fluendo.com>
9172
9173         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9174         (gst_base_src_loop):
9175         Only push the segment events in the PLAYING state for live sources.
9176
9177 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9178
9179         * gst/gstpipeline.c: (gst_pipeline_change_state):
9180         Modify the clock distribution path in PAUSED->PLAYING so that we 
9181         never attempt to choose a new clock unless we're actually leaving
9182         the PAUSED state for the first time. This prevents choosing a
9183         different clock when the state_change gets called for a 2nd time due
9184         to some element doing an async state change.
9185
9186 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9187
9188         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9189         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9190         (gst_pad_chain_unchecked), (gst_pad_push):
9191         Revert last commit. This needs some more thoughts.
9192
9193 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9194
9195         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9196         (gst_pad_chain_unchecked), (gst_pad_push):
9197         Check in set_caps if the caps are compatible with the pad and remove
9198         two functions that are redundant now. Fixes #421543.
9199
9200 2007-03-22  Wim Taymans  <wim@fluendo.com>
9201
9202         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9203         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9204         Unref some more to make valgrind happy.
9205
9206 2007-03-22  Wim Taymans  <wim@fluendo.com>
9207
9208         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9209         (gst_system_clock_id_wait_jitter),
9210         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9211         Fix anoying regression that survived a few releases. When adding an
9212         async entry while blocking on a sync entry, the sync entry will unblock
9213         but still be busy, so it should continue to wait instead of returning
9214         _BUSY to the app.
9215         Add some comments here and there.
9216
9217         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9218         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9219         Add testcase for this.
9220
9221 2007-03-22  Wim Taymans  <wim@fluendo.com>
9222
9223         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9224         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9225         WRONG_STATE and can silently pause the task. All other cases should
9226         error out.
9227
9228 2007-03-22  Wim Taymans  <wim@fluendo.com>
9229
9230         Patch by: Ville Syrjala <syrjala at sci dot fi>
9231
9232         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9233         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9234         Improve debugging.
9235
9236 2007-03-21  Michael Smith  <msmith@fluendo.com>
9237
9238         * docs/pwg/advanced-types.xml:
9239           Fix some errors in the typefinding docs pointed out on irc.
9240
9241 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9242
9243         * libs/gst/base/gstbasesrc.c:
9244         Clarify FIXME comment in the face of having added unlock_stop()
9245
9246 2007-03-21  Wim Taymans  <wim@fluendo.com>
9247
9248         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9249         Prepare for release where we warn against possible app breakage in the
9250         case of live pipelines along with an env var to enable/disable live
9251         preroll mode (GST_COMPAT=[no-]live-preroll).
9252
9253 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9254
9255         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9256         So we should use correct constants for checking for None offset.
9257
9258 2007-03-20  Wim Taymans  <wim@fluendo.com>
9259
9260         * docs/design/part-block.txt:
9261         Mention the fact that the newly switched element should be set to at
9262         least PAUSED.
9263
9264 2007-03-20  Wim Taymans  <wim@fluendo.com>
9265
9266         * gst/gst.c:
9267         Fix compilation with registry disabled as spotted by Saur.
9268
9269 2007-03-20  Wim Taymans  <wim@fluendo.com>
9270
9271         Patch by: Olivier Crete <tester at tester dot ca>
9272
9273         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9274         Look at the pending state too when syncing the element state to the
9275         parent. Fixes #420133.
9276
9277 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9278
9279         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9280         (gst_base_sink_change_state):
9281         * libs/gst/base/gstbasesink.h:
9282         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9283         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9284         (gst_base_src_deactivate):
9285         * libs/gst/base/gstbasesrc.h:
9286         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9287         for sub-classes to correctly clear any state they set trying to
9288         unlock, such as clearing out unlock commands from a command fd.
9289         API: basesrc::unlock_stop
9290         API: basesink::unlock_stop
9291
9292         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9293         (gst_fd_sink_render), (gst_fd_sink_unlock),
9294         (gst_fd_sink_unlock_stop):
9295         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9296         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9297         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9298
9299         Implement unlock_stop in fdsrc and fdsink.
9300         Implement seeking in fdsrc when a seekable fd is passed, as in
9301         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9302
9303 2007-03-19  Wim Taymans  <wim@fluendo.com>
9304
9305         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9306
9307         * gst/gstelement.c: (gst_element_class_init):
9308         Fix pad-added and pad-removed signal signatures so that the pad type is
9309         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9310
9311 2007-03-19  Wim Taymans  <wim@fluendo.com>
9312
9313         * docs/gst/gstreamer-sections.txt:
9314         Add new element field and method.
9315
9316         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9317         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9318         (gst_bin_recalc_state), (gst_bin_get_state_func),
9319         (gst_bin_element_set_state), (gst_bin_change_state_func),
9320         (gst_bin_continue_func), (bin_bus_handler),
9321         (bin_push_state_continue), (bin_handle_async_start),
9322         (bin_handle_async_done), (gst_bin_handle_message_func):
9323         Make async state changes a bit smarter by using new ASYNC_START and
9324         ASYNC_DONE messages. This reduces the number of times we run the state
9325         recalculation thread.
9326         Don't change state of element with a pending ASYNC_START message.
9327         Deprecate STATE_DIRTY messages.
9328         
9329         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9330         (gst_element_get_state_func), (gst_element_continue_state),
9331         (gst_element_lost_state), (gst_element_set_state_func),
9332         (gst_element_change_state):
9333         * gst/gstelement.h:
9334         Keep the state that was last set by the app in a new element field.
9335         Don't allow state changes when handling an element event.
9336         Post ASYNC_START and ASYNC_DONE messages.
9337         Change lost_state so that we go to PAUSED and wait for the parent to set
9338         us to PLAYING again (so latency calculation can be performed)
9339         Export gst_element_change_state() method so that subclasses can use it.
9340         API: gst_element_change_state()
9341         API: GST_STATE_TARGET
9342
9343         * gst/gstpipeline.c: (gst_pipeline_class_init),
9344         (reset_stream_time), (gst_pipeline_change_state),
9345         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9346         Using the new ASYNC_START message we can reset the base_time when
9347         needed. This can then be used to implement base_time redistribution in
9348         flushing seeks so that we can remove the explicit seek handling.
9349         Perform latency query and configuration when going to PLAYING.
9350
9351         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9352         (gst_base_sink_query), (gst_base_sink_change_state):
9353         Post new ASYNC_START/ASYNC_DONE messages.
9354
9355         * tests/check/generic/sinks.c: (GST_START_TEST):
9356         Fix test because the bin will not set the async element to PLAYING right
9357         away.
9358
9359         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9360         Make the message check a little stronger.
9361         Handle ASYNC messages.
9362
9363         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9364         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9365         Expect ASYNC_DONE messages.
9366
9367 2007-03-19  Wim Taymans  <wim@fluendo.com>
9368
9369         * docs/gst/gstreamer-sections.txt:
9370         * gst/gstmessage.c: (gst_message_new_async_start),
9371         (gst_message_new_async_done), (gst_message_parse_info),
9372         (gst_message_parse_async_start):
9373         * gst/gstmessage.h:
9374         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9375         support.
9376
9377 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9378
9379         * tools/gst-inspect.c:
9380         (print_plugin_automatic_install_info_codecs):
9381           Now that we don't check for the 'Codec' keyword any longer in the
9382           klass, we shouldn't spew a warning if the klass isn't a decoder or
9383           encoder (since it might be a Source/Network, for example).
9384
9385 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9386
9387         * tools/gst-inspect.c:
9388         (print_plugin_automatic_install_info_codecs):
9389           Don't require decoder/demuxer/depayloader elements or
9390           encoder/muxer/paylader elements to have 'Codec' as part of their
9391           factory class string when introspecting a plugin's capabilities.
9392           draft-klass.txt mentions that it might be removed in future, and
9393           flump3dec doesn't have it as part of its class string, so chances
9394           are others might also not have it.
9395
9396 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9397
9398         * po/af.po:
9399         * po/az.po:
9400         * po/bg.po:
9401         * po/ca.po:
9402         * po/cs.po:
9403         * po/de.po:
9404         * po/en_GB.po:
9405         * po/fr.po:
9406         * po/it.po:
9407         * po/nb.po:
9408         * po/nl.po:
9409         * po/ru.po:
9410         * po/sq.po:
9411         * po/sr.po:
9412         * po/sv.po:
9413         * po/tr.po:
9414         * po/uk.po:
9415         * po/vi.po:
9416         * po/zh_CN.po:
9417         * po/zh_TW.po:
9418           Update translations from translation project
9419
9420 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9421
9422         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9423         (gst_child_proxy_set_property):
9424           Invert precondition check to be alike the ones in the mimiced gobject
9425           api.
9426
9427 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9428
9429         * docs/design/draft-tagreading.txt:
9430         * docs/random/ensonic/audiobaseclasses.txt:
9431           Do some Architect work.
9432
9433         * gst/gstobject.c: (gst_object_set_name):
9434           Add a WARNING.
9435
9436         * gst/gstpad.c:
9437           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9438
9439 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9440
9441         * gst/gstsystemclock.c: (gst_system_clock_init),
9442         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9443         Defer starting the async system clock thread until the first async
9444         wait is scheduled. Fixes #414986.
9445
9446 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9447
9448         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9449         (gst_single_queue_free):
9450           Fix small leak (free GstSingleQueue structure too, not only contents).
9451
9452 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9453
9454         * gst/gstbin.c:(gst_bin_add):
9455         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9456         * win32/common/libgstbase.def:
9457         * win32/common/libgstreamer.def:
9458         Add new exported functions.
9459
9460 2007-03-09  Wim Taymans  <wim@fluendo.com>
9461
9462         * docs/plugins/gstreamer-plugins-sections.txt:
9463         Fix GstTee docs.
9464
9465 2007-03-09  Wim Taymans  <wim@fluendo.com>
9466
9467         * docs/gst/gstreamer-sections.txt:
9468         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9469         * gst/gstbuffer.h:
9470         Add metadata copy functions. Fixes #393099.
9471         API: gst_buffer_copy_metadata()
9472
9473         * gst/gstutils.c: (gst_buffer_stamp):
9474         * libs/gst/base/gstbasetransform.c:
9475         (gst_base_transform_prepare_output_buffer):
9476         Use new metadata copy functions.
9477
9478 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9479
9480         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9481         (gst_identity_init), (gst_identity_check_perfect),
9482         (gst_identity_check_imperfect_timestamp),
9483         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9484         (gst_identity_set_property), (gst_identity_get_property):
9485         * plugins/elements/gstidentity.h:
9486         Separate out check-imperfect-timestamp and check-imperfect-offset.
9487         Put back check-perfect as it was to keep compatibility.
9488
9489 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9490
9491         * gst/gstelement.c: (gst_element_dispose):
9492         There's no need to warn if VOID_PENDING is not NONE here, as
9493         long as the state is NULL it's ok, and that's checked immediately
9494         above.
9495
9496 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9497
9498         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9499         Fix check for perfect stream to ignore buffers with -1 
9500         offsets/offset ends when checking data contiguity.
9501
9502 2007-03-08  Wim Taymans  <wim@fluendo.com>
9503
9504         * tools/gst-launch.c: (event_loop):
9505         Print INFO messages.
9506
9507 2007-03-08  Wim Taymans  <wim@fluendo.com>
9508
9509         * libs/gst/base/gstbasetransform.c:
9510         (gst_base_transform_sink_eventfunc),
9511         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9512         (gst_base_transform_activate):
9513         * libs/gst/base/gstbasetransform.h:
9514         Add support for dropping buffers with custom GstFlowReturn.
9515         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9516         buffers or dropped buffers.
9517
9518         * docs/libs/gstreamer-libs-sections.txt:
9519         docs for new custom return code.
9520
9521         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9522         Use drop support in base class to implement drop-probability.
9523
9524 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9525
9526         * gst/gst.c: (load_plugin_func):
9527         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9528         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9529         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9530           Remove newlines at end of debug log strings.
9531
9532 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9533
9534         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9535         Only post bus message at max, once per buffer received.
9536
9537 2007-03-07  Wim Taymans  <wim@fluendo.com>
9538
9539         * docs/design/Makefile.am:
9540         * docs/design/part-synchronisation.txt:
9541         Add doc about synchronisation
9542
9543         * docs/design/draft-latency.txt:
9544         * docs/design/part-TODO.txt:
9545         * docs/design/part-clocks.txt:
9546         * docs/design/part-events.txt:
9547         * docs/design/part-gstbus.txt:
9548         * docs/design/part-gstpipeline.txt:
9549         * docs/design/part-live-source.txt:
9550         * docs/design/part-messages.txt:
9551         * docs/design/part-overview.txt:
9552         * docs/design/part-streams.txt:
9553         * docs/design/part-trickmodes.txt:
9554         Documentation updates.
9555
9556 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9557
9558         * gstreamer.doap:
9559         Update the doap file.
9560
9561 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9562
9563         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9564         Rename non-perfect to imperfect for Mike and for the sanctity of the
9565         language.
9566         Also make sure bus message gets emitted for data-incontiguities.
9567
9568 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9569
9570         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9571         (gst_identity_start):
9572         * plugins/elements/gstidentity.h:
9573         Emit bus message if check-perfect is true and we encounter a
9574         non-perfect stream between 2 consecutive buffers.
9575         Fixes #415394.
9576
9577 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9578
9579         * configure.ac:
9580         Back to CVS
9581
9582 === release 0.10.12 ===
9583
9584 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9585
9586         * configure.ac:
9587           releasing 0.10.12, "Inevitable Demise"
9588
9589 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9590
9591         * configure.ac:
9592          Version 0.10.11.2 (0.10.12 pre-release)
9593          Bump libtool versioning.
9594
9595 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9596
9597         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9598           Log flow-names and not numbers.
9599
9600 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9601
9602         * configure.ac:
9603           Convert to new AG_GST style.
9604
9605 2007-02-28  Wim Taymans  <wim@fluendo.com>
9606
9607         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9608         Don't unref query twice.
9609
9610 2007-02-28  Wim Taymans  <wim@fluendo.com>
9611
9612         * gst/gstvalue.c: (gst_value_transform_object_string),
9613         (_gst_value_initialize):
9614         Implement GstObject -> string transform so we print object names
9615         when serializing GValues containing GstObjects.
9616
9617 2007-02-28  Wim Taymans  <wim@fluendo.com>
9618
9619         * docs/gst/gstreamer-sections.txt:
9620         Add new stuff to docs.
9621
9622 2007-02-28  Wim Taymans  <wim@fluendo.com>
9623
9624         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9625         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9626         (gst_base_sink_change_state):
9627         Improve latency query code.
9628         Don't leak latency events.
9629
9630         * tests/check/gst/gstbin.c: (GST_START_TEST):
9631         Improve debugging.
9632
9633 2007-02-28  Wim Taymans  <wim@fluendo.com>
9634
9635         * gst/gstelement.c: (gst_element_message_full),
9636         (gst_element_get_state_func):
9637         * gst/gstelement.h:
9638         Improve docs a little. Added Since: for new macro.
9639
9640         * gst/gstobject.c: (gst_object_sink):
9641         * gst/gstpipeline.c: (gst_pipeline_change_state),
9642         (gst_pipeline_set_new_stream_time):
9643         * gst/gstpipeline.h:
9644         Improve debugging and docs.
9645
9646         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9647         Improve debugging.
9648
9649 2007-02-28  Wim Taymans  <wim@fluendo.com>
9650
9651         * gst/gstelement.c: (gst_element_message_full),
9652         (gst_element_set_locked_state), (gst_element_get_state_func),
9653         (gst_element_change_state):
9654         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9655         Documentation updates.
9656         Small code cleanups.
9657
9658         * gst/gstmessage.c: (gst_message_new_info),
9659         (gst_message_parse_info):
9660         * gst/gstmessage.h:
9661         API: gst_message_new_info()
9662         API: gst_message_parse_info()
9663         Add INFO message create and parse code.
9664
9665 2007-02-28  Wim Taymans  <wim@fluendo.com>
9666
9667         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9668         (bin_query_latency_done):
9669         Also report the live parameter of a latency query.
9670
9671 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9672
9673         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9674           Copy the current generic/states example from -base and adapt so
9675           we can use the exact same code everywhere.
9676           Check a STATES_IGNORE_ELEMENTS env var which can be used
9677           to ignore certain element factories for this test, which is
9678           what is being done in -base
9679         * tests/check/Makefile.am:
9680           Mention this environment variable.
9681
9682 2007-02-27  Wim Taymans  <wim@fluendo.com>
9683
9684         * docs/gst/gstreamer-sections.txt:
9685         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9686         (gst_bus_timed_pop), (gst_bus_pop):
9687         * gst/gstbus.h:
9688         API: gst_bus_timed_pop()
9689         Implement gst_bus_timed_pop() to do a blocking timed wait for a
9690         message to arrive on the bus.
9691
9692         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9693         (gst_bus_suite):
9694         Two unit tests for new _timed_pop() function.
9695
9696 2007-02-23  Wim Taymans  <wim@fluendo.com>
9697
9698         * gst/gstpipeline.c: (gst_pipeline_change_state),
9699         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9700         Don't ref a NULL clock in _provide_clock_func().
9701         Don't allow an INVALID delay.
9702         Don't try to calculate base_time with an invalid start_time.
9703         Also distribute and notify a NULL clock when it was selected.
9704
9705         * tools/gst-launch.c: (event_loop):
9706         Don't crash when a NULL clock was selected in the pipeline.
9707
9708 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9709
9710         * docs/design/Makefile.am:
9711         * docs/design/draft-missing-plugins.txt:
9712         * docs/random/draft-missing-plugins.txt:
9713           Some small updates: update plugin system identifier prefix
9714           ('gstreamer.net' to 'gstreamer'), mention our new install
9715           API in libgstbaseutils rather than libgimme-codec, add
9716           reference to the online docs.
9717
9718 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9719
9720         * win32/common/config.h:
9721           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
9722           use moap cl ci to only check in what is mentioned in the ChangeLog.
9723
9724 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9725
9726         * docs/gst/gstreamer-sections.txt:
9727         * gst/gstelement.h:
9728           Fix up documentation to link to the correct GstGError section.
9729           Add GST_ELEMENT_INFO macro since someone else added a Info message.
9730
9731 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9732
9733         * tools/gst-launch.c: (event_loop):
9734           Make sure that we actually show the important message part of a
9735           warning message.
9736           No need to check if the gerror is not NULL to free; first of all
9737           g_free accepts NULL; and second the default error handler would
9738           segfault if gerror was NULL.
9739
9740 2007-02-21  Wim Taymans  <wim@fluendo.com>
9741
9742         * docs/gst/gstreamer-sections.txt:
9743         Removed docs as well.
9744
9745 2007-02-21  Wim Taymans  <wim@fluendo.com>
9746
9747         * gst/gstmessage.c: (gst_message_parse_duration):
9748         * gst/gstmessage.h:
9749         Remove new messages for release.
9750
9751 2007-02-20  Wim Taymans  <wim@fluendo.com>
9752
9753         * docs/design/part-gstghostpad.txt:
9754         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9755         (gst_ghost_pad_new_full):
9756         Make the ghostpad a parent of the internal pad again for better backward
9757         compatibility. Don't write code that relies on this however.
9758
9759         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9760         (gst_pad_link_check_hierarchy):
9761         Require that parents should be GstElements in the hierarchy check.
9762
9763 2007-02-20  Wim Taymans  <wim@fluendo.com>
9764
9765         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9766         (gst_bin_change_state_func), (bin_query_min_max_init),
9767         (bin_query_latency_fold), (bin_query_latency_done),
9768         (gst_bin_query):
9769         Improve debug info.
9770         Implement latency query.
9771
9772 2007-02-20  Wim Taymans  <wim@fluendo.com>
9773
9774         * docs/design/part-gstghostpad.txt:
9775         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9776         (gst_ghost_pad_internal_do_activate_push),
9777         (gst_ghost_pad_internal_do_activate_pull),
9778         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9779         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9780         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9781         Do not set the internal pad as a parent anymore so we can avoid
9782         hierarchy linking errors when the ghostpad has no parent yet. This also
9783         fixes failed activation because of unlinked internal pads, which in
9784         turn fixes the impossible case where you have to activate a pad before
9785         you can add it to a running element.
9786         Also fix the docs.
9787
9788         * gst/gstpad.c: (pre_activate), (post_activate),
9789         (gst_pad_set_active), (gst_pad_activate_pull),
9790         (gst_pad_activate_push), (gst_pad_check_pull_range):
9791         Add some more debug info.
9792         Mark activation mode in pre_activate so that we don't try to activate in
9793         endless loops. Fixes #385084.
9794
9795 2007-02-19  Wim Taymans  <wim@fluendo.com>
9796
9797         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9798         (gst_base_transform_check_get_range):
9799         Implement a checkgetrange function instead of relying on the default
9800         core behaviour that assumes we can operate in pull mode if we have a
9801         getrange function. First step at fixing #385084.
9802
9803 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
9804
9805         * gst/gstchildproxy.h:
9806         * libs/gst/base/gstbasesink.h:
9807         * libs/gst/base/gstbasesrc.h:
9808         * libs/gst/base/gstbasetransform.h:
9809         More docs coverage and some ChangeLog surgery (add missing names)
9810
9811 2007-02-15  Wim Taymans  <wim@fluendo.com>
9812
9813         * docs/design/part-TODO.txt:
9814         * docs/design/part-activation.txt:
9815         * docs/design/part-block.txt:
9816         * docs/design/part-buffering.txt:
9817         * docs/design/part-clocks.txt:
9818         * docs/design/part-element-source.txt:
9819         * docs/design/part-events.txt:
9820         * docs/design/part-gstbin.txt:
9821         * docs/design/part-gstbus.txt:
9822         * docs/design/part-gstpipeline.txt:
9823         * docs/design/part-live-source.txt:
9824         * docs/design/part-messages.txt:
9825         * docs/design/part-overview.txt:
9826         * docs/design/part-qos.txt:
9827         * docs/design/part-query.txt:
9828         * docs/design/part-states.txt:
9829         * docs/design/part-trickmodes.txt:
9830         Some doc updates. Start renaming from stream_time to running_time where
9831         it was used wrongly.
9832
9833 2007-02-15  Wim Taymans  <wim@fluendo.com>
9834
9835         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9836         Answer LATENCY query.
9837
9838 2007-02-15  Wim Taymans  <wim@fluendo.com>
9839
9840         * tests/check/gst/gstevent.c: (event_probe), (test_event),
9841         (GST_START_TEST):
9842         Improve debugging.
9843
9844 2007-02-15  Wim Taymans  <wim@fluendo.com>
9845
9846         * gst/gstpad.c: (gst_pad_get_internal_links_default),
9847         (gst_pad_dispatcher):
9848         Improve debugging of default pad dispatcher and query functions.
9849
9850 2007-02-15  Wim Taymans  <wim@fluendo.com>
9851
9852         * docs/gst/gstreamer-sections.txt:
9853         Remove old unused method.
9854
9855 2007-02-13  Wim Taymans  <wim@fluendo.com>
9856
9857         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9858         Fix check
9859
9860 2007-02-13  Wim Taymans  <wim@fluendo.com>
9861
9862         * docs/design/part-seeking.txt:
9863         Some small update.
9864
9865         * gst/gstsegment.c: (gst_segment_set_seek):
9866         Revert old bogus change that should make seeking work again.
9867
9868 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
9869
9870         * docs/random/ensonic/dynlink.txt:
9871         * docs/random/ensonic/interfaces.txt:
9872         * docs/random/ensonic/receipies.txt:
9873           Possible dynamic reconnection api, plus some type fixes the other two
9874           docs.
9875
9876 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
9877
9878         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9879         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9880         Also check for an absolute path following file:// in the filesrc
9881         element. Remove redundant check and call g_path_is_absolute() on the
9882         unescaped location.
9883
9884 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
9885
9886         * docs/design/draft-klass.txt:
9887           Add existing category analysis.
9888           
9889         * gst/gstcaps.c:
9890           Fix doc example, framerate is a fraction.
9891
9892 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
9893
9894         * configure.ac:
9895         * docs/gst/Makefile.am:
9896         * docs/gst/gstreamer-sections.txt:
9897         * docs/libs/Makefile.am:
9898           Erm, forgot a bunch of --extra-dir.
9899
9900 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
9901
9902         * configure.ac:
9903         * docs/gst/Makefile.am:
9904         * docs/libs/Makefile.am:
9905         * docs/plugins/Makefile.am:
9906           Add crossreferences to glib/gobject docs.
9907
9908 2007-02-12  Wim Taymans  <wim@fluendo.com>
9909
9910         * docs/design/draft-latency.txt:
9911         Small update.
9912
9913         * docs/libs/gstreamer-libs-sections.txt:
9914         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9915         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
9916         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
9917         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
9918         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
9919         (gst_base_sink_get_position), (gst_base_sink_query),
9920         (gst_base_sink_change_state):
9921         * libs/gst/base/gstbasesink.h:
9922         API: gst_base_sink_query_latency() to let subclasses query the upstream
9923         latency.
9924         API: gst_base_sink_get_latency() to let subclasses query the configured
9925         latency in the sink.
9926         Implement query and set latency.
9927         Update some docs.
9928         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
9929         don't continue preroll when we are flushing. Fixes #405284.
9930
9931         * tests/check/pipelines/stress.c: (change_state_timeout),
9932         (quit_timeout), (GST_START_TEST), (stress_suite):
9933         Test for #405284.
9934
9935 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
9936
9937         Patch by: René Stadler <mail at renestadler de>
9938
9939         * docs/gst/gstreamer-sections.txt:
9940         * gst/gsttaglist.c: (_gst_tag_initialize):
9941         * gst/gsttaglist.h:
9942           API: add GST_TAG_REFERENCE_LEVEL (#403597).
9943
9944 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
9945
9946         * docs/libs/Makefile.am:
9947           Fix path to core docs.
9948
9949         * gst/gstbin.c: (gst_bin_get_by_interface),
9950         (gst_bin_iterate_all_by_interface):
9951           Refix docs by also renaming 'interface' to 'iface' in implementation.
9952
9953         * docs/gst/gstreamer-sections.txt:
9954         * gst/gstcaps.c:
9955         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
9956         * gst/gstchildproxy.h:
9957         * gst/gstelementfactory.c:
9958         * gst/gstpadtemplate.h:
9959         * libs/gst/controller/gstcontroller.c:
9960         (gst_controlled_property_new):
9961           Document more.
9962
9963 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
9964
9965         * gst/gstbin.h:(gst_bin_get_by_interface),
9966         (gst_bin_iterate_all_by_interface):
9967         Replace interface parameter name by iface as interface is 
9968         a reserved keyword in Visual Studio for C++ projects so it removes
9969         a build error for application developpers using VS.
9970         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
9971         Fix a bug on Windows in uri format check. Now the prefix checked
9972         is file:// and next we check if the path after file:// is absolute.
9973         * win32/common/libgstbase.def:
9974         * win32/common/libgstdataprotocol.def:
9975         * win32/common/libgstgstreamer.def:
9976         Add new exported functions.
9977
9978 2007-02-09  Andy Wingo  <wingo@pobox.com>
9979
9980         * tests/check/pipelines/simple-launch-lines.c
9981         (simple_launch_lines_suite, test_tee): Disable tee test until I
9982         have time to fix it :-(
9983
9984         * tests/check/Makefile.am (noinst_HEADERS): 
9985         * tests/check/libs/libsabi.c: 
9986         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
9987         * tests/check/gst/gstabi.c: 
9988         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
9989
9990         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
9991         tests for push and pull tee behavior.
9992
9993         * plugins/elements/gsttee.h: 
9994         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
9995         mark as deprecated as well as unimplemented. It was a crack idea.
9996         Add support for tee operating in pull mode, off by default.
9997
9998         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
9999         normal-case logs down to LOG, raise errors to WARNING.
10000         (gst_registry_xml_read_cache): Don't log before calling a function
10001         that logs.
10002
10003         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10004         exit (registry finalize).
10005         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10006         DEBUG log when we emit signals that people don't even have the
10007         chance to connect to.
10008         (gst_registry_scan_path_level): Less logging in the normal case.
10009
10010 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10011
10012         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10013
10014         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10015         Correctly generate EOS for non-seekable files. We don't have a total
10016         length for them and would get an unexpected end of file if we only
10017         special-cased for regular files. (Fixes: #404569)
10018
10019 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10020
10021         * tests/check/elements/filesrc.c: (GST_START_TEST),
10022         (filesrc_suite):
10023         Add unit test for the GstURIHandler interface in filesrc. This also
10024         tests the newly added file://localhost/foo/bar support.
10025
10026 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10027
10028         * gst/gstelementfactory.h:
10029           The klass string is not a hierarchy. Add reference to the design doc
10030           for more information and common types.
10031
10032 2007-02-02  Wim Taymans  <wim@fluendo.com>
10033
10034         * gst/gstquery.c: (gst_query_new_latency):
10035         Remove old structure field.
10036
10037 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10038
10039         * tools/gst-launch.1.in:
10040           Give example for network streaming (#351998)
10041
10042 2007-02-02  Wim Taymans  <wim@fluendo.com>
10043
10044         * docs/gst/gstreamer-sections.txt:
10045         Add docs for new methods.
10046
10047         * gst/gstevent.c: (gst_event_new_latency),
10048         (gst_event_parse_latency):
10049         * gst/gstevent.h:
10050         Add new LATENCY event to configure latency in a pipeline.
10051         API: gst_event_new_latency
10052         API: gst_event_parse_latency
10053
10054         * gst/gstmessage.c: (gst_message_new_buffering),
10055         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10056         (gst_message_new_latency), (gst_message_parse_buffering),
10057         (gst_message_parse_lost_preroll):
10058         * gst/gstmessage.h:
10059         Added messages used in draft-latency.
10060         API: gst_message_new_lost_preroll
10061         API: gst_message_parse_lost_preroll
10062         API: gst_message_new_prerolled
10063         API: gst_message_new_latency
10064
10065         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10066         (gst_query_parse_latency):
10067         * gst/gstquery.h:
10068         Implemented new latency query as in design doc.
10069         API: gst_query_new_latency
10070         API: gst_query_set_latency
10071         API: gst_query_parse_latency
10072
10073 2007-02-02  Wim Taymans  <wim@fluendo.com>
10074
10075         * docs/design/draft-latency.txt:
10076         Slight redesign to allow for dynamic latency adjustments.
10077
10078         * docs/design/part-negotiation.txt:
10079         Fix some typos.
10080
10081 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10082
10083         reviewed by: Wim Taymans <wim@fluendo.com>
10084
10085         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10086         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10087         Allow file://localhost/foo/bar URLs and correctly fail for every other
10088         hostname that one sets. This was gnomevfssrc is linked for those if
10089         installed as it can handle it (#403172)
10090
10091 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10092
10093         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10094
10095         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10096         (unref_data), (gst_collect_pads_add_pad_full):
10097         * libs/gst/base/gstcollectpads.h:
10098         Don't put the previously added destroy notify in the GstCollectData
10099         struct as all it's padding is already used and we don't want to break
10100         ABI. Instead put in the pad's GObject data for now. This should be
10101         cleaned up for 0.11 (#402393).
10102
10103 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10104
10105         reviewed by: Wim Taymans <wim@fluendo.com>
10106
10107         * docs/libs/gstreamer-libs-sections.txt:
10108         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10109         (unref_data), (gst_collect_pads_add_pad),
10110         (gst_collect_pads_add_pad_full):
10111         * libs/gst/base/gstcollectpads.h:
10112         API: Add function to specify a destroy notification for custom
10113         GstCollectData when adding new pads in GstCollectPads (#402393).
10114
10115 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10116
10117         * po/sv.po:
10118           Update Swedish translation (#378255).
10119
10120 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10121
10122         * docs/design/draft-klass.txt:
10123           Fix the previous change, this is a list of categories and not a hierarchy.
10124
10125 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10126
10127         * docs/design/draft-klass.txt:
10128           Add info about how to get a list of used classes.
10129
10130 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10131
10132         * plugins/elements/gsttypefindelement.c:
10133         (gst_type_find_element_chain_do_typefinding),
10134         (gst_type_find_element_change_state):
10135           Don't leak found caps in chain function (no idea why that never
10136           showed up as a leak anywhere).
10137
10138 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10139
10140         * gst/gstplugin.h:
10141           Fix and expand GstPluginDesc API docs.
10142
10143 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10144
10145         * gst/gstcaps.c:
10146         * gst/gstelementfactory.c:
10147         * gst/gstpadtemplate.h:
10148           api doc fixes
10149
10150         * libs/gst/controller/gstcontroller.c:
10151         (gst_controlled_property_new):
10152         * tests/examples/controller/audio-example.c:
10153           comment fixes
10154
10155 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10156
10157         * configure.ac:
10158           comment about refining the xml deps
10159
10160         * docs/manuals.mak:
10161           comments about moving away from jade for docs
10162         
10163         * gst/gst.c:
10164           recommit the ifdefs to use the binary registry
10165         
10166         * gst/gstbin.c: (gst_bin_change_state_func):
10167           this break is obsolete
10168
10169         * gst/gstelementfactory.h:
10170           better GST_ELEMENT_DETAILS docs, add comment about translation
10171
10172         * gst/gstinfo.h:
10173           remove eol slash
10174
10175         * gst/gstobject.c: (gst_signal_object_get_type):
10176           add G_UNLIKELY as usual
10177
10178         * gst/gstpad.c: (gst_pad_event_default):
10179           add fall trhu comment
10180
10181         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10182         (gst_registry_binary_initialize_magic),
10183         (gst_registry_binary_save_string),
10184         (gst_registry_binary_save_pad_template),
10185         (gst_registry_binary_save_feature),
10186         (gst_registry_binary_save_plugin),
10187         (gst_registry_binary_write_cache),
10188         (gst_registry_binary_check_magic),
10189         (gst_registry_binary_load_pad_template),
10190         (gst_registry_binary_load_feature),
10191         (gst_registry_binary_load_plugin),
10192         (gst_registry_binary_read_cache):
10193           comment typo and formatting
10194
10195         * gst/gstutils.c: (gst_element_state_get_name),
10196         (gst_element_state_change_return_get_name):
10197           remove obsolete breaks
10198
10199         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10200           add FIXME 0.11 and remove cpp comment
10201
10202 2007-01-29  Edward Hervey  <edward@fluendo.com>
10203
10204         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10205         Fix print statement in an even more portable way.
10206
10207 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10208
10209         * docs/gst/gstreamer-sections.txt:
10210         * gst/gstutils.h:
10211           API: add GST_ROUND_DOWN_* macros (#401781).
10212
10213 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10214
10215         * docs/gst/gstreamer.types.in:
10216         * gst/gstregistry.c: (gst_registry_class_init):
10217           Document registry signals and make gtk-doc pick them up (#401381).
10218
10219 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10220
10221         * docs/pwg/building-testapp.xml:
10222           Add some audioconverts and audioresample to the pipeline, and some
10223           more comments and error handling.
10224
10225 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10226
10227         * docs/manual/manual.xml:
10228         * docs/pwg/pwg.xml:
10229           Fix typo (#400987).
10230
10231 2007-01-26  Wim Taymans  <wim@fluendo.com>
10232
10233         * gst/gstcaps.c: (gst_static_caps_get):
10234         Init caps flags too.
10235
10236 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10237
10238         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10239
10240         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10241         If not using mmap'ed files try to seek to the end instead of the
10242         start to determine whether we can seek at all. This fixes the case
10243         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10244         seeks for everything afterwards fail. Fixes #400656
10245
10246 2007-01-25  Wim Taymans  <wim@fluendo.com>
10247
10248         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10249         Add some refcount debugging.
10250         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10251         in multiple streaming threads.
10252
10253 2007-01-25  Wim Taymans  <wim@fluendo.com>
10254
10255         Patch by: David Schleef <ds at schleef dot org>
10256
10257         * docs/libs/gstreamer-libs-sections.txt:
10258         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10259         * libs/gst/base/gstadapter.h:
10260         API: gst_adapter_copy() that can reduce the amount of memcpy when
10261         getting data from the adapter. Fixes #388201.
10262
10263 2007-01-25  Edward Hervey  <edward@fluendo.com>
10264
10265         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10266         In print statements, "%x" is for guint. Fixes build on macosx.
10267
10268 2007-01-24  Edward Hervey  <edward@fluendo.com>
10269
10270         * plugins/elements/gstmultiqueue.c:
10271         (gst_multi_queue_loop):
10272         Small fix.
10273         (single_queue_overrun_cb), (single_queue_underrun_cb),
10274         (single_queue_check_full), (gst_single_queue_new):
10275         Implement single queue growth system.
10276         This uses the extra-size properties, and will grow single queues by
10277         that much if one goes full whereas there are others empty. This is
10278         called extra-mode in the code.
10279         When a single queue's levels go back below the initial max-size
10280         limits, it is no longer in extra-mode. This is to ensure we don't
10281         consume too much memory.
10282         Fixes #399875
10283
10284 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10285
10286         * gst/gst.c: (gst_init_get_option_group):
10287           Make warning about late g_thread_init() calls a bit more explicit,
10288           so that it's more obvious to application developers what they need
10289           to do if a user files a bug against their application.
10290
10291 2007-01-22  Edward Hervey  <edward@fluendo.com>
10292
10293         * plugins/elements/gstmultiqueue.c:
10294         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10295         Remove previous hack of unsetting the flushing flag for the source pad
10296         instead of activating it. Instead, fix the source pad activate function
10297         so that it no longer depends on having a parent set or not.
10298
10299 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10300
10301         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10302
10303         * docs/manual/basics-bus.xml:
10304           Fix example code, gst_element_unref() doesn't exist any longer.
10305
10306 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10307
10308         Patch by: Mark Nauwelaerts <manauw at skynet be>
10309
10310         * gst/gstpad.c:
10311           Fix two docs typoes (#399094).
10312
10313 2007-01-19  Edward Hervey  <edward@fluendo.com>
10314
10315         * docs/faq/gst-uninstalled:
10316         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10317         depending on libgstbaseutils can work in uninstalled environment.
10318
10319 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10320
10321         * gst/gsttaglist.h:
10322         * gst/gsttagsetter.c:
10323         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10324         statement for new tag.
10325
10326 2007-01-17  Edward Hervey  <edward@fluendo.com>
10327
10328         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10329         When dynamically creating single queues, activate sinkpad before adding
10330         it.
10331         We should be doing the same thing for the source pad, but we can't
10332         since it would call a method which needs the parent to be set in order
10333         to work propertly. Instead of activating the source pad, we just unset
10334         the flushing flag, which is the minimal requirement for adding a pad
10335         to an element in a state greater than READY.
10336
10337 2007-01-17  Edward Hervey  <edward@fluendo.com>
10338
10339         * docs/faq/gst-uninstalled:
10340         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10341         Mac OS X.
10342
10343 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10344
10345         * tests/check/gst/gstabi.c:
10346         * tests/check/gst/struct_hppa.h:
10347         * tests/check/libs/libsabi.c:
10348         * tests/check/libs/struct_hppa.h:
10349           Add ABI structs for HPPA (see #393796).
10350
10351 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10352
10353         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10354           Actually write ABI structs to the file specified in the GST_ABI
10355           environment variable, as the message we print claims we would.
10356
10357 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10358
10359         * tests/check/gst/gsttask.c:
10360           Fix header comment.
10361
10362 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10363
10364         * gst/gsttaglist.c: (_gst_tag_initialize):
10365           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10366           previous two entries.
10367
10368 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10369
10370         * docs/gst/gstreamer-sections.txt:
10371         * gst/gsttaglist.c: (_gst_tag_initialize):
10372         * gst/gsttaglist.h:
10373           Add tag support for beat-per-minute.
10374
10375 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10376
10377         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10378         (gst_registry_binary_initialize_magic),
10379         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10380         (gst_registry_binary_save_pad_template),
10381         (gst_registry_binary_save_feature),
10382         (gst_registry_binary_save_plugin),
10383         (gst_registry_binary_write_cache),
10384         (gst_registry_binary_check_magic),
10385         (gst_registry_binary_load_pad_template),
10386         (gst_registry_binary_load_feature),
10387         (gst_registry_binary_load_plugin),
10388         (gst_registry_binary_read_cache):
10389         * gst/gstregistrybinary.h:
10390           Use glib types, cleanup comments, impement interfaces and uri-types.
10391
10392 2007-01-13  Andy Wingo  <wingo@pobox.com>
10393
10394         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10395         getrange() to return buffers with other caps, while we fix
10396         demuxers and typefind, or otherwise change part-negotiation.txt.
10397
10398 2007-01-12  Andy Wingo  <wingo@pobox.com>
10399
10400         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10401         Factor start/stop into this private function instead of partially
10402         in activate functions and partially in the change_state function.
10403         Fixes setup before the element has changed from READY->PAUSED, as
10404         is the case in pull-mode pipelines.
10405         (gst_base_transform_sink_activate_push)
10406         (gst_base_transform_src_activate_pull): Refactor to use
10407         gst_base_transform_activate().
10408         (gst_base_transform_change_state): Removed, not needed any more.
10409
10410         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10411         Truncate before fixating.
10412         
10413         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10414         Don't set_caps() if the result of fixating is ANY, as it's not
10415         supported, and not necessary in the case of a link with no
10416         template caps on either side. Fixes tests/check/libs/basesrc in
10417         some pull-mode tests.
10418
10419         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10420         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10421         (gst_base_transform_src_activate_pull): 
10422         Track the activation mode.
10423         (gst_base_transform_setcaps): In pull mode, when activating the
10424         src pad, after activating the sink pad, activate the sink pad's
10425         peer, as discussed in part-negotiation.txt.
10426
10427         * libs/gst/base/gstbasesrc.h: 
10428         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10429         vmethod, as in basesink.
10430
10431         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10432
10433         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10434         mode, first proxy the setcaps to the peer pad.
10435         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10436         new fixate vmethod.
10437         (gst_base_sink_default_activate_pull): Rename from
10438         gst_base_sink_activate_pull.
10439         (gst_base_sink_negotiate_pull): New function, performs negotiation
10440         in pull mode before calling ::activate_pull().
10441         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10442         vmethod instead of the default implementation. I have no idea how
10443         this worked before. Negotiate before calling activate_pull.
10444
10445         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10446         sink pads in pull mode. In addition to being correct, fixes
10447         filesrc ! decodebin ! identity ! fakesink.
10448         (gst_pad_get_range, gst_pad_pull_range): Don't call
10449         gst_pad_set_caps() if the caps changes; instead error out with
10450         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10451
10452 2007-01-12  Andy Wingo  <wingo@pobox.com>
10453
10454         * docs/design/part-negotiation.txt: Update with more policy.
10455
10456 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10457
10458         * libs/gst/check/gstbufferstraw.h:
10459         * libs/gst/check/gstcheck.h:
10460           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10461           belongs.
10462
10463 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10464
10465         * tests/check/Makefile.am:
10466         * tests/check/gst/.cvsignore:
10467         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10468         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10469         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10470         (GST_START_TEST), (gst_tag_setter_suite):
10471           Add minimal unit test for beforementioned GstTagSetter bug.
10472
10473 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10474
10475         Patch by: René Stadler <mail at renestadler dot de>
10476
10477         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10478           gst_tag_list_merge() returns a new list, so it's not the best idea
10479           to ingore its return value. Effectively meant that tags could only
10480           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10481           Also add function guard to require a non-NULL taglist as input (has
10482           always been so due to gst_tag_list_copy(), just making it explicit).
10483
10484 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10485
10486         * docs/random/draft-missing-plugins.txt:
10487           Some additions: mention new API that is supposed to be used at the
10488           various stages; short blob about new gst-inspect introspection
10489           option; mention potential future problem with plugins that have
10490           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10491
10492 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10493
10494         * tools/gst-inspect.c:
10495         (print_plugin_automatic_install_info_codecs),
10496         (print_plugin_automatic_install_info_protocols),
10497         (print_plugin_automatic_install_info), (main):
10498         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10499         introspect plugin files and get machine-parsable output that corresponds
10500         to the last bit of the missing-plugin installer string (small gotcha:
10501         doesn't take into account ranks).
10502
10503 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10504
10505         * configure.ac:
10506         * docs/gst/gstreamer-sections.txt:
10507         * gst/Makefile.am:
10508         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10509         (gst_registry_lookup_locked):
10510         * gst/gstregistry.h:
10511         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10512         (gst_registry_binary_initialize_magic),
10513         (gst_registry_binary_save_string),
10514         (gst_registry_binary_save_pad_template),
10515         (gst_registry_binary_save_feature),
10516         (gst_registry_binary_save_plugin),
10517         (gst_registry_binary_write_cache),
10518         (gst_registry_binary_check_magic),
10519         (gst_registry_binary_load_pad_template),
10520         (gst_registry_binary_load_feature),
10521         (gst_registry_binary_load_plugin),
10522         (gst_registry_binary_read_cache):
10523         * gst/gstregistrybinary.h:
10524         * gst/gstregistryxml.c: (load_feature),
10525         (gst_registry_xml_read_cache):
10526           commit binary registry (disabled by default, see #359653)
10527
10528 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10529
10530         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10531           Fix 'make check' too.
10532
10533 2007-01-10  Andy Wingo  <wingo@pobox.com>
10534
10535         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10536         notes.
10537         
10538         * docs/design/part-negotiation.txt: Update with, um, one way that
10539         pull-mode negotiation might work?
10540
10541         * gst/gstpad.h: 
10542         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10543         that the pad must be a src pad; makes sense to call it the other
10544         way in pull mode, and the logic is symmetric anyway.
10545
10546 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10547
10548         * plugins/elements/gstfilesink.c:
10549           Include <stdio.h> for fseeko().
10550
10551 2007-01-10  Wim Taymans  <wim@fluendo.com>
10552
10553         * gst/gstevent.c:
10554         * gst/gstevent.h:
10555         Reserve LATENCY event.
10556
10557 2007-01-09  Wim Taymans  <wim@fluendo.com>
10558
10559         * docs/design/draft-latency.txt:
10560         Updates.
10561
10562 2007-01-09  Wim Taymans  <wim@fluendo.com>
10563
10564         * docs/design/draft-latency.txt:
10565         Updates.
10566
10567         * gst/gstelement.h:
10568         * gst/gststructure.c:
10569         * gst/gsttrace.c:
10570         Small typo fixes.
10571
10572 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10573
10574         * tests/check/.cvsignore:
10575           Ignore test-registry.xml as well.
10576
10577 2007-01-09  Wim Taymans  <wim@fluendo.com>
10578
10579         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10580         unref data at the end when we are done with the pad.
10581
10582 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10583
10584         * docs/gst/gstreamer-sections.txt:
10585         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10586         (init_post), (gst_deinit), (gst_update_registry):
10587         * gst/gst.h:
10588           API: add gst_update_registry() (#391296).
10589
10590         * tests/check/Makefile.am:
10591         * tests/check/gst/gstregistry.c:
10592         * tests/check/gst/.cvsignore:
10593           Simple unit test for the above.
10594
10595 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10596
10597         * gst/gstregistry.c: (gst_registry_scan_path_level):
10598           Plugin extension on HP-UX is .sl, add that to the list of approved
10599           plugin extensions (see #393796).
10600
10601         * tests/check/gst/gstpad.c: (GST_START_TEST):
10602           ulong => gulong. Fixes compilation with HP-UX compiler.
10603
10604         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10605           Fix compilation if valgrind headers are not available.
10606
10607 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10608
10609         * win32/common/libgstreamer.def: 
10610           Add new exported function.
10611         * win32/vs6/libgstbase.dsp: 
10612           Add gstdataqueue.c to the build.
10613         * win32/vs6/libgstcoreelements.dsp:
10614           Add gstmultiqueue.c to the build.
10615         
10616 2007-01-06  Andy Wingo  <wingo@pobox.com>
10617
10618         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10619         activate_pull(), providing for a way to specialize the process of
10620         spawning a thread to pull on the sink pad. There is a default
10621         implementation.
10622
10623         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10624         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10625         (gst_base_sink_init): Renamed pad activation functions (inserting
10626         "_pad" in their names). Refactor to use the new activate_pull
10627         vmethod, as appropriate.
10628         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10629         default activate_pull function to start a task pulling from the
10630         sink pad, as before.
10631
10632         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10633         on the pads if necessary, as in push()/chain(). Update docs.
10634         Shouldn't affect existing pull() usage as it is currently only
10635         being used on buffers without caps.
10636
10637 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10638
10639         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10640         (init_pre):
10641           Call g_thread_init() first thing in gst_init() / gst_check_init().
10642           When initialisation is done via gst_init_get_option_group() and
10643           GOption parsing, issue a warning if the GLib thread system has not
10644           been initialised yet by the time gst_init_get_option_group() is
10645           called, as it's quite likely other GLib functions such as
10646           g_option_context_new() have been called already then, and
10647           g_thread_init() must be called before any other GLib function. The
10648           application in question must be fixed in that case, since memory
10649           corruption might happen otherwise.
10650           We issue the warning because even if the GLib folks decide to work
10651           around the problem on their end in future, this is still an issue
10652           with all GLib versions >= 2.10.0, so we should warn until we depend
10653           on a GLib version we know to be safe.
10654           Update documentation as well.
10655           Closes bug #391278.
10656
10657 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10658
10659         * tools/gst-inspect.c: (main):
10660         * tools/gst-launch.c: (main):
10661         * tools/gst-typefind.c: (main):
10662         * tools/gst-xmlinspect.c: (main):
10663           Call g_thread_init() really really early, before any other GLib
10664           function (see #342564 and recent discussion on gtk-devel-list).
10665
10666 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10667
10668         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10669
10670         * gst/gst_private.h:
10671         * gst/gstconfig.h.in:
10672         * gst/gstinfo.h:
10673           On win32, all the __declspec stuff for symbol exporting is
10674           apparently only needed with MSVC, but doesn't work with MingW.
10675           Fixes compilation with MingW and #391909.
10676
10677 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10678
10679         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10680           Change some GST_ERROR_OBJECT that aren't really errors to
10681           GST_WARNING_OBJECT in order to reduce terminal spam.
10682
10683 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10684
10685         * tests/check/Makefile.am:
10686           disable test again, as there seem to be still race problems
10687
10688 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10689
10690         * tests/check/Makefile.am:
10691         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10692         (GST_START_TEST), (queue_suite):
10693           enable queue test again, add tests for the leaky behaviour
10694
10695 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
10696
10697         * configure.ac:
10698         * tests/examples/Makefile.am:
10699           Compile adapter test/example only if the required headers are
10700           available (fixes #391915).
10701
10702 2007-01-01  David Schleef  <ds@schleef.org>
10703
10704         * gst/gstplugin.c:
10705           Restore the previous signal handler for SIGSEGV instead of
10706           setting to default, since we may have stolen it away from
10707           someone.  (i.e., Mono)
10708
10709 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10710
10711         * docs/random/draft-missing-plugins.txt:
10712           Some small additions and clarifications.
10713
10714 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10715
10716         * gst/gstregistryxml.c: (gst_registry_save_escaped):
10717           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10718           since that can lead to random memory corruptions and crashes
10719           (may or may not be related to #383244, #386711, and #386711).
10720
10721 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10722
10723         * tests/check/.cvsignore:
10724         * tests/check/Makefile.am:
10725           sync .cvsignome and CLEANFILES
10726
10727 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10728
10729         * tests/check/Makefile.am:
10730           fix distcheck
10731
10732 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10733
10734         * docs/design/part-states.txt:
10735           two tiny additional comments
10736         
10737         * gst/gststructure.c:
10738           doc fixing
10739
10740         * tests/check/Makefile.am:
10741         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10742         (GST_START_TEST):
10743           disable test for now, unless it gets fixed
10744
10745 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10746
10747         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10748         (GST_START_TEST):
10749           fix race in underrun test
10750
10751 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10752
10753         * tests/check/elements/.cvsignore:
10754           ignore more
10755
10756         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10757         (GST_START_TEST):
10758           try to narrow test failure
10759
10760 2006-12-21  David Schleef  <ds@schleef.org>
10761
10762         * plugins/elements/gstfakesrc.c:
10763           Use g_random_int_range(), since it produces better random
10764           numbers in a range than almost-correct floating point code.
10765
10766 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10767
10768         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10769         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10770         (gst_check_teardown_sink_pad):
10771           do not automatically (de)activate pads
10772
10773         * tests/check/Makefile.am:
10774         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10775         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10776           add new, yet simple tests for queue
10777
10778         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10779         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10780         * tests/check/elements/filesrc.c: (cleanup_filesrc),
10781         (GST_START_TEST):
10782         * tests/check/elements/identity.c: (cleanup_identity):
10783           consistent pad (de)activation
10784
10785 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
10786
10787         Patch by: Sebastian Dröge  <slomo ubuntu com>
10788
10789         * libs/gst/base/gstcollectpads.c:
10790           Fix two doc typos (#387866).
10791
10792 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10793
10794         * docs/manual/advanced-dparams.xml:
10795           Fix typo (g_object_control_properties() doesn't exist).
10796
10797 2006-12-19  Edward Hervey  <edward@fluendo.com>
10798
10799         * gst/gstsegment.c: (gst_segment_set_seek):
10800         Fine tune the cases where the segment start/stop values are really
10801         updated.
10802         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10803         Add tests for the return values of gst_segment_set_seek().
10804
10805 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10806
10807         * gst/gst.c:
10808           Docs typo fix.
10809
10810         * plugins/elements/gstqueue.c: (gst_queue_class_init),
10811         (gst_queue_init):
10812           Fix incorrect documentation and flesh it out a bit more.
10813           Set default values for the max properties on the GParamSpec as well,
10814           so it shows up correctly in gst-inspect.
10815
10816 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
10817
10818         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10819           Correct docs of queue, add more detail and crosslink it more.
10820
10821 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10822
10823         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10824           Print additional debug info when the stream isn't perfectly
10825           timestamped; don't try to use invalid durations.
10826
10827 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10828
10829         * docs/design/Makefile.am:
10830           Dist new design docs.
10831
10832 2006-12-16  Wim Taymans  <wim@fluendo.com>
10833
10834         Patch by: Sjoerd Simons <sjoerd at luon dot net>
10835
10836         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10837         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10838         (gst_collect_pads_stop), (gst_collect_pads_event),
10839         (gst_collect_pads_chain):
10840         * libs/gst/base/gstcollectpads.h:
10841         Add refcounting to the collectpads data so we can track when it's safe
10842         to free the data. Fixes #383382.
10843
10844 2006-12-15  Wim Taymans  <wim@fluendo.com>
10845
10846         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10847         (gst_collect_pads_remove_pad):
10848         Automatically activate/deactivate pads when they are added to a
10849         started/stoped collectpads.
10850
10851 2006-12-15  Wim Taymans  <wim@fluendo.com>
10852
10853         * gst/gstelement.c: (gst_element_add_pad):
10854         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10855         * gst/gstpad.c: (gst_pad_init):
10856         Set pads to FLUSHING when they are created. Check, warn and fix when a
10857         demuxer adds an inactive pad to itself when running. Fixes #339326.
10858
10859 2006-12-15  Wim Taymans  <wim@fluendo.com>
10860
10861         * gst/gstelement.c: (gst_element_class_init),
10862         (gst_element_default_send_event), (gst_element_send_event),
10863         (gst_element_default_query), (gst_element_query):
10864         Expose default element send_event and query handling as vmethods that
10865         subclasses can chain up to.
10866
10867 2006-12-15  Wim Taymans  <wim@fluendo.com>
10868
10869         * gst/gstelement.c: (gst_element_set_state_func):
10870         Small documentation fixes.
10871
10872 2006-12-15  Wim Taymans  <wim@fluendo.com>
10873
10874         * docs/design/draft-latency.txt:
10875         Checked in draft for handling latency in pipelines.
10876
10877 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10878
10879         * Makefile.am:
10880         * gstreamer.doap:
10881         * gstreamer.spec.in:
10882           adding .doap file
10883
10884 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
10885
10886         * gst/gst.c: (init_pre), (init_post):
10887           init_pre() and init_post() might be called via our GOptionGroup or
10888           from gst_init(), and we should skip both of them if we've already
10889           been initialised, otherwise we will init some things twice or add
10890           two default log functions.
10891
10892 2006-12-13  Edward Hervey  <edward@fluendo.com>
10893
10894         * docs/manual/basics-bus.xml:
10895         No, gst_main_loop does not exist. Its g_main_loop.
10896         Discovered by somebody who abused the copy-paste technique of coding :)
10897
10898 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
10899
10900         * gst/gstghostpad.c:
10901           Log ghostpad debug stuff to the GST_PADS category as well rather
10902           than just to the default category.
10903
10904 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10905
10906         * configure.ac:
10907         * gst/gst.c: (init_pre):
10908           Add some basic system details such as OS and architecture
10909           to the debug output if possible, courtesy of uname().
10910
10911 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10912
10913         * docs/gst/running.xml:
10914           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
10915           environment variables.
10916
10917 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
10918
10919         * tests/check/gst/gstbin.c: (GST_START_TEST):
10920         It is acceptable to have a refcount of 2 or 3 at this point in the
10921         test, because the pipeline might be just posting its state_change
10922         message. The next line then waits for that message to appear using
10923         bus_poll, so that should be fine too.
10924
10925 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
10926
10927         * gst/gst.c: (ensure_current_registry_forking):
10928         Ignore EINTR when reading from the child registry pipe.
10929         Explicitly ignore the return value from close, since it makes no
10930         difference.
10931
10932         * gst/gstminiobject.c: (gst_mini_object_ref),
10933         (gst_mini_object_unref):
10934         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
10935
10936         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
10937         When removing cached plugins, remove their features too, so they're
10938         not visible after they've disappeared.
10939
10940         * gst/gstutils.c: (prepare_link_maybe_ghosting):
10941         In the unlikely case that we are linking pads with no parents, don't
10942         crash trying to get the non-existent parent bin.
10943
10944         * gst/parse/grammar.y:
10945         Output debug in the PIPELINE category
10946
10947 2005-03-08  Wim Taymans  <wim@fluendo.com>
10948
10949         Patch by: René Stadler <mail at renestadler dot de>
10950
10951         * gst/gstclock.c: (gst_clock_new_periodic_id):
10952         Reject invalid clock times for interval of periodic ids.
10953         Fixes ##383506.
10954
10955 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
10956
10957         * gst/gstelementfactory.c: (gst_element_factory_create):
10958         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10959         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
10960         * tools/gst-inspect.c: (print_element_info):
10961         Fix refcounting of gst_plugin_feature_load to match the docs. 
10962         Fixes: #380129
10963
10964 2006-12-07  Wim Taymans  <wim@fluendo.com>
10965
10966         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
10967         (gst_base_sink_get_position):
10968         Improve debugging of events.
10969
10970 2006-12-07  Wim Taymans  <wim@fluendo.com>
10971
10972         Patch by: René Stadler <mail at renestadler dot de>
10973
10974         * gst/gstclock.c: (gst_clock_id_wait):
10975         Make period ids add the interval to the origial requested time instead
10976         of the possibly updated time which can be wrong when there are multiple
10977         waiters for the same id. Fixes #382592.
10978
10979         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
10980         (gst_system_clock_id_wait_jitter_unlocked),
10981         (gst_system_clock_id_wait_jitter):
10982         Fix restart in the async notify thread when an async entry is added to
10983         the front of the list. Fixes #381492. 
10984
10985         * tests/check/gst/gstsystemclock.c: (store_callback),
10986         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
10987         Added test for multiple async waits.
10988         Added test for async wait order.
10989
10990 2006-12-07  Wim Taymans  <wim@fluendo.com>
10991
10992         * gst/gstbin.c: (gst_bin_query):
10993         Add some more docs about the POSITION query.
10994
10995 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
10996
10997         * configure.ac:
10998         Bump version nano - back to CVS.
10999
11000 === release 0.10.11 ===
11001
11002 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11003
11004         * configure.ac:
11005           releasing 0.10.11, "Love never runs on time"
11006
11007 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11008
11009         * win32/common/libgstbase.def:
11010         * win32/common/libgstreamer.def:
11011         * win32/vs8/libgstbase.vcproj:
11012         * win32/vs8/libgstcoreelements.vcproj:
11013         * win32/vs8/libgstreamer.vcproj:
11014         Fix compilation on win32 under VS8
11015         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11016         Partially fixes #381175
11017
11018 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11019
11020         * gst/gstvalue.c: (gst_value_compare_fraction):
11021         If someone is foolish enough to compare 2 fractions with denominator =
11022         0, return UNORDERED rather than aborting.
11023
11024 2006-11-28  Edward Hervey  <edward@fluendo.com>
11025
11026         * libs/gst/base/Makefile.am:
11027         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11028         (gst_data_queue_base_init), (gst_data_queue_class_init),
11029         (gst_data_queue_init), (gst_data_queue_new),
11030         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11031         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11032         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11033         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11034         (gst_data_queue_set_flushing), (gst_data_queue_push),
11035         (gst_data_queue_pop), (gst_data_queue_drop_head),
11036         (gst_data_queue_set_property), (gst_data_queue_get_property):
11037         * libs/gst/base/gstdataqueue.h:
11038         New GstDataQueue object for threadsafe queueing. Most useful for
11039         elements that need some queueing functionnality.
11040         * docs/libs/gstreamer-libs-docs.sgml:
11041         * docs/libs/gstreamer-libs-sections.txt:
11042         Insert documentation for GstDataQueue
11043         * plugins/elements/Makefile.am:
11044         * plugins/elements/gstelements.c:
11045         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11046         (gst_multi_queue_class_init), (gst_multi_queue_init),
11047         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11048         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11049         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11050         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11051         (gst_multi_queue_loop), (gst_multi_queue_chain),
11052         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11053         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11054         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11055         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11056         (wake_up_next_non_linked), (compute_next_non_linked),
11057         (single_queue_overrun_cb), (single_queue_underrun_cb),
11058         (single_queue_check_full), (gst_single_queue_new):
11059         * plugins/elements/gstmultiqueue.h:
11060         New multiqueue element, using GstDataQueue. Used for queuing multiple
11061         streams.
11062         Closes #344639 and #347785
11063
11064 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11065
11066         * docs/pwg/advanced-types.xml:
11067           add more missing type details
11068
11069         * tools/gst-run.c: (main):
11070           remove unused variable
11071
11072 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11073
11074         * docs/libs/Makefile.am:
11075         * docs/libs/gstreamer-libs.types:
11076           add types of base classes to enable gobject specific stuff in the docs
11077
11078         * docs/random/ensonic/embedded.txt:
11079           more ideas about isolating platform specific things
11080
11081 2006-11-20  Wim Taymans  <wim@fluendo.com>
11082
11083         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11084
11085         * libs/gst/check/gstcheck.h:
11086         Fix compilation and running against 0.9.4. Fixes #377332.
11087
11088 2006-11-20  Wim Taymans  <wim@fluendo.com>
11089
11090         * gst/gstsegment.c: (gst_segment_set_seek),
11091         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11092         (gst_segment_to_running_time):
11093         Fix boundary checking in to_running_time() and to_stream_time().
11094         Fixes #377183.
11095
11096         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11097         stream and running time can now be calculated for the complete
11098         clipped segment.
11099
11100 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11101
11102         * gst/gstpad.c: (gst_pad_push_event):
11103           Can't access event structure after giving away ownership of
11104           the event.
11105
11106 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11107
11108         * docs/random/ensonic/embedded.txt:
11109         * docs/random/ensonic/profiling.txt:
11110         * docs/random/ensonic/receipies.txt:
11111           more thinking
11112
11113 2006-11-13  Wim Taymans  <wim@fluendo.com>
11114
11115         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11116
11117         * gst/gstpad.c:
11118         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11119
11120 2006-11-13  Wim Taymans  <wim@fluendo.com>
11121
11122         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11123
11124         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11125         Store new length in segment duration so we don't keep on calling the
11126         potentially expensize get_size() call. Fixes #370865.
11127
11128 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11129
11130         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11131
11132         * win32/common/libgstreamer.def:
11133           Add two missing symbols (#366492).
11134
11135 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11136
11137         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11138         (gst_adapter_take_buffer):
11139         Fix format string to use all its arguments.
11140         Remove useless >= check on a guint
11141
11142 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11143
11144         * tests/examples/adapter/.cvsignore:
11145         Ignore build file as commanded by the build-bot
11146
11147 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11148
11149         * tests/examples/adapter/Makefile.am:
11150         * tests/examples/adapter/adapter_test.c: (run_test_take),
11151         (run_test_take_buffer), (run_tests), (main):
11152
11153         Add new files from the previous commit
11154
11155 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11156
11157         * Makefile.am:
11158         * configure.ac:
11159         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11160         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11161         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11162         * libs/gst/base/gstadapter.h:
11163         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11164         (GST_START_TEST), (gst_adapter_suite):
11165         * tests/examples/Makefile.am:
11166         Do some optimisation work in GstAdapter to avoid copies in more cases.
11167         It could still do slightly better by merging buffers when
11168         gst_buffer_is_span_fast is true, but is already faster. 
11169
11170         Also, avoid traversing a single-linked list to append each incoming 
11171         buffer inside the adapter.
11172
11173         Add simple test app that times the adapter behaviour in different
11174         situations, and extend the unit test to check that bytes enter and
11175         exit the adapter in their original order.
11176
11177 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11178
11179         * docs/random/draft-missing-plugins.txt:
11180           Update: use element message instead of adding a new message
11181           type to the core; don't provide GStreamer API to initiate the
11182           plugin download, just provide API to compose the strings needed
11183           and let an external libgimmestuff handle the rest.
11184
11185 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11186
11187         * tools/gst-inspect.c: (print_element_properties_info):
11188         Print a string instead of 'unknown type' for GValueArray properties
11189
11190 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11191
11192         * docs/random/draft-missing-plugins.txt:
11193         More small fixes.
11194
11195 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11196
11197         * tests/examples/typefind/typefind.c: (type_found), (main):
11198           Make typefind element example work again (#371894); add a
11199           license header.
11200
11201 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11202
11203         * docs/random/draft-missing-plugins.txt:
11204           Commit initial draft about how to deal with missing plugins,
11205           needs work (API too).
11206
11207 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11208
11209         * docs/pwg/advanced-types.xml:
11210           documents the new caps elements (see #363118)
11211
11212 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11213
11214         * gst/gstplugin.c: (gst_plugin_load_file):
11215         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11216         (gst_file_src_map_region), (gst_file_src_start):
11217         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11218         (gst_file_index_commit):
11219           Use g_strerror() instead of strerror() - we want UTF-8.
11220
11221 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11222
11223         Patch by: Peter Kjellerstedt <pkj at axis com>
11224
11225         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11226           Another printf fix (#371493).
11227
11228 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11229
11230         * tests/check/gst/gsttag.c:
11231           relicence (okay with author=company)
11232
11233 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11234
11235         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11236         (gst_pad_push_event):
11237           Enhance debug and improve docs
11238         
11239         * gst/gsturi.c:
11240           Fix docs
11241
11242 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11243
11244         * docs/random/ensonic/distributed.txt:
11245         * docs/random/ensonic/profiling.txt:
11246           more ideas
11247
11248 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11249
11250         * docs/gst/gstreamer-sections.txt:
11251           add new API and fix the build
11252           
11253         * gst/gstbin.c: (gst_bin_recalc_state):
11254         * gst/gstelement.c: (gst_element_message_full),
11255         (gst_element_get_state_func), (gst_element_set_state_func):
11256           use new API and improve logging
11257         
11258         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11259         * gst/gstutils.h:
11260           API: add function to get StateChangereturn names to improve logs 
11261
11262 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11263
11264         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11265           I'm considering shooting the next person to put strerror stuff
11266           in the translateable part of the message.
11267
11268 2006-11-03  Wim Taymans  <wim@fluendo.com>
11269
11270         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11271         Get the type and printf conversion specifiers right.
11272
11273 2006-11-03  Wim Taymans  <wim@fluendo.com>
11274
11275         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11276
11277         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11278         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11279         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11280         Some small cleanups. Improve debugging.
11281         * gst/gstpad.h:
11282         Signal all waiting threads with a broadcast instead of just one.
11283         Fixes #369942.
11284
11285 2006-11-03  Wim Taymans  <wim@fluendo.com>
11286
11287         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11288         (gst_fd_src_create):
11289         Add some debugging. 
11290         Only update fd when it's different from the old.
11291
11292 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11293
11294         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11295           Printf fixes for PPC/OSX, take two (#369366).
11296
11297 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11298
11299         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11300
11301         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11302         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11303         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11304           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11305           don't cast to long long for portability reasons, but use
11306           GLib's types instead.
11307
11308 2006-10-30  Michael Smith  <msmith@fluendo.com>
11309
11310         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11311           Get the arguments to lseek() the right way around.
11312           Fixes 367677.
11313
11314 2006-10-30  Wim Taymans  <wim@fluendo.com>
11315
11316         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11317
11318         * gst/gstinfo.h:
11319         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11320
11321 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11322
11323         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11324
11325         * docs/design/part-MT-refcounting.txt:
11326         * docs/random/wtay/capsnego2-docs:
11327         * gst/gstclock.c:
11328         * gst/gstxml.c:
11329           Typo fixes (#366212).
11330
11331 2006-10-28  Wim Taymans  <wim@fluendo.com>
11332
11333         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11334
11335         * gst/gst.c:
11336         * win32/common/libgstbase.def:
11337         * win32/common/libgstreamer.def:
11338         * win32/vs8/libgstbase.vcproj:
11339         * win32/vs8/libgstcontroller.vcproj:
11340         Add needed entries in .def files.
11341         Use HAVE_UNISTD_H.
11342         Rearrange def files in vs8 solutions. Fixes #366286.
11343
11344 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11345
11346         * win32/common/gstconfig.h:
11347           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11348           hand-made win32 gstconfig.h. Fixes #366321.
11349
11350 2006-10-27  Wim Taymans  <wim@fluendo.com>
11351
11352         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11353         (gst_ghost_pad_new_full):
11354         Make acceptcaps return TRUE when we don't have a target, just like
11355         setcaps does.
11356
11357 2006-10-27  Wim Taymans  <wim@fluendo.com>
11358
11359         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11360         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11361
11362 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11363
11364         * gst/gststructure.c: (gst_structure_id_set_value):
11365           If someone tries to set a non-UTF8 string field on a structure,
11366           don't just print a warning, but also ignore the request and do
11367           not change/add that field to the structure.
11368
11369         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11370           Test for the above.
11371
11372 2006-10-25  David Schleef  <ds@schleef.org>
11373
11374         * gst/gstinfo.c:
11375           g_hash_table_insert() needs a cast to a non-const pointer duh.
11376
11377 2006-10-25  David Schleef  <ds@schleef.org>
11378
11379         * gst/gstinfo.c:
11380         * gst/gstinfo.h:
11381           Change name parameter of _gst_debug_register_funcptr to const
11382           to reflect the constness of its use in the function as well
11383           as to quiet a gcc warning.
11384
11385 2006-10-25  Edward Hervey  <edward@fluendo.com>
11386
11387         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11388         Don't push the buffer if it's empty.
11389         Closes #363095
11390
11391 2006-10-24  Wim Taymans  <wim@fluendo.com>
11392
11393         * gst/gstevent.h:
11394         Add small comment.
11395
11396         * libs/gst/base/gstbasetransform.c:
11397         (gst_base_transform_sink_eventfunc):
11398         Debug segment values *after* updating them as this is more
11399         interesting.
11400
11401 2006-10-23  Wim Taymans  <wim@fluendo.com>
11402
11403         * docs/design/part-events.txt:
11404         Update some docs.
11405
11406         * docs/design/part-block.txt:
11407         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11408         (gst_pad_push_event):
11409         Revert BLOCKING patch, it tries to be smart without really having a
11410         clear idea what or how. So, now we discard all FLUSHING events again on
11411         a blocking pad. Should fix gnonlin again.
11412
11413 2006-10-23  Wim Taymans  <wim@fluendo.com>
11414
11415         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11416
11417         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11418         (gst_base_src_start), (gst_base_src_activate_push):
11419         Make sure size is always initialized. Fixes #364388.
11420
11421 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11422
11423         * docs/random/ensonic/distributed.txt:
11424           add some ideas about doing distributed processing
11425
11426         * docs/random/ensonic/profiling.txt:
11427           get_rusage look promising
11428
11429 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11430
11431         * docs/manual/basics-helloworld.xml:
11432           Add a cast in example to fix compile warning
11433
11434 2006-10-18  Wim Taymans  <wim@fluendo.com>
11435
11436         * gst/gstsegment.c: (gst_segment_set_last_stop),
11437         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11438         Relax arg checking again, -1 is allowed.
11439
11440 2006-10-18  Wim Taymans  <wim@fluendo.com>
11441
11442         * gst/gstsegment.c: (gst_segment_set_last_stop),
11443         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11444         _set_last_stop() must be with a value != -1
11445         A _TYPE_SET to -1 means seek to 0.
11446         Calc last_stop correctly for negative rates.
11447         Make sure we work with positive durations when updating a segment.
11448
11449 2006-10-18  Wim Taymans  <wim@fluendo.com>
11450
11451         * docs/design/part-live-source.txt:
11452         * gst/gstclock.h:
11453         Small docs fixes.
11454
11455 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11456
11457         * gst/gstbuffer.h:
11458           Add an explicit cast to GstBuffer** to keep old code that added an
11459           explicit cast to GstMiniObject** for gst_mini_object_replace()
11460           compiling without warning.
11461
11462 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11463
11464         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11465           check for validity of dates
11466
11467 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11468
11469         * docs/gst/gstreamer-sections.txt:
11470           Forgot this one, makes gtk-doc shut up.
11471
11472 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11473
11474         Patch by: Peter Kjellerstedt <pkj at axis com>
11475
11476         * gst/gstobject.h:
11477           Don't define xmlNodePtr to gpointer if the core was built with
11478           --disable-loadsave and --disable-registry, this will break
11479           applications that want to use libxml2 but are buildling against a
11480           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11481           instead so we don't have to mess with the libxml2 namespace
11482           (#361675).
11483
11484 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11485
11486         * gst/gstbuffer.h:
11487           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11488           type-punned pointer warnings.
11489
11490 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11491
11492         * gst/gstelement.h:
11493           Add casts to the correct return type to state <=> state transition
11494           macros.
11495
11496 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11497
11498         * docs/design/part-live-source.txt:
11499           describe howto handle latency
11500         
11501         * docs/random/ensonic/profiling.txt:
11502           more ideas
11503
11504         * tools/gst-plot-timeline.py:
11505           fix log parsing for solaris, remove unused function
11506
11507 2006-10-16  Wim Taymans  <wim@fluendo.com>
11508
11509         * docs/design/part-trickmodes.txt:
11510         * gst/gstevent.c:
11511         Update some docs regarding reverse playback.
11512
11513 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11514
11515         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11516
11517         * win32/vs8/grammar.vcproj:
11518           Error out with a warning if glib-genmarshal.exe is not in path,
11519           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11520
11521 2006-10-13  Wim Taymans  <wim@fluendo.com>
11522
11523         * gst/gstsegment.c: (gst_segment_set_seek):
11524         When seeking to stop -1, set last_stop (current position) to the
11525         duration of the segment.
11526
11527 2006-10-13  Wim Taymans  <wim@fluendo.com>
11528
11529         * gst/gstelement.h:
11530         Clarify _NO_PREROLL a bit more.
11531
11532         * gst/gstevent.c:
11533         Fix docs.
11534
11535         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11536         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11537         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11538         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11539         due to wrong locking order. Fixes #361769.
11540         Remove some redundant/misplaced checks in pad_block.
11541
11542         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11543         For negative rates, count backwards from the duration.
11544
11545 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11546
11547         * gst/gsterror.c: (_gst_library_errors_init):
11548           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11549           up with something better).
11550
11551 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11552
11553         * win32/vs6/libgstreamer.dsp:
11554         * win32/vs7/libgstreamer.vcproj:
11555         * win32/vs8/libgstreamer.vcproj:
11556           Don't reference glib-compat.c which is currently not used and not
11557           disted; add gstquark.c which was recently added. Fixes #361730.
11558
11559 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11560
11561         * win32/common/libgstbase.def:
11562         * win32/common/libgstcontroller.def:
11563         * win32/common/libgstreamer.def:
11564           Add gst_caps_merge() and a bunch of other recently-added functions.
11565           Fixes #361732.
11566
11567 2006-10-11  Wim Taymans  <wim@fluendo.com>
11568
11569         * docs/plugins/gstreamer-plugins.args:
11570         * docs/plugins/inspect/plugin-coreelements.xml:
11571         * docs/plugins/inspect/plugin-coreindexers.xml:
11572         Update element args.
11573
11574         * gst/gstsystemclock.c:
11575         Small comment update.
11576
11577         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11578         (gst_tee_request_new_pad), (gst_tee_release_pad),
11579         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11580         (gst_tee_sink_activate_pull):
11581         * plugins/elements/gsttee.h:
11582         Some tee loving:
11583         Add default property defines.
11584         Implement release pad function.
11585         Give properties better blubs etc.
11586         Activate pads before adding them to a running tee.
11587         Do simple buffer_alloc on the first requested pad.
11588         Post error when activation fails.
11589
11590 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11591
11592         * gst/gst.c: (ensure_current_registry_forking):
11593           Check return value of write() to make compiler happy.
11594
11595 2006-10-11  Wim Taymans  <wim@fluendo.com>
11596
11597         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11598
11599         * plugins/elements/gstqueue.c: (gst_queue_chain):
11600         Recheck queue filledness after signalling the overrun when we're about
11601         to leak downstream because we released the lock when emitting the signal
11602         and the queue could be empty again. Fixes #352345.
11603
11604 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11605
11606         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11607           Fix refcounting here too, just like we did for _new_valist() a few
11608           days ago (#357180) (thanks to René Stadler). Also remove all those
11609           'Since: 0.9' from the gtk-doc blobs.
11610
11611         * tests/check/libs/controller.c: (controller_refcount_new_list),
11612         (gst_controller_suite):
11613           Unit test for the above.
11614
11615 2006-10-10  Wim Taymans  <wim@fluendo.com>
11616
11617         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11618
11619         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11620         (gst_pad_save_thyself):
11621         Update some docs.
11622         Write pad direction in XML output. Fixes #345496.
11623
11624 2006-10-10  Wim Taymans  <wim@fluendo.com>
11625
11626         Patch by: René Stadler <mail at renestadler dot de>
11627
11628         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11629         (gst_controller_new_list), (_gst_controller_dispose),
11630         (_gst_controller_finalize), (_gst_controller_class_init):
11631         Take ref to controlled object so that it cannot disappear. 
11632         Fixes #357432.
11633
11634 2006-10-10  Wim Taymans  <wim@fluendo.com>
11635
11636         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11637         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11638         (gst_check_teardown_sink_pad):
11639         Activate/deactivate pads in setup/teardown respectively.
11640
11641 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11642
11643         Patch by: Josep Torra Valles <josep@fluendo.com>
11644
11645         * gst/Makefile.am:
11646         Cast values when making gstenumtypes.h.  This pacifies Forte
11647         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11648         in the enumeration.
11649
11650 2006-10-09  Wim Taymans  <wim@fluendo.com>
11651
11652         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11653         Rename some more @cur to @start to fix docs. 
11654
11655         * gst/gstsegment.c: (gst_segment_set_seek):
11656         Fix typo.
11657         time and start must always stay in sync as defined in design doc.
11658
11659         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11660         Rename param to fix docs.
11661
11662         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11663         Check that start and time are in sync.
11664
11665         * tests/check/pipelines/parse-launch.c:
11666         (gst_parse_test_element_change_state):
11667         Activate pad before adding to the element.
11668
11669 2006-10-09  Wim Taymans  <wim@fluendo.com>
11670
11671         * docs/design/part-qos.txt:
11672         Fix typo.
11673
11674         * gst/gstevent.c:
11675         * gst/gstevent.h:
11676         Update seek event docs regarding negative rates.
11677         Rename @cur to @start. 
11678
11679         * gst/gstsegment.c: (gst_segment_set_seek):
11680         * gst/gstsegment.h:
11681         Update set_seek docs regarding negative rates.
11682         Correctly update last_stop to @stop when dealing with negative
11683         rates.
11684         Rename @cur to @start. 
11685
11686         * tests/check/gst/gstpad.c: (GST_START_TEST):
11687         Activate pads before trying to use them.
11688
11689         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11690         (gst_segment_suite):
11691         Add simple check for segments and negative rates.
11692
11693 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11694
11695         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11696         * gst/gsttaglist.h:
11697         * docs/gst/gstreamer-sections.txt:
11698           API: add gst_tag_list_is_empty() (#360467).
11699
11700         * tests/check/gst/gsttag.c: (GST_START_TEST):
11701           And a test case.
11702
11703 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11704
11705         * gst/gstmessage.h:
11706         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11707         a value that doesn't fit on enumeration.
11708
11709 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11710
11711         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11712         Remove local debugging system and use Gstreamer's instead.
11713
11714 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11715
11716         Patch by: Josep Torra Valles <josep@fluendo.com>
11717
11718         * common/m4/gst-error.m4:
11719         Disable warning of statement not reached on Forte.
11720         * gst/gstmessage.h:
11721         Fix warning on Forte (value doesn't fit on enumeration).
11722         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11723         Fix warning on Forte (value doesn't fit on enumeration).
11724         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11725         DEBUG macro says it takes minimum of 2 args and so Forte
11726         complains about the use with just 1 arg.
11727         * plugins/elements/gstfdsink.c:
11728         * plugins/elements/gstfdsrc.c:
11729         * plugins/elements/gstfilesink.c:
11730         * plugins/elements/gstfilesrc.c:
11731         Use correct return type for the uri handler implementations.
11732
11733         All these fix warnings in Forte.  Fixes bug #360860.
11734
11735 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11736
11737         * gst/gstelement.h:
11738           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11739           format string, so don't use G_GNUC_PRINTF for those versions.
11740
11741 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11742
11743         * gst/gsttaglist.c: (gst_is_tag_list):
11744         * gst/gsttaglist.h:
11745           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11746
11747         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11748           Small test for the above.
11749
11750 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11751
11752         * gst/gsttaglist.h:
11753           Less tabs, more spaces.
11754
11755 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
11756
11757         * gst/gstinfo.h:
11758           Those two function declarations do actually belong there, revert
11759           commit from yesterday that turned them intro macros.
11760
11761 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11762
11763         Patch by: Josep Torra Valles <josep@fluendo.com>
11764
11765         * gst/gst.c: (gst_init_get_option_group):
11766         Fix empty declaration and type mismatch.
11767         * gst/gstbin.c: (gst_bin_change_state_func):
11768         Fix type mismatch.
11769         * gst/gstelement.c: (gst_element_continue_state),
11770         (gst_element_set_state_func), (gst_element_change_state),
11771         (gst_element_change_state_func):
11772         Fix type mismatches.
11773         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11774         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11775         Cast as appropriate.
11776         * gst/gstobject.c: (gst_class_signal_connect):
11777         Cast as appropriate.  The function pointer parameter really
11778         has the wrong type but would break API if we change it.
11779         * gst/gstquery.c:
11780         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11781         order of including string.h.
11782         * gst/gstutils.c: (gst_element_state_get_name):
11783         Remove unreachable line.
11784         * gst/gstxml.c: (gst_xml_parse_doc):
11785         Fix type mismatch.
11786         All these caught by Forte.
11787
11788 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11789
11790         Patch by: Josep Torra Valles <josep@fluendo.com>
11791
11792         * common/m4/gst-error.m4:
11793         Fixed bug #360151.
11794         We need to disable warnings on Forte for empty declarations
11795         due to gst-indent adding ;s to lines that just use macros
11796         where the macro actually doesn't need a ; at end to end
11797         statement.
11798
11799 2006-10-06  Wim Taymans  <wim@fluendo.com>
11800
11801         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11802         (gst_file_sink_close_file), (gst_file_sink_event),
11803         (gst_file_sink_render):
11804         Add some FIXME for the NEWSEGMENT handling.
11805
11806 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11807
11808         * gst/parse/grammar.y:
11809         Remove static function gst_parse_element_lock as all it does
11810         is return.  Looks like cruft from 0.8.
11811
11812 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11813
11814         Patch by: Josep Torra Valles <josep@fluendo.com>
11815
11816         * common/m4/gst-error.m4:
11817         * configure.ac:
11818         * libs/gst/net/Makefile.am:
11819         Fix a compilation issue with Forte on Solaris.  inet_aton is in
11820         libresolv.
11821
11822 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11823
11824         * gst/gstpad.c: (pre_activate):
11825         * gst/gstregistry.c: (gst_registry_scan_path_level):
11826         * gst/gstregistryxml.c: (load_plugin):
11827         * libs/gst/controller/gstcontroller.c:
11828         (gst_controlled_property_set_interpolation_mode):
11829         * libs/gst/dataprotocol/dataprotocol.c:
11830         (gst_dp_packet_from_event_1_0):
11831         * libs/gst/net/gstnetclientclock.c:
11832         (gst_net_client_clock_observe_times):
11833         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11834           Printf fixes.
11835
11836 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11837
11838         * configure.ac:
11839         * docs/gst/gstreamer-sections.txt:
11840         * gst/gstconfig.h.in:
11841         * gst/gstelement.h:
11842         * gst/gstinfo.h:
11843           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
11844           whether we can use G_GNUC_PRINTF in other header files and at
11845           least check the printf format/arguments of debug messages and
11846           GST_ELEMENT_ERROR messages when the printf extension is not
11847           being used.
11848           Replace more tabs with spaces in gstinfo.h and remove two spurious
11849           function declarations in GST_DISABLE_DEBUG part with macros.
11850
11851 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
11852
11853         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
11854           More docs for the sync-message signal (mention that it is not
11855           emitted by default); log message structures of messages posted on
11856           the bus as well.
11857
11858 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
11859
11860         * gst/gst.c: (ensure_current_registry_forking):
11861         Use a pipe pair to receive status results from the forked child, and
11862         ignore the result from waitpid. Fixes #355499
11863
11864 2006-10-02  Wim Taymans  <wim@fluendo.com>
11865
11866         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11867         (gst_ghost_pad_suite):
11868         Fix leak in check.
11869
11870 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11871
11872         * gst/gstpad.c:
11873           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
11874
11875 2006-10-02  Edward Hervey  <edward@fluendo.com>
11876
11877         * docs/design/part-block.txt:
11878         Further explain the use of flushing on blocked pads.
11879         * docs/gst/gstreamer-sections.txt:
11880         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11881         (gst_pad_push_event):
11882         * gst/gstpad.h:
11883         Added new GstPadFlag : GST_PAD_BLOCKING.
11884         Adds the notion of pads really blocking, which enables to properly
11885         handle FLUSH_START/FLUSH_STOP events on blocked pads.
11886         Fixes #358999
11887         API: gst_pad_is_blocking()
11888         API: GST_PAD_IS_BLOCKING() macro
11889         API: GST_PAD_BLOCKING GstPadFlag
11890         
11891 2006-10-02  Wim Taymans  <wim@fluendo.com>
11892
11893         Patch by: mrcgran <mrc.gran at gmail dot com>
11894
11895         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
11896         Filter the proxied caps against the padtemplate if we have one.
11897
11898         * gst/gstquery.c: (gst_query_new_segment):
11899         Add include for gstinfo.h so that compilation with
11900         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
11901
11902 2006-10-02  Wim Taymans  <wim@fluendo.com>
11903
11904         Patch by: Alessandro Decina  <alessandro at nnva org>
11905
11906         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
11907         (gst_file_sink_set_location), (gst_file_sink_open_file),
11908         (gst_file_sink_close_file), (gst_file_sink_event),
11909         (gst_file_sink_render):
11910         Set file to NULL when closing filesink so that we can set a new filename
11911         in READY. Fixes #358613.
11912
11913 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11914
11915         Patch by: Alessandro Decina  <alessandro at nnva org>
11916
11917         * gst/gstevent.c: (_gst_event_copy):
11918           Fix gst_mini_object_make_writable() and gst_event_copy() for events
11919           with event structures by setting the parent refcount address of the
11920           copied structure to the address of the refcount member of the newly
11921           copied event rather than the address of the refcount member of the
11922           original event. Fixes #358737.
11923
11924         * tests/check/gst/gstevent.c: (GST_START_TEST):
11925           Unit test for the above.
11926
11927 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
11928
11929         * docs/design/Makefile.am:
11930           Dist some more files.
11931
11932 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11933
11934         * tests/check/libs/controller.c: (GST_START_TEST),
11935         (gst_controller_suite):
11936           Add test for the previous fix; add some more tests
11937           for correct refcounting behaviour; fix a few leaks
11938           in test cases; call gst_controller_init() at start
11939           of all tests.
11940
11941 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11942
11943         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11944         (gst_controller_set_from_list):
11945           Don't g_return_val_if_fail() on timed values with invalid timestamps
11946           inside a critical section without unlocking the mutex. Spotted by
11947           René Stadler. (#357617)
11948           Also, fix up refcounting properly: when returning an existing
11949           controller, we should increase the reference only once and not
11950           once per property and when trying to control a property again
11951           we should also increase the refcount.
11952
11953 2006-09-29  Wim Taymans  <wim@fluendo.com>
11954
11955         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11956         * libs/gst/net/gstnettimeprovider.c:
11957         (gst_net_time_provider_thread):
11958         Stop reading commands when EOF as well.
11959
11960         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11961         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11962         * plugins/elements/gstidentity.c: (gst_identity_class_init):
11963         Unify description of the dump property.
11964
11965 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11966
11967         * tests/examples/manual/.cvsignore:
11968         OK, so it's actually cvsignore that needs changing. Stop laughing.
11969
11970 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11971
11972         * tests/examples/manual/Makefile.am:
11973         Gah, declare vars *before* using them
11974
11975 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11976
11977         * gst/gst.c: (init_pre), (scan_and_update_registry),
11978         (ensure_current_registry_nonforking),
11979         (ensure_current_registry_forking), (ensure_current_registry),
11980         (init_post), (gst_debug_help), (gst_deinit):
11981         * gst/gst_private.h:
11982         * gst/gstregistry.c: (gst_registry_finalize),
11983         (gst_registry_remove_features_for_plugin_unlocked),
11984         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11985         (gst_registry_scan_path),
11986         (_priv_gst_registry_remove_cache_plugins),
11987         (_priv_gst_registry_cleanup):
11988         * gst/gstregistry.h:
11989         Re-commit the registry changes, along with an extra fix:
11990           When a cached plugin is encountered at a different file path,
11991           update the stored path in the registry cache so that the parent
11992           process knows where it actually is now when it re-reads the registry
11993           cache. Fixes the thing that broke distcheck with the previous commit.
11994
11995         * tests/check/Makefile.am:
11996         Clean up files named 'core' too when running make clean.
11997
11998         * tests/examples/manual/Makefile.am:
11999         Set up a registry path for running these tests, and clean it properly
12000         for distcheck.
12001
12002 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12003
12004         * configure.ac:
12005         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12006         want gmodule-no-export-2.0.pc instead so that we don't drag in
12007         --export-dynamic on every project that links to GStreamer.
12008
12009         Also, make our export regex only match the start of symbols, rather 
12010         than any symbol that contains '_gst' somewhere.
12011
12012         * libs/gst/check/Makefile.am:
12013         The libgstcheck we build does however need export-dynamic, as it
12014         produces some symbols that don't match our _gst... style regex.
12015         Fixes: #318031
12016
12017 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12018
12019         * gst/gst.c: (init_pre), (scan_and_update_registry),
12020         (ensure_current_registry_nonforking),
12021         (ensure_current_registry_forking), (ensure_current_registry),
12022         (init_post), (gst_debug_help), (gst_deinit):
12023         * gst/gst_private.h:
12024         * gst/gstregistry.c: (gst_registry_finalize),
12025         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12026         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12027         (_gst_registry_cleanup):
12028         * gst/gstregistry.h:
12029           Revert previous change until I figure out why it breaks distcheck.
12030
12031 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12032
12033         * gst/gst.c: (init_pre), (scan_and_update_registry),
12034         (ensure_current_registry_nonforking),
12035         (ensure_current_registry_forking), (ensure_current_registry),
12036         (init_post), (gst_debug_help), (gst_deinit):
12037
12038           Make init_pre and init_post take the full complement of GOptionFunc
12039           args so they can return useful GErrors. Make the registry updating
12040           functions do so.
12041
12042           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12043           ensure that the registry we're about to write out doesn't contain
12044           stale information about old-deleted plugin files.
12045
12046           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12047           that deletion of plugin files is considered a registry change.
12048
12049         * gst/gst_private.h:
12050         * gst/gstregistry.c: (gst_registry_finalize),
12051         (gst_registry_remove_features_for_plugin_unlocked),
12052         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12053         (gst_registry_scan_path),
12054         (_priv_gst_registry_remove_cache_plugins),
12055         (_priv_gst_registry_cleanup):
12056         * gst/gstregistry.h:
12057         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12058         by adding _priv prefix, so that they won't appear in the global
12059         symbol table. They still do atm though because of #318031. Move the
12060         prototypes to gst_private.h
12061
12062         When removing a plugin, remove all features for that plugin too. 
12063         Fixes #340878.
12064
12065 2006-09-27  Wim Taymans  <wim@fluendo.com>
12066
12067         * docs/random/moving-plugins:
12068         Make it clear that the "compiled-in descriptions" really mean
12069         the element details.
12070
12071         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12072         (gst_base_sink_wait_preroll):
12073         Update docs.
12074
12075         * docs/libs/gstreamer-libs-sections.txt:
12076         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12077         (gst_base_src_get_range), (gst_base_src_activate_push):
12078         * libs/gst/base/gstbasesrc.h:
12079         Added function to block while waiting for PLAYING, this function
12080         is used by live sources that block on the clock.
12081         API: gst_base_src_wait_playing()
12082
12083 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12084
12085         Patch by: Peter Kjellerstedt <pkj at axis com>
12086
12087         * Makefile.am:
12088           gst-element-check.m4 is generated and should therefore be
12089           copied from the build dir rather than the source dir (#357593).
12090           'make distcheck' hasn't noticed this because we were disting
12091           the file as well, so stop doing that.
12092
12093 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12094
12095         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12096           Add some tests for gst_caps_intersect().
12097
12098         * tools/gst-launch.c: (event_loop):
12099           Print all buffering percentages we get, even the 100% one.
12100
12101 2006-09-26  Wim Taymans  <wim@fluendo.com>
12102
12103         * tools/gst-inspect.c: (print_element_properties_info),
12104         (print_signal_info):
12105         Fix printing of flags to match the look of enums.
12106
12107 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12108
12109         * gst/gstelementfactory.c:
12110           Fix typo in docs blurb.
12111
12112 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12113
12114         * gst/gsturi.c: (search_by_entry):
12115           Don't assert/crash here if a uri handler doesn't return any
12116           supported protocols. The list of protocols could be generated
12117           dynamically at runtime or at plugin registration, and an error
12118           in the underlying library shouldn't be fatal (#353301).
12119
12120 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12121
12122         * gst/gstinfo.c:
12123           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12124           (spotted by Peter Kjellerstedt).
12125
12126 2006-09-23  Wim Taymans  <wim@fluendo.com>
12127
12128         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12129
12130         * libs/gst/base/gstbasesrc.c:
12131         (gst_base_src_default_check_get_range), (gst_base_src_start),
12132         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12133         (gst_base_src_change_state):
12134         Match _start/_stop calls in the activate functions. Remove redundant
12135         _stop call from the state change function. Fixes #356910.
12136         Turn failure DEBUG into ERROR. 
12137
12138 2006-09-22  Wim Taymans  <wim@fluendo.com>
12139
12140         * docs/design/part-buffering.txt:
12141         * gst/gstmessage.c: (gst_message_new_buffering),
12142         (gst_message_parse_buffering):
12143         Update docs about buffering.
12144
12145         * docs/design/part-trickmodes.txt:
12146         Fix typo.
12147
12148 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12149
12150         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12151         (gst_controller_new_list):
12152           Ref instances when returning them again (fixes #357180)
12153
12154 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12155
12156         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12157           Don't forget to release proxy lock when there's an error.
12158
12159 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12160
12161         * gst/gstcaps.h:
12162           Add extra initialisers for Caps things, to fix some plugin warnings
12163           when using -Wextra
12164
12165 2006-09-18  Wim Taymans  <wim@fluendo.com>
12166
12167         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12168           Also set template on the internal pad so that a getcaps from the 
12169           target pad returns the template caps.
12170
12171 2006-09-18  Wim Taymans  <wim@fluendo.com>
12172
12173         * gst/gstelement.c: (gst_element_post_message),
12174         (gst_element_dispose):
12175         Use _DEBUG_OBJECT some more.
12176
12177         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12178         Avoid typechecks.
12179
12180         * tools/gst-launch.c: (main):
12181         If the toplevel element is not a GstPipeline, it must be put in a
12182         pipeline so that a bus and clock is selected.
12183
12184 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12185
12186         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12187           JITTER, RATE, and LATENCY query should be handled by the
12188           default case and not by the CONVERT query code.
12189
12190 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12191
12192         * gst/gstformat.c: (gst_format_register):
12193           Fix locking order (must take lock before using n_values).
12194
12195         * gst/gstvalue.c: (gst_value_serialize_enum),
12196         (gst_value_deserialize_enum_iter_cmp),
12197         (gst_value_deserialize_enum):
12198           Fix serialisation/deserialisation of custom registered GstFormats.
12199
12200         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12201           Unit test for custom format serialisation/deserialisation.
12202
12203 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12204
12205         * docs/pwg/building-boiler.xml:
12206         * plugins/elements/gstcapsfilter.c:
12207         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12208         section.
12209
12210 2006-09-16  Edward Hervey  <edward@fluendo.com>
12211
12212         * libs/gst/base/gstbasetransform.c:
12213         (gst_base_transform_buffer_alloc):
12214         Check if requested caps are the same as the sinks caps IF
12215         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12216         is FALSE.
12217         This fixes the renegotiation issues stated in #352827.
12218
12219 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12220
12221         * configure.ac:
12222         * docs/manual/advanced-autoplugging.xml:
12223         * tests/examples/Makefile.am:
12224         * tests/examples/manual/.cvsignore:
12225         * tests/examples/manual/Makefile.am:
12226         * tests/examples/manual/extract.pl:
12227           Extract the manual examples again like we used to do.
12228           Fix one of them.
12229
12230 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12231
12232         * win32/common/config.h:
12233           update for version
12234
12235 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12236
12237         * gst/gsterror.c:
12238           Documents how to receive errors.
12239
12240 2006-09-15  Wim Taymans  <wim@fluendo.com>
12241
12242         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12243         (event_loop), (main):
12244         Added some comments here and there.
12245         Post an application message when an interrupt is caught instead of doing
12246         an uncontrolled state change.
12247         Clean up the event loop.
12248         Handle buffering messages, pause/resume the pipeline.
12249         Make shutdown because of an interrupt more reliable.
12250
12251 2006-09-15  Wim Taymans  <wim@fluendo.com>
12252
12253         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12254         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12255         (gst_base_sink_preroll_object):
12256         Make sure that our internal state is correct when we commit our state
12257         asynchronously. This solves a race where a state change to PLAYING
12258         could cause the sink to remain blocked in preroll in some situations.
12259
12260 2006-09-15  Wim Taymans  <wim@fluendo.com>
12261
12262         * tools/gst-inspect.c: (print_element_properties_info),
12263         (print_signal_info):
12264         List flags as hex so it's easier to deal with.
12265
12266 2006-09-15  Wim Taymans  <wim@fluendo.com>
12267
12268         * docs/libs/gstreamer-libs-sections.txt:
12269         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12270         (gst_base_sink_do_sync):
12271         * libs/gst/base/gstbasesink.h:
12272         Expose logic to wait for preroll so that subclasses such as audiosink
12273         can also use this method.
12274         API: gst_base_sink_wait_preroll()
12275
12276 2006-09-15  Wim Taymans  <wim@fluendo.com>
12277
12278         * gst/gstobject.c: (gst_object_set_parent):
12279         * gst/gstpipeline.c: (do_pipeline_seek):
12280         Small cleanups in docs and code.
12281
12282         * gst/gstsegment.c: (gst_segment_clip):
12283         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12284         if stop == start and start is in the segment, no clipping should be
12285         done. Also add a test for this.
12286
12287 2006-09-15  Wim Taymans  <wim@fluendo.com>
12288
12289         * docs/design/part-buffering.txt:
12290         * docs/gst/gstreamer-sections.txt:
12291         * gst/gstmessage.c: (gst_message_new_buffering),
12292         (gst_message_parse_buffering):
12293         * gst/gstmessage.h:
12294         Added methods to create and parse BUFFERING messages.
12295         Added preliminary docs about buffering.
12296         API: gst_message_new_buffering
12297         API: gst_message_parse_buffering
12298
12299 2006-09-06  Wim Taymans  <wim@fluendo.com>
12300
12301         * gst/gstbin.c:
12302         Update documentation.
12303
12304         * gst/gstelement.c: (gst_element_class_init),
12305         (gst_element_release_request_pad), (gst_element_set_clock),
12306         (gst_element_get_index), (gst_element_add_pad),
12307         (gst_element_remove_pad), (gst_element_get_random_pad),
12308         (gst_element_send_event), (gst_element_get_query_types),
12309         (gst_element_query), (gst_element_post_message),
12310         (gst_element_message_full), (gst_element_continue_state),
12311         (gst_element_lost_state), (gst_element_save_thyself),
12312         (gst_element_restore_thyself):
12313         Documentation updates.
12314         Rename last bit of the new-pad -> pad-added signal rename.
12315         Fix the case where an element query would only work if the source
12316         pad was linked.
12317         Avoid some useless type checking in message handling.
12318
12319         * gst/gstevent.c:
12320         * gst/gstevent.h:
12321         * gst/gstutils.c:
12322         Documentation updates.
12323
12324 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12325
12326         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12327           add an INFO line for when we actually update the fd
12328
12329 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12330
12331         * configure.ac:
12332           back to TRUNK
12333
12334 === release 0.10.10 ===
12335
12336 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12337
12338         * configure.ac:
12339           releasing 0.10.10, "Pais"
12340
12341 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12342
12343         * docs/manual/advanced-position.xml:
12344           Fix typo in sample code.
12345
12346 2006-09-05  Wim Taymans  <wim@fluendo.com>
12347
12348         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12349         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12350         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12351         * libs/gst/net/gstnetclientclock.h:
12352         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12353         * libs/gst/net/gstnettimepacket.h:
12354         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12355         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12356         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12357         * libs/gst/net/gstnettimeprovider.h:
12358         Make stuff compile on windows. Fixes #345295.
12359
12360 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12361
12362         * gst/gst.c: (ensure_current_registry_forking):
12363           Print better details when child was terminated by signal.
12364
12365 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12366
12367         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12368           Print a warning rather than g_assert() if a plugin feature
12369           is a URI handler but returns no protocols (#353976).
12370
12371 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12372
12373         * docs/random/moving-plugins:
12374         Fix two typos.         
12375
12376 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12377
12378         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12379           Fix locking order, handle NULL function values properly.
12380
12381         * gst/gstinfo.h:
12382           Fix docs.
12383
12384         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12385           Initialise variable before using it and fix debug statement to
12386           print the address of the function rather than the address of the
12387           variable on the stack holding the address of the function.
12388
12389 2006-09-01  Wim Taymans  <wim@fluendo.com>
12390
12391         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12392         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12393         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12394         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12395         (gst_ghost_pad_parent_unset),
12396         (gst_ghost_pad_internal_do_activate_push),
12397         (gst_ghost_pad_internal_do_activate_pull),
12398         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12399         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12400         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12401         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12402         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12403         (gst_ghost_pad_new_no_target_from_template),
12404         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12405         More cleanups.
12406         Avoid needless typechecking in macros.
12407         Since the internal pad is always present and never changes, there is
12408         no need to locking or ref when retrieving it.
12409         Improve debugging a bit.
12410         Handle link errors when setting the target. Fixes #341029.
12411
12412 2006-09-01  Wim Taymans  <wim@fluendo.com>
12413
12414         * docs/libs/gstreamer-libs-sections.txt:
12415         * docs/plugins/gstreamer-plugins-sections.txt:
12416         Fix docs some more.
12417
12418         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12419         (gst_collect_pads_event):
12420         * libs/gst/base/gstcollectpads.h:
12421         Documentation updates.
12422         Free queued buffer when removing a pad.
12423
12424 2006-08-31  Michael Smith  <msmith@fluendo.com>
12425
12426         * gst/gstutils.c: (gst_element_link_pads),
12427         (gst_element_link_pads_filtered):
12428           Ensure that we set a capsfilter to NULL if we failed to link it
12429           when doing filtered linking, to avoid criticals.
12430
12431           No need to check for unreffing srcpad, which is explicly NULLed
12432           above (a trivial code cleanup).
12433
12434 2006-08-31  Wim Taymans  <wim@fluendo.com>
12435
12436         * docs/design/part-gstghostpad.txt:
12437         Update ascii art in documentation.
12438
12439         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12440         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12441         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12442         (gst_ghost_pad_internal_do_activate_push),
12443         (gst_ghost_pad_internal_do_activate_pull),
12444         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12445         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12446         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12447         (gst_ghost_pad_set_target):
12448         Small cleanups and leak fixes.
12449         Remove some checks now that the internal pad is never NULL.
12450         Fix the case where linking pads without a target would create nasty
12451         criticals. Fixes #341029.
12452         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12453         value of _set_target().
12454
12455         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12456         (gst_ghost_pad_suite):
12457         Some more tests for creating and linking untargeted ghostpads.
12458
12459 2006-08-31  Edward Hervey  <edward@fluendo.com>
12460
12461         * docs/gst/gstreamer-sections.txt:
12462         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12463         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12464         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12465         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12466         (gst_ghost_pad_new_from_template),
12467         (gst_ghost_pad_new_no_target_from_template):
12468         * gst/gstghostpad.h:
12469         Refactored *_new() functions.
12470         Templates are now used as a g_object_new() parameter.
12471         Use template in _do_getcaps() if we don't have a target.
12472         Small documentation cleanups.
12473         Added two new constructors:
12474         gst_ghost_pad_new_from_template()
12475         gst_ghost_pad_new_no_target_from_template()
12476         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12477         (gst_ghost_pad_suite):
12478         Added tests for new ghostpad instanciation functions.
12479
12480         API additions: gst_ghost_pad_new_from_template,
12481         gst_ghost_pad_new_no_target_from_template
12482
12483 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12484
12485         * docs/random/ensonic/profiling.txt:
12486           Ideas about qos profiling.
12487
12488 2006-08-29  Wim Taymans  <wim@fluendo.com>
12489
12490         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12491         Code cleanups.
12492         Fix memleak.
12493
12494 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12495
12496         * gst/gstxml.c:
12497           Improve and detypofy docs.
12498
12499         * tests/check/Makefile.am:
12500         * tests/check/gst/.cvsignore:
12501         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12502           Add a basic test suite for GstXML.
12503
12504 2006-08-29  Wim Taymans  <wim@fluendo.com>
12505
12506         * gst/gstelement.c: (activate_pads), (clear_caps),
12507         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12508         Clear the pad caps when the element shut down all of the pads and
12509         is not streaming data that could modify the caps. 
12510         Fixes #352958.
12511
12512 2006-08-28  Michael Smith  <msmith@fluendo.com>
12513
12514         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12515           Revert previous change; I misunderstood single-segment mode.
12516
12517 2006-08-28  Michael Smith  <msmith@fluendo.com>
12518
12519         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12520           Unset DISCONT on buffers when using single-segment mode.
12521
12522 2006-08-28  Wim Taymans  <wim@fluendo.com>
12523
12524         * gst/gstcaps.c: (gst_caps_merge_structure):
12525         * gst/gstcaps.h:
12526         Fix docs and indentation again.
12527
12528         * tests/check/gst/gstquery.c: (GST_START_TEST):
12529         Fix leak in tests and add some more tests.
12530
12531 2006-08-28  Edward Hervey  <edward@fluendo.com>
12532
12533         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12534         Inform GstSegment of the last stop position in order for the current
12535         segment to have a proper duration if it doesn't have a specific stop
12536         position from which a duration could be calculated.
12537         This bug was noticeable when a non-flushing, non-update new segment was
12538         followed by another segment (all buffers from the new segment were being
12539         dropped).
12540
12541 2006-08-28  Wim Taymans  <wim@fluendo.com>
12542
12543         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12544         Small comment update.
12545
12546         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12547         (gst_identity_transform_ip):
12548         Drop-probability is broken, mention this in the code with a 
12549         FIXME and also in the property description.
12550         Make silent also be silent about the drop messages.
12551
12552 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12553
12554         * docs/manual/appendix-win32.xml:
12555           Remove mention of popt, we don't depend on that any
12556           longer (#353136). Add some comments pointing out that
12557           this section is slightly outdated.
12558
12559 2006-08-28  Wim Taymans  <wim@fluendo.com>
12560
12561         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12562
12563         * gst/gstquery.c: (gst_query_new_segment):
12564         * tests/check/gst/gstquery.c: (GST_START_TEST):
12565         Initialize variables when creating a new segment query.
12566         Fixes #353121.
12567
12568 2006-08-28  Wim Taymans  <wim@fluendo.com>
12569
12570         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12571
12572         * gst/gstelement.c: (gst_element_get_bus):
12573         * tests/check/gst/gstelement.c: (GST_START_TEST):
12574         Check for NULL before _reffing the bus. Fixes #353122.
12575
12576 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12577
12578         * docs/manual/basics-bus.xml:
12579           Docs update: fix wrong callback return value explanation; add
12580           some lines about the implicit relationship between main loop
12581           and main context; remove duplicate main loop variable declaration.
12582
12583 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12584
12585         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12586           Don't leak caps in unit test; add a few more simple
12587           checks. 
12588
12589 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12590
12591         * docs/gst/gstreamer-sections.txt:
12592         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12593         (gst_caps_structure_is_subset), (gst_caps_merge),
12594         (gst_caps_merge_structure):
12595         * gst/gstcaps.h:
12596         * libs/gst/base/gstbasetransform.c:
12597         (gst_base_transform_transform_caps):
12598         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12599           implement caps merging (fixes #352580)
12600
12601 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12602
12603         * tools/Makefile.am:
12604         * tools/gst-plot-timeline.py:
12605           add debug-log plotting developer tool (#340674)
12606
12607 2006-08-23  Wim Taymans  <wim@fluendo.com>
12608
12609         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12610         (gst_pad_stop_task):
12611         Improve debugging for task functions.
12612
12613         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12614         (gst_task_start), (gst_task_pause), (gst_task_join):
12615         Make sure that the task function started and finished after a 
12616         join(). 
12617         Don't try to push the task function on the threadpool multiple
12618         times.
12619         Improve the g_warning message with some useful suggestions
12620         about how to fix the problem. 
12621
12622 2006-08-23  Wim Taymans  <wim@fluendo.com>
12623
12624         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12625         Handle RESYNC correctly in _proxy_getcaps.
12626
12627 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12628
12629         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12630         (gst_xml_parse_memory), (gst_xml_get_element):
12631           Chain up to parent class in dispose function and also
12632           unref the elements in the toplevel_elements GList.
12633           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12634           Always return a reference in gst_xml_get_element() rather
12635           than only sometimes.
12636
12637         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12638           Don't leak GstXml object.
12639
12640 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12641
12642         * docs/gst/gstreamer-sections.txt:
12643         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12644         (gst_caps_merge):
12645         * gst/gstcaps.h:
12646         * libs/gst/base/gstbasetransform.c:
12647         (gst_base_transform_transform_caps):
12648           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12649           in a better way
12650
12651 2006-08-21  Edward Hervey  <edward@fluendo.com>
12652
12653         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12654         Implement GObject::dispose virtual method in GstXML so we can free the
12655         top_elements GList.
12656
12657 2006-08-21  Wim Taymans  <wim@fluendo.com>
12658
12659         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12660         (gst_buffer_create_sub):
12661         Copy duration/offset_end/caps when creating a subbuffer of the
12662         complete parent.
12663         Make the subbuffer read-only when we make the metadata writable for
12664         now. Fixes #351768.
12665
12666         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12667         Added check for metadata copy when creating subbuffers.
12668
12669 2006-08-21  Edward Hervey  <edward@fluendo.com>
12670
12671         * libs/gst/base/gstbasetransform.c:
12672         (gst_base_transform_buffer_alloc):
12673         Only call downstream buffer_alloc if transform element is passthrough
12674         or always_in_place. Closes #350449.
12675
12676 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12677
12678         * ChangeLog:
12679           ChangeLog surgery to add comments to previous changes
12680
12681 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12682
12683         * gst/gst.c:
12684           Add comments
12685
12686         * gst/gstpad.c: (gst_pad_set_active):
12687           Be more verbose in the log
12688
12689         * libs/gst/base/gstbasetransform.c:
12690         (gst_base_transform_transform_caps):
12691           Simplify caps to get rid of duplicates, fixes #345444
12692
12693 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12694
12695         * gst/gstvalue.c:
12696         * gst/gstvalue.h:
12697           Use these optimizations only internally.
12698
12699 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12700
12701         * gst/gstvalue.c: (gst_value_compare_list),
12702         (gst_value_compare_fraction_range),
12703         (gst_value_intersect_fraction_fraction_range),
12704         (gst_value_intersect_fraction_range_fraction_range),
12705         (gst_value_subtract_fraction_fraction_range),
12706         (gst_value_subtract_fraction_range_fraction_range),
12707         (gst_value_get_compare_func), (gst_value_compare),
12708         (gst_value_compare_with_func):
12709         * gst/gstvalue.h:
12710           Saves the expensive lookup of the compare function in many cases
12711          (#345444)
12712
12713 2006-08-18  Edward Hervey  <edward@fluendo.com>
12714
12715         * tests/check/gst/gstinfo.c: (gst_info_suite):
12716         Disable test that require gstdebug if it wasn't built in core.
12717
12718 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12719
12720         * docs/random/ensonic/logging.txt:
12721           update ideas
12722           
12723         * gst/gstinfo.c: (gst_debug_log_default):
12724           reorder fields, save some columns, add optional color codes for log
12725           levels
12726
12727 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12728
12729         * docs/random/ensonic/logging.txt:
12730           add ideas about making the logs a bit more useful
12731
12732 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12733
12734         * docs/pwg/advanced-events.xml:
12735         * docs/pwg/titlepage.xml:
12736           Update for 0.10 API (#340627). Add myself
12737           to authors list.
12738
12739 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12740
12741         * docs/libs/gstreamer-libs-docs.sgml:
12742         * docs/libs/gstreamer-libs-sections.txt:
12743         * libs/gst/check/gstbufferstraw.c:
12744           Make gstcheck stuff show up in docs (still needs to
12745           be documented properly though).
12746
12747 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
12748
12749         * docs/gst/gstreamer-sections.txt:
12750         * gst/Makefile.am:
12751         * gst/gst.c: (init_post):
12752         * gst/gst_private.h:
12753         * gst/gstquark.c: (_priv_gst_quarks_initialize):
12754         * gst/gstquark.h:
12755         * gst/gstquery.c: (gst_query_new_position),
12756         (gst_query_set_position), (gst_query_parse_position),
12757         (gst_query_new_duration), (gst_query_set_duration),
12758         (gst_query_parse_duration), (gst_query_new_convert),
12759         (gst_query_set_convert), (gst_query_parse_convert),
12760         (gst_query_new_segment), (gst_query_set_segment),
12761         (gst_query_parse_segment), (gst_query_new_seeking),
12762         (gst_query_set_seeking), (gst_query_parse_seeking):
12763         Add internal helpers for pre-registering quarks from static strings
12764         and using the quark values directly instead of looking them up when
12765         creating and parsing queries. Can be used for event construction too.
12766         Closes #350432.
12767
12768 2006-08-16  Wim Taymans  <wim@fluendo.com>
12769
12770         * gst/gstbin.c:
12771         Fix bogus docs.
12772
12773 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12774
12775         * gst/gstutils.c: (gst_util_set_value_from_string):
12776           Fix memleak (#351502).
12777
12778         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12779           Add unit test for most of gst_util_set_value_from_string()
12780           (not that one would want to encourage use of this function).
12781
12782 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12783
12784         * libs/gst/check/gstcheck.h:
12785           Use const gchar * variables in fail_unless_equals_string
12786           macro to avoid compiler warnings (and don't use tabs for
12787           indenting).
12788
12789 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12790
12791         * tools/gst-launch.c: (print_tag):
12792           More space on the left for the tag names, to cater
12793           for the 'extended comment' tag (not touching the
12794           string for the first line since it's translated).
12795
12796 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12797
12798         * libs/gst/check/gstcheck.h:
12799           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12800           print something when they fail.
12801
12802 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12803
12804         * docs/gst/gstreamer-sections.txt:
12805         * gst/gsttaglist.c: (_gst_tag_initialize):
12806         * gst/gsttaglist.h:
12807           API: add GST_TAG_EXTENDED_COMMENT (#350935).
12808           Also change merge function for GST_TAG_COMMENT to
12809           use_first.
12810
12811 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12812
12813         * gst/gstinfo.c: (gst_debug_print_object):
12814           Make GST_PTR_FORMAT print messages as well.
12815
12816         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12817         (GST_START_TEST), (gst_info_suite):
12818           More tests.
12819
12820 2006-08-14  Edward Hervey  <edward@fluendo.com>
12821
12822         * gst/gstelementfactory.c: (gst_element_register):
12823         If the GstElementClass doesn't have a GstElementDetails with all fields
12824         filled up correctly (longname, description AND author), then error out
12825         nicely instead of crashing.
12826
12827 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12828
12829         * gst/gststructure.c:
12830           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12831
12832         * gst/gstvalue.h:
12833           Expand on the difference between arrays and lists as we use them.
12834           
12835 2006-08-14  Wim Taymans  <wim@fluendo.com>
12836
12837         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12838         If the parent state change function failed, don't assume we can safely
12839         stop the source, this will be done when the pads are deactivated.
12840
12841 2006-08-14  Wim Taymans  <wim@fluendo.com>
12842
12843         * gst/gstbuffer.c:
12844         * gst/gsttask.c: (gst_task_join):
12845         Small doc updates.
12846
12847         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
12848         (gst_pad_stop_task):
12849         When pad (de)activation failed for some reason, restore the old
12850         activation mode and set the pad to flushing instead of assuming the
12851         pad is deactivated.
12852         If the _task_join() failed, reinstall the task on the pad so that it can
12853         be stopped later and return an error.
12854
12855 2006-08-11  Andy Wingo  <wingo@pobox.com>
12856
12857         * configure.ac:
12858         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12859         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
12860         is only for users of API that don't want to see deprecated
12861         functions in the headers; people that want to compile out
12862         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
12863         CFLAGS. Fixes the build of multifdsink, or will soon..
12864
12865 2006-08-11  Wim Taymans  <wim@fluendo.com>
12866
12867         * docs/gst/gstreamer-sections.txt:
12868         Add GstClockClass vmethod docs.
12869
12870         * gst/gstcaps.h:
12871         Mark #endif with comment for associated #if
12872
12873         * gst/gstclock.c: (gst_clock_id_wait):
12874         * gst/gstclock.h:
12875         Add vmethod wait_jitter to avoid an unneeded _get_time() for
12876         most clock implementations.
12877         Document vmethods.
12878         Flesh out docs about resolution methods.
12879         API: GstClockClass::wait_jitter
12880
12881         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12882         (gst_system_clock_async_thread),
12883         (gst_system_clock_id_wait_jitter_unlocked),
12884         (gst_system_clock_id_wait_jitter):
12885         Use base class wait_jitter variant for improved performance
12886         due to less clock polling.
12887
12888 2006-08-11  Edward Hervey  <edward@fluendo.com>
12889
12890         * gst/gst.c: (gst_init_check), (init_post):
12891         Set gst as being initialized before scanning/updating the registry,
12892         since there might be my python plugin loader that calls gst_init() and
12893         we don't want to loop back in.
12894         Closes #350879
12895
12896 2006-08-11  Wim Taymans  <wim@fluendo.com>
12897
12898         * docs/design/part-qos.txt:
12899         Bring docs in line with the code. Mostly the sign of the jitter was
12900         wrong in the docs. Fixes #349943.
12901
12902         * gst/gstclock.c:
12903         Fix the docs for the jitter.
12904
12905         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
12906         (gst_event_parse_tag), (gst_event_new_buffer_size),
12907         (gst_event_parse_buffer_size), (gst_event_parse_qos),
12908         (gst_event_new_seek), (gst_event_parse_seek),
12909         (gst_event_new_navigation):
12910         Make sure the GstStructure has no parent when creating custom
12911         events.
12912         Add some more argument checking so that we avoid 0.0 rates.
12913         Flesh out the docs for the QoS event some more.
12914
12915 2006-08-11  Wim Taymans  <wim@fluendo.com>
12916
12917         * docs/gst/gstreamer-sections.txt:
12918         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
12919         (ensure_current_registry_forking), (ensure_current_registry),
12920         (parse_one_option), (parse_goption_arg), (gst_deinit),
12921         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
12922         * gst/gst.h:
12923         Doc updates.
12924         Added API and command line option to disable registry forking in
12925         addition to the environment variable.
12926         Constify some static arrays.
12927         Added some more debug.
12928         Don't deinit twice.
12929         API: gst_registry_fork_is_enabled()
12930         API: gst_registry_fork_set_enabled()
12931         API: --gst-disable-registry-fork command line option
12932         Fixes #348918.
12933
12934 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
12935
12936         * gst/gst.c: (gst_init):
12937           Fix typo in error message.
12938
12939 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
12940
12941         * libs/gst/controller/gstcontroller.h:
12942           fix ABI size-correction
12943
12944         * tests/check/libs/gdp.c: (gst_dp_suite):
12945           make tests that use deprecated API conditional
12946
12947 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
12948
12949         * docs/libs/gstreamer-libs-sections.txt:
12950         * libs/gst/controller/gstcontroller.c:
12951         (_gst_controller_get_property), (_gst_controller_set_property),
12952         (_gst_controller_init), (_gst_controller_class_init):
12953         * libs/gst/controller/gstcontroller.h:
12954         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
12955         (gst_object_set_control_rate):
12956           API: add gst_object_{s,g}et_control_rate(), add private data section,
12957           fix docs
12958
12959         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12960         * libs/gst/dataprotocol/dataprotocol.h:
12961           add deprecation guards to make gtk-doc happy and allow disabling cruft
12962
12963 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12964
12965         * tests/check/Makefile.am:
12966         * tests/check/gst/.cvsignore:
12967           Let's enable the new unit test as well.
12968
12969 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12970
12971         * configure.ac:
12972         * docs/gst/gstreamer-sections.txt:
12973         * gst/gstconfig.h.in:
12974         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
12975         (_gst_info_printf_extension_ptr),
12976         (_gst_info_printf_extension_segment):
12977           API: add GST_SEGMENT_FORMAT, which is a printf extension we
12978           register that lets us easily dump GstSegments into debug
12979           logs (#350419).
12980
12981         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
12982         (info_segment_format_printf_extension), (gst_info_suite):
12983           Add simple unit test that logs a bunch of different segments (not
12984           valgrinded at the moment because of leaks in
12985           gst_debug_add_log_function).
12986
12987 2006-08-09  Edward Hervey  <edward@fluendo.com>
12988
12989         * libs/gst/base/gstbasetransform.c:
12990         (gst_base_transform_buffer_alloc):
12991         Even if we can't figure out the proper format to request downstream,
12992         call buffer_alloc() downstream with the input parameters without setting
12993         the caps on the srcpad. This will force negotiation in the chain
12994         function.
12995         Closes #350449
12996
12997 2006-08-08  Edward Hervey  <edward@fluendo.com>
12998
12999         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13000         Unlinking from a pad without a target is now a perfectly valid case
13001         which should NOT raise an assertion.
13002         This case would happen if a linked ghostpad its target set to NULL after
13003         it was previously linked.
13004
13005 2006-08-08  Edward Hervey  <edward@fluendo.com>
13006
13007         * tests/check/libs/gdp.c:
13008         Also comment out the test (see below).
13009
13010 2006-08-08  Edward Hervey  <edward@fluendo.com>
13011
13012         * tests/check/libs/gdp.c: (gst_dp_suite):
13013         Use the architecture information from config.h and not gcc macros
13014         in order to properly disable a test that fails on PPC64.
13015
13016 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13017
13018         * gst/gstelement.c: (gst_element_remove_pad):
13019           Don't crash printing the warning if the pad has no parent.
13020
13021 2006-08-02  Wim Taymans  <wim@fluendo.com>
13022
13023         * libs/gst/dataprotocol/dataprotocol.c:
13024         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13025         (gst_dp_crc), (gst_dp_header_payload_length),
13026         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13027         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13028         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13029         (gst_dp_event_from_packet), (gst_dp_validate_header),
13030         (gst_dp_validate_payload):
13031         Make debug category static
13032         Constify the crc table.
13033         Do some more arg checking in public functions.
13034         Fix some docs and do some small cleanups.
13035
13036         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13037         Add some more checks to see if GDP deals with bogus input.
13038
13039 2006-07-31  Wim Taymans  <wim@fluendo.com>
13040
13041         * gst/gstvalue.c: (gst_value_compare_list):
13042         Fix GstValueList comparison code. Fixes #347293.
13043
13044         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13045         Check to test GstValueList comparison.
13046
13047 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13048
13049         * gst/gstelementfactory.c: (gst_element_factory_create):
13050         Remove unnecessary ref/unref pair
13051
13052         * gst/parse/grammar.y:
13053         Make sure to free the parse buffer on all code paths.
13054         Move a g_free up to the error handler where it's easier to see.
13055
13056         * tests/check/gst/gstevent.c: (test_event):
13057         Extending timeout for downstream travelling events to 10 seconds to
13058         hopefully avoid intermittent failure on the buildbots.
13059
13060         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13061         Don't manually set the state of the src element - it will happen as a
13062         natural consequence of the pipeline changing state, and that way it
13063         will do it in the right order too.
13064
13065 2006-07-31  Wim Taymans  <wim@fluendo.com>
13066
13067         * libs/gst/base/gstbasetransform.c:
13068         (gst_base_transform_buffer_alloc):
13069         Use OBJECT_LOCK and refcounting to get the pad caps in the
13070         buffer_alloc function because the caps could change while we are
13071         busy with them. Fixes #349105
13072
13073 2006-07-31  Wim Taymans  <wim@fluendo.com>
13074
13075         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13076         Protect _PAD_CAPS with OBJECT_LOCK.
13077
13078 2006-07-31  Wim Taymans  <wim@fluendo.com>
13079
13080         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13081         (gst_pad_get_property), (gst_pad_activate_pull),
13082         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13083         (gst_pad_set_activate_function),
13084         (gst_pad_set_activatepull_function),
13085         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13086         (gst_pad_set_getrange_function),
13087         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13088         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13089         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13090         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13091         (gst_pad_set_acceptcaps_function),
13092         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13093         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13094         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13095         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13096         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13097         (gst_pad_configure_sink), (gst_pad_configure_src),
13098         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13099         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13100         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13101         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13102         (gst_pad_send_event):
13103         Use _DEBUG_OBJECT when it makes sense.
13104         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13105         Small cleanups and code reflows.
13106         Avoid caps refcounting in _accept_caps.
13107         Refactor alloc_buffer so that the code performed on the peer is in a
13108         separate function. Also if the pad does not implement a buffer alloc
13109         function, we should still check if the pad is flushing before falling
13110         back to the default allocator.
13111
13112 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13113
13114         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13115         Make all uses of identity and fakesink have silent=true to avoid
13116         serialising every passing data structure, which is breaking tests
13117         on FC4 for some unknown reason.
13118
13119 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13120
13121         * gst/parse/Makefile.am:
13122         * gst/parse/grammar.y:
13123         * gst/parse/parse.l:
13124           Reverted previous patch as it required to bump the flex dependency to
13125           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13126
13127 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13128
13129         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13130
13131         * gst/parse/Makefile.am:
13132         * gst/parse/grammar.y:
13133         * gst/parse/parse.l:
13134           push & pop the state of the lexer for reentrant use case
13135           Fixes #349180
13136
13137 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13138
13139         * libs/gst/base/gstbasesrc.h:
13140           Note in the docs that the ::newsegment vfunc is not actually used by
13141           GstBaseSrc.
13142
13143 2006-07-28  Wim Taymans  <wim@fluendo.com>
13144
13145         * libs/gst/base/gstcollectpads.c:
13146         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13147         (gst_collect_pads_clear), (gst_collect_pads_flush),
13148         (gst_collect_pads_event), (gst_collect_pads_chain):
13149         When flushing a pad, also clear the queued buffer so that we don't
13150         accidentally use it when we shouldn't.
13151         Fix leaks by inreffing incomming buffer.
13152         Flush out queued buffers in case of errors.
13153         Fixes #347452.
13154
13155 2006-07-28  Wim Taymans  <wim@fluendo.com>
13156
13157         * docs/random/phonon-gst:
13158         Random notes about a Phonon backend.
13159
13160 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13161
13162         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13163         Extra debug output
13164         * tests/check/libs/gdp.c: (gst_dp_suite):
13165         Take a whack at fixing the ppc compile using a different define to
13166         disable the broken test.
13167
13168         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13169         Remove excess g_print()
13170
13171 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13172
13173         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13174         Oops, meant to uncomment this line too to dampen the noise a bit.
13175
13176 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13177
13178         * gst/parse/grammar.y:
13179         * gst/parse/parse.l:
13180         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13181         (GST_START_TEST), (parse_suite):
13182         Fix some of the leaks exposed by extending the parse-launch testsuite,
13183         and move the 3 I can't figure out into a separate test that won't run
13184         the pipelines unless the appropriate line is uncommented.
13185
13186 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13187
13188         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13189           Requesting 0 bytes before the end of the file should result in
13190           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13191           unit test.
13192
13193 2006-07-27  Wim Taymans  <wim@fluendo.com>
13194
13195         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13196         Fix useless assert, a uint is always positive.
13197
13198         * gst/gststructure.c: (gst_structure_nth_field_name),
13199         (gst_structure_foreach), (gst_structure_map_in_place):
13200         Check input arguments for public functions to avoid obvious crashes.
13201
13202         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13203         * plugins/elements/gstfakesink.h:
13204         Do less useless typechecking.
13205
13206 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13207
13208         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13209           Do not use mmap() by default since there are a number of error
13210           conditions that we would like to handle in a non-fatal way that
13211           will result in a SIGBUS if we use mmap(). Examples: external
13212           devices (USB harddrive, portable music player) being unplugged
13213           while in use; file on mounted CD/DVD that can't be read because
13214           the medium is partly damaged. Fixes #348455 and #348475.
13215
13216 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13217
13218         * gst/gstquery.h:
13219         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13220         rates are a gdouble
13221
13222 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13223
13224         * gst/gstregistry.c:
13225           Move big documentation comment into class section header, so that it
13226           appears in the API docs.
13227
13228 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13229
13230         * docs/gst/gstreamer-sections.txt:
13231         Oops. Commit the docs additions too for new API.
13232         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13233
13234 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13235
13236         * gst/gststructure.c: (gst_structure_id_set),
13237         (gst_structure_id_set_valist):
13238         * gst/gststructure.h:
13239         Add API for setting values into structures without performing
13240         a quark lookup, if the appropriate quark is already known.
13241
13242         API: gst_structure_id_set
13243         API: gst_structure_id_set_valist
13244
13245         * gst/parse/grammar.y:
13246         * gst/parse/parse.l:
13247         Remove some dead code shown by the coverage information.
13248         Don't throw a critical g_warning when encountering a syntax error,
13249         just warn and let the normal error path handle it.
13250
13251         * plugins/elements/gstelements.c:
13252         Bump the rank of filesink up to PRIMARY so that it is preferred over
13253         gnomevfssink for file:// sink uri's
13254
13255         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13256         (GST_START_TEST), (run_delayed_test),
13257         (gst_parse_test_element_base_init),
13258         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13259         (gst_parse_test_element_change_state),
13260         (gst_register_parse_element), (parse_suite):
13261         Beef up the tests for parse syntax to check that more error cases
13262         fail as they are supposed to. Increases the test coverage a bit.
13263
13264 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13265
13266         * docs/manual/basics-elements.xml:
13267           Fix gst_element_link() example.
13268
13269         * gst/gstutils.c:
13270           Mention in API docs that one should usually gst_bin_add()
13271           elements to a bin or pipeline before doing the linking.
13272           
13273 2006-07-26  Wim Taymans  <wim@fluendo.com>
13274
13275         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13276         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13277         Avoid function call for known types by keeping the buffer and
13278         subbuffer GType global.
13279
13280         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13281         Random silly optimisations in read() path.
13282
13283 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13284
13285         * tools/gst-launch.c: (main):
13286           If the top-level of the parse is a normal bin, it doesn't do the
13287           right logic to run as a top-level element, so place it inside a
13288           pipeline.
13289
13290 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13291
13292         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13293           Remove superfluous g_object_notify() calls, GObject does
13294           that for us automatically.
13295
13296 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13297
13298         * gst/gstinfo.h:
13299           on Win32, use dllspec to export the debug category symbols
13300
13301 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13302
13303         * gst/gsttaglist.c: (_gst_tag_initialize):
13304           Allow more than one GST_TAG_IMAGE per taglist.
13305
13306 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13307
13308         * gst/gstminiobject.c:
13309           update docs
13310         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13311         (gst_fd_src_create):
13312           log recurring events at LOG level
13313           add more debug for when the fd gets set
13314
13315 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13316
13317         * gst/gstparse.c: (gst_parse_launch):
13318           Also remove reentrance checks if flex is MT safe (#348179)
13319          Fix my empty ChangeLog entry below
13320
13321 2006-07-21  Andy Wingo  <wingo@pobox.com>
13322
13323         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13324
13325         * libs/gst/check/Makefile.am
13326         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13327         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13328         * libs/gst/check/gstbufferstraw.h:
13329         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13330         functions, thus proving I am still a GStreamer haxor. OK I wrote
13331         them a long time ago, but anyways.
13332
13333 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13334
13335         * configure.ac:
13336         * gst/gstparse.c: (gst_parse_launch):
13337           Check for flex version and omit mutex if we have a MT save flex
13338           (fixes #348179)
13339
13340 2006-07-21  Wim Taymans  <wim@fluendo.com>
13341
13342         * gst/gstparse.c: (gst_parse_launch):
13343         Protect recursive calls to _parse with a recursive mutex
13344         and busy flag.
13345
13346 2006-07-21  Wim Taymans  <wim@fluendo.com>
13347
13348         * tests/check/gst/gstpad.c: (GST_START_TEST):
13349         Fix leak in test.
13350
13351 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13352
13353         * gst/gstparse.c: (gst_parse_launch):
13354           Do not hang on recursive usage of gst_parse_launch()
13355
13356 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13357
13358         * gst/gsttaglist.c:
13359           Add some more docs, comments and FIXME 0.11s here and there
13360           and also fix some typos.
13361
13362 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13363
13364         * gst/gstsegment.h:
13365           Convert tabs to spaces for better readability. 
13366
13367 2006-07-20  Edward Hervey  <edward@fluendo.com>
13368
13369         * tests/check/libs/gdp.c: (gst_dp_suite):
13370         the test_buffer test fails at line 140 on ppc64 at the following
13371         check:
13372         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13373                 GST_BUFFER_FLAG_IN_CAPS),
13374                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13375         See bug #348114 for more details.
13376
13377 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13378
13379         * docs/pwg/advanced-scheduling.xml:
13380         * gst/gstpad.c:
13381           Fix typos (#348000).
13382
13383 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13384
13385         * docs/pwg/intro-basics.xml:
13386           Fix wrong links (#347927).
13387
13388 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13389
13390         * gst/gstregistry.h:
13391         * gst/gstregistryxml.c: (load_feature),
13392         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13393         * win32/common/config.h:
13394           make --disable-index work (#342564)
13395
13396 2006-07-18  Wim Taymans  <wim@fluendo.com>
13397
13398         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13399
13400         * gst/Makefile.am:
13401         * gst/gsttrace.h:
13402         The attached patch adds two missing defines to gsttrace.h when tracing
13403         is disabled.  It also corrects one existing define.
13404         Fixes #347756.
13405
13406 2006-07-17  Wim Taymans  <wim@fluendo.com>
13407
13408         * docs/gst/gstreamer-sections.txt:
13409         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13410         * gst/gst.h:
13411         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13412         Add two functions to check and change the SIGSEGV behaviour
13413         when loading plugins.
13414         Don't mess with the SIGSEGV handler when we were told not to.
13415         Fixes #347794.
13416         API: gst_segtrap_is_enabled
13417         API: gst_segtrap_set_enabled
13418
13419 2006-07-14  Wim Taymans  <wim@fluendo.com>
13420
13421         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13422         * tests/check/elements/filesrc.c: (GST_START_TEST):
13423         Revert fix for regression in #347408 after release.
13424
13425 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13426
13427         Patch by: Antoine Tremblay <hexa00 at gmail com>
13428
13429         * gst/gstutils.c: (gst_element_unlink):
13430           Free iterator when done (#347311).
13431
13432         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13433           And add a test case for this.
13434
13435 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13436
13437         * configure.ac:
13438         Bump nano back to CVS
13439
13440 === release 0.10.9 ===
13441
13442 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13443
13444         * configure.ac:
13445           releasing 0.10.9, "On the road again"
13446
13447 2006-07-13  Wim Taymans  <wim@fluendo.com>
13448
13449         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13450         * tests/check/elements/filesrc.c: (GST_START_TEST):
13451         Revert pull-0 fix for release. Disable check. Fixes #347408.
13452
13453 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13454
13455         * libs/gst/dataprotocol/dataprotocol.c:
13456         (gst_dp_event_from_packet_1_0):
13457           Fixes #347337: failure to deserialize event packets with
13458           empty payload (only event type)
13459
13460 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13461
13462         * gst/Makefile.am:
13463           do not install a .c file in the header directory
13464
13465 2006-07-13  Edward Hervey  <edward@fluendo.com>
13466
13467         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13468         GhostPad no longer implicitely use the padtemplates of the targets.
13469         Fixes #347384
13470
13471 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13472
13473         * gst/gstvalue.c: (gst_value_compare_list),
13474         (gst_value_compare_array), (_gst_value_initialize):
13475         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13476         Make GstValueArray comparison be order dependent as designed.
13477         Add checks for value lists and value array comparisons.
13478         Fixes #347221
13479
13480 2006-07-11  Edward Hervey  <edward@fluendo.com>
13481
13482         * gst/gstbin.c: (activate_pads),
13483         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13484         (gst_bin_change_state_func):
13485         (de)activate src pads before calling state_change on the childs.
13486         This is to avoid the case where a src ghostpad is blocked (holding the
13487         stream lock), which would block the deactivation of the ghostpad's
13488         target pad.
13489         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13490         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13491         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13492         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13493         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13494         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13495         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13496         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13497         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13498         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13499         (gst_ghost_pad_class_init),
13500         (gst_ghost_pad_internal_do_activate_push),
13501         (gst_ghost_pad_internal_do_activate_pull),
13502         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13503         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13504         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13505         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13506         GhostPads now create their internal GstProxyPad at creation (and not
13507         when they're linked, as it was being done previously).
13508         The internal and target pads are linked straight away.
13509         The data will also travel through the other pad in order to make
13510         pad blocking and probes non-hackish (the probe/block now really happens
13511         on the GhostPad and not on the target).
13512         * gst/gstpad.c: (gst_pad_set_blocked_async),
13513         (gst_pad_link_prepare), (gst_pad_push_event):
13514         Remove previous ghostpad cruft.
13515         * gst/gstutils.c: (gst_pad_add_data_probe),
13516         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13517         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13518         (gst_pad_remove_buffer_probe):
13519         Remove previous ghost pad cruft.
13520         Added more detailed debug statements.
13521         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13522         Fix the testsuite for refcounting changes.
13523         The comments about who has references were correct, but the refcount
13524         being checked wasn't the same (!?!).
13525
13526         Fixes #341029
13527
13528 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13529
13530         * docs/gst/gstreamer-sections.txt:
13531         * gst/gstconfig.h.in:
13532         More docs for configuration options, add docs to gtk-doc.
13533
13534 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13535
13536         * gst/Makefile.am:
13537         * gst/gstconfig.h.in:
13538         * win32/common/config.h:
13539         Fix build when disabling tracing (fixes #344016). Also start to document
13540         the defines that disable the sub-systems.
13541
13542 2006-07-10  Edward Hervey  <edward@fluendo.com>
13543
13544         * gst/gst.c: (ensure_current_registry_forking):
13545         let's make valgrind happy...
13546
13547 2006-07-09  Wim Taymans  <wim@fluendo.com>
13548
13549         * gst/gstelement.c: (activate_pads),
13550         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13551         Better pad activation code: Reset the collect value too on resync.
13552         Add some comments.
13553
13554 2006-07-09  Wim Taymans  <wim@fluendo.com>
13555
13556         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13557         (gst_pad_activate_push):
13558         Use some more macros where it makes sense.
13559         Allow pad mode switching instead of asserting. When a pad
13560         is activated in one mode and we activate it in another, 
13561         deactivate it first before activating it in a different mode.
13562         Fixes #329198.
13563
13564 2006-07-08  Andy Wingo  <wingo@pobox.com>
13565
13566         * tools/gst-launch.c (main): Handle err == NULL.
13567
13568         * gst/gst.c (init_post, ensure_current_registry)
13569         (ensure_current_registry_forking)
13570         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13571         factoring out the registry scanning into separate functions. Don't
13572         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13573         Better environment var name/interface suggestions accepted.
13574
13575 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13576
13577         * gst/gstobject.c: (gst_object_set_name_default),
13578         (gst_object_set_name):
13579           Random micro-optimisation: don't use a hash table
13580           with strings as keys and the usual strdup/strcmp
13581           involved, but rather just use the GQuark of the
13582           type name as key, since it needs to be looked up
13583           anyway to get the type name string.
13584
13585         * tests/check/gst/gstobject.c: (GST_START_TEST):
13586           Fix various leaks.
13587
13588 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13589
13590         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13591         (gst_bin_iterate_all_by_interface):
13592           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13593           GTypes are gulongs and thus the top 4 bytes might be cut
13594           off on some platforms when doing GPOINTER_TO_INT, leading
13595           to invalid GTypes and bad things happening (see RH bug #179654).
13596           Also add a check to make sure the type passed in is really
13597           an interface type.
13598
13599 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13600
13601         * .cvsignore:
13602           Ignore more.
13603
13604 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13605
13606         * Makefile.am:
13607         * configure.ac:
13608         * gst-element-check.m4:
13609         * gst-element-check.m4.in:
13610           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13611           instead of the unversioned gst-inspect (#324176, #168659).
13612
13613 2006-07-06  Wim Taymans  <wim@fluendo.com>
13614
13615         * gst/gstmessage.h:
13616         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13617         warnings.
13618
13619 2006-07-06  Wim Taymans  <wim@fluendo.com>
13620
13621         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13622         (gst_base_src_wait), (gst_base_src_update_length),
13623         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13624         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13625         (gst_base_src_loop), (gst_base_src_start),
13626         (gst_base_src_activate_pull):
13627         Update docs.
13628         blocksize == 0 now means the default blocksize when working in push
13629         based mode.
13630         Remove some pointless asserts in _wait function.
13631         Fix offset/length calculations and EOS handling. We can now pull 0
13632         bytes as well, which is allowed.
13633         use _check_get_range() to decide if we can operate in _pull based
13634         mode.
13635         Fix refcounting leak when check_get_range function was not 
13636         implemented.
13637         API GstBaseSrc::blocksize range can be 0 too now (default)
13638
13639         * tests/check/elements/filesrc.c: (GST_START_TEST),
13640         (filesrc_suite):
13641         Added check to test _get_range() behaviour.
13642
13643 2006-07-06  Wim Taymans  <wim@fluendo.com>
13644
13645         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13646         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13647         (gst_pad_pull_range):
13648         * gst/gstpad.h:
13649         Lots of comments and docs added to the pad functions.
13650         Flesh out the expected behaviour of the get_range() functions.
13651
13652 2006-07-06  Wim Taymans  <wim@fluendo.com>
13653
13654         * gst/gstbus.h:
13655         * gst/gstclock.h:
13656         * gst/gstevent.h:
13657         * gst/gstiterator.h:
13658         * gst/gstpad.h:
13659         * gst/gstplugin.h:
13660         * gst/gsttask.h:
13661         Remove comma at end of enumerator list. 
13662
13663 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13664
13665         * win32/common/libgstbase.def:
13666         * win32/common/libgstdataprotocol.def:
13667         * win32/common/libsgtreamer.def:
13668         Add new exported functions.
13669
13670 2006-07-05  Wim Taymans  <wim@fluendo.com>
13671
13672         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13673         Add some more docs here and there.
13674
13675 2006-07-05  Wim Taymans  <wim@fluendo.com>
13676
13677         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13678         (gst_base_sink_loop), (gst_base_sink_get_position):
13679         When operating in pull mode update the offset so that we
13680         read sequentially.
13681
13682 2006-07-05  Wim Taymans  <wim@fluendo.com>
13683
13684         * gst/gstregistryxml.c: (read_string):
13685         Avoid strdup. (will happen in libxml, but hey!)
13686
13687         * gst/gsturi.c:
13688         Add some more docs.
13689
13690 2006-07-05  Wim Taymans  <wim@fluendo.com>
13691
13692         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13693         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13694         (gst_buffer_suite):
13695         No point in checking if the size of the subbuffer > 0, the
13696         code handles it correclty as demonstrated by unit test.
13697         Also add a unit test for the zero sized _new_and_alloc and
13698         _copy. Fixes #346663.
13699
13700 2006-07-05  Wim Taymans  <wim@fluendo.com>
13701
13702         * libs/gst/base/gstbasetransform.c:
13703         (gst_base_transform_prepare_output_buffer),
13704         (gst_base_transform_buffer_alloc),
13705         (gst_base_transform_handle_buffer):
13706         Make sure the buffer we pass to transform_ip has a refcount of
13707         1 and thus is writable. Fixes #343196
13708
13709 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
13710
13711         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13712         (gst_file_src_init), (gst_file_src_set_property),
13713         (gst_file_src_get_property), (gst_file_src_map_region):
13714         * plugins/elements/gstfilesrc.h:
13715         Add "sequential" property, off by default, to use madvise and hint
13716         to the kernel that sequential access is desired.
13717         Touch all retrieved pages by default to ensure they are pulled
13718         into memory. (Closes #345720)
13719
13720 2006-07-03  Wim Taymans  <wim@fluendo.com>
13721
13722         * docs/design/part-block.txt:
13723         * docs/design/part-dynamic.txt:
13724         Small docs updates.
13725
13726 2006-07-03  Wim Taymans  <wim@fluendo.com>
13727
13728         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13729         (gst_caps_unref), (gst_static_caps_get),
13730         (gst_caps_append_structure):
13731         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13732         Use GSlice when the glib we build against is >= 2.10
13733
13734 2006-07-03  Wim Taymans  <wim@fluendo.com>
13735
13736         * gst/gstelement.c: (gst_element_pads_activate):
13737         Small cleanup in pad activation code.
13738
13739 2006-07-03  Wim Taymans  <wim@fluendo.com>
13740
13741         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13742
13743         * gst/gst-i18n-app.h:
13744         * gst/gst-i18n-lib.h:
13745         * tools/gst-inspect.c: (print_signal_info):
13746         The attached patch will make the inclusion of gettext.h unconditional in
13747         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13748         libintl.h in tools/gst-inspect.c.
13749         This allows use of --disable-nls again and fixes #344642.
13750
13751 2006-07-03  Edward Hervey  <edward@fluendo.com>
13752
13753         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13754         Implement pad blocking on events according to part-block.txt.
13755         More comments on behaviour.
13756         * tests/check/gst/gstevent.c: (test_event):
13757         Send event to peer pad of blocked pad (else it will block).
13758
13759 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13760
13761         * libs/gst/check/gstcheck.c: (gst_check_message_error),
13762         (gst_check_run_suite):
13763           if we get the wrong message, give us the types as string
13764         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13765           Fix a translatable
13766         * tests/check/elements/filesrc.c: (GST_START_TEST):
13767           add a test for trying to open a non-existing file
13768
13769 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13770
13771         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13772           add a test for adding self
13773
13774 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13775
13776         * libs/gst/check/gstcheck.h:
13777           add some assert_ as alias for fail_unless_*
13778         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13779           increase test coverage
13780
13781 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13782
13783         * Makefile.am:
13784           include lcov.mak for lcov coverage generation
13785         * tools/Makefile.am:
13786           add to CLEANFILES
13787
13788 2006-07-02  Edward Hervey  <edward@fluendo.com>
13789
13790         * tests/check/elements/.cvsignore:
13791         moaping
13792
13793 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13794
13795         * configure.ac:
13796           don't set CFLAGS and friends for gcov, done from GST_GCOV now
13797         * tests/check/Makefile.am:
13798           clean up gcov files
13799
13800 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13801
13802         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13803           remove gst_caps_simplify; it was not declared and not used
13804           and deprecated in 0.8
13805
13806 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13807
13808         * docs/faq/gst-uninstalled:
13809           don't put empty paths on PYTHONPATH
13810         * docs/gst/gstreamer-sections.txt:
13811           remove some symbols that are not there
13812
13813 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13814
13815         * gst/gstcaps.c: (gst_caps_compare_structures):
13816           whitespace fixes
13817         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13818         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13819           add more tests
13820
13821 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13822
13823         * libs/gst/dataprotocol/Makefile.am:
13824           build dataprotocol test by linking to the lib, instead of
13825           compiling the source, so we get coverage
13826         * tests/check/Makefile.am:
13827         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13828         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13829           add a test for filesrc
13830
13831 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13832
13833         * tests/check/gst/gststructure.c: (GST_START_TEST),
13834         (gst_structure_suite):
13835           Push coverage from 59.04% to 70.00%
13836
13837 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13838
13839         * tests/check/Makefile.am:
13840           gst-inspect every element; this makes sure that we also get
13841           coverage on element's get/set functions
13842
13843 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13844
13845         * configure.ac:
13846           set CFLAGS and friends to -O0 if gcov is being used
13847           add GCOV LIBS
13848         * gst/Makefile.am:
13849         * libs/gst/base/Makefile.am:
13850         * libs/gst/check/Makefile.am:
13851         * libs/gst/controller/Makefile.am:
13852         * libs/gst/dataprotocol/Makefile.am:
13853         * libs/gst/net/Makefile.am:
13854         * plugins/elements/Makefile.am:
13855         * plugins/indexers/Makefile.am:
13856           add makefile rules to generate gcov data and clean up
13857         * tests/check/Makefile.am:
13858           add a coverage target that generates an html overview
13859           of coverage data
13860
13861 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13862
13863         * tests/check/elements/fakesink.c:
13864         * tests/check/elements/fakesrc.c:
13865         * tests/check/elements/fdsrc.c:
13866         * tests/check/elements/identity.c:
13867         * tests/check/generic/sinks.c: (gst_sinks_suite):
13868         * tests/check/generic/states.c:
13869         * tests/check/gst/gst.c:
13870         * tests/check/gst/gstabi.c:
13871         * tests/check/gst/gstbin.c:
13872         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
13873         * tests/check/gst/gstbus.c: (gst_bus_suite):
13874         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13875         * tests/check/gst/gstelement.c:
13876         * tests/check/gst/gstevent.c: (gst_event_suite):
13877         * tests/check/gst/gstghostpad.c:
13878         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
13879         * tests/check/gst/gstmessage.c: (gst_message_suite):
13880         * tests/check/gst/gstminiobject.c:
13881         * tests/check/gst/gstobject.c:
13882         * tests/check/gst/gstpad.c:
13883         * tests/check/gst/gstpipeline.c:
13884         * tests/check/gst/gstplugin.c:
13885         * tests/check/gst/gstquery.c: (gst_query_suite):
13886         * tests/check/gst/gstsegment.c: (gst_segment_suite):
13887         * tests/check/gst/gststructure.c:
13888         * tests/check/gst/gstsystemclock.c:
13889         * tests/check/gst/gsttag.c:
13890         * tests/check/gst/gsttask.c: (gst_task_suite):
13891         * tests/check/gst/gstutils.c:
13892         * tests/check/gst/gstvalue.c:
13893         * tests/check/libs/adapter.c:
13894         * tests/check/libs/basesrc.c:
13895         * tests/check/libs/collectpads.c:
13896         * tests/check/libs/controller.c:
13897         * tests/check/libs/gdp.c: (gst_dp_suite):
13898         * tests/check/libs/gstnetclientclock.c:
13899         * tests/check/libs/gstnettimeprovider.c:
13900         * tests/check/libs/libsabi.c: (libsabi_suite):
13901         * tests/check/libs/typefindhelper.c:
13902         * tests/check/pipelines/cleanup.c:
13903         * tests/check/pipelines/parse-launch.c:
13904         * tests/check/pipelines/simple-launch-lines.c:
13905         * tests/check/pipelines/stress.c: (stress_suite):
13906           use the new macro
13907
13908 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13909
13910         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
13911         * libs/gst/check/gstcheck.h:
13912           create a macro and function so that the simple unit test
13913           case can be just one macro to create main()
13914
13915 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
13916
13917         * gst/gstbin.c: (gst_bin_restore_thyself):
13918         * gst/gstxml.c: (gst_xml_make_element):
13919           Fix deserialisation from XML. Set parent manually
13920           instead of using gst_bin_add(), since gst_bin_add()
13921           will unlink all pads of the element being added.
13922           Fixes #341667.
13923
13924 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
13925
13926         Patch by: Peter Kjellerstedt <pkj at axis com>
13927
13928         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
13929           Fix missing g_strdup() and double free when using the
13930           --gst-plugin-load command line option (#346097).
13931
13932 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
13933
13934         * gst/gstinfo.c:
13935           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
13936
13937         * libs/gst/net/gstnetclientclock.c:
13938         * libs/gst/net/gstnettimeprovider.c:
13939           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
13940
13941 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
13942
13943         * docs/manual/advanced-dataaccess.xml:
13944           Fix buffer probe example compilation in
13945           ADM (#345708).
13946         
13947 2006-06-22  Edward Hervey  <edward@fluendo.com>
13948
13949         * gst/gstelement.c: (gst_element_pads_activate):
13950         We need to deactivate src pads first and then sink pads.
13951         The reason is the src pads might be blocking while holding the streaming
13952         lock, so we need to deactivate them first so that deactivating the sink
13953         pads doesn't block (since it will require the streaming lock).
13954
13955 2006-06-22  Wim Taymans  <wim@fluendo.com>
13956
13957         * libs/gst/base/gstbasetransform.c:
13958         (gst_base_transform_buffer_alloc):
13959         Forgot to remove two unneeded unrefs.
13960         Simplify a check _is_equal allready checks the obvious case.
13961
13962 2006-06-22  Wim Taymans  <wim@fluendo.com>
13963
13964         * docs/design/part-block.txt:
13965         Some docs about what pad_block should do.
13966
13967 2006-06-22  Wim Taymans  <wim@fluendo.com>
13968
13969         * gst/gstcaps.c: (gst_caps_replace):
13970         Fix crasher when passed NULL. Doc clarification.
13971         Optimize for the trivial case.
13972
13973         * gst/gstpipeline.c: (gst_pipeline_change_state):
13974         Small cleanups.
13975
13976         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
13977         Small documentation cleanup.
13978
13979         * libs/gst/base/gstbasetransform.c:
13980         (gst_base_transform_buffer_alloc):
13981         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
13982         is what we need and it avoids a whole lot of redundant 
13983         refcount operations.
13984
13985 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
13986
13987         Patch by: Philip Jägenstedt  <philip at lysator liu se>
13988
13989         * docs/manual/advanced-dataaccess.xml:
13990           Fix 'Embedding static elements' section to use
13991           GST_PLUGIN_DEFINE_STATIC (#345607).
13992
13993 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
13994
13995         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
13996           Attempt to 'fix' spuriously failing test case: it seems like the
13997           timeout of half a second is simply too small when the system is under
13998           load otherwise, and the timeout doesn't really seem to serve any
13999           particular purpose here. Give the pipeline a few seconds to preroll
14000           first, and then give it another half a second to go from PAUSED to
14001           PLAYING and marshal the message into the main thread.
14002
14003 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14004
14005         * tools/gst-feedback-m.m:
14006           Don't only use unversioned tools, try versioned tools as well
14007           (#345086).
14008
14009 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14010
14011         * gst/gstbus.c: (gst_bus_class_init):
14012           Fix some typos, make docs more explicit.
14013
14014 2006-06-20  Wim Taymans  <wim@fluendo.com>
14015
14016         * tests/check/gst/gstghostpad.c: (block_callback),
14017         (GST_START_TEST), (gst_ghost_pad_suite):
14018         Added some more ghostpad tests, mainly blocking
14019         and probes.
14020
14021 2006-06-16  Wim Taymans  <wim@fluendo.com>
14022
14023         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14024         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14025         (gst_file_sink_event), (gst_file_sink_render):
14026         * plugins/elements/gstfilesink.h:
14027         Check if we can seek in the file instead of assuming
14028         we always can. Post an error when we are asked to seek in a
14029         non-seekable file (like a fifo). Fixes #343312.
14030         Some cleanups.
14031
14032 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14033
14034         * tools/gst-launch.1.in:
14035           Un-garble (fourcc) bit in filtered caps section.
14036
14037 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14038
14039         * docs/manual/advanced-autoplugging.xml:
14040         * docs/manual/basics-helloworld.xml:
14041         * docs/manual/highlevel-components.xml:
14042           Don't leak bus reference in sample code.
14043
14044 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14045
14046         * autogen.sh:
14047           Add default for new --enable-plugin-docs switch.
14048
14049         * configure.ac:
14050           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14051           Fixes #344039.
14052
14053         * docs/Makefile.am:
14054           Use new ENABLE_PLUGIN_DOCS conditional.
14055
14056 2006-06-14  Wim Taymans  <wim@fluendo.com>
14057
14058         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14059         Make it clear with a FIXME and a real define what the #if 0
14060         previously disabled.
14061
14062 2006-06-14  Wim Taymans  <wim@fluendo.com>
14063
14064         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14065         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14066         * libs/gst/base/gstbasetransform.c:
14067         (gst_base_transform_sink_eventfunc):
14068         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14069         Don't randomly and silently reset a segment when the format 
14070         changes as this is a bug somewhere upstream. Fixes #330379.
14071
14072 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14073
14074         Patch by: Wouter Paesen  <wouter at kangaroot net>
14075
14076         * libs/gst/controller/gstcontroller.c:
14077         (gst_controlled_property_new):
14078           Fix controlling of float properties (#344849).
14079
14080         * tests/check/libs/controller.c:
14081         (gst_test_mono_source_get_property),
14082         (gst_test_mono_source_set_property),
14083         (gst_test_mono_source_class_init), (GST_START_TEST):
14084           While we're at it, add some float stuff to unit test.
14085
14086 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14087
14088         * docs/README:
14089         * docs/images/gdp-header.svg:
14090           add a gdp image
14091         * docs/libs/Makefile.am:
14092         * docs/libs/gdp-header.png:
14093         * libs/gst/dataprotocol/dataprotocol.c:
14094           add it to the API docs
14095         * docs/manual/intro-motivation.xml:
14096           fix typo
14097
14098 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14099
14100         * gst/gst.c: (scan_and_update_registry), (init_post):
14101           If the fork()'ed child process can't write the updated registry cache
14102           file to disk for some reason, make it exit with a failure exit code,
14103           so that the parent can then re-scan the plugins itself and update the
14104           registry structures in memory and work with that (rather than failing
14105           when creating elements because seemingly no plugins are available).
14106           Refactor registry scanning code into separate function for this and
14107           also separate fork() and non-fork() code paths. Fixes #344748.
14108
14109 2006-06-13  Wim Taymans  <wim@fluendo.com>
14110
14111         * docs/manual/advanced-dataaccess.xml:
14112         Fix wrong PluginDesc. Fixes #344755.
14113
14114 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14115
14116         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14117           Fix silly bug that prevented us from creating
14118           ~/.gstreamer-0.10 and writing the registry in one
14119           go (the first call to g_mkstemp() would overwrite the
14120           placeholder in the template string, so the second call
14121           to g_mkstemp() after creating the missing directory
14122           would then error out with 'invalid argument').
14123
14124 2006-06-13  Edward Hervey  <edward@fluendo.com>
14125
14126         * gst/gst.c: (init_post):
14127         Free string.
14128
14129 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14130
14131         * gst/glib-compat-private.h:
14132         * gst/glib-compat.c:
14133         * gst/glib-compat.h:
14134         * gst/gstvalue.c: (gst_value_serialize_flags):
14135           remove GLib 2.6 compatibility code
14136
14137 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14138
14139         * gst/parse/Makefile.am:
14140           Fix build with 'make -j N' even more (#340016).
14141
14142 2006-06-12  Wim Taymans  <wim@fluendo.com>
14143
14144         * docs/gst/gstreamer-sections.txt:
14145         Fix docs.
14146
14147 2006-06-12  Wim Taymans  <wim@fluendo.com>
14148
14149         * gst/gstsegment.c: (gst_segment_set_duration),
14150         (gst_segment_set_last_stop), (gst_segment_set_seek),
14151         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14152         (gst_segment_to_running_time), (gst_segment_clip):
14153         Use G_UNLIKELY to help the compiler a bit.
14154
14155 2006-06-12  Wim Taymans  <wim@fluendo.com>
14156
14157         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14158
14159         * gst/gstevent.c: (gst_event_get_type):
14160         * gst/gstmessage.c:
14161         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14162         (gst_pad_push):
14163         constify quark registration strings. Fixes #344115
14164         Avoid unneeded type checking is _pad_push() by internally
14165         calling gst_pad_chain_unchecked().
14166
14167 2006-06-12  Wim Taymans  <wim@fluendo.com>
14168
14169         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14170         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14171         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14172         (gst_buffer_is_span_fast), (gst_buffer_span):
14173         Init _type for consistency.
14174         Use _FLAGS macro to avoid type check.
14175         Avoid unneeded type checks in subbufer code.
14176
14177 2006-06-12  Wim Taymans  <wim@fluendo.com>
14178
14179         * gst/gst.c: (gst_debug_help):
14180         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14181         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14182         (gst_plugin_feature_list_free):
14183         * gst/gstregistry.c: (gst_registry_add_plugin),
14184         (gst_registry_add_feature), (gst_registry_plugin_filter),
14185         (gst_registry_feature_filter), (gst_registry_find_plugin),
14186         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14187         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14188         * gst/gstregistryxml.c: (load_feature),
14189         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14190         * gst/gstminiobject.c: (gst_mini_object_unref),
14191         (gst_mini_object_replace), (gst_value_mini_object_free),
14192         (gst_value_mini_object_copy):
14193         Use _CAST macros to avoid unneeded type checking.
14194         Added some more G_UNLIKELY.
14195
14196 2006-06-12  Wim Taymans  <wim@fluendo.com>
14197
14198         * gst/gstbuffer.h:
14199         Avoid unneeded type checking.
14200         API: GST_BUFFER_IS_DISCONT
14201
14202         * gst/gstminiobject.h:
14203         Avoid type check in flag accessor.
14204
14205         * gst/gstelementfactory.h:
14206         * gst/gstplugin.h:
14207         * gst/gstpluginfeature.h:
14208         Add _CAST macros.
14209         API: GST_ELEMENT_FACTORY_CAST
14210         API: GST_PLUGIN_CAST
14211         API: GST_PLUGIN_FEATURE_CAST
14212
14213 2006-06-12  Wim Taymans  <wim@fluendo.com>
14214
14215         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14216         (gst_object_unref):
14217         Add G_UNLIKELY in type registration.
14218         Avoid type check in _ref/_unref since that is also
14219         done in glib.
14220
14221 2006-06-12  Wim Taymans  <wim@fluendo.com>
14222
14223         * gst/gsterror.c: (gst_g_error_get_type):
14224         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14225         (gst_static_pad_template_get_type):
14226         * gst/gsttaglist.c: (gst_tag_list_get_type):
14227         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14228         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14229         * gst/gsturi.c: (gst_uri_handler_get_type):
14230         * gst/gstvalue.c: (gst_date_get_type):
14231         * gst/gstxml.c: (gst_xml_get_type):
14232         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14233         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14234         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14235         Add G_UNLIKELY in type registration.
14236
14237 2006-06-12  Wim Taymans  <wim@fluendo.com>
14238
14239         * tools/gst-inspect.c: (print_signal_info):
14240         Properly print enum values.
14241
14242 2006-06-12  Wim Taymans  <wim@fluendo.com>
14243
14244         * gst/gstinfo.c: (gst_debug_set_active),
14245         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14246         * gst/gstinfo.h:
14247         Add some G_[UN]LIKELY.
14248         Maintain __gst_debug_min to avoid formatting the arguments of
14249         debug messages that will be dropped anyway to avoid a lot of 
14250         overhead from the debugging system.
14251
14252 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14253
14254         * po/POTFILES.in:
14255         * po/POTFILES.skip:
14256           add missing files containing translatable strings, tell intltool about
14257           one exception
14258
14259 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14260
14261         * tests/check/libs/.cvsignore:
14262         add test-binary to ignore list
14263
14264 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14265
14266         * docs/libs/gstreamer-libs-docs.sgml:
14267         reorder (put dp into a chapter) and indent
14268
14269 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14270
14271         * configure.ac:
14272           back to HEAD
14273
14274 === release 0.10.8 ===
14275
14276 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14277
14278         * configure.ac:
14279           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14280
14281 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14282
14283         * gst/gst.c: (init_post):
14284           move pid declaration to declaration block
14285
14286 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14287
14288         * gst/gst.c: (init_post):
14289           use _exit() instead of exit() in our forked child; this ensures
14290           that none of the registered exit handlers from whatever is using
14291           GStreamer get executed.  This fixes gnome-mixer-applet failing
14292           to load, because ORBit would shut down.
14293           Spotted by: Edward Hervey  <edward@fluendo.com>
14294           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14295           Fixes #344474
14296
14297 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14298
14299         * configure.ac:
14300           back to TRUNK
14301
14302 === release 0.10.7 ===
14303
14304 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14305
14306         * configure.ac:
14307           releasing 0.10.7, "Soepeke, ik zie ou"
14308
14309 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14310
14311         * configure.ac:
14312         * po/af.po:
14313         * po/az.po:
14314         * po/bg.po:
14315         * po/ca.po:
14316         * po/cs.po:
14317         * po/de.po:
14318         * po/en_GB.po:
14319         * po/fr.po:
14320         * po/it.po:
14321         * po/nb.po:
14322         * po/nl.po:
14323         * po/ru.po:
14324         * po/sq.po:
14325         * po/sr.po:
14326         * po/sv.po:
14327         * po/tr.po:
14328         * po/uk.po:
14329         * po/vi.po:
14330         * po/zh_CN.po:
14331         * po/zh_TW.po:
14332         * win32/common/config.h:
14333           0.10.6.2 prerelease
14334
14335 2006-06-07  Wim Taymans  <wim@fluendo.com>
14336
14337         * gst/gstindex.c: (gst_index_gtype_resolver):
14338         * tools/gst-xmlinspect.c: (print_plugin_info):
14339         Fix leak spotted by coverity checker. Fixes #343827
14340         Fix another other leak found by paolo borelli.
14341
14342 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14343
14344         * libs/gst/dataprotocol/dataprotocol.c:
14345         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14346         (gst_dp_version_get_type), (gst_dp_init),
14347         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14348         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14349         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14350         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14351         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14352         (gst_dp_packetizer_free):
14353         * libs/gst/dataprotocol/dataprotocol.h:
14354           API: add a GstDPPacketizer object, and create/free functions
14355           API: add GstDPVersion enum
14356           Add 1.0 event function that uses the string serialization
14357           Serialize more useful buffer flags
14358           Fixes #343988
14359
14360 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14361
14362         * tests/check/Makefile.am:
14363         * tests/check/gst/gstabi.c:
14364         * tests/check/gst/struct_ppc64.h:
14365         * tests/check/libs/libsabi.c:
14366         * tests/check/libs/struct_ppc64.h:
14367           add ppc64 structure sizes
14368
14369 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14370
14371         * tests/check/Makefile.am:
14372         * tests/check/gst/gstabi.c:
14373         * tests/check/gst/struct_x86_64.h:
14374         * tests/check/libs/libsabi.c:
14375         * tests/check/libs/struct_x86_64.h:
14376           generate and add structure size lists for x86_64
14377
14378 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14379
14380         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14381         * libs/gst/check/gstcheck.h:
14382           factor out the method from tests that checks size of structures,
14383           and add code to generate the header containing these sizes
14384         * tests/check/gst/gstabi.c: (GST_START_TEST):
14385         * tests/check/gst/struct_i386.h:
14386         * tests/check/libs/libsabi.c: (GST_START_TEST):
14387         * tests/check/libs/struct_i386.h:
14388           use it
14389
14390 2006-06-06  Michael Smith  <msmith@fluendo.com>
14391
14392         * gst/gstsegment.h:
14393           Don't use c++-style comments, fixes #343929
14394
14395 2006-06-05  Edward Hervey  <edward@fluendo.com>
14396
14397         * gst/gst.c:
14398         plugin_paths is not used if we build without registry support.
14399
14400         * gst/gstsegment.c: (gst_segment_copy): 
14401         _copy() was always returning NULL...
14402
14403 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14404
14405         * libs/gst/dataprotocol/dataprotocol.c:
14406         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14407         (gst_dp_packet_from_event):
14408           factor out CRC code
14409
14410 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14411
14412         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14413           make sure we unset caps
14414
14415 2006-06-02  Michael Smith  <msmith@fluendo.com>
14416
14417         * libs/gst/check/gstcheck.c: (gst_check_init),
14418         (gst_check_chain_func):
14419         * libs/gst/check/gstcheck.h:
14420           Add a cond/mutex to the check support lib, signal this whenever we
14421           add to the buffers list. This will allow tests to not busy-wait on
14422           the buffer-list.
14423
14424 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14425
14426         * libs/gst/dataprotocol/dataprotocol.c:
14427         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14428         (gst_dp_packet_from_event):
14429           factor out some common header init code
14430
14431 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14432
14433         * docs/libs/gstreamer-libs-sections.txt:
14434         * docs/libs/tmpl/gstdataprotocol.sgml:
14435         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14436         * libs/gst/dataprotocol/dataprotocol.h:
14437           API: make gst_dp_crc() public
14438
14439 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14440
14441         * plugins/indexers/gstindexers.c: (plugin_init):
14442         conditionally register fileindexer (fixes #343598)
14443
14444 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14445
14446         * gst/gsttagsetter.h:
14447         Can't cast ifaces to a class
14448
14449         * libs/gst/net/gstnetclientclock.h:
14450         * libs/gst/net/gstnettimeprovider.h:
14451         * plugins/elements/gstfakesink.h:
14452         * plugins/elements/gstfakesrc.h:
14453         * plugins/elements/gstfdsink.h:
14454         * plugins/elements/gstfdsrc.h:
14455         * plugins/elements/gstfilesink.h:
14456         * plugins/elements/gstfilesrc.h:
14457         * plugins/elements/gstidentity.h:
14458         * plugins/elements/gstqueue.h:
14459         * plugins/elements/gsttee.h:
14460         * plugins/indexers/gstfileindex.c:
14461         * plugins/indexers/gstmemindex.c:
14462         * tests/old/examples/plugins/example.h:
14463         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14464
14465 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14466
14467         * libs/gst/dataprotocol/dataprotocol.c:
14468         (gst_dp_header_from_buffer):
14469           make sure we zero the whole ABI-compatible area
14470
14471 2006-06-01  Wim Taymans  <wim@fluendo.com>
14472
14473         Patch by: Alessandro Decina <alessandro at nnva dot org>
14474
14475         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14476         Make sure the EOS flag is cleared from pads after a flush
14477         or stop. Fixes #343538.
14478
14479         * tests/check/libs/collectpads.c: (GST_START_TEST),
14480         (gst_collect_pads_suite):
14481         Added test for collectpads reusage after EOS.
14482
14483 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14484
14485         * gst/gst.c:
14486          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14487         * win32/common/libgstbase.def:
14488          export gst_collect_pads_set_flushing
14489         * win32/common/libgstreamer.def:
14490          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14491          gst_value_fraction_multiply
14492         * win32/vs6/gst_inspect.dsp:
14493          add a link to intl.lib
14494
14495 2006-05-30  Wim Taymans  <wim@fluendo.com>
14496
14497         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14498         (gst_collect_pads_chain):
14499         Handle the case where a pad is removed from the collection
14500         that could cause the other pads to become collectable.
14501
14502 2006-05-30  Wim Taymans  <wim@fluendo.com>
14503
14504         * gst/gstelement.c:
14505         Clarify the use of _release_request_pad() and
14506         _get_request_pad() a bit better.
14507
14508         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14509         (gst_adapter_take_buffer):
14510         Fix some doc and comment typos.
14511
14512 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14513
14514         * docs/gst/gstreamer-sections.txt:
14515         * docs/libs/gstreamer-libs-sections.txt:
14516           add declared symbols
14517
14518 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14519
14520         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14521         Add debug that can be enabled using a #define at the top of the file,
14522         for dumping stats about how late/early we were when waking up from
14523         waiting on the clock.
14524
14525 2006-05-30  Wim Taymans  <wim@fluendo.com>
14526
14527         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14528         When rebuilding the pad list, don't leak the previous list.
14529
14530 2006-05-30  Wim Taymans  <wim@fluendo.com>
14531
14532         Patch by: Lutz Mueller <lutz at topfrose dot de>
14533
14534         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14535         (gst_base_src_get_query_types), (gst_base_src_update_length):
14536         Publish supported query types.
14537         Update last_stop field in get_range mode so the position
14538         query works. Fixes #342321.
14539
14540 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14541
14542         * docs/gst/gstreamer-sections.txt:
14543         * gst/gsttaglist.c: (_gst_tag_initialize):
14544         * gst/gsttaglist.h:
14545           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14546
14547 2006-05-30  Wim Taymans  <wim@fluendo.com>
14548
14549         Patch by: Alessandro Decina <alessandro at nnva dot org>
14550
14551         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14552         Unlock mutex when removing an unknown pad.
14553         Fixes #343334.
14554
14555         * tests/check/Makefile.am:
14556         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14557         (push_event), (setup), (teardown), (GST_START_TEST),
14558         (gst_collect_pads_suite), (main):
14559         Added collecpads check, disabled for now as check crashes for
14560         some reason.
14561
14562 2006-05-29  Wim Taymans  <wim@fluendo.com>
14563
14564         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14565         Don't leak pads lists.
14566
14567 2006-05-29  Wim Taymans  <wim@fluendo.com>
14568
14569         * docs/libs/gstreamer-libs-sections.txt:
14570         * libs/gst/base/gstcollectpads.c:
14571         (gst_collect_pads_set_flushing_unlocked),
14572         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14573         (gst_collect_pads_stop):
14574         * libs/gst/base/gstcollectpads.h:
14575         API: gst_collect_pads_set_flushing()
14576         Added api to set the pads to flushing, useful for seeking
14577         code in elements using collectpads.
14578         Clear segment when receiving a flush.
14579
14580 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14581
14582         * gst/gst.c: (add_path_func), (init_post):
14583           Don't scan registry paths passed via --gst-plugin-path immediately
14584           (will crash, because absolutely nothing is set up and no types are
14585           registered etc.); do this later in init_post(). Fixes #343057.
14586
14587 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14588
14589         * gst/gst.c: (init_post):
14590           if we have fork, fork while reading/rebuilding the registry
14591           so the parent doesn't take the hit of having all plugins loaded
14592           in memory.  Fixes #342777.
14593         * configure.ac:
14594           Check if we have fork()
14595         * win32/common/config.h.in:
14596           no fork() on win32
14597
14598 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14599
14600         * plugins/elements/gstelements.c:
14601         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14602         (gst_file_src_init), (gst_file_src_set_property),
14603         (gst_file_src_get_property), (gst_file_src_start):
14604         * plugins/elements/gstfilesrc.h:
14605           API: GstFileSrc::use-mmap
14606
14607         Add a use-mmap property to enable easier testing of all code paths.
14608         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14609         in the absence of gnomevfssrc. (Closes #340501)
14610
14611 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14612
14613         * tools/gst-inspect.c:
14614         Add missing include, removes warning of ngettext not being defined on
14615         some arches.
14616
14617 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14618
14619         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14620         Handle NULL input and output pointers silently as a failed conversion,
14621         rather than g_warnings.
14622
14623 2006-05-25  Wim Taymans  <wim@fluendo.com>
14624
14625         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14626         Initialize variable before using. Fixes #342820.
14627
14628 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14629
14630         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14631           Fix off-by-one bug that would only allow peeks of N-1 bytes
14632           from the start even if the buffer to typefind on contains
14633           in fact N bytes of data (makes vorbis typefinding from a
14634           vorbis identification header buffer work).
14635
14636         * tests/check/Makefile.am:
14637         * tests/check/libs/.cvsignore:
14638         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14639         (gst_typefindhelper_suite), (main), (foobar_typefind),
14640         (plugin_init):
14641           Add very basic unit test for gst_type_find_helper_for_buffer()
14642           that checks for the problem fixed above.
14643
14644 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14645
14646         * tools/gst-inspect.c: (print_interfaces),
14647         (print_element_properties_info), (print_element_list), (main):
14648           add more translatable strings
14649
14650 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14651
14652         Patch by: Julien Moutte  <julien at moutte net>
14653
14654         * docs/gst/gstreamer-sections.txt:
14655           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14656           
14657         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14658         (gst_fake_sink_preroll):
14659         * plugins/elements/gstfakesink.h:
14660           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14661
14662 2006-05-23  Wim Taymans  <wim@fluendo.com>
14663
14664         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14665         * gst/gstpad.h:
14666         Added _CUSTOM error and success GstFlowReturn that can be
14667         used be elements internally. 
14668         Added macro to check for SUCCESS flowreturns.
14669         API: GST_FLOW_CUSTOM_SUCCESS
14670         API: GST_FLOW_CUSTOM_ERROR
14671         API: GST_FLOW_IS_SUCCESS
14672
14673         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14674         Added check for GstFlowReturn sanity.
14675
14676 2006-05-23  Wim Taymans  <wim@fluendo.com>
14677
14678         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14679
14680         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14681         (gst_collect_pads_event):
14682         clear/reset segment info in FLUSH_STOP.
14683         Fixes #336929.
14684
14685 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14686
14687         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14688         (gst_collect_pads_check_collected):
14689         Flush queued buffer on _stop(), fixes playing again (#342454)
14690
14691 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14692
14693         * tests/check/gst/gststructure.c: (GST_START_TEST),
14694         (gst_structure_suite):
14695           add a test for a complete structure
14696
14697 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14698
14699         * docs/faq/developing.xml:
14700         * docs/faq/faq.xml:
14701         * docs/faq/troubleshooting.xml:
14702         * docs/faq/using.xml:
14703           Some minor FAQ updates that won't change the fact that
14704           our FAQ is badly structured, full of information hardly
14705           anyone new to GStreamer needs to know and lacking lots
14706           of information people constantly ask for.
14707           
14708 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
14709
14710         * gst/gstpad.c: (gst_pad_set_caps):
14711           Short-circuit gst_pad_set_caps if setting the existing
14712           caps pointer again, and avoid printing debug and 
14713           reffing/unreffing the caps.
14714
14715         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14716           There's actually no need to set the caps before pushing -
14717           the acceptcaps method will handle it anyway.
14718
14719 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14720
14721         * docs/gst/gstreamer-sections.txt:
14722         * win32/common/libgstreamer.def:
14723         * gst/gstutils.c: (gst_element_seek_simple):
14724         * gst/gstutils.h:
14725           API: add gst_element_seek_simple() (#342238).
14726
14727 2006-05-18  Edward Hervey  <edward@fluendo.com>
14728
14729         * gst/gsttypefind.c: (gst_type_find_get_type):
14730         * gst/gsttypefind.h:
14731         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14732         registered for GstTypeFind pointers. This allows wrapping the structure
14733         in bindings (i.e. gst-python).
14734
14735 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14736
14737         * gst/gsttagsetter.c:
14738           Docs additions and fixes (see #339918).
14739
14740 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14741
14742         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14743         The caps intersection algorithm can produce multiple copies of the
14744         caps. Until that is fixed, we need to simplify the result to be
14745         sure whether the allowed caps are fixed or not.
14746
14747         * plugins/elements/gstqueue.c: (gst_queue_init),
14748         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14749         (gst_queue_push_one):
14750         Proxied buffer alloc should not set the caps on the source pad.
14751         When pushing buffers, we always accept the caps change that triggers.
14752         This prevents negotiation errors caused by caps changing mid-stream 
14753         and then being refused on our source pad (because upstream is now
14754         refusing those caps).
14755
14756 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14757
14758         * tests/examples/helloworld/helloworld.c: (main):
14759           Must plug audioconvert and audioresample between decoder
14760           and audio sink.
14761
14762 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
14763
14764         * gst/gstregistryxml.c: (read_string), (load_pad_template),
14765         (load_feature), (load_plugin):
14766         Allow empty strings for some of the plugin fields so we don't 
14767         drop valid plugin entries that were written out correctly
14768         (Fixes #341479)
14769
14770 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
14771         
14772         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14773           Use g_remove and g_rename instead of remove and rename that don't 
14774           handle utf8 characters. rename was failing for users who had specific
14775           characters in their name then the registry was built at each 
14776           gstreamer init.
14777         * win32/vs6/gst_inspect.dsp:
14778         * win32/vs6/gst_launch.dsp:
14779         * win32/vs6/libgstbase.dsp:
14780         * win32/vs6/libgstcoreelements.dsp:
14781         * win32/vs6/libgstreamer.dsp:
14782           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
14783           build of libgstreamer and clean unused libraries in projects link 
14784           settings.
14785
14786 2006-05-17  Edward Hervey  <edward@fluendo.com>
14787
14788         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14789         The queue is not responsible for pushing an EOS when receiving a fatal
14790         flow error. It's up to the real element driving the pipeline to do that.
14791
14792 2006-05-16  Edward Hervey  <edward@fluendo.com>
14793
14794         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14795         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14796         buffer returned a fatal error. It should just send an EOS and stop
14797         its task.
14798         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14799         when pushing buffers on the queue and will be able to handle the event.
14800
14801 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
14802
14803         * docs/manual/basics-bins.xml:
14804         * docs/manual/basics-init.xml:
14805           Fix typos and minor errors in sample code (#341856).
14806
14807 2006-05-16  Wim Taymans  <wim@fluendo.com>
14808
14809         * docs/design/part-qos.txt:
14810         Fix indexes in formulas to make more sense.
14811
14812 2006-05-15  Wim Taymans  <wim@fluendo.com>
14813
14814         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14815         Don't report POSITION based on clock time if sync is
14816         disabled in a sink.
14817
14818 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
14819
14820         * gst/gstobject.h:
14821           Add cast to make compiler happy - refcount variable was a gint
14822           in GstObject but is a guint in GObject and g_atomic_int_get()
14823           wants a gint *.
14824
14825 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14826
14827         * gst/parse/Makefile.am:
14828           chain commands using &&, which also makes parallel make work
14829
14830 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
14831
14832         * docs/gst/gstreamer-sections.txt:
14833         * gst/gstevent.c:
14834         * gst/gstevent.h:
14835         * gst/gstmessage.h:
14836           Minor docs fixes.
14837
14838 === release 0.10.6 ===
14839
14840 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
14841
14842         * configure.ac:
14843           releasing 0.10.6, "Take the cannoli"
14844
14845 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14846
14847         * tools/gst-launch.c: (print_tag):
14848           Fix use of uninitialized variable in the hypothetical
14849           case that some broken plugin creates a GST_TAG_IMAGE
14850           tag containing a NULL buffer (#341667).
14851
14852 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
14853
14854         * tools/gst-launch.c: (print_tag):
14855           Print something more intelligible for image tags when
14856           using the -t switch (#341556).
14857
14858 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14859
14860         * Makefile.am:
14861           updates for win32
14862         * configure.ac:
14863           define GST_MAJORMINOR so we have it available in win32/common/config.h
14864           Possibly remove it from our Makefile.am files later
14865         * win32/common/config.h:
14866         * win32/common/config.h.in:
14867           added GST_MAJORMINOR
14868         * win32/common/gstenumtypes.c: (register_gst_resource_error):
14869         * win32/common/gstversion.h:
14870           updated
14871
14872 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
14873
14874         * win32/MANIFEST:
14875           Update win32 files listing.
14876         * win32/common/gstversion.h:
14877           Add GST_MAJORMINOR definition.
14878         * win32/common/libgstreamer.def:
14879           Add new exported functions.
14880           
14881 2006-05-12  Michael Smith  <msmith@fluendo.com>
14882
14883         * gst/gstplugin.c: (gst_plugin_load_file):
14884           If an so file has no plugin entry point, unload the module.
14885
14886 2006-05-11  Wim Taymans  <wim@fluendo.com>
14887
14888         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
14889         (gst_queue_set_property):
14890         Don't forget to signal the _chain or _loop function 
14891         when the queue size or thresholds change since that might
14892         cause them to make progres again.
14893
14894 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
14895
14896         * gst/gstclock.c: (gst_clock_class_init):
14897         * gst/gstindex.c: (gst_index_class_init):
14898         * gst/gstobject.c: (gst_object_class_init):
14899         * gst/gstpad.c: (gst_pad_class_init):
14900         * gst/gstpipeline.c: (gst_pipeline_class_init):
14901         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14902         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
14903         * libs/gst/base/gstbasetransform.c:
14904         (gst_base_transform_class_init):
14905         * libs/gst/net/gstnetclientclock.c:
14906         (gst_net_client_clock_class_init):
14907         * libs/gst/net/gstnettimeprovider.c:
14908         (gst_net_time_provider_class_init):
14909         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
14910         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
14911         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
14912         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
14913         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
14914         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
14915         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
14916         * plugins/elements/gstidentity.c: (gst_identity_class_init):
14917         * plugins/elements/gsttee.c: (gst_tee_class_init):
14918         * tests/old/examples/plugins/example.c: (gst_example_class_init):
14919         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
14920           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
14921
14922 2006-05-11  Wim Taymans  <wim@fluendo.com>
14923
14924         * gst/gstbuffer.c: (_gst_buffer_initialize):
14925         Register subbufer along with the buffer type so that
14926         it does not accidentally gets registered from N
14927         different streaming threads in a non threadsafe way.
14928
14929 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
14930
14931         * gst/gstbuffer.h:
14932         * gst/gstevent.h:
14933         * gst/gstmessage.h:
14934           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
14935           gst_event_ref() and gst_message_ref() functions again
14936           (ugly hack, please do fix if there's a better way besides
14937           overrides.txt, which doesn't seem to work).
14938
14939 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14940
14941         * libs/gst/check/gstcheck.h:
14942           add an assert for setting state to avoid lots of repetitive code
14943           in the future
14944
14945 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14946
14947         * gst/gstvalue.c: (gst_value_serialize_flags):
14948           fix a leak if no flags are set
14949         * tests/check/gst/gstvalue.c: (GST_START_TEST):
14950           fix leak in tests
14951
14952 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
14953
14954         * docs/manual/basics-pads.xml:
14955           Expand a bit on caps and filtered links and update
14956           examples that were still using the no longer existing
14957           gst_pad_link_filtered() (#338206).
14958
14959 2006-05-10  Wim Taymans  <wim@fluendo.com>
14960
14961         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
14962         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
14963         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14964         (gst_collect_pads_stop):
14965         * libs/gst/base/gstcollectpads.h:
14966         No need to call _stop in _finalize.
14967         Iterate the main pad list in _finalize.
14968         Added some more debug.
14969         Free lists and data in the right order.
14970         Also free data whem doing _remove_pad when stopped for
14971         backward compatibility protect ::started with PAD_LOCK as
14972         well.
14973
14974 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14975
14976         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
14977         (gst_structure_parse_value):
14978           add some comments
14979           rename a method so that it actually says what it does better
14980
14981 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14982
14983         * gst/gstevent.c: (_gst_event_initialize):
14984         * gst/gstformat.c: (_gst_format_initialize):
14985           make sure some essential types used by events are registered
14986           as part of gst_init()
14987         * gst/gstvalue.c: (gst_value_serialize_flags):
14988           if no flags are set, serialize them to a value that represents NONE
14989           so that deserializing them works
14990         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14991           add tests for serialization and deserialization of flags
14992
14993 2006-05-10  Wim Taymans  <wim@fluendo.com>
14994
14995         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
14996         (gst_collect_pads_collect_range), (gst_collect_pads_available),
14997         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
14998         (gst_collect_pads_event), (gst_collect_pads_chain):
14999         Update docs.
15000         Better debug info.
15001         Catch and return errors from the collect function
15002         Refuse data on eos pads.
15003
15004 2006-05-10  Edward Hervey  <edward@fluendo.com>
15005
15006         * gst/gstinterface.h:
15007         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15008         GInterface type checking.
15009         They were previously using non-defined macros.
15010
15011 2006-05-09  Wim Taymans  <wim@fluendo.com>
15012
15013         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15014         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15015         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15016         (gst_collect_pads_start), (gst_collect_pads_stop),
15017         (gst_collect_pads_peek), (gst_collect_pads_pop),
15018         (gst_collect_pads_available), (gst_collect_pads_read),
15019         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15020         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15021         (gst_collect_pads_chain):
15022         * libs/gst/base/gstcollectpads.h:
15023         Clean up the mess that is collectpads, add comments and
15024         FIXMEs where needed.
15025         Maintain a separate pad list so we can add pads while
15026         collecting the other ones. For this we need a new separate 
15027         lock (see comics).
15028         Fix memory leak in finalize.
15029         Refactor some weird code to set/unset pad flushing flags, mark
15030         with comments.
15031         Don't crash in _available, _read, _flush when we're EOS.
15032
15033         * tests/check/libs/.cvsignore:
15034         Ignore adapter check binary.
15035
15036 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15037
15038         * gst/gstindex.c: (gst_index_resolver_get_type):
15039         * plugins/elements/gstfakesink.c:
15040         (gst_fake_sink_state_error_get_type):
15041         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15042         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15043         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15044           Const-ify GEnumValue arrays.
15045
15046 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15047
15048         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15049           Add test case for flags + gst_buffer_make_metadata_writable().
15050
15051 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15052
15053         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15054           gst_buffer_make_metadata_writable() should maintain the
15055           buffer flags (those that make sense at least) (see #340859).
15056
15057 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15058
15059         * tools/gst-inspect.c:
15060         * tools/gst-launch.c:
15061         * tools/gst-typefind.c:
15062         * tools/gst-xmlinspect.c:
15063         * tools/tools.h:
15064           Fix up includes: need to include stdlib.h in tools.h for exit().
15065
15066 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15067
15068         * gst/gsttaglist.c: (_gst_tag_initialize):
15069         * gst/gsttaglist.h:
15070           API: add GST_TAG_IMAGE tag (#340721).
15071
15072 2006-05-08  Wim Taymans  <wim@fluendo.com>
15073
15074         * gst/gstquery.c:
15075         Added some docs for the segment query.
15076
15077 2006-05-08  Wim Taymans  <wim@fluendo.com>
15078
15079         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15080         (gst_base_src_loop), (gst_base_src_change_state):
15081         Always push non-flushing serialized events in the streaming 
15082         thread.
15083
15084 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15085
15086         * gst/gsterror.c: (_gst_stream_errors_init):
15087           Add a missing error string.
15088
15089 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15090
15091         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15092         Add applied_rate to the debug
15093
15094         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15095         Copy applied_rate into the outgoing NEWSEGMENT event
15096
15097 2006-05-08  Wim Taymans  <wim@fluendo.com>
15098
15099         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15100
15101         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15102         (gst_base_sink_change_state):
15103         call ::unlock before taking the PREROLL_LOCK so we can safely
15104         handle elements that lock in ::render.
15105         Fixes #340174.
15106
15107 2006-05-08  Edward Hervey  <edward@fluendo.com>
15108
15109         * autogen.sh: (CONFIGURE_DEF_OPT): 
15110         Darwin's libtoolize is in fact called glibtoolize.
15111         Adding glibtoolize to the list of accepted names for libtoolize.
15112
15113 2006-05-08  Wim Taymans  <wim@fluendo.com>
15114
15115         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15116         Unify error handling, don't post an error message
15117         when a push() returns EOS but perform our normal EOS
15118         handling code. Fixes #340772.
15119
15120 2006-05-08  Wim Taymans  <wim@fluendo.com>
15121
15122         * docs/design/part-overview.txt:
15123         Make upsteam/downstream concepts more clear.
15124         Give an example of serialized/non-serialized events.
15125
15126         * docs/design/part-events.txt:
15127         * docs/design/part-streams.txt:
15128         Mention applied_rate.
15129
15130         * docs/design/part-trickmodes.txt:
15131         Mention applied rate, flesh out some more use cases.
15132
15133         * gst/gstevent.c: (gst_event_new_new_segment),
15134         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15135         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15136         (gst_event_parse_tag), (gst_event_new_buffer_size),
15137         (gst_event_parse_buffer_size), (gst_event_new_qos),
15138         (gst_event_parse_qos), (gst_event_parse_seek),
15139         (gst_event_new_navigation):
15140         * gst/gstevent.h:
15141         Add applied_rate field to NEWSEGMENT event.
15142         API: gst_event_new_new_segment_full()
15143         API: gst_event_parse_new_segment_full()
15144
15145         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15146         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15147         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15148         * gst/gstsegment.h:
15149         Add applied_rate to GstSegment structure.
15150         Make calculation of stream_time and running_time more correct
15151         wrt rate/applied_rate.
15152         Add some more docs.
15153         API: GstSegment::applied_rate field
15154         API: gst_segment_set_newsegment_full();
15155
15156         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15157         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15158         * libs/gst/base/gstbasetransform.c:
15159         (gst_base_transform_sink_eventfunc),
15160         (gst_base_transform_handle_buffer):
15161         Parse and use applied_rate in the GstSegment field.
15162
15163         * tests/check/gst/gstevent.c: (GST_START_TEST):
15164         Add check for applied_rate field.
15165
15166         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15167         (gstsegments_suite):
15168         Add more checks for various GstSegment operations.
15169
15170 2006-05-08  Wim Taymans  <wim@fluendo.com>
15171
15172         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15173         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15174         (gst_base_sink_get_position), (gst_base_sink_change_state):
15175         Store the sync time of the buffer end position separatly in a
15176         new variable eos_rtime so we can properly sync the EOS event.
15177         Fixes #340697.
15178         Fix the docs for gst_base_sink_set_qos_enabled().
15179         Don't set segment start to invalid value when we receive a 
15180         non TIME newsegment.
15181         get closer to handling position reporting for negative rates 
15182         correctly.
15183
15184 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15185
15186         * gst/gstcaps.c:
15187         Docs about how to print caps for debug purposes.
15188
15189         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15190         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15191
15192 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15193
15194         * gst/gstelement.c:
15195           use full enum names and preprend a '%' in docs strings to make recent 
15196           gtk-doc turn that into a link
15197
15198 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15199
15200         * docs/manual/basics-bins.xml:
15201         * docs/manual/basics-bus.xml:
15202         * docs/manual/basics-pads.xml:
15203           Some typo fixes, some additions, some clarifications. 
15204
15205 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15206
15207         * tools/gst-inspect.c: (main):
15208         * tools/gst-launch.c: (main):
15209         * tools/gst-run.c: (main):
15210         * tools/gst-typefind.c: (main):
15211         * tools/gst-xmlinspect.c: (main):
15212           Use the string passed to g_option_context_new() for
15213           what it's intended for - the program name is already
15214           printed elsewhere.
15215
15216 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15217
15218         * tools/Makefile.am:
15219         * tools/gst-inspect.c: (main):
15220         * tools/gst-launch.c: (main):
15221         * tools/gst-xmlinspect.c: (main):
15222         * tools/tools.h:
15223           Add back --version command line option (#340460).
15224
15225         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15226           Add --version option and use GOption for argument parsing; refactor a
15227           bit; accept directories as arguments and recurse into them; lastly,
15228           print a decent error message when things go wrong.
15229
15230 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15231
15232         * docs/manual/basics-bins.xml:
15233         Don't mention GstThread (#340611)
15234         * docs/manual/basics-elements.xml:
15235         Update link to GObject tutorial (#340607)
15236         
15237 2006-05-05  Wim Taymans  <wim@fluendo.com>
15238
15239         * gst/gstbuffer.h:
15240         * gst/gstminiobject.c:
15241         Add note about refcounting and miniobject/buffer writeability
15242         to docs. Fixes #340604
15243
15244         * gst/gstelementfactory.h:
15245         Added some explanation about @klass.
15246
15247 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15248
15249         * docs/manual/intro-motivation.xml:
15250         * docs/manual/manual.xml:
15251         Avoid CORBA & Bonobo references (#340598)
15252
15253 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15254
15255         * docs/manual/basics-bus.xml:
15256         * docs/manual/basics-pads.xml:
15257         Fix up some inaccuracies and omissions (#340609)
15258         
15259 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15260
15261         * gst/gstghostpad.c:
15262           Small typo in docs (#340625)
15263
15264 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15265
15266         * gst/parse/Makefile.am:
15267           Make 'make -j' proof (see #340698).
15268
15269 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15270
15271         * configure.ac:
15272           Require GLib-2.8 here as well.
15273
15274 2006-05-05  Wim Taymans  <wim@fluendo.com>
15275
15276         * gst/glib-compat.c:
15277         * gst/gst.c: (init_pre):
15278         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15279         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15280         (gst_object_dispatch_properties_changed):
15281         * gst/gstobject.h:
15282         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15283         * gst/gststructure.c: (gst_structure_set_valist):
15284         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15285         Remove pre glib2.8 compatibility, fixes #340508
15286
15287 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15288
15289         * gst/gsttaglist.h:
15290           Mention type of tags in doc blurbs.
15291
15292 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15293
15294         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15295         (gst_pad_configure_src), (gst_pad_push):
15296         Restore acceptcaps checking behaviour now that good plugins have
15297         been released.
15298
15299 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15300
15301         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15302
15303         * gst/gst.c:
15304         * gst/gstbus.c:
15305         * gst/gstclock.c:
15306         * gst/gstevent.c:
15307         * gst/gstformat.c:
15308         * gst/gstmessage.c:
15309         * gst/gstparse.c:
15310         * gst/gstquery.c:
15311         * gst/gstutils.c:
15312         * gst/parse/Makefile.am:
15313         * libs/gst/base/gstadapter.c:
15314         * libs/gst/base/gstbasesrc.c:
15315         * libs/gst/base/gstpushsrc.c:
15316         * libs/gst/base/gsttypefindhelper.c:
15317         * plugins/elements/gstfakesrc.c:
15318         * plugins/elements/gstidentity.c:
15319           Make sure gstprivate.h and/or config.h are
15320           always included first, otherwise some of our
15321           defines (like _FILE_OFFSET_BITS) might be
15322           redefined in the system headers. Fixes build
15323           on opensolaris (#340016).
15324
15325 2006-05-04  Wim Taymans  <wim@fluendo.com>
15326
15327         * docs/libs/gstreamer-libs-sections.txt:
15328         API: addition: gst_adapter_take_buffer()
15329         
15330         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15331         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15332         (gst_adapter_available_fast):
15333         * libs/gst/base/gstadapter.h:
15334         Prepare for optimizing the hell out of this hugely inefficient
15335         piece of code. 
15336         Added gst_adapter_take_buffer() so we can at least start thinking
15337         about subbuffering and merging.
15338         Added some comments.
15339
15340         * tests/check/Makefile.am:
15341         * tests/check/libs/adapter.c: (GST_START_TEST),
15342         (gst_adapter_suite), (main):
15343         Added GstAdapter check.
15344
15345 2006-05-04  Wim Taymans  <wim@fluendo.com>
15346
15347         * docs/design/part-overview.txt:
15348         Fix some typos, add blurb about buffer flags.
15349
15350 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15351
15352         * docs/libs/gstreamer-libs-sections.txt:
15353           make sure GstBaseTransformClass shows up in the docs
15354         * libs/gst/base/gstbasetransform.c:
15355         * libs/gst/base/gstbasetransform.h:
15356           move docs so gtk-doc picks it up now
15357
15358 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15359
15360         * docs/libs/gstreamer-libs-sections.txt:
15361           add missing symbols to docs
15362
15363 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15364
15365         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15366           back out the newsegment handling change, see #340060 for ongoing
15367           discussion
15368
15369 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15370
15371         * tools/gst-run.c: (get_candidates), (main):
15372           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15373           work); fix typo in error message. Fixes #340079.
15374
15375 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15376
15377         * common/Makefile.am:
15378         * docs/Makefile.am:
15379         * docs/faq/Makefile.am:
15380         * docs/gst/Makefile.am:
15381         * docs/libs/Makefile.am:
15382         * docs/manual/Makefile.am:
15383         * docs/plugins/Makefile.am:
15384         * docs/pwg/Makefile.am:
15385         * docs/slides/Makefile.am:
15386         * docs/upload.mak:
15387         * common/upload.mak:
15388           move upload.mak to common
15389
15390 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15391
15392         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15393           add more asserts on refcounts
15394           do more cleanup at end of tests
15395           fix test leaks showing in FC5
15396
15397 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15398
15399         * plugins/elements/gsttypefindelement.c:
15400         (gst_type_find_element_handle_event):
15401         reverted wrong change and reflowed code to avoid others falling into
15402         this trap
15403
15404 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15405
15406         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15407           fix changelog entry about last collectpads change,
15408           add notes about proper fix
15409
15410 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15411
15412         * gst/gst.c:
15413         * gst/gstregistry.c: (gst_registry_scan_path_level),
15414         (gst_registry_scan_path):
15415         * gst/gstregistry.h:
15416           only write out registry if it has changed, fixes #338339
15417
15418 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15419
15420         * gst/gstbin.c:
15421         * gst/gstpipeline.c:
15422         * plugins/elements/gstcapsfilter.c:
15423         * plugins/elements/gstfakesink.c:
15424         * plugins/elements/gstfakesrc.c:
15425         * plugins/elements/gstfdsink.c:
15426         * plugins/elements/gstfdsrc.c:
15427         * plugins/elements/gstfilesink.c:
15428         * plugins/elements/gstfilesrc.c:
15429         * plugins/elements/gstidentity.c:
15430         * plugins/elements/gstqueue.c:
15431         * plugins/elements/gsttee.c:
15432         * plugins/elements/gsttypefindelement.c:
15433         (gst_type_find_element_handle_event):
15434           make GstElementDetails const
15435
15436 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15437
15438         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15439         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15440         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15441           more detailed debug and formatting cleanup,
15442           forward newsegments to src-pad (so that e.g. adder not eats them)
15443
15444 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15445
15446         * gst/gstutils.c: (gst_element_link_pads):
15447           cleanup double code
15448
15449 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15450
15451         * libs/gst/controller/gstcontroller.c:
15452         (gst_controller_sync_values):
15453           some little tuning
15454         * tests/check/libs/controller.c: (GST_START_TEST),
15455         (gst_controller_suite):
15456           a new test for live value handling
15457
15458 2006-04-28  Wim Taymans  <wim@fluendo.com>
15459
15460         * gst/gstutils.c: (push_and_ref):
15461         Added some more docs.
15462         Fix refcount issue whith gst_element_found_tags() helper 
15463         function. Fixes #338335
15464
15465         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15466         Added testsuite for gst_element_found_tags().
15467
15468 2006-04-28  Michael Smith  <msmith@fluendo.com>
15469
15470         * gst/gstvalue.c: (gst_value_serialize_flags):
15471           Avoid NULL dereference when trying to serialize flags containing
15472           invalid values.
15473
15474 2006-04-28  Michael Smith  <msmith@fluendo.com>
15475
15476         * plugins/elements/gsttypefindelement.c:
15477         (gst_type_find_element_handle_event):
15478           If we get EOS before any data is accumulated, don't use
15479           uninitialised local variables.
15480
15481 2006-04-28  Michael Smith  <msmith@fluendo.com>
15482
15483         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15484         (gst_dp_event_from_packet):
15485           Fixes in reading/writing events over GDP (not currently used?) - 
15486           dereferencing NULL events for unknown/invalid event types, memory
15487           leak, and change g_warning to GST_WARNING.
15488
15489 2006-04-28  Wim Taymans  <wim@fluendo.com>
15490
15491         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15492         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15493         (gst_base_sink_get_position), (gst_base_sink_change_state):
15494         When frame dropping is enabled, we should not ignore frames
15495         without a duration.
15496         Update some documentation.
15497
15498 2006-04-28  Wim Taymans  <wim@fluendo.com>
15499
15500         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15501         (gst_base_src_send_event), (gst_base_src_change_state):
15502         Documentation updates.
15503
15504 2006-04-28  Wim Taymans  <wim@fluendo.com>
15505
15506         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15507         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15508         handle EAGAIN, EINTR and short writes correctly. Also clean
15509         up some error cases, avoid a deadlock on bad file descriptors and
15510         use GST_DEBUG_OBJECT.
15511         Fixes #339843
15512
15513 2006-04-28  Wim Taymans  <wim@fluendo.com>
15514
15515         * gst/gstvalue.c: (gst_value_serialize_buffer),
15516         (gst_value_deserialize_buffer):
15517         Don't try to serialize a GValue with a NULL buffer. 
15518         Fixes #339821.
15519
15520         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15521         Added check for serialisation of NULL buffers.
15522
15523 2006-04-28  Wim Taymans  <wim@fluendo.com>
15524
15525         * gst/gstminiobject.c: (gst_value_take_mini_object):
15526         Taking a NULL miniobject is valid, fix the case where
15527         we try to unref the NULL miniobject.
15528
15529 2006-04-28  Wim Taymans  <wim@fluendo.com>
15530
15531         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15532
15533         * gst/gstbin.c: (gst_bin_handle_message_func):
15534         Update docs.
15535         Don't leak bin refcount when a state recalc is
15536         in progress and we delay another one #339808.
15537
15538 2006-04-28  Wim Taymans  <wim@fluendo.com>
15539
15540         * docs/design/part-TODO.txt:
15541         Mention QoS as an ongoing work item.
15542
15543         * docs/design/part-buffering.txt:
15544         New doc about buffering that needs to be fleshed out
15545         at some point.
15546
15547         * docs/design/part-qos.txt:
15548         More QoS policy for decoders/demuxers/transforms
15549
15550         * docs/design/part-trickmodes.txt:
15551         Small update.
15552
15553 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15554
15555         * configure.ac:
15556           back to HEAD
15557
15558 === release 0.10.5 ===
15559
15560 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15561
15562         * configure.ac:
15563           releasing 0.10.5, "Fogo"
15564
15565 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15566
15567         patch by: Wim Taymans
15568
15569         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15570         (gst_pad_configure_src), (gst_pad_push):
15571         * gst/gstpipeline.c: (gst_pipeline_init):
15572           Fix internal data flow errors.  Fixes #338711.
15573
15574 2006-04-12  Wim Taymans  <wim@fluendo.com>
15575
15576         * tests/check/gst/gstelement.c: (GST_START_TEST):
15577         Don't leak the factory.
15578
15579 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15580
15581         * configure.ac:
15582         * win32/common/config.h:
15583           prerelease
15584
15585 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15586
15587         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15588         (gst_controller_unset_all):
15589           Free allocated GstTimedValues when freeing list nodes.
15590           Should fix leaks 'make check-valgrind' complains about.
15591
15592         * win32/common/libgstcontroller.def:
15593           Add gst_controller_unset_all.
15594
15595 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15596
15597         * docs/libs/gstreamer-libs-sections.txt:
15598         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15599         (gst_controller_unset_all):
15600         * libs/gst/controller/gstcontroller.h:
15601         API: Added new method gst_controller_unset_all()
15602         fixed gst_controller_unset()
15603         * tests/check/libs/controller.c: (GST_START_TEST),
15604         (gst_controller_suite):
15605         Added two testcases for new and fixed method
15606
15607 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15608
15609         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15610           MSG_DONTWAIT is not defined on Cygwin, so work
15611           around that (fixes #317048).
15612           
15613 2006-04-11  Wim Taymans  <wim@fluendo.com>
15614
15615         * gst/gstelementfactory.c: (gst_element_register),
15616         (gst_element_factory_create), (gst_element_factory_make):
15617         Some cleanups.
15618         Fixed a FIXME.
15619         Updated docs (Fixes #131079)
15620
15621         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15622         Small cleanups.
15623
15624         * tests/check/gst/gstelement.c: (GST_START_TEST),
15625         (gst_element_suite):
15626         Added testcase for elementfactory class field.
15627
15628 2006-04-10  Wim Taymans  <wim@fluendo.com>
15629
15630         * gst/gstsegment.c:
15631         Added some more docs.
15632
15633         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15634         (gst_base_sink_reset_qos):
15635         Calculate more accurate rate values.
15636
15637 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15638
15639         * gst/gst_private.h:
15640           add a new #ifdef to use __declspec(dllimport) only for
15641           other modules and not for gstreamer core
15642         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15643           use gst_guint64_to_gdouble for conversion
15644         * win32/common/libgstreamer.def:
15645           add new exported functions
15646         * win32/vs6/gst_inspect.dsp:
15647         * win32/vs6/gst_launch.dsp:
15648         * win32/vs6/libgstbase.dsp:
15649         * win32/vs6/libgstcontroller.dsp:
15650         * win32/vs6/libgstcoreelements.dsp:
15651         * win32/vs6/libgstdataprotocol.dsp:
15652         * win32/vs6/libgstnet.dsp:
15653           update project files
15654
15655 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15656
15657         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15658         * gst/gstclock.c: (gst_clock_class_init):
15659         * gst/gstelement.c: (gst_element_class_init):
15660         * gst/gstindex.c: (gst_index_class_init):
15661         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15662         * gst/gstobject.c: (gst_object_class_init),
15663         (gst_signal_object_class_init):
15664         * gst/gstpad.c: (gst_pad_class_init):
15665         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15666         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15667         * gst/gstregistry.c: (gst_registry_class_init):
15668         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15669         * gst/gsttask.c: (gst_task_class_init):
15670         * gst/gstxml.c: (gst_xml_class_init):
15671         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15672         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15673         (gst_base_src_loop):
15674         * libs/gst/controller/gstcontroller.c:/
15675         (_gst_controller_class_init):
15676         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15677         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15678         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15679         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15680         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15681         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15682
15683 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15684
15685         * gst/gstpad.c: (gst_pad_link):
15686           Must set peer pads before calling the link function, otherwise
15687           a task started from a link function might get a flow-not-linked
15688           result when trying to push because the other thread where the
15689           linking happens hasn't had a chance to set the peers yet. This
15690           might happen for example when a queue gets linked to a downstream
15691           element, as queue starts a streaming task when its source pad
15692           gets linked. Happens in real life when playing back flac/musepack
15693           files in playbin (#332390).
15694           
15695 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15696
15697         * gst/gstindex.h:
15698         * gst/gstxml.h:
15699         * libs/gst/base/gstadapter.h:
15700         * libs/gst/base/gstbasesink.h:
15701         * libs/gst/base/gstbasesrc.h:
15702         * libs/gst/base/gstbasetransform.h:
15703         * libs/gst/base/gstcollectpads.h:
15704         * libs/gst/base/gstpushsrc.h:
15705         Fix broken GObject macros
15706
15707 2006-04-07  Wim Taymans  <wim@fluendo.com>
15708
15709         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15710         Initialize start and stop times, thanks valgrind.
15711
15712 2006-04-07  Wim Taymans  <wim@fluendo.com>
15713
15714         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15715         Be a bit nicer to badly behaving upstream elements that expect
15716         us to deal with non TIME segments and timestamps (such as fakesrc
15717         in the testsuite).
15718
15719 2006-04-07  Wim Taymans  <wim@fluendo.com>
15720
15721         * gst/gstbus.c:
15722         Small documentation clarification about the signal watch.
15723
15724         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15725         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15726         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15727         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15728         (gst_base_sink_get_position_last),
15729         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15730         Convert and store timestamps in stream time and running time, the
15731         raw timestamps are not useful, also document this better.
15732         Use different window sizes for good and bad QoS observations so
15733         we react to badness a little quicker.
15734         Keep track of the amount of rendered and dropped buffers.
15735         Send QoS timestamps in running time.
15736
15737         * libs/gst/base/gstbasetransform.c:
15738         (gst_base_transform_sink_eventfunc),
15739         (gst_base_transform_handle_buffer):
15740         Compare QoS timestamps against running time.
15741
15742 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15743
15744         * gst/gstpad.c:
15745           Typo fixes in docs.
15746
15747 2006-04-06  Michael Smith  <msmith@fluendo.com>
15748
15749         * gst/gstpad.c: (gst_pad_set_property):
15750           Use g_value_get_object() instead of g_value_dup_gst_object(),
15751           to avoid double-reffing the pad template (which we then sink,
15752           so this worked previously if (and only if) the pad template
15753           was floating.
15754
15755         * gst/gstpadtemplate.c: (gst_pad_template_init),
15756         (gst_pad_template_pad_created):
15757           Never return floating references to pad templates, create
15758           them as initially-sunken.
15759
15760           Document an extra function (and make this stop sinking our
15761           pad template, since that is now guaranteed to do nothing,
15762           since we created it sunken).
15763
15764         * gst/gstghostpad.c:
15765           Fix docs typo.
15766
15767 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15768
15769         * gst/gstinfo.c: (__gst_in_valgrind):
15770           Add some newlines.
15771
15772         * plugins/elements/gsttypefindelement.c:
15773         (gst_type_find_element_chain):
15774           Don't leak buffer caps.
15775
15776 2006-04-06  Michael Smith  <msmith@fluendo.com>
15777
15778         * gst/parse/grammar.y:
15779           Fix a leak in parse-launch for any source-or-sink named element 
15780           references used.
15781
15782         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15783           Unref the pipeline if it exists after we've failed parsing.
15784
15785 2006-04-05  Michael Smith  <msmith@fluendo.com>
15786
15787         * gst/gstpipeline.c: (gst_pipeline_init):
15788           When we create a pipeline bus, initially create it in flushing mode.
15789           Fixes leaks in at least one test, and makes a new pipeline work the
15790           same as one that has gone to READY and then back to NULL.
15791
15792         * gst/gstelement.c:
15793           Typo fix in docs.
15794
15795 2006-04-05  Michael Smith  <msmith@fluendo.com>
15796
15797         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15798           Unref a pad we reffed.
15799         * tests/check/gst/gstutils.c: (GST_START_TEST):
15800           Unref bins
15801
15802 2006-04-05  Michael Smith  <msmith@fluendo.com>
15803
15804         * gst/gstquery.c: (gst_query_set_formats),
15805         (gst_query_set_formatsv):
15806           Fix leaking GValues in queries, as shown by valgrind/testsuite.
15807
15808 2006-04-05  Michael Smith  <msmith@fluendo.com>
15809
15810         * tests/check/generic/sinks.c: (GST_START_TEST):
15811           Fix a variety of memleaks in sinks check, which are only sometimes 
15812           shown by running the tests under valgrind (weird?).
15813
15814 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
15815
15816         * docs/version.entities.in:
15817           Fix the substituted entity name after thomas' changes on the
15818           weekend.
15819
15820 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
15821
15822         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15823         VALGRIND_PRINTF
15824         
15825 2006-04-05  Andy Wingo  <wingo@pobox.com>
15826
15827         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15828
15829         * libs/gst/base/gstbasetransform.c
15830         (gst_base_transform_sink_eventfunc): When resetting our segment on
15831         FLUSH_STOP, also update the flag saying we haven't seen a
15832         newsegment.
15833
15834 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15835
15836         Patch by: Paolo Borelli  <pborelli at katamail dot com>
15837
15838         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15839         (gst_plugin_check_license):
15840           minor clean-ups: G_DEFINE_TYPE already takes care of the
15841           parent_class stuff, no need to do it twice. Mark array of
15842           license strings as constant. (#337103)
15843           
15844 2006-04-04  Michael Smith  <msmith@fluendo.com>
15845
15846         * tools/gst-inspect.c: (print_element_list):
15847           Free the right plugin list; fixes a memory leak.
15848
15849 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15850
15851         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
15852
15853         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15854           Don't error out on empty buffers (#336945).
15855           
15856 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
15857
15858         * docs/libs/gstreamer-libs-sections.txt:
15859         * gst/gsttaglist.c:
15860         * libs/gst/base/gstbasesink.c:
15861         * libs/gst/base/gstbasesink.h:
15862         * libs/gst/base/gstbasesrc.c:
15863         * libs/gst/base/gstbasesrc.h:
15864           Documentation updates. Make BaseSink and BaseSrc docs contain the
15865           class structure so that people can actually see the prototypes for
15866           virtual functions they're supposed to be overriding.
15867
15868 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15869
15870         * plugins/elements/gsttypefindelement.c:
15871         (gst_type_find_element_chain):
15872           More debug info; when skipping typefinding, send cached
15873           events in all cases.
15874
15875 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15876
15877         * configure.ac:
15878           use new AS_VERSION and AS_NANO macros
15879         * gst/gst-i18n-lib.h:
15880         * gst/gst.c:
15881         * gst/gsterror.c:
15882         * gst/gstversion.h.in:
15883         * win32/common/config.h:
15884         * win32/common/config.h.in:
15885           update accordingly
15886
15887 2006-03-31  Michael Smith  <msmith@fluendo.com>
15888
15889         * plugins/elements/gsttypefindelement.c:
15890         (gst_type_find_element_chain):
15891           Do not typefind content if the buffers already have caps.
15892           Neccesary for icydemux (#333657), and the right thing to do anyway.
15893
15894 2006-03-30  Wim Taymans  <wim@fluendo.com>
15895
15896         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15897         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
15898         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
15899         (gst_base_sink_record_qos_observation),
15900         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15901         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15902         (gst_base_sink_change_state):
15903         More QoS measurements as described in the design doc.
15904         Get rid of ringbuffer with observations, running average is
15905         more simple and equally good.
15906         Calculates valid proportion now.
15907         Added beginning of flood measurement.
15908
15909 2006-03-29  Wim Taymans  <wim@fluendo.com>
15910
15911         * docs/design/part-qos.txt:
15912         * gst/gstclock.c:
15913         Small documentation updates and additions.
15914
15915 2006-03-29  Wim Taymans  <wim@fluendo.com>
15916
15917         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15918         (gst_base_src_send_event), (gst_base_src_loop),
15919         (gst_base_src_change_state):
15920         Perform the EOS logic when we reach the segment stop position.
15921         Fix compilation on gcc4.1
15922
15923 2006-03-29  Wim Taymans  <wim@fluendo.com>
15924
15925         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
15926
15927         * plugins/elements/gstqueue.c: (gst_queue_init),
15928         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15929         (gst_queue_set_property):
15930         * plugins/elements/gstqueue.h:
15931         In queue, when EOS is received, if minimum threshold > max_size -
15932         current_level, there is chance that queue blocks forever in conditional
15933         item del wait. This is because the queue is not emptied completely due
15934         to minimum threshold.  Here is another approach. Instead of setting
15935         cur_levels to max in EOS, just zero all minimum threshold levels. This
15936         should make sure that queue gives out all data. When going to READY
15937         (stop) state, just reset the original minimum threshold levels.
15938         Fixes #336336.
15939
15940 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
15941
15942         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
15943         (gst_type_find_element_handle_event),
15944         (gst_type_find_element_send_cached_events),
15945         (gst_type_find_element_change_state):
15946         * plugins/elements/gsttypefindelement.h:
15947           When typefinding is done in push mode, we should cache
15948           events we receive during typefinding instead of just
15949           dropping them (e.g. newsegment, custom events from
15950           dvdreadsrc etc.) and then send them out once we've
15951           determined the type of the stream (and decodebin
15952           has had a chance to plug in a decoder/demuxer).
15953           
15954 2006-03-27  Wim Taymans  <wim@fluendo.com>
15955
15956         * docs/design/part-qos.txt:
15957         First QoS ideas.
15958
15959 2006-03-27  Wim Taymans  <wim@fluendo.com>
15960
15961         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
15962
15963         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15964         (gst_base_src_send_event), (gst_base_src_change_state):
15965         Handle element seek correctly when we are streaming.
15966         Fixes #326998.
15967
15968 2006-03-24  Michael Smith  <msmith@fluendo.com>
15969
15970         * docs/faq/gst-uninstalled:
15971           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
15972           allow you to correctly run intalled applications built against old 
15973           core, using plugins that require updated core (e.g. running
15974           installed totem against a full uninstalled gstreamer stack)
15975
15976 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15977
15978         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
15979         more debug details
15980
15981 2006-03-24  Wim Taymans  <wim@fluendo.com>
15982
15983         * docs/gst/gstreamer-sections.txt:
15984         Rearrange the order of the methods so that related methods
15985         are grouped together in sections.
15986
15987 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15988
15989         * gst/gstelement.c:
15990           Little clarification in the docs
15991
15992 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15993
15994         * docs/README:
15995         formatting fix
15996         * plugins/elements/gstidentity.c:
15997         * plugins/elements/gstqueue.c:
15998         * plugins/elements/gsttee.c:
15999         * plugins/elements/gsttypefindelement.c:
16000         GST_ELEMENT_DETAILS formatting
16001
16002 2006-03-24  Wim Taymans  <wim@fluendo.com>
16003
16004         * libs/gst/base/gstbasesink.h:
16005         Only add fields, not insert or we break ABI.
16006
16007 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16008
16009         * win32/common/libgstbase.def:
16010         * win32/common/libgstreamer.def:
16011           Update, add recently added functions.
16012
16013 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16014
16015         * docs/gst/gstreamer-sections.txt:
16016         * gst/gstutils.c: (gst_pad_query_peer_position),
16017         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16018         * gst/gstutils.h:
16019           API: add some new utility functions:
16020            - gst_pad_query_peer_position()
16021            - gst_pad_query_peer_duration()
16022            - gst_pad_query_peer_convert()
16023           
16024 2006-03-23  Wim Taymans  <wim@fluendo.com>
16025
16026         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16027         (gst_base_sink_init), (gst_base_sink_finalize),
16028         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16029         (gst_base_sink_set_property), (gst_base_sink_get_property),
16030         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16031         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16032         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16033         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16034         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16035         (gst_base_sink_preroll_object), (gst_base_sink_event),
16036         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16037         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16038         (gst_base_sink_query), (gst_base_sink_change_state):
16039         Decouple max-lateness and the fact that QoS messages are generated
16040         with a new property (qos).
16041         added API: GstBaseSink::async_play()
16042         Add vmethod so subclasses can be notified of ASYNC playing
16043         state changes.
16044         Collect timestamp start and stop to report better current
16045         position in EOS/PLAYING/PAUSED/READY/NULL.
16046         Refactor QoS/frame dropping and other measurements.
16047         API: GstBaseSrc::qos
16048         Fixes #326311
16049
16050         * libs/gst/base/gstbasesink.h:
16051         Added Private struct.
16052         API: gst_base_sink_set_qos_enabled()
16053         API: gst_base_sink_is_qos_enabled()
16054
16055 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16056
16057         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16058           If compiling against GLib-2.8 or newer, try to read the
16059           registry file using GMappedFile first before falling back
16060           to fopen() + fread() (#332151).
16061
16062 2006-03-22  Wim Taymans  <wim@fluendo.com>
16063
16064         * gst/gstinfo.c: (gst_debug_set_active),
16065         (gst_debug_category_set_threshold):
16066         Disable debugging unless explicitly activated.
16067         Fixes #335480.
16068
16069 2006-03-22  Wim Taymans  <wim@fluendo.com>
16070
16071         * gst/gstelement.c: (gst_element_set_locked_state),
16072         (gst_element_dispose):
16073         Cleanup the error case.
16074
16075         * gst/gstobject.c: (gst_object_dispose):
16076         print a critical when some object was disposed with
16077         a parent, also revive the object since it might
16078         crash the parent.
16079
16080 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16081
16082         * tools/gst-launch.1.in:
16083           Fix another typo.
16084
16085 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16086
16087         * configure.ac:
16088         * tests/check/Makefile.am:
16089           disable some tests when we don't have a registry
16090         * tests/check/gst/gstutils.c: (gst_utils_suite):
16091           don't build the part that needs parsing
16092
16093 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16094
16095         * gst/Makefile.am
16096         * tests/examples/Makefile.am:
16097           fix --disable-parse build
16098
16099 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16100
16101         * tools/gst-feedback.1.in:
16102           Fix typo: s/feeback/feedback/ (#133494).
16103
16104 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16105
16106         * tools/Makefile.am:
16107         * tools/gst-launch.1.in:
16108           Add FILES section and correct entry about GST_REGISTRY_PATH
16109           environment variable (#133495; #133494).
16110
16111 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16112
16113         * tools/Makefile.am:
16114         * tools/gst-md5sum.1.in:
16115         * tools/gst-md5sum.c:
16116           Remove gst-md5sum and man page (the md5sink element
16117           required was removed ages ago)
16118
16119 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16120
16121         * gst/gststructure.c: (gst_structure_id_set_value):
16122           Make sure that string fields in structures/taglists
16123           contain valid UTF-8 - we don't want to pass rubbish to
16124           applications because of a buggy plugin (cp. #334167).
16125
16126 2006-03-21  Edward Hervey  <edward@fluendo.com>
16127
16128         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16129         (gst_bin_handle_message_func):
16130         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16131         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16132         (gst_element_set_bus_func):
16133         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16134         * gst/gstminiobject.c: (gst_value_set_mini_object),
16135         (gst_value_take_mini_object):
16136         * gst/gstpad.c: (gst_pad_set_pad_template):
16137         * gst/gstpipeline.c: (gst_pipeline_dispose),
16138         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16139         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16140         (gst_collect_pads_chain):
16141         * libs/gst/net/gstnettimeprovider.c:
16142         (gst_net_time_provider_set_property):
16143         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16144         It's in fact all issues with gst_*object_replace().
16145
16146 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16147
16148         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16149         
16150         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16151         * pkgconfig/gstreamer-check.pc.in:
16152           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16153
16154 2006-03-21  Edward Hervey  <edward@fluendo.com>
16155
16156         * gst/gstbuffer.h:
16157         * gst/gstevent.h:
16158         * gst/gstmessage.h:
16159         gst_[buffer|event|message]_ref() macros are replaced by a static
16160         inline functions because gcc-4.1 will about if the return value
16161         isn't used.
16162         * tests/check/gst/gstevent.c: (event_probe):
16163         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16164
16165 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16166
16167         * gst/gstutils.h:
16168         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16169         the type' case. (Closes: #335195 for now). In the future, when we
16170         depend on GLib 2.10, we could also intern the type name using
16171         g_intern_static_string()
16172
16173 2006-03-20  Wim Taymans  <wim@fluendo.com>
16174
16175         * gst/gstbin.c: (gst_bin_handle_message_func),
16176         (bin_query_max_init), (bin_query_position_fold),
16177         (bin_query_position_done), (gst_bin_query):
16178         Position query should also take max of all streams.
16179
16180 2006-03-20  Wim Taymans  <wim@fluendo.com>
16181
16182         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16183         (gst_fake_src_finalize):
16184         Fix leaks in fakesrc.
16185
16186         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16187         Fix leaks in the testcase.
16188
16189 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16190
16191         * gst/gst_private.h:
16192           add win32 specific import decoration(__declspec(dllimport)) 
16193           for all extern GstDebugCategory * variables
16194         * win32/common/libgstbase.def:
16195         * win32/common/libgstcontroller.def:
16196         * win32/common/libgstreamer.def:
16197           Add some exports, remove empty lines
16198         * win32/common/libgstdataprotocol.def:
16199         * win32/common/libgstdataprotocol.dsp:
16200         * win32/common/libgstnet.def:
16201         * win32/common/libgstnet.dsp:
16202           new project files and exportation files added
16203         
16204 2006-03-19  Wim Taymans  <wim@fluendo.com>
16205
16206         * tests/check/libs/basesrc.c: (eos_event_counter):
16207         Use proper return value for probe.
16208
16209 2006-03-17  Wim Taymans  <wim@fluendo.com>
16210
16211         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16212         (gst_pad_push):
16213         Don't leak buffers, caps and pads on negotiation errors.
16214
16215 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16216
16217         * docs/faq/cvs.xml:
16218         * docs/faq/dependencies.xml:
16219         * docs/faq/developing.xml:
16220         * docs/faq/faq.xml:
16221         * docs/faq/general.xml:
16222         * docs/faq/getting.xml:
16223         * docs/faq/legal.xml:
16224         * docs/faq/troubleshooting.xml:
16225         * docs/faq/using.xml:
16226         Faq review and update.
16227
16228 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16229
16230         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16231         (gst_pad_push):
16232         Don't pound the cpu to pieces by checking get_caps when accept_caps
16233         is called with the same caps as the pad already has.
16234         Use GST_DEBUG_OBJECT when outputting caps change information.
16235
16236 2006-03-15  Wim Taymans  <wim@fluendo.com>
16237
16238         * gst/gstclock.c: (gst_clock_class_init):
16239         Fix docs.
16240
16241 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16242
16243         * gst/gstbuffer.h:
16244         Documentation fix.
16245
16246         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16247         (gst_pad_accept_caps), (gst_pad_configure_sink),
16248         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16249         Make the default acceptcaps behaviour be to check the requested 
16250         caps against the gst_pad_get_caps output. 
16251
16252         Ensure that gst_pad_accept_caps is used to check caps when a pad
16253         doesn't have a setcaps function, so that pads automatically refuse 
16254         caps that they don't allow in their pad template. (Fixes #332986)
16255
16256         When a buffer with attached caps is pushed, ensure that the source 
16257         pad receives those caps even if the element didn't call
16258         gst_pad_set_caps first.
16259
16260 2006-03-15  Wim Taymans  <wim@fluendo.com>
16261
16262         * libs/gst/base/gstadapter.c:
16263         Add some docs.
16264
16265 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16266
16267         * win32/common/libgstbase.def:
16268         * win32/common/libgstcontroller.def:
16269         * win32/common/libgstreamer.def:
16270           Add a whole bunch of missing functions (#334434).
16271
16272 2006-03-14  Wim Taymans  <wim@fluendo.com>
16273
16274         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16275         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16276         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16277         Better debug info when we receive a segment event.
16278         Reorganize a bit so we can pass the get_times() results around.
16279         Use the segment format when calculating the running time.
16280         Don't do QoS is sync is disabled or we have no clock or the
16281         element does not want us to sync to the clock.
16282         Don't drop buffers if QoS is disabled for now.
16283
16284 2006-03-14  Wim Taymans  <wim@fluendo.com>
16285
16286         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16287         Marked the stats property as unimplemented so people don't get
16288         wild ideas.
16289         Add debug message when regression goes wrong.
16290         Added some more docs.
16291
16292 2006-03-14  Wim Taymans  <wim@fluendo.com>
16293
16294         * gst/gstsegment.c: (gst_segment_to_stream_time):
16295         Return correct return type in case of errors.
16296
16297 2006-03-14  Wim Taymans  <wim@fluendo.com>
16298
16299         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16300           Don't segfault on invalid formats.
16301
16302 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16303
16304         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16305           Can't use gst_segment_to_running_time() when the segment
16306           is not in GST_TIME_FORMAT (like with filesink, for example).
16307           Stops flac encoding pipelines from spewing critical warnings
16308           at EOS (#331248).
16309           
16310 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16311
16312         * gst/gstpipeline.c: (gst_pipeline_class_init):
16313           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16314
16315         * plugins/elements/gsttypefindelement.c:
16316         (gst_type_find_element_handle_event):
16317           Don't try to typefind empty streams.
16318
16319 2006-03-14  Wim Taymans  <wim@fluendo.com>
16320
16321         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16322         (gst_base_sink_do_qos):
16323         Separate QoS calculation.
16324         Only drop buffers when lateness is bigger than the 
16325         duration of the buffer.
16326
16327 2006-03-13  Wim Taymans  <wim@fluendo.com>
16328
16329         * gst/gstpipeline.c: (gst_pipeline_set_property),
16330         (gst_pipeline_get_property), (do_pipeline_seek),
16331         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16332         (gst_pipeline_get_delay):
16333         Don't deadlock when reading properties.
16334
16335 2006-03-13  Wim Taymans  <wim@fluendo.com>
16336
16337         * libs/gst/base/gstbasetransform.c:
16338         (gst_base_transform_class_init), (gst_base_transform_init),
16339         (gst_base_transform_sink_event),
16340         (gst_base_transform_sink_eventfunc),
16341         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16342         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16343         (gst_base_transform_set_property),
16344         (gst_base_transform_get_property),
16345         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16346         (gst_base_transform_set_qos_enabled),
16347         (gst_base_transform_is_qos_enabled):
16348         * libs/gst/base/gstbasetransform.h:
16349         Make basetransform virtual method for src events too.
16350         Handle QOS in basetransform.
16351         API: gst_base_transform_update_qos()
16352         API: gst_base_transform_set_qos_enabled()
16353         API: gst_base_transform_is_qos_enabled()
16354
16355 2006-03-13  Wim Taymans  <wim@fluendo.com>
16356
16357         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16358         (gst_base_sink_do_sync):
16359         Small cleanups.
16360         Use QOS debug category.
16361
16362 2006-03-13  Wim Taymans  <wim@fluendo.com>
16363
16364         * plugins/elements/gstqueue.c:
16365         Very small doc update.
16366
16367 2006-03-13  Wim Taymans  <wim@fluendo.com>
16368
16369         * gst/gst_private.h:
16370         * gst/gstinfo.c: (_gst_debug_init):
16371         Added QOS debug category
16372
16373 2006-03-13  Wim Taymans  <wim@fluendo.com>
16374
16375         * docs/gst/gstreamer-sections.txt:
16376         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16377         * gst/gstbin.h:
16378         * gst/gstbus.c: (gst_bus_class_init):
16379         * gst/gstbus.h:
16380         * gst/gstclock.c:
16381         * gst/gstelement.c: (gst_element_set_locked_state):
16382         * gst/gstsegment.c:
16383         Documentation updates.
16384
16385         * gst/gstpipeline.c: (gst_pipeline_get_type),
16386         (gst_pipeline_class_init), (gst_pipeline_init),
16387         (gst_pipeline_dispose), (gst_pipeline_set_property),
16388         (gst_pipeline_get_property), (do_pipeline_seek),
16389         (gst_pipeline_send_event), (gst_pipeline_change_state),
16390         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16391         (gst_pipeline_get_delay):
16392         * gst/gstpipeline.h:
16393         Added methods for setting the delay.
16394         API: gst_pipeline_set_delay()
16395         API: gst_pipeline_get_delay()
16396         Add pipeline debug category
16397         Various cleanups.
16398         Updated docs.
16399         Don't reset stream time when seek failed.
16400
16401 2006-03-13  Wim Taymans  <wim@fluendo.com>
16402
16403         * docs/design/draft-klass.txt:
16404         * docs/design/part-clocks.txt:
16405         * docs/design/part-events.txt:
16406         * docs/design/part-gstbin.txt:
16407         * docs/design/part-gstpipeline.txt:
16408         * docs/design/part-messages.txt:
16409         * docs/design/part-negotiation.txt:
16410         * docs/design/part-overview.txt:
16411         * docs/design/part-preroll.txt:
16412         * docs/design/part-seeking.txt:
16413         * docs/design/part-states.txt:
16414         * docs/design/part-streams.txt:
16415         Documentation updates.
16416
16417 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16418
16419         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16420         us to leak strings...
16421
16422 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16423
16424         * libs/gst/net/gstnettimeprovider.c:
16425           fix docs
16426         * win32/common/config.h:
16427           update
16428
16429 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16430
16431         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16432
16433         * configure.ac:
16434           Don't check for libgnomeui (leftover from old examples
16435           that aren't built or disted any longer) (#334303).
16436           
16437 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16438
16439         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16440         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16441           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16442           there's no space left on the device.
16443
16444 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16445
16446         * gst/gstclock.h:
16447           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16448           to cast the input to GstClockTime before comparing with
16449           another GstClockTime value.
16450
16451 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16452
16453         * configure.ac:
16454           back to trunk
16455
16456 === release 0.10.4 ===
16457
16458 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16459
16460         * configure.ac:
16461           releasing 0.10.4, "Light"
16462
16463 2006-03-10  Michael Smith  <msmith@fluendo.com>
16464
16465         * libs/gst/dataprotocol/dataprotocol.c:
16466           Fix docs for dataprocotol to not get the return types completely
16467           wrong for a few functions.
16468
16469 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16470
16471         * docs/gst/gstreamer-sections.txt:
16472         * gst/gstpipeline.c: (gst_pipeline_class_init),
16473         (gst_pipeline_init), (gst_pipeline_set_property),
16474         (gst_pipeline_get_property), (gst_pipeline_change_state),
16475         (gst_pipeline_set_auto_flush_bus),
16476         (gst_pipeline_get_auto_flush_bus):
16477         * gst/gstpipeline.h:
16478           Add new API: gst_pipeline_set_auto_flush_bus() and
16479           gst_pipeline_get_auto_flush_bus() to disable automatic
16480           flushing of the pipeline's GstBus when going from READY
16481           to NULL state (#332045).
16482
16483 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16484
16485         * docs/gst/gstreamer-sections.txt:
16486         * gst/gsturi.c: (gst_uri_has_protocol):
16487         * gst/gsturi.h:
16488            Add new API: gst_uri_has_protocol() (#333779).
16489
16490 2006-03-09  Wim Taymans  <wim@fluendo.com>
16491
16492         * gst/gstclock.c: (gst_clock_entry_new),
16493         (gst_clock_id_compare_func), (gst_clock_id_wait),
16494         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16495         (gst_clock_init), (gst_clock_get_internal_time),
16496         (gst_clock_set_master), (do_linear_regression),
16497         (gst_clock_add_observation), (gst_clock_set_property):
16498         * gst/gstclock.h:
16499         Review docs.
16500         Small cleanups.
16501         Fix a possible segfault when the window-size is made smaller.
16502         Calculate jitter before performing the clock wait. Ideally
16503         the clock implementation should calculate jitter but we need
16504         API breakage for that.
16505
16506         * gst/gstsystemclock.c: (gst_system_clock_init):
16507         Docs review.
16508         
16509         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16510         Remove leftover else
16511
16512         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16513         (gst_systemclock_suite):
16514         Added check to test GST_CLOCK_DIFF.
16515
16516 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16517
16518         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16519         (gst_type_find_helper_get_range):
16520           If we are provided with the size, we should implement
16521           GstTypeFind::get_length, so that typefind functions who
16522           want to can actually peek at the middle of a file.
16523
16524 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16525
16526         * docs/manual/advanced-dataaccess.xml:
16527           Add some very very basic error checking.
16528
16529         * docs/pwg/appendix-checklist.xml:
16530           Some updates to the list of things to check when writing an element.
16531
16532 2006-03-08  Wim Taymans  <wim@fluendo.com>
16533
16534         * docs/design/part-element-transform.txt:
16535         Added some docs about the design of tranform elements.
16536
16537         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16538         (gst_base_src_loop), (gst_base_src_change_state):
16539         Mark buffers with the DISCONT flag.
16540
16541 2006-03-08  Michael Smith  <msmith@fluendo.com>
16542
16543         * gst/gstregistry.h:
16544         * gst/gstregistryxml.c: (gst_registry_save),
16545         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16546         (gst_registry_xml_save_pad_template),
16547         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16548         (gst_registry_xml_write_cache):
16549           Rewrite registry-saving to avoid race conditions and check for
16550           failed writes.
16551
16552 2006-03-08  Wim Taymans  <wim@fluendo.com>
16553
16554         * libs/gst/base/gstbasetransform.c:
16555         (gst_base_transform_transform_caps),
16556         (gst_base_transform_transform_size),
16557         (gst_base_transform_prepare_output_buffer),
16558         (gst_base_transform_get_unit_size),
16559         (gst_base_transform_buffer_alloc),
16560         (gst_base_transform_handle_buffer),
16561         (gst_base_transform_change_state):
16562         Cleanups, separate normal flow from errors, add sensible
16563         DEBUG lines.
16564         Don't try to renegotiate when allocating an output buffer.
16565         Also copy DISCONT buffer flag when copying a buffer.
16566         Reset the transform after we finish streaming, not during.
16567
16568 2006-03-08  Wim Taymans  <wim@fluendo.com>
16569
16570         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16571         Use last buffer timestamp in qos message.
16572
16573 2006-03-07  Wim Taymans  <wim@fluendo.com>
16574
16575         Patch by: Christophe Fergeau
16576
16577         * docs/pwg/advanced-tagging.xml:
16578         * docs/pwg/building-pads.xml:
16579           fixes #333416
16580
16581 2006-03-07  Wim Taymans  <wim@fluendo.com>
16582
16583         * docs/libs/gstreamer-libs-sections.txt:
16584         Added basesink new methods.
16585
16586         * gst/gstevent.c:
16587         * gst/gstevent.h:
16588         Docs updates. Flesh out the QoS docs.
16589
16590         * libs/gst/base/gstadapter.c:
16591         Small doc clarification about ownership and flushing.
16592
16593         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16594         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16595         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16596         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16597         * libs/gst/base/gstbasesink.h:
16598         API additions: 
16599         Added new methods to allow subclass to control max-lateness 
16600         and sync.
16601         Generate very basic QoS events based on last sync observation.
16602         Updated docs, fix typo, added some QoS blurb.
16603
16604         * libs/gst/base/gstbasesrc.c:
16605         Remove obsolete _get_state() calls from docs.
16606
16607 2006-03-07  Wim Taymans  <wim@fluendo.com>
16608
16609         * docs/libs/gstreamer-libs-sections.txt:
16610         * libs/gst/base/gstbasetransform.h:
16611         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16612         Fix docs for GstBaseSrc.
16613
16614 2006-03-07  Wim Taymans  <wim@fluendo.com>
16615
16616         * docs/gst/gstreamer-sections.txt:
16617         * gst/gstbuffer.h:
16618         * gst/gstvalue.c:
16619         * libs/gst/base/gstbasetransform.h:
16620         Small documentation fixes.
16621
16622 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16623
16624         * gst/gstvalue.c:
16625           Document thread-unsafety of gst_value_register_foo_func()
16626           when used at the same time as gst_value_foo() (#322628).
16627
16628 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16629
16630         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16631         (gst_push_src_check_get_range):
16632           Push sources don't support pull mode by default.
16633
16634 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16635
16636         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16637         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16638         (gst_base_src_default_check_get_range):
16639         * libs/gst/base/gstbasesrc.h:
16640           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16641           provide default implementation, and rename
16642           gst_base_src_check_get_range() to
16643           gst_base_src_pad_check_get_range() for clarity.
16644
16645 2006-03-06  Wim Taymans  <wim@fluendo.com>
16646
16647         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16648         Make property overridable.
16649
16650 2006-03-06  Wim Taymans  <wim@fluendo.com>
16651
16652         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16653         (gst_base_sink_init), (gst_base_sink_set_property),
16654         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16655         * libs/gst/base/gstbasesink.h:
16656         API addition: Make max-lateness a property.
16657
16658 2006-03-06  Wim Taymans  <wim@fluendo.com>
16659
16660         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16661         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16662         Don't ever draw a frame that is >10ms late.
16663
16664 2006-03-06  Michael Smith  <msmith@fluendo.com>
16665
16666         * gst/gstmessage.c: (_gst_message_copy):
16667           When copying a message, set the parent_refcount of the enclosed
16668           structure to point at the copy, not the original message.
16669
16670 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16671
16672         Patch by: Christophe Fergeau
16673
16674         * gst/gstutils.h:
16675           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16676           usable in c++ code (#333417)
16677
16678 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16679
16680         * gst/gstclock.h:
16681           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16682
16683 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16684
16685         * libs/gst/base/gstbasetransform.c:
16686         (gst_base_transform_transform_caps):
16687           Make sure caps are writable before passing them to
16688           gst_caps_append().
16689
16690 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16691
16692         * gst/gsterror.h:
16693           Fix some minor docs errors.
16694
16695 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16696
16697           Patch by: Ross Burton <ross at burtonini dot com>
16698
16699         * gst/gsterror.c: (_gst_resource_errors_init):
16700         * gst/gsterror.h:
16701           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16702
16703 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16704
16705         * gst/gst.c:
16706         Add a check and output a g_warning when GStreamer is built
16707         against GLib 2.6 but running against 2.8 or higher, and vice 
16708         versa. (Closes: #323542)
16709
16710 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16711
16712         * gst/parse/parse.l:
16713           Commit patch for parse_launch syntax from #331255. Removes 
16714           support for quoted strings and mimetypes when writing filtered 
16715           caps. See the bug report for more details - I'm pretty sure this
16716           obscure feature is not in use by _anyone_ anywhere.
16717
16718           With this simple change, the size of the gstreamer.so here 
16719           drops from 2193KB to 1565KB.
16720
16721 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16722
16723         * plugins/elements/gsttypefindelement.h:
16724         * plugins/elements/gsttypefindelement.c:
16725         (gst_type_find_element_src_event), (start_typefinding),
16726         (stop_typefinding), (gst_type_find_element_handle_event),
16727         (gst_type_find_element_chain),
16728         (gst_type_find_element_chain_do_typefinding):
16729           Use gst_type_find_helper_for_buffer() for chain-based
16730           typefinding.
16731
16732 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16733
16734         * plugins/elements/gsttypefindelement.c:
16735         (gst_type_find_element_class_init),
16736         (gst_type_find_element_set_property),
16737         (gst_type_find_element_get_property):
16738           Deprecate "maximum" property (not only was it only taken into
16739           account for typefinding in push-mode anyway, it also was never
16740           actually possible to set it in the first place because the
16741           property was registered with the numeric property ID for the
16742           "minimum" property). Register "maximum" property correctly,
16743           for the sake of future copy'n'pasters. Remove some cruft
16744           from property get/set functions.
16745
16746 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16747
16748         * plugins/elements/gsttypefindelement.c:
16749         (gst_type_find_element_activate):
16750           Use gst_type_find_helper_get_range() here, so we
16751           can honour the "minimum" property and also emit
16752           the signal with the correct probability of the found caps.
16753
16754 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
16755
16756         * docs/libs/gstreamer-libs-sections.txt:
16757         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16758         (helper_find_suggest), (gst_type_find_helper_get_range),
16759         (gst_type_find_helper):
16760         * libs/gst/base/gsttypefindhelper.h:
16761           New API: gst_type_find_helper_get_range() (#333042).
16762
16763 2006-03-02  Michael Smith  <msmith@fluendo.com>
16764
16765         * gst/gstregistryxml.c: (load_feature):
16766           Asserting on a failure to read part of the registry is Not Cool.
16767           Just log a warning and return NULL (which is already handled)
16768
16769 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
16770
16771         * win32/common/libgstbase.def:
16772           added export of gst_type_find_helper_for_buffer
16773         * win32/common/libgstbase.def:
16774           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16775           gst_ghost_pad_get_target
16776
16777 2006-02-28  Wim Taymans  <wim@fluendo.com>
16778
16779         * docs/design/draft-klass.txt:
16780         We use Filter now.
16781         Added Connector to mark elements that are only used to
16782         allow pipeline connections.
16783         Moved Debug to extra feature since most of them are 
16784         functionally something else.
16785
16786 2006-02-28  Wim Taymans  <wim@fluendo.com>
16787
16788         * docs/design/draft-klass.txt:
16789         Some updates and clarifications.
16790
16791 2006-02-28  Wim Taymans  <wim@fluendo.com>
16792
16793         * docs/design/draft-klass.txt:
16794         Proposal for klass field values.
16795
16796         * docs/design/part-streams.txt:
16797         Start of a doc describing stream anatomy.
16798
16799 2006-02-28  Wim Taymans  <wim@fluendo.com>
16800
16801         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16802         Help the compiler a bit with type registration.
16803         Use existing forward cod path instead of duplicating it when 
16804         handling a message.
16805         
16806         * gst/gstbus.c: (gst_bus_get_type):
16807         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16808         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16809         * gst/gstclock.c: (gst_clock_get_type):
16810         * gst/gstelement.c: (gst_element_get_type),
16811         * gst/gstelementfactory.c: (gst_element_factory_get_type):
16812         * gst/gstindexfactory.c: (gst_index_factory_get_type):
16813         * gst/gstminiobject.c: (gst_mini_object_get_type):
16814         * gst/gstpad.c: (gst_pad_get_type):
16815         * gst/gstsegment.c: (gst_segment_get_type):
16816         * gst/gststructure.c: (gst_structure_get_type):
16817         * gst/gstsystemclock.c: (gst_system_clock_get_type):
16818         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16819         * gst/gstvalue.c:
16820         Help compiler with type registration.
16821
16822         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16823         Small doc update.
16824
16825 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16826
16827         * plugins/elements/gsttypefindelement.c:
16828         (gst_type_find_element_handle_event):
16829           When we get an EOS event and have not found a type yet
16830           (most likely because we had not yet accumulated
16831           TYPE_FIND_MIN_SIZE of data yet), try to determine the
16832           type given the data we have so far. Fixes typefinding
16833           for very short streams again, most notably quicktime
16834           redirections as used on Apple's trailer site (#331701).
16835
16836 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16837
16838         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16839         (gst_type_find_helper):
16840           Try typefinding factories with the highest rank first.
16841
16842 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16843
16844         * docs/libs/gstreamer-libs-docs.sgml:
16845         * docs/libs/gstreamer-libs-sections.txt:
16846         * libs/gst/base/gsttypefindhelper.c:
16847           Add section for typefind helper and add documentation
16848           for the old and the new function.
16849
16850 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16851
16852         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
16853         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
16854         (gst_type_find_helper_for_buffer):
16855         * libs/gst/base/gsttypefindhelper.h:
16856           New API: gst_type_find_helper_for_buffer() (#332723).
16857           
16858 2006-02-27  Michael Smith  <msmith@fluendo.com>
16859
16860         Patch by: Loïc Minier
16861
16862         * configure.ac:
16863         * docs/Makefile.am:
16864         * docs/slides/Makefile.am:
16865           prevent CVS directories getting disted.
16866
16867 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16868
16869         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
16870           Use the REFCOUNTING category for caps refcounting.
16871           
16872 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
16873
16874         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16875           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
16876
16877 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
16878
16879         * plugins/elements/gsttypefindelement.c:
16880         (gst_type_find_element_activate):
16881           Use gst_pad_check_pull_range() before _activate_pull()
16882           to avoid unnecessary open/close (see #331690).
16883
16884 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
16885
16886         * gst/gstutils.c:
16887           Docs enhancement: make it crystal clear what the
16888           gst_pad_add_*_probe() callbacks should look like.
16889
16890 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
16891
16892         * libs/gst/base/gstbasesrc.c:
16893           Document how applications can stop recording from
16894           live sources (see #330996).
16895
16896 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16897
16898         * tests/check/Makefile.am:
16899         * tests/check/libs/basesrc.c: (eos_event_counter),
16900         (basesrc_eos_events_pull), (basesrc_eos_events_push),
16901         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
16902         (gst_basesrc_suite), (main):
16903           ... and add some tests for the base source EOS stuff.
16904
16905 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16906
16907         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
16908           Test case originally showed the problem fixed below,
16909           but was then amended. Add checks back at the place
16910           where they used to be.
16911
16912 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16913
16914         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16915         (gst_base_src_init), (gst_base_src_loop),
16916         (gst_base_src_activate_push), (gst_base_src_activate_pull),
16917         (gst_base_src_change_state):
16918         * libs/gst/base/gstbasesrc.h:
16919           Don't unconditionally send EOS when going from PAUSED to
16920           READY state, esp. make sure we don't send two EOS events
16921           in some cases (e.g. one when reaching EOS and one when
16922           going from PAUSED to READY). Also, we don't want to send
16923           EOS events when operating in pull mode. However, we do
16924           want to send an EOS event when shutting down a live
16925           source explicitly, for example (fixes #330996).
16926           
16927 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16928
16929         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
16930           Update src->read_position after a seek when not using mmap.
16931           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
16932
16933 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
16934
16935         * gst/Makefile.am:
16936         * gst/gstparse.h:
16937         * gst/gstutils.c:
16938         * gst/gstutils.h:
16939         Make things work with --disable-parse as they do with 
16940         --disable-load-save - the symbols involved disappear, but the
16941         header is still installed and GST_DISABLE_PARSE is included via
16942         gstconfig.h
16943
16944 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16945
16946         * libs/gst/base/gstbasetransform.c:
16947         (gst_base_transform_change_state): Fix a stupid bug. I was 
16948         sure I compiled that.
16949
16950 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16951
16952         * gst/gstpad.c: (gst_pad_set_blocked_async):
16953         * gst/gstutils.c: (gst_pad_add_data_probe),
16954         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16955         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16956         (gst_pad_remove_buffer_probe): Make those function act on the
16957         ghostpad target when it's a ghostpad. (Closes #331727)
16958
16959 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16960
16961         * libs/gst/base/gstbasetransform.c:
16962         (gst_base_transform_change_state): Make basetransform reusable.
16963         (Closes #331898)
16964
16965 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
16966
16967         * docs/random/release:
16968         Move the current documentation of how to do a release to the top
16969         of the file.
16970
16971         * gst/gstbin.c: (gst_bin_class_init),
16972         (gst_bin_handle_message_func):
16973         Allow multiple state-recalculation threads. (Closes #328873)
16974
16975 2006-02-19  Julien MOUTTE  <julien@moutte.net>
16976
16977         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
16978         * gst/gstpad.c: (gst_pad_set_event_function),
16979         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16980         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
16981         2 strings. You can't use the STR_NULL macro on that.
16982
16983 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
16984
16985         * gst/gstpad.c: (gst_pad_set_event_function),
16986         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16987         (gst_pad_set_getcaps_function)
16988         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
16989           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
16990           So now, we can use --gst-debug-level=5 on Windows
16991         * win32/common/libgstcontroller.def:
16992           Added export of gst_controller_init
16993         * win32/vs6/libgstcontroller.dsp:
16994           Fixed Release post build configuration
16995
16996 2006-02-17  Wim Taymans  <wim@fluendo.com>
16997
16998         * tests/check/gst/gstquery.c: (GST_START_TEST):
16999         Added another check.
17000
17001 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17002
17003         * plugins/elements/gsttypefindelement.c: (find_peek):
17004           We can do peeks at non-zero offsets, as long as they
17005           fall within the buffer we have.
17006
17007 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17008
17009         * tests/check/Makefile.am:
17010         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17011         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17012         (parse_suite), (main):
17013           Add testsuite for parse launch syntax
17014
17015 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17016
17017         * plugins/elements/gsttypefindelement.c:
17018         (gst_type_find_element_chain):
17019           When typefinding is unsuccessful in the chain function, don't
17020           error out immediately. Only error out with NO_CAPS_FOUND if
17021           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17022           otherwise simply wait for more data so we can try typefinding
17023           again with more data later. Also, don't attempt to typefind
17024           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17025           this should improve typefinding from network sources where the
17026           size of the first buffer can be somewhat random.
17027
17028 2006-02-14  Wim Taymans  <wim@fluendo.com>
17029
17030         * docs/gst/gstreamer-sections.txt:
17031         * gst/gstpadtemplate.c:
17032         * gst/gstpadtemplate.h:
17033         Fix padtemplate docs, fixes #328805.
17034
17035 2006-02-14  Wim Taymans  <wim@fluendo.com>
17036
17037         * tools/gst-launch.c: (main):
17038         NO_PREROLL is not an ERROR so don't send confusing messages
17039         to the user.
17040
17041 2006-02-14  Wim Taymans  <wim@fluendo.com>
17042
17043         Patch by: Torsten Schoenfeld
17044
17045         * gst/gstregistry.c: (gst_registry_get_default),
17046         (_gst_registry_cleanup):
17047         Protect default registry with lock and ref/sink it.
17048         Fixes #324818
17049
17050 2006-02-14  Wim Taymans  <wim@fluendo.com>
17051
17052         * gst/gstbuffer.c:
17053         * gst/gstquery.c: (gst_query_list_add_format),
17054         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17055         (gst_query_parse_formats_nth):
17056         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17057         Docs fixes.
17058
17059 2006-02-14  Wim Taymans  <wim@fluendo.com>
17060
17061         * docs/gst/gstreamer-sections.txt:
17062         Reworked query docs.
17063
17064         * gst/gstquery.c: (gst_query_new_formats),
17065         (gst_query_list_add_format), (gst_query_set_formats),
17066         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17067         (gst_query_parse_formats_nth):
17068         * gst/gstquery.h:
17069         Flesh out formats query, added some new methods.
17070         Fix part of #324398.
17071
17072         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17073         Added query creation tests.
17074
17075 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17076
17077         * gst/gstpad.c: (fixate_value):
17078         Add a default fixation for fraction lists.
17079
17080 2006-02-13  Wim Taymans  <wim@fluendo.com>
17081
17082         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17083         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17084         (gst_task_join):
17085         * gst/gsttask.h:
17086         Detect and warn for obvious deadlocks. fixes #320340
17087         Fix error case where lock was not released.
17088
17089         * tests/check/Makefile.am:
17090         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17091         (task_func), (gst_element_suite), (main):
17092         Add task check.
17093
17094 2006-02-13  Wim Taymans  <wim@fluendo.com>
17095
17096         * docs/gst/gstreamer-sections.txt:
17097         * gst/gstbus.c:
17098         Add new functions to docs.
17099
17100 2006-02-13  Wim Taymans  <wim@fluendo.com>
17101
17102         * docs/design/part-TODO.txt:
17103         Updated TODO list, basesrc supports seeking to non-bytes
17104         formats.
17105
17106         * docs/design/part-element-sink.txt:
17107         Update docs.
17108
17109         * gst/gstbin.c: (bin_replace_message),
17110         (gst_bin_handle_message_func):
17111         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17112         * gst/gstevent.c: (gst_event_finalize):
17113         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17114         (gst_pad_send_event):
17115         Use shiny new _TYPE_NAME macros.
17116
17117         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17118         Move debug statement up.
17119
17120         * gst/gstelement.c: (gst_element_set_locked_state):
17121         Add some debugging.
17122
17123 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17124
17125         * docs/gst/gstreamer-sections.txt:
17126         * gst/gstmessage.h:
17127         * gst/gstquery.h:
17128           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17129           macros (#330906). Also, document the already existing
17130           GST_QUERY_TYPE macro.
17131
17132 2006-02-13  Wim Taymans  <wim@fluendo.com>
17133
17134         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17135         (event_probe), (GST_START_TEST):
17136         Only events up to the pipeline EOS are counted, there are
17137         some more when going to NULL currently which we don't care
17138         about for now.
17139
17140 2006-02-13  Wim Taymans  <wim@fluendo.com>
17141
17142         * gst/gstpad.c: (gst_pad_send_event):
17143         Correctly check flushing and emit probes. fixes #330125
17144
17145 2006-02-10  Andy Wingo  <wingo@pobox.com>
17146
17147         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17148         structure.
17149         (gst_bus_init): Cache the location of the private data in the
17150         instance structure.
17151         (gst_bus_enable_sync_message_emission) 
17152         (gst_bus_disable_sync_message_emission): Implement new public
17153         functions.
17154         (gst_bus_post): Emit the sync-message signal if the user asked for
17155         it. Fixes #330684.
17156
17157         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17158         location of the bus-private structure.
17159         (gst_bus_enable_sync_message_emission)
17160         (gst_bus_disable_sync_message_emission): API addition
17161
17162 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17163
17164         Patch by: Vincent Torri
17165
17166         * docs/pwg/building-boiler.xml:
17167         PWG patch from #326800
17168
17169 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17170
17171         * configure.ac:
17172         * docs/Makefile.am:
17173         * docs/design/Makefile.am:
17174           Dist design docs.
17175
17176 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17177
17178         * configure.ac:
17179           back to CVS
17180
17181 === release 0.10.3 ===
17182
17183 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17184
17185         * configure.ac:
17186           releasing 0.10.3, "Like a virgin"
17187
17188 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17189
17190         * configure.ac:
17191           2nd prerelease of 0.10.3
17192           Bump libtool versioning.
17193
17194 2006-02-07  Andy Wingo  <wingo@pobox.com>
17195
17196         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17197         update last_stop if we're in TIME format and the timestamp is
17198         valid.
17199
17200         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17201         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17202         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17203         If we get a new newsegment with a different format, adapt
17204         accordingly.
17205
17206         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17207         of 0. Not a problem, really.
17208
17209         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17210         warn if sync=true.
17211
17212 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17213
17214         * configure.ac:
17215           Prelease of 0.10.3
17216
17217 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17218
17219         * win32/vs7:
17220           project files updated to the default vs7 configuration
17221         * win32/common/libgstbase.def:
17222         * win32/common/libgstreamer.def:
17223           added new symbols,
17224           removed empty lines,
17225           sorted all exported symbols alphabetically
17226         * win32/common/dirent.c:
17227         * win32/common/dirent.h:
17228         * win32/common/gchar.h:
17229           use windows line end.
17230           
17231 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17232
17233         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17234           Send EOS event when stopping.
17235
17236 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17237
17238         * docs/README:
17239           Tell folks what to do if the plugin-foobar.xml file
17240           hasn't been generated for a newly-added plugin.
17241
17242 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17243
17244         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17245         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17246         (gst_collect_pads_start), (gst_collect_pads_stop),
17247         (gst_collect_pads_event): Collectpads now holds a reference
17248         to the GstPad that was added. Indeed we don't want to look
17249         at pads that might just go away with no warning...
17250
17251 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17252
17253         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17254         (gst_collect_pads_start), (gst_collect_pads_stop),
17255         (gst_collect_pads_event), (gst_collect_pads_chain):
17256         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17257         Mark Nauwelaerts's patch on bug #328491.
17258
17259 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17260
17261         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17262         (gst_utils_suite):
17263           Add some simple tests for gst_parse_bin_from_description() and
17264           gst_bin_find_unconnected_pad() (#329069).
17265
17266 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17267
17268         * tools/gst-launch.c: (event_loop), (main):
17269           Catch errors during preroll (#320084).
17270
17271 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17272
17273         * plugins/elements/gsttypefindelement.c:
17274         (gst_type_find_element_activate):
17275           Post TYPE_NOT_FOUND error message when typefinding
17276           is unsuccessful in the activate function as well.
17277
17278 2006-02-02  Wim Taymans  <wim@fluendo.com>
17279
17280         * docs/design/part-element-sink.txt:
17281         Updated doc.
17282
17283 2006-02-02  Wim Taymans  <wim@fluendo.com>
17284
17285         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17286         (gst_base_sink_render_object),
17287         (gst_base_sink_queue_object_unlocked):
17288         Only keep track of prerollable items when we are 
17289         prerolling.
17290         Before rendering after preroll, always check if we
17291         have queued items.
17292         Added some more debugging.
17293
17294 2006-02-02  Wim Taymans  <wim@fluendo.com>
17295
17296         * gst/gstelement.c: (gst_element_continue_state),
17297         (gst_element_set_state_func), (gst_element_change_state):
17298         Fixed #326576, been running this for quite some time with
17299         no regressions at all.
17300
17301 2006-02-02  Wim Taymans  <wim@fluendo.com>
17302
17303         * common/gst.supp:
17304         Added more suppressions
17305
17306 2006-02-02  Wim Taymans  <wim@fluendo.com>
17307
17308         * docs/design/part-element-sink.txt:
17309         Updated document.
17310
17311         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17312         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17313         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17314         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17315         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17316         (gst_base_sink_preroll_object),
17317         (gst_base_sink_queue_object_unlocked),
17318         (gst_base_sink_queue_object), (gst_base_sink_event),
17319         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17320         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17321         (gst_base_sink_get_position), (gst_base_sink_change_state):
17322         * libs/gst/base/gstbasesink.h:
17323         Totally refactored matching the design doc.
17324         Use two segments, one to clip incomming buffers and another to
17325         perform sync.
17326         Handle queueing correctly, bypass the queue when playing.
17327         Make EOS cancelable.
17328         Handle errors correctly when operating in pull based mode.
17329
17330         * tests/check/elements/fakesink.c: (GST_START_TEST),
17331         (fakesink_suite):
17332         Added new check for sinks.
17333
17334 2006-02-02  Wim Taymans  <wim@fluendo.com>
17335
17336         * gst/gstsegment.c: (gst_segment_clip):
17337         No reason to refuse to clip when start == -1
17338
17339 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17340
17341         * docs/README:
17342         * docs/manual/intro-basics.xml:
17343         * docs/manual/intro-preface.xml:
17344         * docs/manual/manual.xml:
17345         * docs/pwg/advanced-dparams.xml:
17346         * docs/pwg/intro-basics.xml:
17347         * docs/pwg/intro-preface.xml:
17348         * docs/pwg/pwg.xml:
17349           describe dparams (controller) for plugins
17350           unify docs a little more
17351
17352 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17353
17354         * docs/gst/gstreamer-sections.txt:
17355         * gst/gstutils.c: (element_find_unconnected_pad),
17356         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17357         * gst/gstutils.h:
17358           Add new API: gst_parse_bin_from_description() and
17359           gst_bin_find_unconnected_pad() (#329069).
17360
17361 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17362
17363         * docs/manual/README:
17364           uncover a nasty detail of the docs build
17365
17366 2006-01-31  Wim Taymans  <wim@fluendo.com>
17367
17368         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17369         Don't cache duration messages if we're not going to use or
17370         free them.
17371
17372 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17373
17374         * docs/manual/advanced-dparams.xml:
17375         * docs/pwg/advanced-dparams.xml:
17376           more dparam docs
17377         * gst/gstindex.c:
17378           fix docs
17379         * libs/gst/controller/lib.c: (gst_controller_init):
17380           init just once
17381
17382 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17383
17384         * gst/gstelement.c: (gst_element_message_full):
17385           also show file/line/func if no additional debug was given
17386
17387 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17388         
17389         * win32/vs7/grammar.vcproj:
17390           activate copy of autogenerated files for Release mode
17391
17392 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17393         
17394         * win32/common/libgstreamer.def:
17395           export gst_value_compare
17396
17397 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17398
17399         * plugins/elements/Makefile.am:
17400         * plugins/elements/gstelements.c:
17401         * plugins/elements/gstfdsink.c: (_do_init),
17402         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17403         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17404         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17405         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17406         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17407         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17408         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17409         * plugins/elements/gstfdsink.h:
17410         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17411
17412 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17413
17414         * docs/manual/advanced-dparams.xml:
17415           describe controller
17416         * docs/manual/advanced-position.xml:
17417         * docs/manual/basics-init.xml:
17418         * docs/manual/manual.xml:
17419         * docs/manual/titlepage.xml:
17420         * docs/pwg/pwg.xml:
17421         * docs/pwg/titlepage.xml:
17422           cleanup xml (more to come)
17423         * libs/gst/controller/gstcontroller.c:
17424           fix typo
17425
17426 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17427         
17428         * win32/vs6/grammar.dsp:
17429           add autogen of gstmarshal.c,h for Release mode
17430                 
17431 2006-01-30  Wim Taymans  <wim@fluendo.com>
17432
17433         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17434         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17435         (gst_base_sink_handle_object), (gst_base_sink_event),
17436         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17437         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17438         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17439         (gst_base_sink_deactivate), (gst_base_sink_activate),
17440         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17441         (gst_base_sink_query), (gst_base_sink_change_state):
17442         Basesink cleanups, remove some old code.
17443         Handle the case where a subclass can preroll in the render
17444         method (mostly audiosinks).
17445         Handle more events.
17446         Remove some locks around variables that are now protected
17447         with the PREROLL_LOCK (clock_id, flushing, ..).
17448         Optimize position query some more, do correct locking.
17449         Remove old code to push queue in state change, this is not
17450         needed anymore since preroll blocks on all prerollable items 
17451         now.
17452         Almost implemented as described in design doc.
17453
17454 2006-01-30  Wim Taymans  <wim@fluendo.com>
17455
17456         * tests/check/gst/gstbin.c: (GST_START_TEST):
17457         Wait for refcount to settle down before checking.
17458
17459 2006-01-30  Wim Taymans  <wim@fluendo.com>
17460
17461         * docs/design/part-element-sink.txt:
17462         Pseudo code overview of desired sink behaviour regarding
17463         preroll.
17464
17465 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17466         * win32/vs6/grammar.dsp:
17467           fix some bugs in Release mode for autogenerated files
17468                 
17469 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17470         * win32/common/libgstbase.def:
17471         * win32/common/libgstreamer.def:
17472           export some new symbols: gst_base_src_set_format,
17473           gst_iterator_next, gst_structure_set_valist
17474
17475 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17476
17477         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17478         Set pad functions unconditionally. Fixes #329105.
17479
17480 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17481         * win32/vs8:
17482           add vs8 project files created by Sergey Scobich
17483
17484 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17485
17486         * gst/gstutils.c: (gst_element_unlink_pads):
17487         Don't leak pad references.
17488
17489         * tests/check/elements/fakesink.c: (GST_START_TEST):
17490         * tests/check/generic/sinks.c: (GST_START_TEST):
17491         * tests/check/generic/states.c: (GST_START_TEST):
17492         * tests/check/gst/gstbin.c: (GST_START_TEST):
17493         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17494         * tests/check/gst/gstelement.c: (GST_START_TEST):
17495         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17496         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17497         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17498         Fix a bunch of leaks. Make generic/sinks.c
17499         use a bit less cpu by slowing the buffer rate
17500         between fakesrc and fakesink.
17501         
17502 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17503         * gst/gstcaps.c:
17504         * gst/gstelement.c: (gst_element_send_event):
17505         * gst/gstevent.c:
17506         * gst/gstinfo.c:
17507         * gst/gstiterator.c:
17508         * gst/gstiterator.h:
17509         * gst/gstpad.c: (gst_pad_send_event):
17510         * gst/gststructure.c:
17511         * gst/gsturi.c:
17512         * gst/gstutils.c:
17513         * gst/gstvalue.c:
17514         * libs/gst/base/gstadapter.c:
17515           doc fixes, to link to function, just write gst_cool_function(), don't
17516           prefix with '#'
17517
17518 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17519
17520         * plugins/elements/gsttee.c: (gst_tee_do_push),
17521         (gst_tee_handle_buffer):
17522         Always prefer an actual return value from a src
17523         pad in place of NOT_LINKED. This means we return
17524         WRONG_STATE when all src pads are WRONG_STATE
17525         instead of NOT_LINKED.
17526
17527         Lock when replacing the last message to prevent
17528         racing with the get_property method.
17529
17530         Add debug output
17531
17532 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17533
17534         * tests/check/Makefile.am:
17535         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17536         (main):
17537         Add a very simple check that should have caught the memleak I fixed
17538         last night (if not for the slice allocator hiding it)
17539
17540 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17541
17542         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17543         (gst_bin_remove_func), (gst_bin_handle_message_func),
17544         (bin_query_duration_fold), (bin_query_generic_fold):
17545         Clean up references to the clock provider when disposed or when
17546         handling a clock-lost message from it.
17547
17548         Unref sinks when performing a query via gst_iterator_fold, as the
17549         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17550
17551         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17552         (gst_clock_set_master):
17553         Drop our reference to the master clock, if any, when we are disposed.
17554
17555         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17556         Chain up in dispose. 
17557
17558 2006-01-26  Wim Taymans  <wim@fluendo.com>
17559
17560         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17561         Add some debugging.
17562
17563 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17564
17565         * plugins/elements/gsttee.c: (gst_tee_do_push),
17566         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17567         handles pad being NOT_LINKED or in WRONG_STATE.
17568
17569 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17570
17571         * win32/MANIFEST:
17572           more updating
17573
17574 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17575
17576         * win32/MANIFEST:
17577           remove obsolete entry
17578
17579 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17580
17581         * docs/gst/gstreamer-sections.txt:
17582         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17583         (gst_bin_iterate_sources), (gst_bin_send_event):
17584         * gst/gstbin.h:
17585         * gst/gstelement.c: (gst_element_send_event):
17586         * gst/gstevent.c:
17587         * gst/gstpad.c: (gst_pad_send_event):
17588           added code for downstream events, reviewed docs in gstevent.c
17589
17590 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17591
17592         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17593         We only query position using the clock in the playing state.
17594         Query peer in the other cases.
17595         * win32/common/config.h: Updates.
17596
17597 2006-01-24  Wim Taymans  <wim@fluendo.com>
17598
17599         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17600         A clock entry that is scheduled for the exact time of the
17601         clock is still in time.
17602
17603         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17604         (gst_base_sink_do_sync):
17605         Add some more debug info.
17606
17607 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17608
17609         * win32/vs7:
17610           Add new vs7 project files and solution.
17611
17612 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17613
17614         * win32/vs7:
17615           all files removed as they were out-dated.
17616
17617 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17618
17619         * docs/random/release:
17620           update notes
17621         * gst/gstbin.c: (gst_bin_init):
17622         * gst/gstbus.c: (gst_bus_new):
17623         * gst/gstbus.h:
17624         * gst/gstpipeline.c: (gst_pipeline_init):
17625           use gst_bus_new(), improve logging, fix docs
17626         * win32/common/config.h:
17627           update for cvs build
17628
17629 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17630
17631         * autogen.sh:
17632           up required version of automake to 1.7
17633
17634 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17635
17636         * win32/common/libgstreamer.def:
17637           export gst_buffer_is_metadata_writable
17638
17639 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17640
17641         * docs/gst/gstreamer-sections.txt:
17642         * gst/gstevent.h:
17643           Add gst_event_replace() (#327001)
17644
17645 2006-01-20  Wim Taymans  <wim@fluendo.com>
17646
17647         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17648         Make it actually compile too..
17649
17650 2006-01-20  Wim Taymans  <wim@fluendo.com>
17651
17652         * gst/gstcaps.c:
17653         Clarify behaviour of _is_equal() when passing NULL parameters.
17654
17655         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17656         (gst_pad_set_caps):
17657         Cleanups. Don't unref NULL caps.
17658         When setting the same caps, protect caps of the pad with
17659         proper lock.
17660         Use full functionality of _is_equal() when comparing caps.
17661
17662 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17663
17664         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17665         Don't loop infinitely if there are no buffers to present. Partially
17666         fixes #327197, but collectpads is just broken for reusing elements
17667         to do multiple encodes atm.
17668
17669 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17670
17671         * tools/gst-inspect.c: (print_element_features):
17672         * tools/gst-xmlinspect.c: (main):
17673         URL_HANDLER is not a plugin feature we can search for in
17674         the registry.
17675
17676 2006-01-19  Edward Hervey  <edward@fluendo.com>
17677
17678         * gst/gstelement.c: (gst_element_pads_activate): 
17679         When activating, do src pads first, then sink pads.
17680         When de-activating, do sink pads first, then src pads.
17681
17682 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17683
17684         * docs/gst/gstreamer-sections.txt:
17685         Add gst_index_add_associationv to the docs
17686
17687 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17688
17689         * gst/gstevent.c:
17690           Fix docs typo
17691
17692         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17693         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17694           Do some refactoring. Doesn't actually change functionality,
17695           but makes landing the DRAIN event easier later.
17696
17697 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
17698
17699         * docs/pwg/advanced-scheduling.xml:
17700           Update from 0.9.x to 0.10 API and make example a bit
17701           clearer.
17702
17703 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17704
17705         * docs/gst/gstreamer-sections.txt:
17706         Add gst_buffer_(is|make)_metadata_writable methods.
17707
17708 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17709
17710         * docs/design/part-sparsestreams.txt:
17711         Update sparse streams doc, hopefully for greater clarity
17712
17713 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
17714
17715         * docs/design/part-events.txt:
17716         Remove mention of FILLER events.
17717         Add DRAIN event.
17718
17719         * docs/design/part-sparsestreams.txt:
17720         Write some things about using NEWSEGMENT to keep sparse streams
17721         flowing.
17722
17723 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17724
17725         * gst/gstbin.c: (gst_bin_dispose):
17726           Guard gst_object_unref call against a NULL object (dispose
17727           can theoretically be called multiple times).
17728           
17729 2006-01-18  Wim Taymans  <wim@fluendo.com>
17730
17731         * gst/gstbin.c: (gst_bin_element_set_state):
17732         * gst/gstclock.c: (gst_clock_id_wait):
17733         Added some more debug info.
17734
17735         * libs/gst/base/gstadapter.c:
17736         Added more docs.
17737
17738         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17739         (gst_base_sink_do_sync), (gst_base_sink_chain):
17740         Added some comments.
17741
17742 2006-01-18  Wim Taymans  <wim@fluendo.com>
17743
17744         * tests/check/Makefile.am:
17745         * tests/check/elements/fakesink.c: (chain_async_buffer),
17746         (chain_async), (chain_async_return), (GST_START_TEST),
17747         (fakesink_suite), (main):
17748         Added fakesink test that checks prerolling and clipping
17749         behaviour.
17750
17751         * tests/check/gst/gstutils.c: (GST_START_TEST):
17752         Make check run faster so that buildbots don't timeout.
17753
17754 2006-01-18  Wim Taymans  <wim@fluendo.com>
17755
17756         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17757         (gst_base_sink_do_sync):
17758         Some cleanups.
17759         When the sink finishes blocking on the preroll buffer, it can
17760         immediatly render it instead of rendering when the next buffer
17761         arrives.
17762
17763 2006-01-18  Wim Taymans  <wim@fluendo.com>
17764
17765         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17766         (gst_base_sink_get_property), (gst_base_sink_do_sync),
17767         (gst_base_sink_chain):
17768         Small cleanups.
17769         GST_ELEMENT_CLOCK and sync are protected with LOCK.
17770         Don't store _last_stop if the buffer is dropped.
17771
17772 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17773
17774         * plugins/elements/gsttypefindelement.c:
17775         (gst_type_find_element_class_init):
17776           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17777           object method handler that sets the caps on the pad and we want
17778           that to happen before we emit the signal (fixes e.g. feeding a
17779           plain text file to decodebin).
17780
17781 2006-01-18  Christian Schaller  <Christian@fluendo.com>
17782
17783         * gst/gstplugin.c: Add MPL and Proprietary as license options
17784
17785 2006-01-18  Andy Wingo  <wingo@pobox.com>
17786
17787         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17788         symbol was exported before, it appears this was just an oversight.
17789         Fixes #168703.
17790         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17791
17792         * gst/gstindex.c (gst_index_add_associationv): Changed int in
17793         prototype to gint. OK since this prototype was not in the header.
17794
17795 2006-01-17  Andy Wingo  <wingo@pobox.com>
17796
17797         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17798         registry while we remove plugins.
17799
17800         * tools/gst-inspect.c (print_element_info): Don't unref the
17801         factory arg, that should be the responsibility of whatever code
17802         received the ref. Fixes a double-free when called from
17803         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17804         (main): Unref the factory if we have one.
17805         (print_element_list): No change -- relies on the
17806         plugin_feature_list_free to free the list of features.
17807
17808 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
17809
17810         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17811         (gst_buffer_make_metadata_writable):
17812         * gst/gstbuffer.h:
17813         * libs/gst/base/gstbasetransform.c:
17814         (gst_base_transform_prepare_output_buf):
17815         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17816         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17817           Replace gst_buffer_(make|is)_metadata_writable patch now
17818           that the release is out.
17819
17820 2006-01-17  Andy Wingo  <wingo@pobox.com>
17821
17822         * gst/gstregistry.c: Reflow design comment. Update so as to speak
17823         in the present tense without reference to versions.
17824
17825         * gst/gstregistry.c (gst_registry_add_plugin)
17826         (gst_registry_remove_plugin, gst_registry_remove_feature)
17827         (gst_registry_find_feature, gst_registry_get_feature_list)
17828         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17829         (gst_registry_lookup, gst_registry_scan_path)
17830         (_gst_registry_remove_cache_plugins)
17831         (gst_registry_get_feature_list_by_plugin): Add argument
17832         validation.
17833
17834 === release 0.10.2 ===
17835
17836 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
17837
17838         * configure.ac:
17839           releasing 0.10.2, "If man is five"
17840
17841 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17842
17843         * gst/gstbuffer.c:
17844         * gst/gstbuffer.h:
17845         * libs/gst/base/gstbasetransform.c:
17846         (gst_base_transform_prepare_output_buf):
17847         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17848         * tests/check/gst/gstbuffer.c: (gst_test_suite):
17849           Back out patch until after the release.
17850
17851 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17852
17853         * gst/gstminiobject.c:
17854           Spelling fix in docs.
17855         * ChangeLog - remove conflict indicator
17856
17857 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17858
17859         Reviewed By: Andy Wingo
17860
17861         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17862         (gst_buffer_make_metadata_writable):
17863         * gst/gstbuffer.h:
17864           Add gst_buffer_(is|make)_metadata_writable as analogues of
17865           gst_buffer_(is|make)_writable.
17866
17867         * libs/gst/base/gstbasetransform.c:
17868         (gst_base_transform_prepare_output_buf):
17869         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17870           Use name gst_buffer_(is|make)_metadata_writable functions.
17871
17872         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17873           Test gst_buffer_(is|make)_metadata_writable
17874         
17875           (Closes: #324162)
17876
17877 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
17878
17879         * docs/manual/Makefile.am:
17880           don't do parallel make
17881         * configure.ac:
17882           AC_SUBST HOST_CPU
17883         * win32/common/config.h.in:
17884           add generations for HOST_CPU and GST_MAJORMINOR
17885         * win32/common/config.h:
17886           commit generated result
17887
17888 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
17889
17890         * docs/manual/appendix-integration.xml:
17891           Update GNOME integration section to use gst_init_get_option_group()
17892           instead of the old popt stuff (#322911). Also, GNOME applications
17893           should  now use gconf*sink and gconf*src instead of the old gconf
17894           helper lib we had.
17895
17896 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
17897
17898
17899         * docs/gst/gstreamer-docs.sgml:
17900         * docs/gst/gstreamer-sections.txt:
17901         * docs/libs/gstreamer-libs-sections.txt:
17902           add new API entries to the docs
17903         * libs/gst/controller/Makefile.am:
17904         * libs/gst/controller/gstcontroller.c:
17905         * libs/gst/controller/gstcontroller.h:
17906         * libs/gst/controller/gstcontrollerprivate.h:
17907         * libs/gst/controller/gsthelper.c:
17908         * libs/gst/controller/gstinterpolation.c:
17909           move private structs to private header
17910         * po/README:
17911           gstreamer-0.7 -> gstreamer-0.10
17912         * tests/check/libs/struct_i386.h:
17913           remove private structs
17914
17915 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17916
17917         * plugins/indexers/Makefile.am:
17918           Fixes as part of #317048
17919
17920 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17921
17922         * plugins/indexers/Makefile.am:
17923           fix #316086 - compilation when mmap is missing
17924
17925 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
17926
17927         * libs/gst/base/gstbasesink.c:
17928           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
17929           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
17930         * win32/common/config.h:
17931           added some defines GST_MAJORMINOR and HOST_CPU
17932         * win32/common/libgstbase.def:
17933         * win32/common/libgstreamer.def:
17934           added some exported functions.
17935
17936 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
17937
17938         * libs/gst/controller/gstcontroller.c:
17939         (gst_controlled_property_set_interpolation_mode),
17940         (gst_controlled_property_new):
17941         * libs/gst/controller/gstcontroller.h:
17942         * libs/gst/controller/gstinterpolation.c:
17943         (interpolate_none_get_string_value_array):
17944           make G_TYPE_STRING controlable
17945
17946 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
17947
17948         * tools/README:
17949         * tools/gst-feedback.1.in:
17950         * tools/gst-inspect.1.in:
17951         * tools/gst-launch.1.in:
17952         * tools/gst-md5sum.1.in:
17953         * tools/gst-typefind.1.in:
17954         * tools/gst-xmlinspect.1.in:
17955         * tools/gst-xmllaunch.1.in:
17956           cleanup man-pages, remove reference to gst-register, document env-vars
17957
17958 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
17959
17960         * gst/gstbuffer.c: (gst_buffer_span):
17961           gst_buffer_span should copy the timestamp of the first buffer
17962           if they were both originally overlapping subbuffers of the 
17963           same parent, using the same logic as the 'slow copy' case.
17964
17965 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
17966
17967         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
17968           Need to awaken ALL the pads when we pop a buffer, otherwise
17969           collectpads only works when there is 2 input streams.
17970
17971 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
17972
17973         * docs/random/ensonic/media-device-daemon.txt:
17974           more ideas (dbus)
17975         * gst/gstbuffer.c:
17976           fix doc example, add clarification
17977         * tools/gst-launch.1.in:
17978           add initial info about GST_PLUGIN_PATH, needs more work
17979
17980 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
17981
17982         * docs/manual/basics-bins.xml:
17983         * docs/manual/basics-elements.xml:
17984         * docs/manual/intro-basics.xml:
17985           Some more minor docs additions and updates.
17986
17987 2006-01-11  Wim Taymans  <wim@fluendo.com>
17988
17989         * docs/manual/basics-bins.xml:
17990         * docs/manual/basics-elements.xml:
17991         Some small fixes as pointed out by Ser-ver on IRC.
17992
17993 2006-01-10  Edward Hervey  <edward@fluendo.com>
17994
17995         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
17996         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
17997         the single-segment mode.
17998
17999 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18000
18001         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18002
18003         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18004         (gst_base_src_perform_seek), (gst_base_src_send_event),
18005         (gst_base_src_set_property), (gst_base_src_get_property),
18006         (gst_base_src_loop), (gst_base_src_start),
18007         (gst_base_src_activate_push):
18008         * libs/gst/base/gstbasesrc.h:
18009           Name (private) union; makes Sun's Forte compiler happy (#324900).
18010
18011 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18012
18013         * README:
18014           gst-register is gone.
18015
18016 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18017
18018         * gst/gstvalue.c: (_gst_value_initialize):
18019           make the G_TYPE_DATE instantiation work if debug is disabled
18020
18021 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18022
18023         * gst/gstmessage.c: (gst_message_parse_tag),
18024         (gst_message_parse_error), (gst_message_parse_warning):
18025           Don't crash when return location for error/warning debug
18026           string is NULL; add fact that return locations can be
18027           NULL to docs where appropriate.
18028
18029 2006-01-05  Wim Taymans  <wim@fluendo.com>
18030
18031         * gst/gstplugin.c: (gst_plugin_load_file):
18032         Replace strdup by g_strdup.
18033
18034 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18035
18036         * docs/pwg/advanced-types.xml:
18037           fix doc borkage
18038
18039 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18040
18041         submitted by: Abel Cheung
18042
18043         * po/LINGUAS:
18044         * po/zh_TW.po:
18045           Added Chinese (traditional) translation
18046
18047 2006-01-04  Wim Taymans  <wim@fluendo.com>
18048
18049         * docs/manual/basics-pads.xml:
18050         * docs/plugins/Makefile.am:
18051         * docs/plugins/gstreamer-plugins-docs.sgml:
18052         * docs/plugins/gstreamer-plugins-sections.txt:
18053         * docs/pwg/advanced-clock.xml:
18054         * docs/pwg/advanced-scheduling.xml:
18055         * docs/pwg/advanced-types.xml:
18056         * plugins/elements/gstfdsink.c:
18057         * plugins/elements/gstfdsrc.c:
18058         * plugins/elements/gstfdsrc.h:
18059         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18060         * plugins/elements/gstidentity.h:
18061         * plugins/elements/gstqueue.h:
18062         * plugins/elements/gsttee.c:
18063         * plugins/elements/gsttee.h:
18064         * plugins/elements/gsttypefindelement.c:
18065         (gst_type_find_element_class_init):
18066         * plugins/elements/gsttypefindelement.h:
18067         Small updates to various docs.
18068         Added core plugins to docs.
18069
18070 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18071
18072         * common/gst.supp:
18073           add a suppression for liboil's uninitialized variable
18074
18075 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18076
18077         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18078
18079         * gst/gstutils.h:
18080           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18081           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18082           compiler switch is being used (#325429).
18083
18084 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18085
18086         * gst/gstbin.c: (gst_bin_query):
18087           Disable duration query caching in bins until it gets
18088           fixed (see #324807).
18089
18090 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18091
18092         * tools/gst-inspect.c: (print_element_properties_info):
18093           Handle properties of POINTER and BOXED type.
18094
18095 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18096
18097         * gst/gst.c: (init_post):
18098           Init tags stuff and some other things before loading
18099           any static plugins (there may be other static plugins
18100           than just the GStreamer ones, and they may want to
18101           register their own tags or formats or whatever, and
18102           preferably without segfaulting).
18103
18104         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18105           Print at least a warning in the debug logs if we drop a
18106           query just because we don't know how to adjust the value
18107           in the particular format.
18108
18109 2005-12-24  David Schleef  <ds@schleef.org>
18110
18111         * tools/gstreamer-completion:
18112           Replacement for gst-complete written in sh and sed.  Only
18113           completes names of features, but that's 90% of what I want
18114           it for.  Properties are not available in registry.xml.  (Maybe
18115           they should be...)
18116
18117 === release 0.10.1 ===
18118
18119 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18120
18121         * configure.ac:
18122           releasing 0.10.1, "Nollaig chridheil"
18123
18124 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18125
18126         * docs/faq/cvs.xml:
18127           Add missing quote, should be make ERROR_CFLAGS="".
18128
18129 2005-12-20  Wim Taymans  <wim@fluendo.com>
18130
18131         * docs/design/part-trickmodes.txt:
18132         More documentation on trickmodes.
18133
18134 2005-12-20  Edward Hervey  <edward@fluendo.com>
18135
18136         * gst/gstcaps.c: (gst_static_caps_get_type):
18137         * gst/gstcaps.h:
18138           API addition: GST_TYPE_STATIC_CAPS
18139         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18140         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18141         * gst/gstpadtemplate.h:
18142           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18143         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18144         bindings.
18145
18146 2005-12-18  Wim Taymans  <wim@fluendo.com>
18147
18148         * libs/gst/base/gstadapter.c:
18149         * libs/gst/base/gstadapter.h:
18150         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18151         (gst_base_sink_get_position):
18152         * libs/gst/base/gstbasesink.h:
18153         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18154         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18155         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18156         (gst_base_src_send_event), (gst_base_src_update_length),
18157         (gst_base_src_get_range), (gst_base_src_loop),
18158         (gst_base_src_start):
18159         * libs/gst/base/gstbasesrc.h:
18160         * libs/gst/base/gstbasetransform.h:
18161         * libs/gst/base/gstcollectpads.h:
18162         * libs/gst/base/gstpushsrc.c:
18163         * libs/gst/base/gstpushsrc.h:
18164         * libs/gst/dataprotocol/dataprotocol.c:
18165         * libs/gst/dataprotocol/dataprotocol.h:
18166         * libs/gst/net/gstnetclientclock.h:
18167         * libs/gst/net/gstnettimeprovider.h:
18168         Documentation updates.
18169
18170 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18171
18172         * docs/manual/basics-helloworld.xml:
18173           Remove superfluous closing bracket in helloworld example.
18174
18175 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18176
18177         * tools/gst-launch.1.in:
18178           Update gst-launch man page; add a section with useful
18179           environment variables. Fixes #323882.
18180
18181 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18182
18183         * gst/gst.c:
18184         * gst/gst_private.h:
18185           change some char* into char[]
18186
18187 2005-12-16  Wim Taymans  <wim@fluendo.com>
18188
18189         * gst/gstregistryxml.c: (load_feature):
18190         Cleanups.
18191         Don't use g_object_unref on GstObjects so that we avoid
18192         leaks on unsafe glibs.
18193
18194 2005-12-16  Wim Taymans  <wim@fluendo.com>
18195
18196         * gst/gstbin.c: (gst_bin_recalc_state):
18197         Small doc updates.
18198
18199 2005-12-16  Wim Taymans  <wim@fluendo.com>
18200
18201         * common/check.mak:
18202         Added make forever target for check.
18203
18204 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18205
18206         * gst/gst.c: (init_post):
18207           make the registry cache file HOST_CPU-dependent
18208
18209 2005-12-16  Andy Wingo  <wingo@pobox.com>
18210
18211         * plugins/elements/gstbufferstore.c
18212         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18213         return value.
18214
18215         * tests/check/gst/gstobject.c
18216         (test_fake_object_name_threaded_unique): Pay attention to
18217         g_list_sort return value.
18218
18219 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18220
18221         * tools/gst-feedback-m.m:
18222           Update for 0.9/0.10 (fixes #323870).
18223
18224 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18225
18226         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18227           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18228           
18229         * tests/check/gst/gstminiobject.c: (my_foo_init),
18230         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18231         (test_value_collection), (gst_mini_object_suite):
18232           Add test to ensure refcounts end up as expected when passing
18233           GstMiniObjects through g_object_get() and g_object_set().
18234
18235 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18236
18237         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18238         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18239         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18240         of collectpads. This version removes a lot of races without
18241         touching API/ABI. Yay !
18242
18243 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18244
18245         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18246           Don't allow activation of a srcpad in pull_range if it has no
18247           getrange function.
18248           Change some debug statements to be a little clearer
18249
18250         * plugins/elements/gsttypefindelement.c:
18251         (gst_type_find_handle_src_query):
18252           Check that we have a peer before executing queries thereupon.
18253
18254         * tests/examples/metadata/read-metadata.c: (message_loop):
18255           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18256           immediately return us any available message with 0 timeout.
18257
18258 2005-12-12  Michael Smith  <msmith@fluendo.com>
18259
18260         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18261           Don't unref factories after calling them.
18262         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18263         * plugins/elements/gsttypefindelement.c:
18264         (gst_type_find_element_chain):
18265           Free lists of factories after using them. Fixing typefinding memory
18266           leaks.
18267
18268 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18269
18270         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18271         (gst_plugin_feature_load):
18272           more meaningful debug output
18273         * configure.ac:
18274         * tests/Makefile.am:
18275         * tests/old/examples/Makefile.am:
18276           make make distcheck happy again
18277
18278 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18279
18280         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18281           Catch the special case where we are operating chain-based,
18282           but the downstream peer pad has no chain function. Emit a
18283           custom error message in this case instead of letting the
18284           core generate one implying that this is some sort of core
18285           bug. It's not, it just means that whatever got plugged
18286           into the pipeline downstream when we announced the type
18287           can only operate pull-based, while our source can only
18288           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18289           Error string has not been marked for translation yet, as
18290           it probably needs some more work first.
18291
18292         (gst_type_find_element_get_best_possibility):
18293           Add helper function to find the best of all available
18294           found possibilities that qualify given the min. threshold.
18295
18296         (gst_type_find_element_handle_event):
18297           Fix the case where we get an EOS while still in TYPEFIND
18298           mode (we want to chose the best of all possible types,
18299           not just the first type that happens to be in our unsorted
18300           list of possible types).
18301
18302         (gst_type_find_element_chain):
18303           Make sure we return GST_FLOW_ERROR when we errored out
18304           in stop_typefinding(); also, don't just find the best of
18305           all found type entries and then use the last examined
18306           type entry, but actually use the best entry.
18307
18308 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18309
18310         * tests/examples/typefind/typefind.c: (type_found):
18311         * tests/examples/xml/runxml.c: (xml_loaded):
18312           More gcc4 fixes and a mem leak fix.
18313
18314 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18315
18316         * tests/examples/xml/createxml.c: (object_saved):
18317           gcc 4 fixes
18318
18319 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18320
18321         * tests/Makefile.am:
18322           enable the examples even more
18323
18324 2005-12-12  Andy Wingo  <wingo@pobox.com>
18325
18326         * libs/gst/net/gstnettimeprovider.c
18327         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18328         (gst_net_time_provider_set_property)
18329         (gst_net_time_provider_get_property):
18330         API addition: Export "active" as a GObject property.
18331         (gst_net_time_provider_thread): Only respond to time queries if
18332         the time provider is active.
18333
18334         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18335         NetTimeProvider, preserving binary compat.
18336
18337 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18338
18339         * tests/examples/controller/audio-example.c: (main):
18340         * tests/examples/launch/Makefile.am:
18341           convert comments again
18342
18343 2005-12-12  Wim Taymans  <wim@fluendo.com>
18344
18345         * libs/gst/base/gstpushsrc.c:
18346         Fix typo.
18347
18348 2005-12-12  Wim Taymans  <wim@fluendo.com>
18349
18350         * docs/libs/gstreamer-libs-sections.txt:
18351         Added new symbol to docs.
18352
18353         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18354         (gst_base_src_init), (gst_base_src_set_format),
18355         (gst_base_src_default_query), (gst_base_src_query),
18356         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18357         (gst_base_src_perform_seek), (gst_base_src_send_event),
18358         (gst_base_src_default_event), (gst_base_src_event_handler),
18359         (gst_base_src_set_property), (gst_base_src_get_property),
18360         (gst_base_src_wait), (gst_base_src_do_sync),
18361         (gst_base_src_update_length), (gst_base_src_get_range),
18362         (gst_base_src_check_get_range), (gst_base_src_loop),
18363         (gst_base_src_default_negotiate), (gst_base_src_start),
18364         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18365         (gst_base_src_change_state):
18366         * libs/gst/base/gstbasesrc.h:
18367         Implement seeking to other formats than _BYTES.
18368         Implement more seeking methods correctly.
18369         Doc updates.
18370         Added query vmethod.
18371         Added do_seek vmethod to make life easier for subclasses
18372         when seeking.
18373         API addition: gst_base_src_set_format()
18374
18375 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18376
18377         * tests/examples/Makefile.am:
18378           added that too
18379
18380 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18381
18382         * configure.ac:
18383         * docs/random/ensonic/media-device-daemon.txt:
18384         * tests/examples/controller/.cvsignore:
18385         * tests/examples/controller/Makefile.am:
18386         * tests/examples/controller/audio-example.c: (main):
18387         * tests/examples/helloworld/.cvsignore:
18388         * tests/examples/helloworld/Makefile.am:
18389         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18390         * tests/examples/launch/.cvsignore:
18391         * tests/examples/launch/Makefile.am:
18392         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18393         * tests/examples/metadata/.cvsignore:
18394         * tests/examples/metadata/Makefile.am:
18395         * tests/examples/metadata/read-metadata.c: (message_loop),
18396         (make_pipeline), (print_tag), (main):
18397         * tests/examples/queue/.cvsignore:
18398         * tests/examples/queue/Makefile.am:
18399         * tests/examples/queue/queue.c: (event_loop), (main):
18400         * tests/examples/typefind/.cvsignore:
18401         * tests/examples/typefind/Makefile.am:
18402         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18403         (main):
18404         * tests/examples/xml/.cvsignore:
18405         * tests/examples/xml/Makefile.am:
18406         * tests/examples/xml/createxml.c: (object_saved), (main):
18407         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18408         * tests/old/examples/Makefile.am:
18409         * tests/old/examples/TODO:
18410         * tests/old/examples/controller/.cvsignore:
18411         * tests/old/examples/controller/Makefile.am:
18412         * tests/old/examples/controller/audio-example.c:
18413         * tests/old/examples/helloworld/.cvsignore:
18414         * tests/old/examples/helloworld/Makefile.am:
18415         * tests/old/examples/helloworld/helloworld.c:
18416         * tests/old/examples/launch/.cvsignore:
18417         * tests/old/examples/launch/Makefile.am:
18418         * tests/old/examples/launch/mp3parselaunch.c:
18419         * tests/old/examples/launch/mp3play:
18420         * tests/old/examples/manual/Makefile.am:
18421         * tests/old/examples/metadata/Makefile.am:
18422         * tests/old/examples/metadata/read-metadata.c:
18423         * tests/old/examples/queue/.cvsignore:
18424         * tests/old/examples/queue/Makefile.am:
18425         * tests/old/examples/queue/queue.c:
18426         * tests/old/examples/typefind/.cvsignore:
18427         * tests/old/examples/typefind/Makefile.am:
18428         * tests/old/examples/typefind/typefind.c:
18429         * tests/old/examples/xml/.cvsignore:
18430         * tests/old/examples/xml/Makefile.am:
18431         * tests/old/examples/xml/createxml.c:
18432         * tests/old/examples/xml/runxml.c:
18433           applied some simple fixing to some examples
18434           re-enabled the working examples
18435
18436 2005-12-12  Wim Taymans  <wim@fluendo.com>
18437
18438         * gst/gstsegment.c: (gst_segment_init),
18439         (gst_segment_set_last_stop), (gst_segment_set_seek),
18440         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18441         (gst_segment_to_running_time):
18442         Added more documentation.
18443         Make sure the last_pos value is updated properly.
18444         Make sure to_stream_time and to_running_time don't
18445         operate on wrong values.
18446
18447         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18448         Update check.
18449
18450 2005-12-12  Michael Smith  <msmith@fluendo.com>
18451
18452         * plugins/elements/gsttypefindelement.c: (free_entry),
18453         (gst_type_find_element_chain):
18454           Now that we're not leaking factories, make sure we keep references
18455           to them while we need them.
18456
18457 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18458
18459         * tests/check/gst/struct_i386.h:
18460           ifdef out the XML structs
18461
18462 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18463
18464         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18465           floor is not needed, F is always positive; this obviates the
18466           need for adding -lm when building without libxml
18467
18468 2005-12-12  Wim Taymans  <wim@fluendo.com>
18469
18470         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18471         Take current playback rate into account when reporting
18472         the position.
18473
18474 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18475
18476         * docs/manual/mime-world.fig:
18477           Let's try this again, this time with a file that is
18478           actually in XFig format.
18479
18480 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18481
18482         * docs/manual/mime-world.fig:
18483           Add audioconvert element to diagram so that it
18484           matches the text and the code (fixes #319526).
18485
18486 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18487
18488         * docs/pwg/building-chainfn.xml:
18489         * docs/pwg/building-pads.xml:
18490         * docs/pwg/building-state.xml:
18491         * docs/pwg/other-source.xml:
18492           Update state change stuff for 0.10 (fixes #322969).
18493
18494 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18495
18496         * docs/manual/advanced-dataaccess.xml:
18497         * docs/manual/appendix-checklist.xml:
18498         * docs/manual/appendix-programs.xml:
18499         * docs/manual/basics-pads.xml:
18500         * docs/manual/highlevel-components.xml:
18501         * docs/manual/manual.xml:
18502           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18503           add converters in front of pipelines; remove curly
18504           brackets for threads stuff, they no longer exist; use
18505           GST_TYPE_FRACTION for framerates; update some pieces of
18506           code to 0.10, but there's plenty more to do.
18507
18508         * docs/manual/appendix-porting.xml:
18509           Expand on asynchroneous state changes; s/0.9/0.10/;
18510           mention disappearance of gst_init_get_popt_table()
18511           (fixes #322916).
18512
18513 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18514
18515         * docs/faq/using.xml:
18516           Spider no longer exists, and neither does gst-launch-ext.
18517           Update examples to use decodebin and playbin and put
18518           converters in front of sinks (fixes #323726).
18519
18520 2005-12-09  Michael Smith  <msmith@fluendo.com>
18521
18522         * plugins/elements/gsttypefindelement.c: (find_peek),
18523         (gst_type_find_element_chain):
18524           Fix leaking element factories in typefinding.
18525           Fix problem where we forgot about a probable type on non-seekable
18526           files, and thus later mis-typefound it.
18527
18528 2005-12-09  Michael Smith  <msmith@fluendo.com>
18529
18530         * common/m4/gst-makecontext.m4:
18531         * common/m4/gst-mcsc.m4:
18532         * configure.ac:
18533         * win32/common/config.h:
18534         * win32/common/config.h.in:
18535           Remove makecontext stuff; not used in 0.10 and causes problems on
18536           HPUX according to bug #322441
18537
18538 2005-12-07  Wim Taymans  <wim@fluendo.com>
18539
18540         * tests/check/Makefile.am:
18541         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18542         (main):
18543         * tests/check/libs/struct_i386.h:
18544         Added ABI check for libs
18545
18546 2005-12-07  Wim Taymans  <wim@fluendo.com>
18547
18548         * tests/check/Makefile.am:
18549         And add the struct_i386.h to dist.
18550
18551 2005-12-07  Wim Taymans  <wim@fluendo.com>
18552
18553         * tests/check/Makefile.am:
18554         * tests/check/gst/.cvsignore:
18555         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18556         (main):
18557         * tests/check/gst/struct_i386.h:
18558         Added check for ABI compatibility.
18559
18560 2005-12-07  Wim Taymans  <wim@fluendo.com>
18561
18562         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18563         (gst_fake_src_get_times), (gst_fake_src_create):
18564         Fix broken sync option, fixes #323259
18565
18566 2005-12-07  Wim Taymans  <wim@fluendo.com>
18567
18568         * gst/gstbuffer.c:
18569         Small docs update.
18570
18571         * gst/gstcaps.c: (gst_caps_is_equal):
18572         Don't assert on NULL <--> X. Fixes #323260
18573
18574         * gst/gstminiobject.c: (gst_mini_object_replace):
18575         If we're doing atomic operations, we might just as well use
18576         the proper way to get an atomic pointer.
18577
18578         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18579         Clean up debugging.
18580
18581 2005-12-07  Michael Smith  <msmith@fluendo.com>
18582
18583         * gst/parse/grammar.y:
18584           Remove handling of { } for threads.
18585
18586 2005-12-06  David Schleef  <ds@schleef.org>
18587
18588         * libs/gst/base/gstbasetransform.c: speling fix.
18589
18590 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18591
18592         * docs/libs/tmpl/gstdataprotocol.sgml:
18593         * docs/random/omega/testing/gstobject.c:
18594         * gst/gst.c:
18595         * gst/gstclock.c:
18596         * gst/gstelement.c:
18597         * gst/gstelementfactory.c:
18598         * gst/gsterror.c:
18599         * gst/gstevent.c:
18600         * gst/gstghostpad.c:
18601         * gst/gstinfo.c:
18602         * gst/gstpadtemplate.c:
18603         * gst/gstregistryxml.c:
18604         * gst/gsttaglist.c:
18605         * gst/gsttagsetter.c:
18606         * gst/gsttypefind.c:
18607         * gst/gstvalue.c:
18608         * libs/gst/base/gstbasesrc.c:
18609         * libs/gst/net/gstnetclientclock.c:
18610         * libs/gst/net/gstnettimeprovider.c:
18611         * plugins/elements/gstfakesrc.c:
18612         * plugins/elements/gstfdsrc.c:
18613         * plugins/elements/gstfilesrc.c:
18614         * plugins/elements/gstidentity.c:
18615         * plugins/elements/gstqueue.c:
18616         * plugins/elements/gsttypefindelement.c:
18617         * plugins/indexers/gstfileindex.c:
18618         * plugins/indexers/gstmemindex.c:
18619         * tests/check/gst/gsttag.c:
18620         * tests/old/examples/cutter/cutter.c:
18621         * tests/old/examples/mixer/mixer.c:
18622         * tests/old/examples/xml/runxml.c: (main):
18623         * tests/old/testsuite/caps/normalisation.c:
18624         * tests/old/testsuite/debug/global.c:
18625         * tests/old/testsuite/parse/parse1.c:
18626         * tools/gst-xmlinspect.c:
18627         * win32/common/dirent.c:
18628           expand tabs
18629
18630 === release 0.10.0 ===
18631
18632 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18633
18634         * configure.ac:
18635           releasing 0.10.0, "Maroilles"
18636
18637 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18638
18639         submitted by: Funda Wang <fundawang@linux.net.cn>
18640
18641         * po/LINGUAS:
18642         * po/zh_CN.po:
18643           added Chinese (Traditional) translation
18644
18645 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18646
18647         * docs/gst/gstreamer-sections.txt:
18648         * docs/libs/tmpl/gstdataprotocol.sgml:
18649         * docs/random/thomasvs/TODO:
18650         * gst/gstutils.c:
18651         * gst/gstutils.h:
18652           fix docs
18653
18654 2005-12-05  Andy Wingo  <wingo@pobox.com>
18655
18656         patch by: Wim Taymans <wim@fluendo.com>
18657
18658         * libs/gst/base/gstbasetransform.c
18659         (gst_base_transform_prepare_output_buf)
18660         (gst_base_transform_buffer_alloc):
18661         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18662         alloc_buffer_and_set_caps.
18663
18664         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18665         set_caps on the source pad.
18666         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18667         alloc_buffer used to do. Fixes #322874.
18668
18669         * docs/gst/gstreamer-sections.txt: 
18670         * docs/design/part-negotiation.txt: 
18671         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18672         changes.
18673
18674 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18675
18676         patch by: Sebastien Moutte
18677
18678         * win32/MANIFEST:
18679         * win32/common/config.h.in:
18680         * win32/vs6/libgstcontroller.dsp:
18681           win32 build fixes
18682
18683 2005-12-05  Wim Taymans  <wim@fluendo.com>
18684
18685         * gst/gstcaps.c: (gst_caps_is_equal):
18686         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18687         (gst_fake_src_create):
18688         Back out previous code changes, leave doc updates, file bugs 
18689         instead. 
18690
18691 2005-12-05  Wim Taymans  <wim@fluendo.com>
18692
18693         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18694         (gst_fake_src_get_times), (gst_fake_src_create):
18695         * plugins/elements/gstfakesrc.h:
18696         Fix broken sync code.
18697
18698 2005-12-05  Wim Taymans  <wim@fluendo.com>
18699
18700         * gst/gstcaps.c: (gst_caps_is_equal):
18701         Comparing NULL against !NULL yields different caps, not a
18702         failure.
18703
18704 2005-12-05  Wim Taymans  <wim@fluendo.com>
18705
18706         * gst/gstpipeline.c:
18707         Fix small typo in docs.
18708
18709 2005-12-05  Andy Wingo  <wingo@pobox.com>
18710
18711         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
18712
18713         * gst/gst.c (init_post): remove hard-coded 0.9 location for
18714         registries/plugins with a MAJORMINOR one.
18715         (plugin_desc): Rename library from gstcoreleements to
18716         staticelements. Fixes #323222.
18717
18718 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
18719
18720         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18721           Change debug category to 'collectpads' from 'collect_pads'
18722           (fixes #323250).
18723
18724 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18725
18726         patch by: Sebastien Moutte
18727
18728         * libs/gst/controller/gstinterpolation.c:
18729           use convert function for uint64/double
18730         * win32/vs6/libgstcontroller.dsp:
18731           link to GLib
18732
18733 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18734
18735         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18736         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18737         * gst/gstutils.h:
18738         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18739           add tests that seem to show that the guint64/gdouble conversions
18740           are correct.
18741
18742 2005-12-02  Wim Taymans  <wim@fluendo.com>
18743
18744         * gst/gstregistry.c: (gst_registry_add_path):
18745         * gst/gstregistry.h:
18746         * gst/gstregistryxml.c:
18747         Fix docs again.
18748
18749 2005-12-02  Wim Taymans  <wim@fluendo.com>
18750
18751         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18752         (gst_util_uint64_scale_int):
18753         Small cleanup.
18754
18755         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18756         Add debug log line.
18757
18758         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18759         Add FIXME.
18760
18761 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18762
18763         * win32/MANIFEST:
18764         * win32/common/config.h:
18765         * win32/vs6/gstreamer.dsw:
18766         * win32/vs6/libgstcoreelements.dsp:
18767         * win32/vs6/libgstelements.dsp:
18768           renamed core elements plugin
18769
18770 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18771
18772         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18773         (get_candidates):
18774           do piece-wise major/minor comparison so 0.9 < 0.10
18775           also allow .exe extensions for tools
18776
18777 2005-12-02  Michael Smith  <msmith@fluendo.com>
18778
18779         * gst/gst.c:
18780           Escape a % to make gtkdoc happier; bug 322958.
18781
18782 === release 0.9.7 ===
18783
18784 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18785
18786         * configure.ac:
18787           releasing 0.9.7, "My Dog Has No Nose"
18788
18789 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18790
18791         * common/gst-xmlinspect.py:
18792         * configure.ac:
18793         * docs/libs/tmpl/gstdataprotocol.sgml:
18794         * docs/random/release:
18795         * po/af.po:
18796         * po/az.po:
18797         * po/bg.po:
18798         * po/ca.po:
18799         * po/cs.po:
18800         * po/de.po:
18801         * po/en_GB.po:
18802         * po/fr.po:
18803         * po/it.po:
18804         * po/nb.po:
18805         * po/nl.po:
18806         * po/ru.po:
18807         * po/sq.po:
18808         * po/sr.po:
18809         * po/sv.po:
18810         * po/tr.po:
18811         * po/uk.po:
18812         * po/vi.po:
18813         * win32/common/config.h:
18814         * win32/common/config.h.in:
18815         * win32/vs6/gst_inspect.dsp:
18816         * win32/vs6/gst_launch.dsp:
18817         * win32/vs6/libgstbase.dsp:
18818         * win32/vs6/libgstelements.dsp:
18819         * win32/vs6/libgstreamer.dsp:
18820         * win32/vs7/GStreamer.vcproj:
18821         * win32/vs7/gst-inspect.vcproj:
18822         * win32/vs7/gst-launch.vcproj:
18823         * win32/vs7/libgstbase.vcproj:
18824           bump GST_MAJORMINOR to 0.10
18825           reset libtool version
18826
18827 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18828
18829         * po/LINGUAS:
18830         * po/bg.po:
18831           Added Bulgarian translation by (Alexander Shopov)
18832
18833 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18834
18835         * tests/check/gst/gstplugin.c:
18836           fix test
18837
18838 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18839
18840         * common/gst-xmlinspect.py:
18841         * common/gtk-doc-plugins.mak:
18842         * configure.ac:
18843         * docs/Makefile.am:
18844         * docs/gst/Makefile.am:
18845         * docs/gst/gstreamer-docs.sgml:
18846         * docs/gst/gstreamer-sections.txt:
18847         * docs/gst/gstreamer.types:
18848         * docs/gst/gstreamer.types.in:
18849         * docs/plugins/Makefile.am:
18850         * docs/plugins/gstreamer-plugins-docs.sgml:
18851         * docs/plugins/gstreamer-plugins-sections.txt:
18852         * docs/plugins/gstreamer-plugins.types:
18853         * docs/plugins/inspect.stamp:
18854         * docs/plugins/inspect/plugin-coreelements.xml:
18855         * docs/plugins/inspect/plugin-coreindexers.xml:
18856         * docs/plugins/scanobj-build.stamp:
18857         * gstreamer.spec.in:
18858         * plugins/elements/Makefile.am:
18859         * plugins/elements/gstelements.c:
18860         * plugins/elements/gstfakesink.c:
18861         * plugins/elements/gstfakesrc.c:
18862         * plugins/elements/gstfilesink.c:
18863         * plugins/elements/gstfilesrc.c:
18864         * plugins/elements/gstqueue.c:
18865         * plugins/indexers/Makefile.am:
18866         * plugins/indexers/gstindexers.c:
18867           document core plugins in a separate document just like all the
18868           others
18869           rename these plugins to something starting with core
18870
18871 2005-12-01  Andy Wingo  <wingo@pobox.com>
18872
18873         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
18874         padding here before, but it missed the commit.
18875
18876 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18877
18878         * libs/gst/controller/gstinterpolation.c:
18879           whitespace prices have crashed, we should feel free to use some now
18880           use gst_guint64_to_gdouble
18881
18882 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18883
18884         * libs/gst/controller/gstcontroller.c:
18885         * libs/gst/controller/gsthelper.c:
18886         * libs/gst/controller/gstinterpolation.c:
18887         * libs/gst/controller/lib.c:
18888           wrap config.h include
18889
18890 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18891
18892         * docs/gst/gstreamer-sections.txt:
18893           update docs
18894
18895 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18896
18897         * plugins/elements/gstelements.c:
18898         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
18899         (gst_fd_sink__class_init), (gst_fd_sink__init),
18900         (gst_fd_sink__chain), (gst_fd_sink__set_property),
18901         (gst_fd_sink__get_property):
18902         * plugins/elements/gstfdsink.h:
18903         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
18904         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
18905         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
18906         (gst_fd_src_unlock), (gst_fd_src_set_property),
18907         (gst_fd_src_get_property), (gst_fd_src_create),
18908         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
18909         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
18910         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
18911         (gst_fd_src_uri_handler_init):
18912         * plugins/elements/gstfdsrc.h:
18913         * plugins/elements/gstqueue.c: (gst_queue_get_type):
18914           more anal cleanup
18915
18916 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18917
18918         * docs/gst/Makefile.am:
18919         * docs/gst/gstreamer.types.in:
18920         * gst/Makefile.am:
18921           fix the docs build
18922
18923 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18924
18925         * configure.ac:
18926         * gst/Makefile.am:
18927         * gst/gst.c:
18928         * gst/gstplugin.h:
18929         * gst/gstregistry.h:
18930         * tests/benchmarks/complexity.c:
18931         * tests/benchmarks/mass-elements.c:
18932         * tests/check/Makefile.am:
18933         * tools/Makefile.am:
18934         * tools/gst-inspect.c:
18935         * tools/gst-xmlinspect.c:
18936           various fixes to make
18937           --disable-nls --disable-registry --disable-loadsave
18938           --disable-parse --disable-gst-debug
18939           work and get the core .so down to 360444 bytes after stripping
18940
18941 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18942
18943         * Makefile.am:
18944         * configure.ac:
18945           descend into tests
18946         * docs/random/thomasvs/TODO:
18947         * tests/Makefile.am:
18948         * tests/README:
18949           add a README
18950
18951 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18952
18953         * win32/GStreamer.vcproj:
18954         * win32/MANIFEST:
18955         * win32/Makefile:
18956         * win32/Makefile.inspect:
18957         * win32/Makefile.launch:
18958         * win32/Makefile.register:
18959         * win32/README.txt:
18960         * win32/gst-inspect.vcproj:
18961         * win32/gst-launch.vcproj:
18962         * win32/gst-register.vcproj:
18963         * win32/gstelements.vcproj:
18964         * win32/gstgetbits.def:
18965         * win32/gstgetbits.vcproj:
18966         * win32/gstreamer-dbg.def:
18967         * win32/gstreamer.def:
18968         * win32/libgstbase.def:
18969         * win32/libgstbase.vcproj:
18970         * win32/link_oldruntime.c:
18971         * win32/mman.c:
18972         * win32/mman.h:
18973         * win32/mman.inl:
18974         * win32/msvc71.sln:
18975           move even more stuff, win32/ is nice and clean now
18976
18977 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18978
18979         * libs/gst/control/.cvsignore:
18980         * win32/MANIFEST:
18981         * win32/config.h:
18982         * win32/dirent.c:
18983         * win32/dirent.h:
18984         * win32/gstbytestream.def:
18985         * win32/gstbytestream.vcproj:
18986         * win32/gstconfig.h:
18987         * win32/gstenumtypes.c:
18988         * win32/gstenumtypes.h:
18989         * win32/gstoptimalscheduler.vcproj:
18990         * win32/gstversion.h:
18991         * win32/gtchar.h:
18992         * win32/testsuite/bins.vcproj:
18993         * win32/testsuite/bytestream.vcproj:
18994         * win32/testsuite/caps.vcproj:
18995         * win32/testsuite/cleanup.vcproj:
18996         * win32/testsuite/clock.vcproj:
18997         * win32/testsuite/debug.vcproj:
18998         * win32/testsuite/dlopen.vcproj:
18999         * win32/testsuite/dynparams.vcproj:
19000         * win32/testsuite/elements.vcproj:
19001         * win32/testsuite/ghostpads.vcproj:
19002         * win32/testsuite/indexers.vcproj:
19003         * win32/testsuite/negotiation.vcproj:
19004         * win32/testsuite/parse.vcproj:
19005         * win32/testsuite/plugin.vcproj:
19006         * win32/testsuite/refcounting.vcproj:
19007         * win32/testsuite/schedulers.vcproj:
19008         * win32/testsuite/states.vcproj:
19009         * win32/testsuite/tags.vcproj:
19010         * win32/testsuite/threads.vcproj:
19011           remove old win32 stuff that isn't maintained and should be
19012           reorganized
19013
19014 2005-11-30  Andy Wingo  <wingo@pobox.com>
19015
19016         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19017         loading the gst.interfaces python module bork.
19018
19019         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19020         available since GLib 2.2. Fixes #318031.
19021
19022 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19023
19024         * Makefile.am:
19025         * check/.cvsignore:
19026         * check/Makefile.am:
19027         * check/elements/.cvsignore:
19028         * check/elements/fakesrc.c:
19029         * check/elements/fdsrc.c:
19030         * check/elements/identity.c:
19031         * check/generic/.cvsignore:
19032         * check/generic/states.c:
19033         * check/gst-libs/.cvsignore:
19034         * check/gst-libs/controller.c:
19035         * check/gst-libs/gdp.c:
19036         * check/gst/.cvsignore:
19037         * check/gst/capslist.h:
19038         * check/gst/gst.c:
19039         * check/gst/gstbin.c:
19040         * check/gst/gstbuffer.c:
19041         * check/gst/gstbus.c:
19042         * check/gst/gstcaps.c:
19043         * check/gst/gstelement.c:
19044         * check/gst/gstevent.c:
19045         * check/gst/gstghostpad.c:
19046         * check/gst/gstiterator.c:
19047         * check/gst/gstmessage.c:
19048         * check/gst/gstminiobject.c:
19049         * check/gst/gstobject.c:
19050         * check/gst/gstpad.c:
19051         * check/gst/gstpipeline.c:
19052         * check/gst/gstplugin.c:
19053         * check/gst/gstsegment.c:
19054         * check/gst/gststructure.c:
19055         * check/gst/gstsystemclock.c:
19056         * check/gst/gsttag.c:
19057         * check/gst/gstutils.c:
19058         * check/gst/gstvalue.c:
19059         * check/net/.cvsignore:
19060         * check/net/gstnetclientclock.c:
19061         * check/net/gstnettimeprovider.c:
19062         * check/pipelines/.cvsignore:
19063         * check/pipelines/cleanup.c:
19064         * check/pipelines/simple_launch_lines.c:
19065         * check/pipelines/stress.c:
19066         * check/states/.cvsignore:
19067         * check/states/sinks.c:
19068         * configure.ac:
19069         * examples/Makefile.am:
19070         * examples/appreader/.cvsignore:
19071         * examples/appreader/Makefile.am:
19072         * examples/appreader/appreader.c:
19073         * examples/controller/.cvsignore:
19074         * examples/controller/Makefile.am:
19075         * examples/controller/audio-example.c:
19076         * examples/cutter/.cvsignore:
19077         * examples/cutter/Makefile.am:
19078         * examples/cutter/cutter.c:
19079         * examples/cutter/cutter.h:
19080         * examples/events/Makefile.am:
19081         * examples/events/seek.c:
19082         * examples/helloworld/.cvsignore:
19083         * examples/helloworld/Makefile.am:
19084         * examples/helloworld/helloworld.c:
19085         * examples/helloworld2/.cvsignore:
19086         * examples/helloworld2/Makefile.am:
19087         * examples/helloworld2/helloworld2.c:
19088         * examples/launch/.cvsignore:
19089         * examples/launch/Makefile.am:
19090         * examples/launch/mp3parselaunch.c:
19091         * examples/launch/mp3play:
19092         * examples/manual/.cvsignore:
19093         * examples/manual/Makefile.am:
19094         * examples/manual/extract.pl:
19095         * examples/metadata/Makefile.am:
19096         * examples/metadata/read-metadata.c:
19097         * examples/mixer/.cvsignore:
19098         * examples/mixer/Makefile.am:
19099         * examples/mixer/mixer.c:
19100         * examples/mixer/mixer.h:
19101         * examples/pingpong/.cvsignore:
19102         * examples/pingpong/Makefile.am:
19103         * examples/pingpong/pingpong.c:
19104         * examples/plugins/.cvsignore:
19105         * examples/plugins/Makefile.am:
19106         * examples/plugins/example.c:
19107         * examples/plugins/example.h:
19108         * examples/pwg/.cvsignore:
19109         * examples/pwg/Makefile.am:
19110         * examples/pwg/extract.pl:
19111         * examples/queue/.cvsignore:
19112         * examples/queue/Makefile.am:
19113         * examples/queue/queue.c:
19114         * examples/queue2/.cvsignore:
19115         * examples/queue2/Makefile.am:
19116         * examples/queue2/queue2.c:
19117         * examples/queue3/.cvsignore:
19118         * examples/queue3/Makefile.am:
19119         * examples/queue3/queue3.c:
19120         * examples/queue4/.cvsignore:
19121         * examples/queue4/Makefile.am:
19122         * examples/queue4/queue4.c:
19123         * examples/retag/.cvsignore:
19124         * examples/retag/Makefile.am:
19125         * examples/retag/retag.c:
19126         * examples/retag/transcode.c:
19127         * examples/thread/.cvsignore:
19128         * examples/thread/Makefile.am:
19129         * examples/thread/thread.c:
19130         * examples/typefind/.cvsignore:
19131         * examples/typefind/Makefile.am:
19132         * examples/typefind/typefind.c:
19133         * examples/xml/.cvsignore:
19134         * examples/xml/Makefile.am:
19135         * examples/xml/createxml.c:
19136         * examples/xml/runxml.c:
19137         * tests/Makefile.am:
19138         * tests/check/Makefile.am:
19139         * testsuite/.cvsignore:
19140         * testsuite/Makefile.am:
19141         * testsuite/Rules:
19142         * testsuite/caps/.cvsignore:
19143         * testsuite/caps/Makefile.am:
19144         * testsuite/caps/app_fixate.c:
19145         * testsuite/caps/audioscale.c:
19146         * testsuite/caps/caps.c:
19147         * testsuite/caps/caps.h:
19148         * testsuite/caps/caps_strings:
19149         * testsuite/caps/compatibility.c:
19150         * testsuite/caps/deserialize.c:
19151         * testsuite/caps/enumcaps.c:
19152         * testsuite/caps/eratosthenes.c:
19153         * testsuite/caps/filtercaps.c:
19154         * testsuite/caps/fixed.c:
19155         * testsuite/caps/fraction-convert.c:
19156         * testsuite/caps/fraction-multiply-and-zero.c:
19157         * testsuite/caps/intersect2.c:
19158         * testsuite/caps/intersection.c:
19159         * testsuite/caps/normalisation.c:
19160         * testsuite/caps/random.c:
19161         * testsuite/caps/renegotiate.c:
19162         * testsuite/caps/sets.c:
19163         * testsuite/caps/simplify.c:
19164         * testsuite/caps/string-conversions.c:
19165         * testsuite/caps/structure.c:
19166         * testsuite/caps/subtract.c:
19167         * testsuite/caps/union.c:
19168         * testsuite/debug/.cvsignore:
19169         * testsuite/debug/Makefile.am:
19170         * testsuite/debug/category.c:
19171         * testsuite/debug/commandline.c:
19172         * testsuite/debug/global.c:
19173         * testsuite/debug/output.c:
19174         * testsuite/debug/printf_extension.c:
19175         * testsuite/dlopen/.cvsignore:
19176         * testsuite/dlopen/Makefile.am:
19177         * testsuite/dlopen/dlopen_gst.c:
19178         * testsuite/dlopen/loadgst.c:
19179         * testsuite/elements/.cvsignore:
19180         * testsuite/elements/Makefile.am:
19181         * testsuite/elements/gst-inspect-check.in:
19182         * testsuite/elements/struct_i386.h:
19183         * testsuite/elements/struct_size.c:
19184         * testsuite/indexers/.cvsignore:
19185         * testsuite/indexers/Makefile.am:
19186         * testsuite/indexers/cache1.c:
19187         * testsuite/indexers/indexdump.c:
19188         * testsuite/parse/.cvsignore:
19189         * testsuite/parse/Makefile.am:
19190         * testsuite/parse/parse1.c:
19191         * testsuite/parse/parse2.c:
19192         * testsuite/plugin/.cvsignore:
19193         * testsuite/plugin/Makefile.am:
19194         * testsuite/plugin/README:
19195         * testsuite/plugin/dynamic.c:
19196         * testsuite/plugin/linked.c:
19197         * testsuite/plugin/loading.c:
19198         * testsuite/plugin/registry.c:
19199         * testsuite/plugin/static.c:
19200         * testsuite/plugin/static2.c:
19201         * testsuite/plugin/testplugin.c:
19202         * testsuite/plugin/testplugin2.c:
19203         * testsuite/plugin/testplugin2_s.c:
19204         * testsuite/plugin/testplugin_s.c:
19205         * testsuite/refcounting/.cvsignore:
19206         * testsuite/refcounting/Makefile.am:
19207         * testsuite/refcounting/bin.c:
19208         * testsuite/refcounting/element.c:
19209         * testsuite/refcounting/element_pad.c:
19210         * testsuite/refcounting/mainloop.c:
19211         * testsuite/refcounting/mem.c:
19212         * testsuite/refcounting/mem.h:
19213         * testsuite/refcounting/object.c:
19214         * testsuite/refcounting/pad.c:
19215         * testsuite/refcounting/sched.c:
19216         * testsuite/refcounting/thread.c:
19217         * testsuite/states/.cvsignore:
19218         * testsuite/states/Makefile.am:
19219         * testsuite/states/bin.c:
19220         * testsuite/states/locked.c:
19221         * testsuite/states/parent.c:
19222         * testsuite/threads/.cvsignore:
19223         * testsuite/threads/159566.c:
19224         * testsuite/threads/159852.c:
19225         * testsuite/threads/Makefile.am:
19226         * testsuite/threads/queue.c:
19227         * testsuite/threads/signals.c:
19228         * testsuite/threads/staticrec.c:
19229         * testsuite/threads/thread.c:
19230         * testsuite/threads/threadb.c:
19231         * testsuite/threads/threadc.c:
19232         * testsuite/threads/threadd.c:
19233         * testsuite/threads/threade.c:
19234         * testsuite/threads/threadf.c:
19235         * testsuite/threads/threadg.c:
19236         * testsuite/threads/threadh.c:
19237         * testsuite/threads/threadi.c:
19238           move all of these under tests
19239
19240 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19241
19242         * configure.ac:
19243         * tests/Makefile.am:
19244           fix distcheck
19245
19246 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19247
19248         * docs/gst/gstreamer-sections.txt:
19249         * tests/sched/.cvsignore:
19250         * tests/sched/Makefile.am:
19251         * tests/sched/cases/(fs-fs).xml:
19252         * tests/sched/cases/(fs-i-fs).xml:
19253         * tests/sched/cases/(fs-i-i-fs).xml:
19254         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19255         * tests/sched/dynamic-pipeline.c:
19256         * tests/sched/interrupt1.c:
19257         * tests/sched/interrupt2.c:
19258         * tests/sched/interrupt3.c:
19259         * tests/sched/runtestcases:
19260         * tests/sched/runxml.c:
19261         * tests/sched/sched-stress.c:
19262         * tests/sched/sort.c:
19263         * tests/sched/testcases:
19264         * tests/sched/testcases1.tc:
19265         * tests/seeking/.cvsignore:
19266         * tests/seeking/Makefile.am:
19267         * tests/seeking/seeking1.c:
19268         * tests/threadstate/.cvsignore:
19269         * tests/threadstate/Makefile.am:
19270         * tests/threadstate/test1.c:
19271         * tests/threadstate/test2.c:
19272         * tests/threadstate/threadstate1.c:
19273         * tests/threadstate/threadstate2.c:
19274         * tests/threadstate/threadstate3.c:
19275         * tests/threadstate/threadstate4.c:
19276         * tests/threadstate/threadstate5.c:
19277           remove obsolete tests
19278         * configure.ac:
19279         * tests/bench-complexity.scm:
19280         * tests/bench-mass_elements.scm:
19281         * tests/complexity.c:
19282         * tests/complexity.gnuplot:
19283         * tests/instantiate/.cvsignore:
19284         * tests/instantiate/Makefile.am:
19285         * tests/instantiate/caps.c:
19286         * tests/mass_elements.c:
19287         * tests/network-clock-utils.scm:
19288         * tests/network-clock.scm:
19289         * tests/plot-data:
19290         First pass at cleaning up tests/ dir before moving the rest
19291         Combined with CVS surgery
19292
19293 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19294
19295         * po/POTFILES.in:
19296           queue has moved, update
19297
19298 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19299
19300         * docs/gst/gstreamer-sections.txt:
19301           remove double entries from the docs
19302         * gst/gst_private.h:
19303         * gst/gstinfo.c: (_gst_debug_init):
19304           remove the THREAD debug category
19305         * gst/Makefile.am:
19306         * gst/gstqueue.c:
19307         * gst/gstqueue.h:
19308         * docs/gst/gstreamer.types:
19309         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19310         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19311           completely move queue and fix up debugging categories
19312
19313 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19314
19315         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19316           make initialization portable, using LL is not
19317
19318 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19319
19320         * win32/common/gstconfig.h:
19321           add large padding
19322
19323 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19324
19325         * win32/common/libgstreamer.def:
19326           rename symbols; sort base section
19327
19328 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19329
19330         * gst/gstclock.c: (do_linear_regression):
19331           remove crack non-portable handrolled DEBUG macro
19332
19333 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19334
19335         * docs/random/release:
19336           update notes
19337         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19338         (gst_object_flags_get_type), (register_gst_bin_flags),
19339         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19340         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19341         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19342         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19343         (gst_caps_flags_get_type), (register_gst_clock_return),
19344         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19345         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19346         (gst_clock_flags_get_type), (register_gst_state),
19347         (gst_state_get_type), (register_gst_state_change_return),
19348         (gst_state_change_return_get_type), (register_gst_state_change),
19349         (gst_state_change_get_type), (register_gst_element_flags),
19350         (gst_element_flags_get_type), (register_gst_core_error),
19351         (gst_core_error_get_type), (register_gst_library_error),
19352         (gst_library_error_get_type), (register_gst_resource_error),
19353         (gst_resource_error_get_type), (register_gst_stream_error),
19354         (gst_stream_error_get_type), (register_gst_event_type_flags),
19355         (gst_event_type_flags_get_type), (register_gst_event_type),
19356         (gst_event_type_get_type), (register_gst_seek_type),
19357         (gst_seek_type_get_type), (register_gst_seek_flags),
19358         (gst_seek_flags_get_type), (register_gst_format),
19359         (gst_format_get_type), (register_gst_index_certainty),
19360         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19361         (gst_index_entry_type_get_type),
19362         (register_gst_index_lookup_method),
19363         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19364         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19365         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19366         (gst_index_flags_get_type), (register_gst_debug_level),
19367         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19368         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19369         (gst_iterator_result_get_type), (register_gst_iterator_item),
19370         (gst_iterator_item_get_type), (register_gst_message_type),
19371         (gst_message_type_get_type), (register_gst_mini_object_flags),
19372         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19373         (gst_pad_link_return_get_type), (register_gst_flow_return),
19374         (gst_flow_return_get_type), (register_gst_activate_mode),
19375         (gst_activate_mode_get_type), (register_gst_pad_direction),
19376         (gst_pad_direction_get_type), (register_gst_pad_flags),
19377         (gst_pad_flags_get_type), (register_gst_pad_presence),
19378         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19379         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19380         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19381         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19382         (gst_plugin_flags_get_type), (register_gst_rank),
19383         (gst_rank_get_type), (register_gst_query_type),
19384         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19385         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19386         (gst_tag_flag_get_type), (register_gst_task_state),
19387         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19388         (gst_alloc_trace_flags_get_type),
19389         (register_gst_type_find_probability),
19390         (gst_type_find_probability_get_type), (register_gst_uri_type),
19391         (gst_uri_type_get_type), (register_gst_parse_error),
19392         (gst_parse_error_get_type):
19393         * win32/common/gstenumtypes.h:
19394         * win32/common/gstversion.h:
19395           update visual studio generated files
19396
19397 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19398
19399         * win32/vs6/libgstbase.dsp:
19400         * win32/vs6/libgstelements.dsp:
19401           update project files for new locations
19402
19403 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19404
19405         * Makefile.am:
19406           remove some files
19407         * README:
19408           reinstate and update
19409         * DEVEL:
19410         * REQUIREMENTS:
19411           removed
19412         * LICENSE:
19413         * docs/random/LICENSE:
19414           moved to random
19415
19416 2005-11-30  Edward Hervey  <edward@fluendo.com>
19417
19418         * gst/gsttypefind.c: (gst_type_find_register):
19419         * gst/gsttypefind.h:
19420         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19421         (gst_type_find_factory_dispose):
19422         * gst/gsttypefindfactory.h:
19423         Fix memory leak in GstTypeFindFactory.
19424
19425 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19426
19427         * gst/gst.c:
19428         * plugins/elements/Makefile.am:
19429         * plugins/elements/gstelements.c:
19430         * plugins/elements/gstqueue.c:
19431           move queue from core to the elements plugin
19432
19433 2005-11-29  Andy Wingo  <wingo@pobox.com>
19434
19435         * libs/gst/base/gstbasetransform.h: 
19436         * libs/gst/base/gstbasesrc.h: 
19437         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19438
19439         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19440         of pointers by which to pad very extensible base classes (like the
19441         ones in libs/gst/base).
19442
19443 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19444
19445         * docs/gst/gstreamer-docs.sgml:
19446         * docs/gst/gstreamer-sections.txt:
19447         * docs/libs/gstreamer-libs-docs.sgml:
19448         * docs/libs/gstreamer-libs-sections.txt:
19449           moving documentation from core to lib
19450
19451 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19452
19453         * check/Makefile.am:
19454         * configure.ac:
19455         * docs/gst/Makefile.am:
19456         * gst/Makefile.am:
19457         * gst/base/.cvsignore:
19458         * gst/base/Makefile.am:
19459         * gst/base/README:
19460         * gst/base/gstadapter.c:
19461         * gst/base/gstadapter.h:
19462         * gst/base/gstbasesink.c:
19463         * gst/base/gstbasesink.h:
19464         * gst/base/gstbasesrc.c:
19465         * gst/base/gstbasesrc.h:
19466         * gst/base/gstbasetransform.c:
19467         * gst/base/gstbasetransform.h:
19468         * gst/base/gstcollectpads.c:
19469         * gst/base/gstcollectpads.h:
19470         * gst/base/gstpushsrc.c:
19471         * gst/base/gstpushsrc.h:
19472         * gst/base/gsttypefindhelper.c:
19473         * gst/base/gsttypefindhelper.h:
19474         * gst/check/Makefile.am:
19475         * gst/check/gstcheck.c:
19476         * gst/check/gstcheck.h:
19477         * gst/net/Makefile.am:
19478         * gst/net/gstnet.h:
19479         * gst/net/gstnetclientclock.c:
19480         * gst/net/gstnetclientclock.h:
19481         * gst/net/gstnettimepacket.c:
19482         * gst/net/gstnettimepacket.h:
19483         * gst/net/gstnettimeprovider.c:
19484         * gst/net/gstnettimeprovider.h:
19485         * libs/gst/Makefile.am:
19486         * libs/gst/base/Makefile.am:
19487         * libs/gst/base/gstbasetransform.c:
19488         * libs/gst/check/Makefile.am:
19489         * plugins/elements/Makefile.am:
19490         * po/POTFILES.in:
19491           CVS surgery + support to move base, check, and net out of gst
19492           and into libs/gst
19493
19494 2005-11-29  Andy Wingo  <wingo@pobox.com>
19495
19496         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19497
19498         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19499         padding.
19500
19501         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19502
19503         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19504
19505         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19506
19507         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19508         padding; reduces object size by about 30%. We don't expect
19509         anything else to go into gstobject.
19510
19511         * gst/gstminiobject.h (struct _GstMiniObject)
19512         (struct _GstMiniObjectClass): Only one pointer of padding; the
19513         payload is only a pointer and two ints anyway. For the class there
19514         are only two methods as well.
19515         
19516         * gst/gstelement.h (struct _GstElementClass): Removed
19517         the state_changed signal callback, it is not used.
19518
19519 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19520
19521         * docs/gst/gstreamer.types:
19522           fix includes, though they are a little dinky
19523
19524 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19525
19526         * check/Makefile.am:
19527           look in the right place for elements, a lot more chance of
19528           success
19529         * gst/Makefile.am:
19530           remove indexers and elements subdirs
19531         * plugins/Makefile.am:
19532           make indexers conditional
19533
19534 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19535
19536         * Makefile.am:
19537         * configure.ac:
19538         * plugins/elements/Makefile.am:
19539         * plugins/elements/gstcapsfilter.c:
19540         * plugins/elements/gstfilesink.c:
19541         * plugins/elements/gstfilesrc.c:
19542         * plugins/elements/gstidentity.c:
19543         * plugins/indexers/Makefile.am:
19544           do CVS surgery and related build fixery to move elements
19545           and indexers in a new gstreamer/plugins directory, out of the
19546           gst/ directory
19547
19548 2005-11-29  Andy Wingo  <wingo@pobox.com>
19549
19550         * check/Makefile.am:
19551         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19552         * pkgconfig/gstreamer-net.pc.in:
19553         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19554         #322257.
19555
19556 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19557
19558         * tools/Makefile.am:
19559         * tools/gst-complete.1.in:
19560         * tools/gst-complete.c:
19561         * tools/gst-compprep.1.in:
19562         * tools/gst-compprep.c:
19563           removing -compprep and -complete
19564
19565 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19566
19567         * gst/gstevent.c: (gst_event_new_new_segment),
19568         (gst_event_parse_new_segment):
19569         * gst/gstevent.h:
19570           fix #320529 - clean up new_segment API and structure.
19571           Let's hope everyone was using the methods, and not the structure.
19572
19573 2005-11-29  Edward Hervey  <edward@fluendo.com>
19574
19575         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19576         (gst_base_sink_event), (gst_base_sink_do_sync),
19577         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19578         Properly handle non GST_FORMAT_TIME segment
19579         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19580         Properly handle non GST_FORMAT_TIME segment
19581         * gst/gstsegment.c:
19582         This function is valid if the accumulator is 0 and the format
19583         is different from the requested format.
19584         
19585 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19586
19587         * docs/gst/gstreamer-sections.txt:
19588         Add gst_query_new_seeking and gst_query_parse_seeking to the
19589         docs.
19590
19591 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19592
19593         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19594           Treat a pad alloc with new caps the same as if we were not
19595           negotiated, in order to allow a changing upstream output
19596           to produce a new format of data.
19597
19598 2005-11-29  Edward Hervey  <edward@fluendo.com>
19599
19600         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19601         (gst_base_transform_event), (gst_base_transform_eventfunc):
19602         The event virtual method is now properly implemented, with a default
19603         handler
19604         Sub classes should call the parent_class event method. They should
19605         return FALSE if they had a problem handling the given event, or don't
19606         want GstBaseTransform to send that even downstream
19607         * gst/elements/gstidentity.c: (gst_identity_class_init),
19608         (gst_identity_init), (gst_identity_event),
19609         (gst_identity_transform_ip), (gst_identity_set_property),
19610         (gst_identity_get_property):
19611         * gst/elements/gstidentity.h:
19612         Added the single-segment boolean property.
19613         If set to TRUE, it will output a single segment of data, starting from
19614         0, will eat up all incoming newsegment, and modify the timestamp of the
19615         buffers accordingly
19616
19617 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19618
19619         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19620           Don't ref NULL target pad (#322751). Improve docs.
19621
19622 2005-11-29  Michael Smith  <msmith@fluendo.com>
19623
19624         * gst/gstregistryxml.c: (load_plugin):
19625           Don't crash if we failed to load a feature from a plugin. 
19626
19627 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19628
19629         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19630         (GST_START_TEST):
19631           use more check API and less GLib API
19632
19633 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19634
19635         * Makefile.am:
19636           don't run checks if we don't have check
19637         * common/check.mak:
19638           remove the registry when running make torture
19639         * docs/gst/gstreamer-sections.txt:
19640           remove second multiply
19641         * gst/gstqueue.c: (gst_queue_loop):
19642           fix a compile warning when disabling debug
19643
19644 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19645
19646         * gst/gstinfo.h:
19647         Hey! Let's print the pad name if the pointer != NULL instead
19648         of when it == NULL :-)
19649
19650 2005-11-28  Wim Taymans  <wim@fluendo.com>
19651
19652         * check/gst/gstutils.c: (GST_START_TEST):
19653         Updated check, add some scaling accuracy checking code.
19654
19655         * gst/gstutils.c: (gst_util_div128_64),
19656         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19657         (gst_util_uint64_scale_int):
19658         Fix 6 times faster division code. Optimize for common 
19659         1/1 and less common X/1 cases.
19660
19661 2005-11-28  Wim Taymans  <wim@fluendo.com>
19662
19663         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19664         More checks.
19665
19666         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19667         (do_linear_regression), (gst_clock_add_observation):
19668         Cleanups.
19669         Release lock when the clock cannot be slaved.
19670         Catch the case where the regression returned an invalid denominator.
19671
19672         * gst/gstutils.c: (gst_util_div128_64_iterate),
19673         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19674         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19675         Add protentially more performant non-iterative 128/64 divide function
19676         that unfortunatly does not work yet.
19677         Shortcut the trivial 0/X = 0 case.
19678         Remove the warnings on overflow.
19679
19680 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19681
19682         * gst/gstplugin.c: (gst_plugin_register_func):
19683           everything causing a plugin not to load should be at least a WARNING
19684
19685 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19686
19687         * docs/random/ensonic/dparams.txt:
19688           some TODOs for the next dev cycle
19689         * libs/gst/controller/gstcontroller.c:
19690         (gst_controlled_property_set_interpolation_mode),
19691         (gst_controlled_property_new):
19692         * libs/gst/controller/gstcontroller.h:
19693           use base type to assign acccessor functions
19694
19695 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19696
19697         * check/Makefile.am:
19698         Oops, that should have been top_srcdir
19699
19700 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19701
19702         * check/Makefile.am:
19703         * check/elements/fdsrc.c: (GST_START_TEST):
19704         Use a cmdline define to specify the location of a file to use for
19705         testing, to avoid breaking distcheck.
19706
19707 2005-11-28  Andy Wingo  <wingo@pobox.com>
19708
19709         * gst/gstpad.c (fixate_value): Use array functions for arrays.
19710
19711 2005-11-28  Edward Hervey  <edward@fluendo.com>
19712
19713         * tools/gst-launch.c: (main):
19714         Clarify the output strings, makes it easier to translate.
19715         Fixes #322626
19716
19717 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19718
19719         * gst/Makefile.am:
19720           don't try and build net if we don't even have <sys/socket.h>
19721
19722 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
19723
19724         * check/Makefile.am:
19725         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19726         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19727           Add tests for fdsrc seekability
19728
19729         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19730         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19731         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19732         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19733         * gst/elements/gstfdsrc.h:
19734           fdsrc should not be a 'live' source.
19735           Implement seeking on seekable fd's.
19736
19737         * gst/gstquery.c: (gst_query_new_seeking),
19738         (gst_query_parse_seeking):
19739         * gst/gstquery.h:
19740           Implement SEEKING query functions: 
19741             *_new_seeking and *_parse_seeking
19742
19743 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
19744
19745         * gst/gstelement.c: (gst_element_dispose):
19746           don't loop forever
19747
19748         * gst/gstiterator.c:
19749         * gst/gststructure.c:
19750           doc fixes
19751
19752         * libs/gst/controller/gstcontroller.c:
19753         (gst_controlled_property_set_interpolation_mode):
19754         * libs/gst/controller/gstcontroller.h:
19755         * libs/gst/controller/gstinterpolation.c:
19756         (interpolate_none_get_enum_value_array):
19757           support controlling enums
19758
19759 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19760
19761         * gst/gstvalue.c:
19762           Improve documentation for gst_value_union().
19763
19764         * gst/gstvalue.h:
19765           Change return value for union, intersect and subtract functions
19766           from gint to gboolean.
19767
19768 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19769
19770         * gst/gstvalue.c: (gst_value_serialize_any_list),
19771         (gst_value_transform_any_list_string),
19772         (gst_value_deserialize_list), (gst_value_deserialize_array),
19773         (gst_value_set_int_range), (gst_value_deserialize_int_range),
19774         (gst_value_set_double_range), (gst_value_deserialize_double_range),
19775         (gst_value_set_fraction_range_full),
19776         (gst_value_deserialize_fraction_range),
19777         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19778         (gst_value_deserialize_boolean),
19779         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19780         (gst_value_serialize_float), (gst_value_deserialize_float),
19781         (gst_string_wrap), (gst_value_deserialize_string),
19782         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19783         (gst_value_union_int_range_int_range),
19784         (gst_value_intersect_int_range_int_range),
19785         (gst_value_intersect_double_range_double_range),
19786         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19787         (gst_value_subtract_int_range_int_range),
19788         (gst_value_subtract_double_double_range),
19789         (gst_value_subtract_double_range_double_range),
19790         (gst_value_deserialize_fraction):
19791         * gst/gstvalue.h:
19792           Use gint, gdouble and gchar in our API instead of int, double and
19793           char (and make usage in gstvalue.c more consistent).
19794
19795 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19796
19797         * check/Makefile.am:
19798         * libs/gst/controller/Makefile.am:
19799         * libs/gst/dataprotocol/Makefile.am:
19800           fix up Makefile.am and remove GST_ENABLE_NEW
19801
19802 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19803
19804         * configure.ac:
19805         * gst/Makefile.am:
19806         * gst/base/Makefile.am:
19807         * gst/check/Makefile.am:
19808         * gst/elements/Makefile.am:
19809         * gst/net/Makefile.am:
19810           update LDFLAGS use some more
19811
19812 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19813
19814         * common/m4/gst-doc.m4:
19815           Fixes #312589
19816
19817 2005-11-26  Edward Hervey  <edward@fluendo.com>
19818
19819         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19820         This shouldn't issue a g_warning since it returns NULL if it
19821         couldn't find the plugin, and all functions using this behave
19822         properly on a NULL return. Switching to a GST_WARNING.
19823
19824 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
19825
19826         * gst/gstbin.c: (gst_bin_handle_message_func):
19827         Don't leak clock messages.
19828
19829 2005-11-25  Wim Taymans  <wim@fluendo.com>
19830
19831         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19832         (gst_util_uint64_scale_int):
19833         Optimisations, remove unneeded vars.
19834
19835 2005-11-25  Wim Taymans  <wim@fluendo.com>
19836
19837         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19838         Added more checks for the high precision uint64 cases.
19839
19840         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19841         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19842         Implement high precision (guint64 * guint64) / guint64.
19843
19844 2005-11-24  Wim Taymans  <wim@fluendo.com>
19845
19846         * gst/base/gstbasesrc.c: (gst_base_src_query):
19847         Fix wrong percentage query.
19848
19849         * gst/gstutils.c: (gst_util_uint64_scale),
19850         (gst_util_uint64_scale_int):
19851         Add some more common cases that can be handled 
19852         efficiently to _scale.
19853
19854 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19855
19856         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
19857         (gst_mini_object_suite):
19858           don't use check calls from threads; check probably isn't
19859           threadsafe and using a lock to make it threadsafe would
19860           defeat the purpose of this check
19861         * gst/check/gstcheck.c:
19862         * gst/check/gstcheck.h:
19863           use GST_DEBUG some more
19864
19865 2005-11-24  Wim Taymans  <wim@fluendo.com>
19866
19867         * gst/gstutils.c: (gst_util_uint64_scale),
19868         (gst_util_uint64_scale_int):
19869         Chain trivial case to _scale_int.
19870
19871 2005-11-24  Wim Taymans  <wim@fluendo.com>
19872
19873         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19874         Added test for scaling.
19875
19876         * gst/gstclock.h:
19877         Small doc fix.
19878
19879         * gst/gstutils.c: (gst_util_uint64_scale_int):
19880         Implemented high precision scaling code.
19881
19882 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
19883
19884         * gst/gstinfo.h:
19885           do not crash on pad==NULL
19886
19887 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19888
19889         Patch by: Stefan Kost
19890
19891         * common/gtk-doc.mak:
19892         * docs/gst/Makefile.am:
19893         * docs/libs/Makefile.am:
19894           Fix distcheck issues for the libraries docs build
19895           Closes #319599.
19896
19897 2005-11-24  Michael Smith <msmith@fluendo.com>
19898
19899         * docs/manual/basics-helloworld.xml:
19900           Fix bug #315027: memory leak in example code in docs.
19901
19902 2005-11-24  Michael Smith <msmith@fluendo.com>
19903
19904         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19905           Unlock the PREROLL_LOCK in a failure case.
19906
19907 2005-11-24  Wim Taymans  <wim@fluendo.com>
19908
19909         * docs/gst/gstreamer-sections.txt:
19910         * gst/base/gstadapter.h:
19911         * gst/base/gstbasesink.h:
19912         * gst/base/gstbasesrc.h:
19913         * gst/base/gstbasetransform.h:
19914         * gst/base/gstpushsrc.h:
19915         * gst/elements/gstfakesink.h:
19916         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
19917         * gst/elements/gstfakesrc.h:
19918         * gst/elements/gstfilesink.h:
19919         * gst/elements/gstfilesrc.h:
19920         * gst/gst.c:
19921         * gst/gstbin.c:
19922         * gst/gstbuffer.c: (_gst_buffer_copy):
19923         * gst/gstbus.h:
19924         * gst/gstcaps.c:
19925         * gst/gstchildproxy.c:
19926         * gst/gstclock.c:
19927         * gst/gstelement.c:
19928         * gst/gstelementfactory.c:
19929         * gst/gstelementfactory.h:
19930         * gst/gstevent.c:
19931         * gst/gstghostpad.h:
19932         * gst/gstindex.h:
19933         * gst/gstinterface.h:
19934         * gst/gstminiobject.c:
19935         * gst/gstminiobject.h:
19936         * gst/gstpad.c:
19937         * gst/gstpad.h:
19938         * gst/gstpadtemplate.h:
19939         * gst/gstpipeline.h:
19940         * gst/gstpluginfeature.h:
19941         * gst/gstquery.h:
19942         * gst/gstqueue.h:
19943         * gst/gsttaglist.c:
19944         * gst/gsttaglist.h:
19945         * gst/gsttagsetter.c:
19946         * gst/gsttagsetter.h:
19947         * gst/gsttrace.c:
19948         * gst/gsttrace.h:
19949         * gst/gsttypefind.h:
19950         * gst/gsturi.h:
19951         * gst/gstvalue.c:
19952         * gst/net/gstnetclientclock.c:
19953         * gst/net/gstnetclientclock.h:
19954         * gst/net/gstnettimepacket.c:
19955         * gst/net/gstnettimeprovider.c:
19956         * gst/net/gstnettimeprovider.h:
19957         Doc fixes.
19958
19959 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19960
19961         * configure.ac: back to HEAD
19962
19963 === release 0.9.6 ===
19964
19965 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
19966
19967         * configure.ac:
19968           releasing 0.9.6, "Always On Time"
19969
19970 2005-11-23  Wim Taymans  <wim@fluendo.com>
19971
19972         * docs/gst/gstreamer-sections.txt:
19973         * gst/glib-compat.c:
19974         * gst/gsttagsetter.c:
19975         * gst/gstvalue.c:
19976         * gst/net/gstnetclientclock.c:
19977         * gst/net/gstnettimepacket.h:
19978         Doc updates.
19979
19980 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19981
19982         * docs/faq/using.xml:
19983         * docs/libs/tmpl/gstcontrol.sgml:
19984         * docs/manual/advanced-dparams.xml:
19985         * docs/manual/appendix-checklist.xml:
19986         * docs/manual/basics-elements.xml:
19987         * docs/pwg/other-source.xml:
19988         * docs/random/moving-plugins:
19989         * gst/gstpad.c:
19990         * tools/gst-launch.1.in:
19991           remove mentions of sinesrc
19992
19993 2005-11-23  Michael Smith <msmith@fluendo.com>
19994
19995         * docs/gst/gstreamer-sections.txt:
19996           Update for new API and API changes.
19997         * gst/gstobject.h:
19998           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
19999         * gst/gstvalue.c:
20000           Documentation typo fix.
20001         * gst/net/gstnettimepacket.c:
20002           Documentation fixes for arguments.
20003
20004 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20005
20006         * gst/gststructure.c: (gst_structure_get_fraction),
20007         (gst_structure_parse_value),
20008         (gst_structure_fixate_field_nearest_fraction):
20009         * gst/gststructure.h:
20010         * gst/gstutils.c: (gst_util_uint64_scale_int):
20011         * gst/gstutils.h:
20012         * scripts/update-funcnames:
20013         API Changes. 
20014         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20015         Make gst_structure_fixate_field_nearest_fraction take a numerator
20016         and denominator argument instead of a GValue
20017         add gst_structure_get_fraction helper function.
20018
20019 2005-11-23  Wim Taymans  <wim@fluendo.com>
20020
20021         * docs/design/part-TODO.txt:
20022         Update TODO.
20023
20024         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20025         * gst/net/gstnetclientclock.h:
20026         Use parent fields for timeout and window_size.
20027
20028 2005-11-23  Andy Wingo  <wingo@pobox.com>
20029
20030         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20031         rate_num/rate_denom change.
20032
20033         * gst/net/gstnetclientclock.c
20034         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20035         OBJECT_LOCK. Don't call add_observation with the lock.
20036
20037         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20038         fraction.
20039         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20040         rate fraction.
20041         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20042         deal with rate as a fraction whose numerator and denominator are
20043         GstClockTime values.
20044         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20045         master; the other fields are protected by the SLAVE_LOCK.
20046         (do_linear_regression): Note that this must be called with the
20047         SLAVE_LOCK.
20048         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20049         OBJECT_LOCK. Call set_calibration instead of touching the
20050         variables directly.
20051         (gst_clock_set_property, gst_clock_get_property): Protect
20052         master/slave parameters with the SLAVE_LOCK.
20053
20054         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20055         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20056         note that all of the instance variables that add_observation and
20057         the set_master functions use are protected by that lock and not
20058         the OBJECT_LOCK.
20059         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20060
20061         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20062         the caller to take the object lock.
20063
20064 2005-11-23  Wim Taymans  <wim@fluendo.com>
20065
20066         * gst/gsterror.c: (_gst_core_errors_init):
20067         * gst/gsterror.h:
20068         Add error for clock stuff.
20069
20070         * gst/gstpipeline.c: (gst_pipeline_change_state),
20071         (gst_pipeline_set_clock):
20072         Post clock error when clock cannot be used in a pipeline.
20073
20074 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20075
20076         * docs/gst/gstreamer-sections.txt:
20077           make two symbols from gstinfo private for the docs
20078         * gst/base/gstcollectpads.h:
20079         * gst/gstutils.c:
20080           fix doc typos, update docs
20081
20082 2005-11-22  Wim Taymans  <wim@fluendo.com>
20083
20084         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20085         (gst_base_sink_wait), (gst_base_sink_do_sync),
20086         (gst_base_sink_handle_event):
20087         * gst/base/gstbasesink.h:
20088         No need to store the clock, the parent element class already
20089         has it.
20090
20091         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20092         Updates for clock_set returning a gboolean
20093
20094         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20095         (gst_clock_id_wait_async), (gst_clock_class_init),
20096         (gst_clock_init), (gst_clock_finalize),
20097         (gst_clock_get_internal_time), (gst_clock_get_time),
20098         (gst_clock_slave_callback), (gst_clock_set_master),
20099         (gst_clock_get_master), (do_linear_regression),
20100         (gst_clock_add_observation), (gst_clock_set_property),
20101         (gst_clock_get_property):
20102         * gst/gstclock.h:
20103         Implement master/slave. When setting a clock as a slave, a
20104         periodic timeout is scheduled to sample master and slave times.
20105         Then the slave clock is recalibrated to match offset and rate
20106         of the master clock.
20107         Update logging a bit.
20108         Add flag so that a clock can state that is cannot be slaved to
20109         another clock.
20110
20111         * gst/gstelement.c: (gst_element_set_clock):
20112         * gst/gstelement.h:
20113         The set clock returns a gboolean for when an element cannot
20114         deal with the selected clock in the pipeline. 
20115
20116         * gst/gstpipeline.c: (gst_pipeline_change_state),
20117         (gst_pipeline_set_clock):
20118         * gst/gstpipeline.h:
20119         Handle the case where the selected clock cannot be set on
20120         the pipeline.
20121
20122         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20123         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20124         (gst_net_client_clock_set_property),
20125         (gst_net_client_clock_get_property),
20126         (gst_net_client_clock_observe_times):
20127         * gst/net/gstnetclientclock.h:
20128         Use regression code in GstClock parent, remove duplicated
20129         functionality.
20130
20131 2005-11-22  Michael Smith <msmith@fluendo.com>
20132
20133         * gst/gstutils.c: (gst_util_clock_time_scale):
20134         * gst/gstutils.h:
20135         * docs/gst/gstreamer-sections.txt:
20136           Rename method to have extra underscore.
20137
20138 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20139
20140         * gst/elements/Makefile.am:
20141         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20142         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20143         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20144         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20145         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20146         * gst/elements/gstfakesrc.h:
20147         * gst/gstqueue.c: (queue_leaky_get_type):
20148           correctly fix GEnumValues so that nick is the short lowercase
20149           dashed tag
20150         * tools/gst-inspect.c: (print_element_properties_info):
20151           also show the nick, since it's useful to use from parse_launch
20152           syntax
20153           Fixes #322139
20154
20155 2005-11-22  Michael Smith <msmith@fluendo.com>
20156
20157         * gst/gstutils.c: (gst_util_clocktime_scale):
20158         * gst/gstutils.h:
20159         * docs/gst/gstreamer-sections.txt:
20160           Add util method for scaling a clocktime by a fraction. Useful 
20161           implementation is left as an exercise for the reader.
20162
20163 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20164
20165         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20166         If needed, allocate storage in the destination value during
20167         collection.
20168
20169 2005-11-22  Edward Hervey  <edward@fluendo.com>
20170
20171         * docs/gst/gstreamer-sections.txt:
20172         * gst/Makefile.am:
20173         * gst/gst.h:
20174         * gst/gsturitype.c:
20175         * gst/gsturitype.h:
20176         * gst/gstutils.c: (gst_util_set_object_arg):
20177         * tools/gst-compprep.c: (main):
20178         * tools/gst-inspect.c: (print_element_properties_info):
20179         Removed GstURI, closes bug #321061
20180
20181 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20182
20183         * check/gst/gststructure.c: (GST_START_TEST):
20184         * gst/gststructure.c: (gst_structure_parse_value):
20185           Oops, broke automatic string type parsing.
20186           Add a test to catch it in future.
20187
20188 2005-11-22  Andy Wingo  <wingo@pobox.com>
20189
20190         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20191         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20192         Actually rename the function implementations. Grr.
20193
20194 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20195
20196         * check/gst/capslist.h:
20197           Comment test cases
20198         * check/gst/gststructure.c: (GST_START_TEST),
20199         (gst_structure_suite):
20200           Test automatic value type detection in gst_structure_from_string.
20201         * gst/gststructure.c: (gst_structure_parse_value):
20202           Add fraction as a type we try and guess automatically in
20203           caps/structure strings.
20204
20205 2005-11-22  Andy Wingo  <wingo@pobox.com>
20206
20207         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20208
20209         * gst/gsttagsetter.h:
20210         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20211         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20212         (gst_tag_setter_add_tag_valist)
20213         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20214         _add_values, _add_valist, and _add_valist_values. Since this is an
20215         interface the function suffixes should be more explicit so
20216         language binding don't end up with element.add_valist ->
20217         gst_tag_setter_add_valist, for example. Fixes #322069.
20218
20219 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20220
20221         * check/gst/gstcaps.c: (GST_START_TEST):
20222           Extend caps string tests to check that a caps to string
20223           conversion is reversible and produces the same caps.
20224
20225         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20226           Output "fraction" as the generic type fraction range, so caps
20227           serialisation and deserialisation works.
20228         * check/gst/capslist.h:
20229         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20230           Support 'MIN' and 'MAX' for deserialising fractions.
20231
20232 2005-11-22  Andy Wingo  <wingo@pobox.com>
20233
20234         * gst/gstevent.h (gst_event_new_new_segment)
20235         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20236         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20237         Renamed from *_newsegment, *_buffersize, *_notarget.
20238
20239         * scripts/update-funcnames: New script, performs the changes
20240         listed above.
20241
20242 2005-11-22  Wim Taymans  <wim@fluendo.com>
20243
20244         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20245         Make sure the GstFlowReturn is returned.
20246
20247         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20248         (gst_bus_add_signal_watch):
20249         * gst/gstbus.h:
20250         add gst_bus_add_signal_watch_full.
20251
20252         * gst/gstplugin.c: (gst_plugin_load_file):
20253         Small style cleanup.
20254
20255 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20256
20257         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20258           Block the fakesrc srcpad when we send an event, to avoid
20259           contention on the stream_lock causing random test failures.
20260
20261 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20262
20263         * check/gst/gstvalue.c: (GST_START_TEST):
20264         * gst/gstvalue.c: (gst_value_fraction_subtract):
20265           Fix subtraction.
20266
20267 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20268
20269         * gst/gst.h:
20270           include "gstchildproxy.h"
20271         * gst/gstchildproxy.h:
20272         * libs/gst/controller/gstcontroller.h:
20273           use G_GNUC_NULL_TERMINATED
20274
20275 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20276
20277         * check/gst/capslist.h:
20278         * check/gst/gstcaps.c: (GST_START_TEST):
20279         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20280         * gst/gststructure.c: (gst_structure_parse_range),
20281         (gst_structure_fixate_field_nearest_fraction):
20282         * gst/gststructure.h:
20283         * gst/gstvalue.c: (gst_value_init_fraction_range),
20284         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20285         (gst_value_collect_fraction_range),
20286         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20287         (gst_value_set_fraction_range_full),
20288         (gst_value_get_fraction_range_min),
20289         (gst_value_get_fraction_range_max),
20290         (gst_value_serialize_fraction_range),
20291         (gst_value_transform_fraction_range_string),
20292         (gst_value_compare_fraction_range),
20293         (gst_value_deserialize_fraction_range),
20294         (gst_value_intersect_fraction_fraction_range),
20295         (gst_value_intersect_fraction_range_fraction_range),
20296         (gst_value_subtract_fraction_fraction_range),
20297         (gst_value_subtract_fraction_range_fraction),
20298         (gst_value_subtract_fraction_range_fraction_range),
20299         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20300         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20301         (gst_value_transform_string_fraction), (_gst_value_initialize):
20302         * gst/gstvalue.h:
20303           Implement fraction ranges and extend GstFraction to support
20304           arithmetic subtraction, as well as deserialization from integer
20305           strings such as "100"
20306           Add a testsuite as for int and double range set operations
20307
20308 2005-11-21  Andy Wingo  <wingo@pobox.com>
20309
20310         * gst/gsttaglist.h: 
20311         * gst/gstcaps.h: 
20312         * gst/gststructure.h: Add glib-compat.h.
20313
20314 2005-11-21  Wim Taymans  <wim@fluendo.com>
20315
20316         * gst/gstbin.c: (gst_bin_change_state_func):
20317         Fix for #321595
20318
20319 2005-11-21  Wim Taymans  <wim@fluendo.com>
20320
20321         * gst/gstsegment.h:
20322         And add a nice define too.
20323
20324 2005-11-21  Wim Taymans  <wim@fluendo.com>
20325
20326         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20327         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20328         (gst_segment_set_duration), (gst_segment_set_last_stop),
20329         (gst_segment_set_seek), (gst_segment_set_newsegment),
20330         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20331         (gst_segment_clip):
20332         * gst/gstsegment.h:
20333         Make binding friendly.
20334
20335 2005-11-21  Andy Wingo  <wingo@pobox.com>
20336
20337         * gst/gsttagsetter.h: 
20338         * gst/gsttaglist.h: 
20339         * gst/gststructure.h: 
20340         * gst/gstcaps.h: 
20341         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20342         #319940.
20343
20344         * gst/gsterror.c (_gst_core_errors_init):
20345         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20346         category.
20347
20348         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20349         (noinst_HEADERS): noinst the -private.
20350
20351 2005-11-21  Michael Smith <msmith@fluendo.com>
20352
20353         * gst/gstplugin.h:
20354         * gst/gstregistry.h:
20355           Remove unimplemented declarations for which we can see no sensible
20356           use.
20357
20358 2005-11-21  Andy Wingo  <wingo@pobox.com>
20359
20360         * gst/gst.h: Include glib-compat.h.
20361
20362         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20363
20364         * gst/glib-compat.c: Include the public and the private header.
20365
20366         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20367
20368         * gst/gstvalue.c: 
20369         * gst/gstpad.c: 
20370         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20371
20372         * check/gst/gstevent.c (create_custom_events): Check that
20373         FLUSH_STOP is serialized.
20374
20375         * check/elements/identity.c (event_func): 
20376         * check/elements/fakesrc.c (event_func): No stream lock, the core
20377         takes it.
20378
20379         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20380         stream lock taking, yay.
20381
20382         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20383         ensure that core takes the stream lock.
20384
20385         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20386         lock name change.
20387
20388         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20389         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20390         it already. For the flush start we do take it though so we get the
20391         right preroll state change messages.
20392
20393         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20394         the stream lock here, the core does it for us.
20395
20396         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20397         GST_STREAM_GET_LOCK.
20398         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20399         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20400         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20401         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20402         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20403         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20404
20405         * gst/gstpad.c: Update for stream lock name change.
20406
20407         * gst/base/gstbasesink.c: Update for preroll lock name change.
20408
20409 2005-11-21  Wim Taymans  <wim@fluendo.com>
20410
20411         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20412         (gst_clock_get_master):
20413         * gst/gstclock.h:
20414         * gst/gstsystemclock.c: (gst_system_clock_init):
20415         Convert Clock flags to object flags.
20416         Added methods to manage master/slave clocks.
20417
20418 2005-11-21  Wim Taymans  <wim@fluendo.com>
20419
20420         * check/gst/gstsegment.c: (GST_START_TEST):
20421         * docs/design/part-TODO.txt:
20422         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20423         (gst_base_sink_event), (gst_base_sink_do_sync),
20424         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20425         (gst_base_sink_query), (gst_base_sink_change_state):
20426         * gst/base/gstbasesink.h:
20427         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20428         (gst_base_src_default_newsegment),
20429         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20430         (gst_base_src_get_range), (gst_base_src_loop),
20431         (gst_base_src_change_state):
20432         * gst/base/gstbasesrc.h:
20433         * gst/base/gstbasetransform.c:
20434         (gst_base_transform_prepare_output_buf),
20435         (gst_base_transform_event), (gst_base_transform_change_state):
20436         * gst/base/gstbasetransform.h:
20437         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20438         (gst_collect_pads_event):
20439         * gst/base/gstcollectpads.h:
20440         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20441         (gst_fake_src_create):
20442         * gst/elements/gstfakesrc.h:
20443         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20444         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20445         (gst_segment_set_last_stop), (gst_segment_set_seek),
20446         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20447         (gst_segment_to_running_time), (gst_segment_clip):
20448         * gst/gstsegment.h:
20449         More segment updates, replace code in plugins with segment
20450         helper functions.
20451
20452 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20453
20454         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20455         Don't ignore sscanf results
20456
20457 2005-11-21  Andy Wingo  <wingo@pobox.com>
20458
20459         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20460
20461         * *.h:
20462         * *.c: Ran scripts/update-macros. Oh yes.
20463
20464         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20465         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20466         GST_GET_LOCK, etc.
20467
20468         * scripts/update-macros: New script. Run it on your files to
20469         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20470         well.
20471
20472 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20473
20474         * docs/gst/Makefile.am:
20475         * docs/gst/gstreamer-docs.sgml:
20476         * docs/gst/gstreamer-sections.txt:
20477         * docs/gst/gstreamer.types:
20478         * gst/gstinfo.h:
20479           more docs fixes, add new api to the docs
20480
20481 2005-11-21  Andy Wingo  <wingo@pobox.com>
20482
20483         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20484         state_broadcast call.
20485
20486         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20487
20488 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20489
20490         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20491         function calls for arrays.
20492
20493 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20494
20495         * docs/random/ensonic/media-device-daemon.txt:
20496           wild idea, can this be done?
20497         * docs/gst/gstreamer-sections.txt:
20498         * gst/gsterror.h:
20499         * gst/gstfilter.c:
20500         * gst/gstfilter.h:
20501         * gst/gstplugin.h:
20502         * gst/gstpluginfeature.c:
20503         * gst/gsttrace.c:
20504         * gst/gstvalue.c:
20505         * gst/gstvalue.h:
20506           doc fixes and additions
20507
20508 2005-11-21  Andy Wingo  <wingo@pobox.com>
20509
20510         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20511         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20512         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20513         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20514         private to the basesrc implementation.
20515
20516         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20517         behalf of event function if necessary. It should no longer be
20518         necessary to take the stream lock in pad's event functions. Fixes
20519         #320299.
20520
20521 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20522         * docs/gst/gstreamer-sections.txt:
20523         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20524         (gst_structure_fixate_field_nearest_double),
20525         (gst_structure_fixate_field_boolean):
20526         * gst/gststructure.h:
20527         * win32/common/libgstreamer.def:
20528         * win32/gstreamer.def:
20529
20530         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20531         (#322027)
20532
20533 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20534
20535         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20536         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20537         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20538         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20539         (gst_fdsrc_uri_handler_init):
20540         * gst/elements/gstfdsrc.h:
20541           Port fd:// URI handler from 0.8 to fdsrc
20542
20543 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20544
20545         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20546         (gst_value_serialize_fourcc):
20547         * gst/gstvalue.h:
20548           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20549           consistent with our other format defines (#320324).
20550
20551 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20552
20553         * gst/gstvalue.c: (gst_value_is_fixed):
20554           Revert previous commit. Value lists are by definition
20555           not fixed, as they are a list of possible values.
20556
20557 2005-11-21  Andy Wingo  <wingo@pobox.com>
20558
20559         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20560         during the stable series if we need it. Fixes #319178.
20561
20562         * gst/gstevent.c (gst_event_new_filler): Removed.
20563
20564         * check/gst/gstevent.c: Update comment about filler events.
20565
20566 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20567
20568         * gst/gstvalue.c: (gst_value_is_fixed):
20569           Should handle both value arrays and value lists.
20570
20571 2005-11-21  Andy Wingo  <wingo@pobox.com>
20572
20573         patch by: Alessandro Dessina <alessandro nnva org>
20574
20575         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20576         functions to access arrays. Fixes #321962.
20577
20578 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20579
20580         * docs/gst/gstreamer.types:
20581           gst_collectpads_get_type => gst_collect_pads_get_type.
20582           
20583         * gst/base/gstbasetransform.c:
20584           Remove unused SIGNAL_HANDOFF enum.
20585
20586 2005-11-21  Andy Wingo  <wingo@pobox.com>
20587
20588         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20589         the event type (upstream, downstream, serialized). Renamed
20590         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20591         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20592         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20593
20594         * gst/gstevent.c: Update for new CUSTOM event names.
20595
20596         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20597
20598         * gst/gstevent.h:
20599         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20600         bug #319392.
20601
20602 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20603
20604         * docs/gst/gstreamer-sections.txt:
20605         * win32/common/libgstbase.def:
20606         * win32/libgstbase.def:
20607         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20608         (gst_collect_pads_class_init), (gst_collect_pads_init),
20609         (gst_collect_pads_finalize), (gst_collect_pads_new),
20610         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20611         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20612         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20613         (gst_collect_pads_start), (gst_collect_pads_stop),
20614         (gst_collect_pads_peek), (gst_collect_pads_pop),
20615         (gst_collect_pads_available), (gst_collect_pads_read),
20616         (gst_collect_pads_flush), (gst_collect_pads_event),
20617         (gst_collect_pads_chain):
20618         * gst/base/gstcollectpads.h:
20619           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20620           unimplemented functions as unimplemented. Add padding to
20621           GstCollectData. (#320766, #320423)
20622
20623 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20624
20625         * gst/gstmessage.c:
20626           Improve docs for DURATION message (usage of duration parameter)
20627           (#320113)
20628
20629 2005-11-20  Wim Taymans  <wim@fluendo.com>
20630
20631         * check/Makefile.am:
20632         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20633         (main):
20634         * gst/Makefile.am:
20635         * gst/gst.h:
20636         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20637         (gst_segment_set_seek), (gst_segment_set_newsegment),
20638         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20639         (gst_segment_clip):
20640         * gst/gstsegment.h:
20641         Added segment helper structure and methods. Not fully implemented
20642         yet.
20643         Added segment check.
20644
20645 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20646
20647         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20648           Add a deserialisation test for fractions
20649         * examples/metadata/read-metadata.c: (message_loop),
20650         (make_pipeline), (main):
20651           Fix up metadata reading sample.
20652         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20653           Debug format fix
20654         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20655           Don't try and fixate empty caps
20656         * gst/gst_private.h:
20657           Wrap in G_BEGIN_DECLS/G_END_DECLS
20658         * gst/gstvalue.c: (gst_value_collect_fraction),
20659         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20660         (gst_value_transform_string_fraction),
20661         (gst_value_compare_fraction):
20662           Add some extra guards to ensure that we don't end up 
20663           with an invalid denominator of 0 in a gstfraction and
20664           that fractions always get reduced.
20665
20666 2005-11-20  Wim Taymans  <wim@fluendo.com>
20667
20668         * docs/gst/gstreamer-sections.txt:
20669         * gst/gstbuffer.h:
20670         * gst/gstelement.c:
20671         * gst/gstformat.c:
20672         * gst/gstformat.h:
20673         * gst/gstindex.h:
20674         * gst/gstquery.c:
20675         * gst/gstquery.h:
20676         * gst/gstvalue.c:
20677         Doc fixes.
20678
20679 2005-11-20  Wim Taymans  <wim@fluendo.com>
20680
20681         * docs/design/part-TODO.txt:
20682         * gst/gstcaps.h:
20683         Make a proper enum of the flag.
20684
20685 2005-11-19  Wim Taymans  <wim@fluendo.com>
20686
20687         * docs/design/part-TODO.txt:
20688         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20689         (gst_format_to_quark), (gst_format_register):
20690         * gst/gstformat.h:
20691         * gst/gstquery.c: (_gst_query_initialize),
20692         (gst_query_type_get_name), (gst_query_type_to_quark),
20693         (gst_query_type_register):
20694         * gst/gstquery.h:
20695         Add type to quark and type to string conversions.
20696
20697 2005-11-19  Andy Wingo  <wingo@pobox.com>
20698
20699         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20700         #320097.
20701
20702 2005-11-19  Wim Taymans  <wim@fluendo.com>
20703
20704         * docs/design/part-TODO.txt:
20705         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20706         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20707         (gst_bin_handle_message_func):
20708         * gst/gstbin.h:
20709         Make message handling overridable.
20710
20711 2005-11-19  Andy Wingo  <wingo@pobox.com>
20712
20713         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20714
20715         * gst/gstclock.h:
20716         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20717         be a GstClockTime.
20718         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20719         is a GstClockTime. Fixes #321710.
20720
20721         * gst/gstclock.h (GstClock): Remove offset property. Add
20722         internal_calibration and external_calibration. Fix padding. Pad
20723         also by GstClockTime so we don't run into problems.
20724
20725         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20726         (gst_clock_get_rate_offset): Remove.
20727         (gst_clock_set_time_adjust): Remove. Fixes #321712.
20728
20729         * gst/gstutils.h:
20730         * gst/gstutils.c (g_static_rec_cond_wait)
20731         (g_static_rec_cond_timed_wait): Removed, no longer needed.
20732
20733         * gst/gstbin.c: Remove terrible continue_state prototype.
20734
20735         * gst/gstelement.h (gst_element_continue_state): Make public.
20736
20737         * gst/gstelement.h:
20738         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20739         by continue_state. Fixes #319389.
20740
20741         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20742         Really fixes #168438. However I don't see anywhere where the
20743         filter function is called... stupid GStreamer...
20744         
20745         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20746         don't have a dispose function, so it won't get called when the
20747         object is unreffed, but oh well!
20748
20749         * gst/gstindex.c (gst_index_set_filter_full): New API function,
20750         allows a destroy function to be set so user_data can be freed.
20751         Fixes #168438.
20752         (gst_index_set_filter): Call gst_index_set_filter_full.
20753
20754         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20755
20756         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20757         string should produce an error, given the lack of a way to
20758         represent NULL strings. Fixes #165650.
20759         
20760         * gst/gstvalue.h: 
20761         * gst/gstvalue.c (gst_value_array_append_value) 
20762         (gst_value_array_prepend_value, gst_value_array_get_size) 
20763         (gst_value_array_get_value): New API, copied from
20764         gst_value_list_*, only operates on arrays.
20765         (gst_value_list_append_value, gst_value_list_prepend_value) 
20766         (gst_value_list_concat, gst_value_list_get_size) 
20767         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20768
20769         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20770         init_list, because it works on both.
20771         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20772         (gst_value_copy_list_or_array): Renamed from copy_list.
20773         (gst_value_free_list_or_array): Renamed from free_list.
20774         (gst_value_collect_list_or_array): Renamed from collect_list.
20775         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20776         (gst_value_list_or_array_peek_pointer): Renamed from
20777         list_peek_pointer.
20778         (_gst_value_array_value_table, _gst_value_list_value_table):
20779         Update value table functions.
20780         (gst_value_compare_list_or_array): Renamed from compare_list.
20781
20782         * gsttaglist.h: Whoops, foreach function returns void. Also fix
20783         some constness.
20784
20785         * gst/gsttaglist.c:
20786         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20787         GstTagList*. Fixes #143472.
20788
20789         * gst/gststructure.h: Clarify what the foreach/map functions can
20790         or can't do to their arguments.
20791
20792 2005-11-18  Wim Taymans  <wim@fluendo.com>
20793
20794         * gst/gstclock.c: (gst_clock_set_calibration),
20795         (gst_clock_get_calibration):
20796         Doc and API fixes.
20797         Calibration can be set with internal time equal to current
20798         internal time too.
20799
20800 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20801
20802         * gst/gsterror.c:
20803         * gst/gsterror.h:
20804           document
20805
20806 2005-11-18  Andy Wingo  <wingo@pobox.com>
20807
20808         * configure.ac: 
20809         * pkgconfig/gstreamer-net.pc.in:
20810         * pkgconfig/gstreamer-net-uninstalled.pc.in:
20811         * pkgconfig/Makefile.am: Add net pkgconfig files.
20812
20813 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
20814
20815         * gst/gstcaps.c:
20816         * gst/gstghostpad.c:
20817         * gst/gsttrace.c:
20818         * gst/gstvalue.c:
20819         * gst/gstvalue.h:
20820           docs fixes
20821
20822 2005-11-18  Andy Wingo  <wingo@pobox.com>
20823
20824         * gst/net/gstnetclientclock.c: Turn off debugging.
20825
20826         * check/net/gstnetclientclock.c (test_functioning): Assert that the
20827         times connverge somewhat. Can't make a real test.
20828
20829         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20830         integer arithmetic. Return the minimum of the domain, which can be
20831         set as "internal" for gst_clock_set_calibration.
20832         (gst_net_client_clock_observe_times): Call _set_calibration.
20833         (gst_net_client_clock_new): Call _set_calibration instead of
20834         rate_offset.
20835
20836         * check/net/gstnetclientclock.c (test_functioning): Use the right
20837         adjustment api.
20838
20839         * gst/gstclock.h:
20840         * gst/gstclock.c (gst_clock_get_calibration) 
20841         (gst_clock_set_calibration): New functions, obsolete the ones I
20842         added yesterday. Doh. Precision issues mean we have to extrapolate
20843         from a point in the more recent past than 1970.
20844         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
20845         obsolete.
20846         (gst_clock_adjust_unlocked): Use the right calibration data.
20847
20848 2005-11-18  Edward Hervey  <edward@fluendo.com>
20849
20850         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
20851         Also reset the ->current_* values in READY->PAUSED
20852
20853 2005-11-18  Andy Wingo  <wingo@pobox.com>
20854
20855         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
20856         Whoops, check the right fd. Also add some debugging.
20857         (gst_net_client_clock_observe_times): Adjust for int64 offset.
20858         (do_linear_regression): Add a crapload of debugging. Subtract off
20859         the minimum values from the input series to discard unneeded bits.
20860         Use only int arithmetic. There is still double arithmetic when
20861         calculating the intercept that needs fixing. Return boolean to
20862         indicate success; FALSE would mean the domain or range is too
20863         great. Still needs fixes.
20864
20865 2005-11-18  Wim Taymans  <wim@fluendo.com>
20866
20867         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20868         For the current position in stream time, we need to subtract
20869         accumulated time.
20870         
20871         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20872         Release lock before calling the callback function of async
20873         entries.
20874
20875 2005-11-18  Andy Wingo  <wingo@pobox.com>
20876
20877         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
20878         Port goes all the way to MAXUINT16.
20879
20880         * gst/net/gstnettimeprovider.c: Make the port range the same as
20881         for the kernel: 0 assigns, otherwise ports are less than
20882         MAXUINT16.
20883
20884         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
20885         port change.
20886
20887         * check/net/gstnetclientclock.c (test_functioning): Add the start
20888         of another test. 
20889
20890 2005-11-18  Wim Taymans  <wim@fluendo.com>
20891
20892         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20893         (gst_bin_remove_func), (bin_bus_handler):
20894         * gst/gstbin.h:
20895         Removing a clock provider from a bin, triggers a clock lost message
20896         so that a new clock will be selected.
20897         Adding a clock to a bin triggers a clock provider message.
20898         Make sure we reselect a clock when we received a clock lost message.
20899         Keep a reference to the element that provided the clock.
20900
20901 2005-11-18  Andy Wingo  <wingo@pobox.com>
20902
20903         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
20904         the clock initially so it produces values around the base time.
20905         (gst_net_client_clock_class_init): Typo fix.
20906         (gst_net_client_clock_thread): Add note on when the socket gets
20907         closed.
20908
20909 2005-11-17  Wim Taymans  <wim@fluendo.com>
20910
20911         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
20912         Free remote and local time arrays.
20913
20914 2005-11-17  Wim Taymans  <wim@fluendo.com>
20915
20916         * gst/net/gstnetclientclock.c: (do_linear_regression),
20917         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
20918         Fix compilation, uninitialized vars and a forgotten continue.
20919
20920 2005-11-17  Andy Wingo  <wingo@pobox.com>
20921
20922         * check/Makefile.am (check_PROGRAMS): 
20923         * check/net/gstnetclientclock.c: Add a most minimal test for the
20924         net client clock. More to come later.
20925
20926         * gst/net/gstnet.h: 
20927         * gst/net/Makefile.am: Add netclientclock.
20928
20929         * gst/net/gstnetclientclock.h:
20930         * gst/net/gstnetclientclock.c: New files, implement an untested
20931         GstClock that takes its time from a network time provider.
20932         Implements the algorithm in network-clock.scm.
20933
20934         * tests/network-clock.scm (*window-size*): Rename from
20935         *queue-length*.
20936         * tests/network-clock.scm (network-time): 
20937         * tests/network-clock-utils.scm (q-push): Update callers.
20938
20939 2005-11-17  Wim Taymans  <wim@fluendo.com>
20940
20941         * gst/gstbin.c: (gst_bin_provide_clock_func),
20942         (gst_bin_sort_iterator_new):
20943         And unref the child too..
20944
20945 2005-11-17  Wim Taymans  <wim@fluendo.com>
20946
20947         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
20948         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
20949         Refactor the sort iterator so it can be used while holding the
20950         LOCK too.
20951         Make clock selection select a clock closest to the source.
20952
20953 2005-11-17  Michael Smith <msmith@fluendo.com>
20954
20955         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
20956         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
20957         * gst/gstclock.h:
20958           Anonymous structs are a gcc (and some other compilers) extension, so
20959           don't use them. Since this is only for ABI-compatibility, and our
20960           API/ABI freeze is over in a few days, this whole thing will only
20961           last a few days, so don't bother trying to think up a meaningful
20962           name for the struct.
20963
20964 2005-11-17  Andy Wingo  <wingo@pobox.com>
20965
20966         * gst/gstclock.h (GstClock): Add rate and offset properties,
20967         preserving ABI stability. Add rate/offset accessors. Will file bug
20968         for the freeze break.
20969
20970         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
20971         and offset, trying to keep precision and avoiding
20972         underflow/overflow.
20973         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
20974         functions. Make gst_clock_set_time_adjust obsolete.
20975         (gst_clock_set_time_adjust): Note that this function is obsolete.
20976         Will file bug soon.
20977
20978         * gst/base/gstbasetransform.h: Make the ABI-stability hack
20979         greppable by using GST_PADDING-1+1.
20980
20981 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
20982
20983         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20984
20985         * gst/gstmessage.c: (gst_message_parse_clock_lost):
20986           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
20987
20988         * gst/gstpadtemplate.h:
20989         * gst/gstpluginfeature.h:
20990           Don't use c++ style comments in headers (#321638).
20991
20992 2005-11-16  Andy Wingo  <wingo@pobox.com>
20993
20994         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
20995         buffer.
20996
20997         * check/net/gstnettimeprovider.c: Check to see that the time
20998         provider actually provides times. Works, yo!
20999
21000 2005-11-16  Wim Taymans  <wim@fluendo.com>
21001
21002         * check/Makefile.am:
21003         Enable more tests.
21004
21005         * check/elements/fakesrc.c: (GST_START_TEST):
21006         Set element to NULL before disposing it.
21007
21008 2005-11-16  Andy Wingo  <wingo@pobox.com>
21009
21010         * gst/net/Makefile.am:
21011         * gst/net/gstnet.h:
21012         * gst/net/gstnettimeprovider.c: 
21013         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21014         provider, include it from gstnet.h, and add it to the build.
21015
21016         * gst/net/gstnettimepacket.h: 
21017         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21018         sending and receiving.
21019
21020 2005-11-16  Wim Taymans  <wim@fluendo.com>
21021
21022         * check/Makefile.am:
21023         Enable valgrind check.
21024
21025         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21026         (gst_fake_src_alloc_buffer):
21027         Fix memleak.
21028
21029 2005-11-16  Wim Taymans  <wim@fluendo.com>
21030
21031         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21032         Call parent finalize too.
21033
21034 2005-11-16  Wim Taymans  <wim@fluendo.com>
21035
21036         * check/Makefile.am:
21037         Enable valgrind check that should work fine now.
21038
21039         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21040         * gst/gstqueue.c: (gst_queue_init):
21041         Fix memleaks in pad allocation.
21042
21043 2005-11-16  Andy Wingo  <wingo@pobox.com>
21044
21045         * gst/net/Makefile.am:
21046         * gst/net/gstnet.h: New part of core to hold network elements and
21047         objects. Put in core because it exposes API that applications want
21048         to use. The library is named libgstnet-tempname right now because
21049         of the existing libgstnet in gst-plugins-base. Solution is
21050         probably to rename the one in plugins-base; will file a bug for
21051         the freeze break.
21052
21053         * gst/net/gstnettimeprovider.c: 
21054         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21055         get_time call over the network.
21056
21057         * configure.ac: 
21058         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21059
21060         * check/Makefile.am:
21061         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21062         get additions shortly.
21063
21064 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21065
21066         * gst/gstpad.c: (gst_pad_new_from_static_template):
21067         * gst/gstpad.h:
21068           add gst_pad_new_from_static_template functions
21069         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21070         (gst_check_setup_sink_pad):
21071         * gst/elements/gsttee.c: (gst_tee_init):
21072           and use them
21073
21074 2005-11-16  Wim Taymans  <wim@fluendo.com>
21075
21076         * gst/gstpad.c: (gst_pad_pause_task):
21077         Removed warning, it's not really an error either.
21078
21079 2005-11-16  Wim Taymans  <wim@fluendo.com>
21080
21081         * gst/base/gstbasetransform.c:
21082         (gst_base_transform_prepare_output_buf),
21083         (gst_base_transform_event):
21084         Check if the caps are NULL, this can happen if the element
21085         is shutting down and the pad caps are set to NULL.
21086
21087 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21088
21089         * gst/elements/gsttee.c: (gst_tee_init):
21090           fix pad template leak in tee
21091
21092 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21093
21094         * gst/glib-compat.c: (g_value_dup_gst_object):
21095         * gst/glib-compat.h:
21096         * gst/gstpad.c: (gst_pad_set_property):
21097           use gst_object_ref when setting the pad template; this will
21098           trigger the pad template leaks on GLib 2.6 and the slaves
21099
21100 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21101
21102         * gst/glib-compat.c: (gst_flags_get_first_value):
21103         * gst/glib-compat.h:
21104         * gst/gstregistryxml.c:
21105           remove functions copied from GLib 2.6
21106
21107 2005-11-16  Michael Smith <msmith@fluendo.com>
21108
21109         * gst/Makefile.am:
21110           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21111           do, but only breaks with newer valgrind versions. We're not a
21112           valgrind tool, we have no link-time dependencies on libcoregrind.
21113
21114 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21115
21116         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21117           some debug changes
21118         * gst/gstmessage.h:
21119           typo fixes
21120
21121 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21122
21123         * gst/base/gstbasesrc.c: (gst_base_src_init):
21124         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21125         * gst/gstqueue.c: (gst_queue_init):
21126         * gst/gstregistryxml.c: (load_feature):
21127           Revert all these unrefs, they don't even pass make check !
21128
21129 2005-11-15  Johan Dahlin  <johan@gnome.org>
21130
21131         * gst/base/gstbasesrc.c: (gst_base_src_init):
21132         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21133         * gst/gstqueue.c: (gst_queue_init): 
21134         Free pad templates, fixes a couple of leaks.
21135
21136 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21137
21138         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21139
21140         * gst/gstpad.c: (gst_pad_get_property):
21141           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21142           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21143           (#321452)
21144
21145 2005-11-15  Wim Taymans  <wim@fluendo.com>
21146
21147         * gst/gstevent.c:
21148         Small doc update.
21149
21150 2005-11-15  Andy Wingo  <wingo@pobox.com>
21151
21152         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21153
21154         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21155         using GST_CLOCK_TIME_NONE to disable base time management.
21156         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21157         time if it was NONE before.
21158         (gst_pipeline_change_state): Only munge the base time if
21159         stream_time != GST_CLOCK_TIME_NONE.
21160
21161         * check/gst/gstpipeline.c (test_base_time): Punt around the
21162         problem of the probe not being called, because that's not the
21163         issue I'm looking at. Add a check that setting stream_time to NONE
21164         disables base time management.
21165         
21166 2005-11-15  Wim Taymans  <wim@fluendo.com>
21167
21168         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21169         segment_stop == -1 at startup.
21170
21171         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21172         (gst_base_transform_change_state):
21173         Init segment values at start.
21174
21175 2005-11-15  Wim Taymans  <wim@fluendo.com>
21176
21177         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21178         0 segment values are 0 in any format.
21179
21180         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21181         * gst/base/gstbasetransform.h:
21182         Parse newsegment correctly in basetransform
21183
21184         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21185         Sync to clock using updated segment values.
21186
21187 2005-11-15  Andy Wingo  <wingo@pobox.com>
21188
21189         * check/gst/gstpipeline.c (test_base_time): Add check that the
21190         base time and stream time are reset correctly.
21191
21192 2005-11-15  Wim Taymans  <wim@fluendo.com>
21193
21194         * docs/design/part-TODO.txt:
21195         Some more TODO items.
21196
21197 2005-11-15  Andy Wingo  <wingo@pobox.com>
21198
21199         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21200         error if the user selected "no clock" as the clocking method.
21201
21202         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21203         timestamps with live capture.
21204
21205         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21206         is 0 but we are a live source, timestamp the buffers using the
21207         element's clock.
21208
21209 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21210
21211         * docs/gst/gstreamer-sections.txt:
21212         * gst/gsterror.c:
21213         * gst/gstghostpad.c:
21214         * gst/gstobject.h:
21215         * gst/gstxml.c:
21216           more section docs
21217
21218 2005-11-14  Wim Taymans  <wim@fluendo.com>
21219
21220         * common/gst.supp:
21221           add suppressions from Wim's Debian machine
21222
21223 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21224
21225         * common/gst.supp:
21226           add suppressions from Andy's AMD64 Ubuntu machine
21227
21228 2005-11-14  Andy Wingo  <wingo@pobox.com>
21229
21230         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21231         STATE_LOCK not necessary. Fixes #311489.
21232
21233         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21234         #305291.
21235
21236         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21237         this function is not implemented.
21238
21239 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21240
21241         * gst/base/gstbasetransform.c:
21242         (gst_base_transform_prepare_output_buf):
21243         Ref the source pad caps while we need them.
21244         Fixes (#321386)
21245
21246 2005-11-11  Wim Taymans  <wim@fluendo.com>
21247
21248         * docs/gst/gstreamer-sections.txt:
21249         Added some docs for GstCollectData.
21250
21251         * gst/base/gstadapter.c:
21252         Some small code example fix.
21253
21254         * gst/base/gstcollectpads.c:
21255         * gst/base/gstcollectpads.h:
21256         Document some more.
21257
21258 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21259
21260         * configure.ac: back to HEAD
21261
21262 === release 0.9.5 ===
21263
21264 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21265
21266         * configure.ac:
21267           releasing 0.9.5, "Bike Lunch Day"
21268
21269 2005-11-11  Wim Taymans  <wim@fluendo.com>
21270
21271         * gst/gstbuffer.c: (_gst_buffer_copy):
21272         Copy more flags.
21273
21274         * gst/gstcaps.c: (gst_caps_is_equal):
21275         Fix some docs.
21276         Make _is_equal fast in the trivial cases.
21277
21278         * gst/gstminiobject.c:
21279         * gst/gstminiobject.h:
21280         More docs. Spifify .h file.
21281
21282         * gst/gstutils.c:
21283         Small doc update.
21284
21285 2005-11-11  Wim Taymans  <wim@fluendo.com>
21286
21287         * gst/base/gstbasetransform.c:
21288         (gst_base_transform_prepare_output_buf),
21289         (gst_base_transform_handle_buffer):
21290         Small cleanups.
21291         If we're processing a buffer and need to allocate an output
21292         buffer, we cannot accept a format change. If we did get a 
21293         format change, we have to alloc a buffer ourselves of the 
21294         right size.
21295
21296 2005-11-11  Wim Taymans  <wim@fluendo.com>
21297
21298         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21299         While checking the flag for reentrancy in the gstcaps function
21300         is nice to detect recursive invocations, it also makes it 
21301         impossible to call getcaps from multiple threads, which must be
21302         possible. So, checking for recursive calls has to go.
21303
21304 2005-11-11  Michael Smith <msmith@fluendo.com>
21305
21306         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21307           Don't sync on buffers that fall partially outside our current
21308           segment. Prevents an assertion failure/abort playing some files.
21309
21310 2005-11-10  Andy Wingo  <wingo@pobox.com>
21311
21312         * check/gst/gstbin.c (test_message_state_changed_children): Style
21313         fix..
21314
21315         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21316         gst_bus_poll with the signal watch. Ensures that poll and a signal
21317         watch see the same messages.
21318
21319         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21320         a poll and a watch at the same time get the same messages.
21321
21322 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21323
21324         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21325         * gst/gstcaps.c: (gst_caps_intersect):
21326           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21327           and it's not needed.
21328
21329 2005-11-10  Wim Taymans  <wim@fluendo.com>
21330
21331         * docs/design/part-TODO.txt:
21332         Updated todo.
21333
21334 2005-11-10  Wim Taymans  <wim@fluendo.com>
21335
21336         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21337         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21338         (gst_base_src_do_sync), (gst_base_src_get_range):
21339         Implement clock sync in base class.
21340
21341 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21342
21343         patch by: Tim-Philipp Müller <tim at centricular dot net>
21344
21345         * gst/gststructure.c: (gst_structure_parse_field),
21346         (gst_structure_from_string):
21347           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21348           so that gst_parse_launch() can deal with spaces in filtered link
21349           caps (fixes #164479)
21350         * check/gst/capslist.h:
21351         * check/gst/gststructure.c: (GST_START_TEST):
21352           add unit tests for this change
21353
21354 2005-11-10  Wim Taymans  <wim@fluendo.com>
21355
21356         * docs/gst/gstreamer-sections.txt:
21357         * gst/gstelement.c:
21358         * gst/gstelement.h:
21359         Fix docs, move some STATE macros to private.
21360
21361 2005-11-10  Wim Taymans  <wim@fluendo.com>
21362
21363         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21364         Added check for bug #317341
21365
21366         * gst/gstbuffer.c:
21367         * gst/gstbuffer.h:
21368         Some more spiffifying.
21369
21370         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21371         Call peer linkfunction if we are a source pad. Totally fixes
21372         #317341
21373
21374         * gst/gstpad.c:
21375         Update docs, source pads should call the peer linkfunction
21376         so they can atomically perform the pad link.
21377
21378 2005-11-09  Wim Taymans  <wim@fluendo.com>
21379
21380         * gst/gstbuffer.c:
21381         * gst/gstbuffer.h:
21382         Uber-spiffy-spiffify some more.
21383
21384 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21385
21386         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21387         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21388         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21389         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21390         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21391         * gst/gstpad.c: (gst_pad_init):
21392           Use GST_DEBUG_FUNCPTR() more extensively.
21393
21394 2005-11-09  Wim Taymans  <wim@fluendo.com>
21395
21396         * gst/gstobject.c: (gst_object_class_init):
21397         * gst/gstobject.h:
21398         Documentation fixes.
21399
21400 2005-11-09  Edward Hervey  <edward@fluendo.com>
21401
21402         * gst/gsttypefindfactory.c:
21403         Fix docs.
21404         
21405 2005-11-09  Edward Hervey  <edward@fluendo.com>
21406
21407         * gst/base/gsttypefindhelper.c:
21408         * gst/gsttypefind.c:
21409         * gst/gsttypefind.h:
21410         Fix docs.
21411
21412 2005-11-09  Wim Taymans  <wim@fluendo.com>
21413
21414         * gst/gstiterator.c:
21415         Fix revision data.
21416
21417         * gst/gsttask.c:
21418         * gst/gsttask.h:
21419         Fix docs.
21420
21421 2005-11-09  Wim Taymans  <wim@fluendo.com>
21422
21423         * gst/gstevent.h:
21424         * gst/gsturi.h:
21425         Fix docs.
21426
21427 2005-11-09  Wim Taymans  <wim@fluendo.com>
21428
21429         * docs/gst/gstreamer-sections.txt:
21430         Moved the message async delivery private lock and cond
21431         to the private section.
21432
21433         * gst/gstmessage.c:
21434         * gst/gstmessage.h:
21435         Fixed docs.
21436
21437 2005-11-09  Edward Hervey  <edward@fluendo.com>
21438
21439         * docs/gst/gstreamer-sections.txt:
21440         * gst/gsturi.c:
21441         * gst/gsturi.h:
21442         Document GstURIHandler
21443
21444 2005-11-09  Wim Taymans  <wim@fluendo.com>
21445
21446         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21447         (gst_iterator_find_custom):
21448         * gst/gstiterator.h:
21449         Fix iterator docs.
21450
21451 2005-11-09  Wim Taymans  <wim@fluendo.com>
21452
21453         * gst/gstbin.h:
21454         Document another field.
21455
21456         * gst/gststructure.c:
21457         * gst/gststructure.h:
21458         Document.
21459
21460 2005-11-09  Wim Taymans  <wim@fluendo.com>
21461
21462         * gst/gstbin.h:
21463         Documented structs.
21464
21465 2005-11-09  Wim Taymans  <wim@fluendo.com>
21466
21467         * docs/gst/gstreamer-sections.txt:
21468         Added some new macros.
21469
21470         * gst/gstclock.c:
21471         * gst/gstclock.h:
21472         * gst/gstobject.h:
21473         Docs updates.
21474
21475 2005-11-09  Wim Taymans  <wim@fluendo.com>
21476
21477         * docs/design/part-TODO.txt:
21478         Some more items for the TODO
21479
21480         * gst/gstcaps.c:
21481         * gst/gstcaps.h:
21482         Document GstCaps.
21483
21484 2005-11-09  Andy Wingo  <wingo@pobox.com>
21485
21486         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21487         to work on something else now tho...
21488
21489         * gst/base/gstadapter.c: More adapter docs.
21490
21491         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21492         (gst_file_sink_stop): New functions, replace the state change
21493         handler.
21494         (gst_file_sink_class_init): Hook up the start and stop functions.
21495         (gst_file_sink_base_init): Don't set the state change handler any
21496         more. It was a bit ugly too, being set from here...
21497         (gst_file_sink_get_property, gst_file_sink_set_property):
21498         Cleanups...
21499         (gst_file_sink_set_location): More robust check that doesn't call
21500         GST_STATE. Ugggggg.
21501
21502 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21503
21504         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21505           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21506
21507 2005-11-08  Wim Taymans  <wim@fluendo.com>
21508
21509         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21510         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21511         (gst_base_sink_chain), (gst_base_sink_change_state):
21512         * gst/base/gstbasesink.h:
21513         * gst/base/gstbasesrc.h:
21514         * gst/gstelement.h:
21515         * gst/gstevent.h:
21516         Avoid excessive typechecking in macros.
21517
21518         * gst/gstminiobject.c: (gst_mini_object_get_type),
21519         (gst_mini_object_init), (gst_mini_object_new),
21520         (gst_mini_object_free):
21521         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21522         (gst_object_finalize):
21523         Remove cruft code, optimize alloc_trace.
21524
21525 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21526
21527         * docs/faq/gst-uninstalled:
21528           fix up PS1 for systems that try to reset it
21529
21530 2005-11-07  Wim Taymans  <wim@fluendo.com>
21531
21532         * gst/base/gstbasesrc.c: (gst_base_src_init),
21533         (gst_base_src_get_range):
21534         Set the segment_end to -1 initially. Fixed typefind.
21535
21536 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21537
21538         * gst/base/gstadapter.c:
21539           Debug category should be 'adapter', not 'GstAdapter'.
21540           
21541         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21542         (gst_collectpads_class_init), (gst_collectpads_init),
21543         (gst_collectpads_peek), (gst_collectpads_pop),
21544         (gst_collectpads_event), (gst_collectpads_chain):
21545           Add debug category and some debugging output. Use boilerplate
21546           macros. Remove some extraneous words from docs.
21547
21548 2005-11-05  Andy Wingo  <wingo@pobox.com>
21549
21550         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21551         macro.
21552
21553 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21554
21555         * docs/gst/gstreamer-sections.txt:
21556         * gst/gstcaps.h:
21557         * gst/gstinfo.c:
21558         * gst/gstminiobject.h:
21559         * gst/gstobject.h:
21560         * gst/gstutils.h:
21561           more docs added
21562
21563 2005-11-04  Wim Taymans  <wim@fluendo.com>
21564
21565         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21566         Small update to stop at the configured segment_end
21567         position.
21568
21569 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21570
21571         * gst/gstregistry.c:
21572         * gst/gstregistry.h:
21573           added missing docs
21574
21575 2005-11-04  Edward Hervey  <edward@fluendo.com>
21576
21577         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21578         Check if we are doing a segment seek and have arrived at the
21579         end of that segment.
21580
21581 2005-11-04  Wim Taymans  <wim@fluendo.com>
21582
21583         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21584         Don't leak a mutex unlock in case of an error.
21585
21586         * gst/gstbus.h:
21587         Doc fixes.
21588
21589 2005-11-04  Wim Taymans  <wim@fluendo.com>
21590
21591         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21592         (gst_bus_post):
21593         Get the context to wake up only once.
21594
21595 2005-11-03  Wim Taymans  <wim@fluendo.com>
21596
21597         * check/states/sinks.c: (GST_START_TEST):
21598         Uncomment fixed check.
21599
21600         * docs/design/part-TODO.txt:
21601         Updated TODO.
21602
21603         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21604         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21605         (gst_base_sink_get_position):
21606         If we are going to PLAYING, post the right pending state
21607         when we post the intermediate paused message.
21608
21609         * gst/gstelement.c: (gst_element_continue_state),
21610         (gst_element_set_state_func), (gst_element_change_state):
21611         Don't post state changes that were between the same state
21612         and were not ASYNC.
21613
21614 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21615
21616         * docs/gst/gstreamer-sections.txt:
21617         * gst/gstcaps.h:
21618         * gst/gstinfo.c:
21619         * gst/gstminiobject.h:
21620         * gst/gstobject.h:
21621         * gst/gstutils.h:
21622           more docs and doc style fixes
21623
21624 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21625
21626         * docs/gst/gstreamer-sections.txt:
21627         * gst/gstelement.c:
21628         * gst/gstminiobject.c:
21629         doc fixes
21630
21631 2005-11-03  Andy Wingo  <wingo@pobox.com>
21632
21633         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21634         state-changed messages actually have the right order and the right
21635         values.
21636
21637 2005-11-03  Wim Taymans  <wim@fluendo.com>
21638
21639         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21640         Added some more checks. Specifically the case where NO_PREROLL
21641         elements are in the pipeline.
21642
21643         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21644         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21645         (gst_base_sink_get_position):
21646         Post READY->PAUSED state change messages too.
21647         Fix bug where VOID was posted as pending state...
21648
21649         * gst/gstbin.c: (gst_bin_recalc_state):
21650         use _element_continue_state() to continue the state change.
21651
21652         * gst/gstelement.c: (gst_element_continue_state),
21653         (gst_element_commit_state), (gst_element_set_state_func),
21654         (gst_element_change_state), (gst_element_change_state_func):
21655         Lots of state change cleanups, assign the STATE_RETURN in
21656         a new continue_state() function that also propagates the
21657         last return value from a state change to the app.
21658         Update some debug statements with proper category.
21659
21660 2005-11-03  Wim Taymans  <wim@fluendo.com>
21661
21662         * docs/design/part-events.txt:
21663         * docs/design/part-gstpipeline.txt:
21664         * docs/design/part-messages.txt:
21665         * docs/design/part-overview.txt:
21666         * docs/design/part-seeking.txt:
21667         * docs/design/part-states.txt:
21668         * docs/design/part-trickmodes.txt:
21669         * docs/manual/advanced-position.xml:
21670         Small docs updates.
21671
21672         * gst/gstobject.h:
21673         People think !! is ugly, this looks better.
21674
21675         * gst/gstpad.c: (gst_pad_set_blocked_async):
21676         Remove !! since it's fixed elsewhere now.
21677
21678 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21679
21680         * gst/gstminiobject.h:
21681         * gst/gstobject.h:
21682           Add !! to _FLAG_IS_SET macros to make the result boolean.
21683
21684 2005-11-03  Edward Hervey  <edward@fluendo.com>
21685
21686         * gst/gstpad.c: (gst_pad_set_blocked_async):
21687         comparing a flag and a gboolean rarely returns coherent results...
21688         Added two characters (!!) to make that work correctly.
21689         
21690 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21691
21692         * gst/gstbus.c: (gst_bus_class_init):
21693           Fix some typos.
21694           
21695         * gst/gstqueue.c: (gst_queue_loop):
21696           Don't assume a miniobject that isn't a buffer is an
21697           event (it could be that there is a refcounting
21698           problem somewhere and the pointer is stale and
21699           refers to an already destroyed miniobject).
21700
21701 2005-11-03  Julien MOUTTE  <julien@moutte.net>
21702
21703         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21704
21705 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21706
21707         * docs/manual/advanced-position.xml:
21708           Update seek example and explanations to current 0.9 API.
21709
21710         * gst/elements/gsttypefindelement.c:
21711         (gst_type_find_element_activate):
21712           Remove FIXME comment now that the found caps
21713           are unreffed.
21714
21715 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21716
21717         * gst/gstregistryxml.c: (load_feature):
21718           Add another GST_STR_NULL instance
21719
21720 2005-11-02  Edward Hervey  <edward@fluendo.com>
21721
21722         * gst/gstpad.c: (handle_pad_block):
21723         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21724         
21725 2005-11-02  Wim Taymans  <wim@fluendo.com>
21726
21727         * gst/gstbin.c:
21728         Fix typo in docs.
21729
21730         * gst/gstelement.c: (gst_element_commit_state):
21731         Remove unused value.
21732
21733         * gst/gstiterator.c:
21734         Mention that the returned element is reffed in the docs.
21735
21736 2005-11-02  Wim Taymans  <wim@fluendo.com>
21737
21738         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21739         (gst_pad_push), (gst_pad_push_event):
21740         Unlock blocked pads when they are flushed.
21741
21742 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21743
21744         * docs/README:
21745         * docs/gst/gstreamer-sections.txt:
21746         * gst/gstbin.c:
21747           doc updates
21748         * gst/gstregistry.c: (gst_registry_scan_path_level):
21749           fix for a nasty little missed situation where an installed plug-in
21750           which was in the cache did not get overridden by an uninstalled one
21751           which was earlier in the plugin path because the newly created plugin
21752           for the uninstalled one (not in the registry) didn't get its
21753           ->registered set to TRUE
21754
21755 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21756
21757         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21758         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21759         (gst_collectpads_is_active), (gst_collectpads_collect),
21760         (gst_collectpads_collect_range), (gst_collectpads_start),
21761         (gst_collectpads_stop), (gst_collectpads_peek),
21762         (gst_collectpads_pop), (gst_collectpads_available),
21763         (gst_collectpads_read), (gst_collectpads_flush):
21764           Guard public API with assertions.
21765         
21766         * gst/gstpad.c:
21767           Fix docs for gst_pad_set_link_function().
21768
21769 2005-11-02  Johan Dahlin  <johan@gnome.org>
21770
21771         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
21772         Unref found_caps after we used it.
21773
21774 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21775
21776         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21777           Don't try to ref NULL.
21778
21779 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21780
21781         * win32/common/config.h.in:
21782           provide a GST_FUNCTION that just gives a string for now
21783
21784 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21785
21786         * win32/common/gstenumtypes.c: (register_gst_object_flags),
21787         (gst_object_flags_get_type), (register_gst_bin_flags),
21788         (gst_bin_flags_get_type), (register_gst_buffer_flag),
21789         (gst_buffer_flag_get_type), (register_gst_bus_flags),
21790         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21791         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21792         (gst_clock_return_get_type), (register_gst_clock_entry_type),
21793         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21794         (gst_clock_flags_get_type), (register_gst_state),
21795         (gst_state_get_type), (register_gst_state_change_return),
21796         (gst_state_change_return_get_type), (register_gst_state_change),
21797         (gst_state_change_get_type), (register_gst_element_flags),
21798         (gst_element_flags_get_type), (register_gst_core_error),
21799         (gst_core_error_get_type), (register_gst_library_error),
21800         (gst_library_error_get_type), (register_gst_resource_error),
21801         (gst_resource_error_get_type), (register_gst_stream_error),
21802         (gst_stream_error_get_type), (register_gst_event_type),
21803         (gst_event_type_get_type), (register_gst_seek_type),
21804         (gst_seek_type_get_type), (register_gst_seek_flags),
21805         (gst_seek_flags_get_type), (register_gst_format),
21806         (gst_format_get_type), (register_gst_index_certainty),
21807         (gst_index_certainty_get_type), (register_gst_index_entry_type),
21808         (gst_index_entry_type_get_type),
21809         (register_gst_index_lookup_method),
21810         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21811         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21812         (gst_index_resolver_method_get_type), (register_gst_index_flags),
21813         (gst_index_flags_get_type), (register_gst_debug_level),
21814         (gst_debug_level_get_type), (register_gst_debug_color_flags),
21815         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21816         (gst_iterator_result_get_type), (register_gst_iterator_item),
21817         (gst_iterator_item_get_type), (register_gst_message_type),
21818         (gst_message_type_get_type), (register_gst_mini_object_flags),
21819         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21820         (gst_pad_link_return_get_type), (register_gst_flow_return),
21821         (gst_flow_return_get_type), (register_gst_activate_mode),
21822         (gst_activate_mode_get_type), (register_gst_pad_direction),
21823         (gst_pad_direction_get_type), (register_gst_pad_flags),
21824         (gst_pad_flags_get_type), (register_gst_pad_presence),
21825         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21826         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21827         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21828         (gst_plugin_error_get_type), (register_gst_plugin_flags),
21829         (gst_plugin_flags_get_type), (register_gst_rank),
21830         (gst_rank_get_type), (register_gst_query_type),
21831         (gst_query_type_get_type), (register_gst_tag_merge_mode),
21832         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21833         (gst_tag_flag_get_type), (register_gst_task_state),
21834         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21835         (gst_alloc_trace_flags_get_type),
21836         (register_gst_type_find_probability),
21837         (gst_type_find_probability_get_type), (register_gst_uri_type),
21838         (gst_uri_type_get_type), (register_gst_parse_error),
21839         (gst_parse_error_get_type):
21840         * win32/common/gstversion.h:
21841           update win32 copies
21842
21843 2005-11-01  Luca Ognibene  <luogni@tin.it>
21844
21845         * gst/gst.c:
21846           fix docs. popt is dead, long live GOption.
21847
21848 2005-10-31  Wim Taymans  <wim@fluendo.com>
21849
21850         * gst/gstbuffer.h:
21851         Small doc fix.
21852
21853 2005-10-31  Andy Wingo  <wingo@pobox.com>
21854
21855         * Boo!
21856
21857         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
21858
21859         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
21860         need to serialize property notifications on GLib 2.8. GLib 2.6 has
21861         the possibility of deadlocks here if code calling notify() or
21862         set() has a lock that can be taken in another notify handler (ABBA
21863         with class lock and e.g. python GIL state lock).
21864
21865 2005-10-28  Julien MOUTTE  <julien@moutte.net>
21866
21867         * gst/gstbus.c: Doc updates.
21868
21869 2005-10-28  Wim Taymans  <wim@fluendo.com>
21870
21871         * docs/design/part-TODO.txt:
21872         * gst/gstiterator.c:
21873         * gst/gstsystemclock.c:
21874         * gst/gstsystemclock.h:
21875         Doc updates.
21876
21877 2005-10-28  Edward Hervey  <edward@fluendo.com>
21878
21879         * docs/gst/gstreamer-docs.sgml:
21880         * docs/gst/gstreamer-sections.txt:
21881         the GstURIType documentation page is private, it only defines GstURIType
21882         which should be defined in the GstURIHandler page
21883         
21884 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
21885
21886         * gst/gstbin.c: (gst_bin_class_init):
21887         * gst/gstbin.h:
21888         * gst/gstutils.c:
21889         Documentation updates.
21890
21891 2005-10-28  Wim Taymans  <wim@fluendo.com>
21892
21893         * docs/gst/gstreamer-sections.txt:
21894         * gst/gstclock.c:
21895         * gst/gstclock.h:
21896         Documented the clocks.
21897
21898 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
21899
21900         * docs/gst/gstreamer-sections.txt:
21901           move some macros to private sections
21902         * gst/gstminiobject.c:
21903         * gst/gstminiobject.h:
21904           add descriptions provided by ds and some more
21905         * gst/gstpad.h:
21906           mark macro as to be removed
21907
21908 2005-10-28  Wim Taymans  <wim@fluendo.com>
21909
21910         * docs/design/part-TODO.txt:
21911         Add an item to TODO.
21912
21913         * gst/gstiterator.c: (gst_iterator_fold),
21914         (gst_iterator_find_custom):
21915         * gst/gstiterator.h:
21916         Add iterator docs.
21917
21918 2005-10-28  Wim Taymans  <wim@fluendo.com>
21919
21920         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21921         (gst_base_transform_init):
21922         Don't leak class.
21923
21924         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
21925         An EOS event marks the queue as completely filled.
21926
21927 2005-10-27  Wim Taymans  <wim@fluendo.com>
21928
21929         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21930         (gst_base_sink_do_sync), (gst_base_sink_get_position):
21931         Some more debugging.
21932
21933         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
21934         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
21935         (gst_base_transform_event), (gst_base_transform_getrange),
21936         (gst_base_transform_chain):
21937         * gst/base/gstbasetransform.h:
21938         Fix debugging,
21939         Protect transform and concurrent buffer alloc with a new lock.
21940         Try not to break ABI/API.
21941
21942 2005-10-27  Wim Taymans  <wim@fluendo.com>
21943
21944         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21945         (gst_base_src_init), (gst_base_src_query),
21946         (gst_base_src_default_newsegment),
21947         (gst_base_src_configure_segment), (gst_base_src_do_seek),
21948         (gst_base_src_send_event), (gst_base_src_event_handler),
21949         (gst_base_src_pad_get_range), (gst_base_src_loop),
21950         (gst_base_src_unlock), (gst_base_src_default_negotiate),
21951         (gst_base_src_start), (gst_base_src_deactivate),
21952         (gst_base_src_activate_push), (gst_base_src_change_state):
21953         Move some stuff around and cleanup things.
21954
21955 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
21956
21957         * gst/base/gstbasesrc.c: (gst_base_src_query):
21958           Add missing break statements.
21959
21960 2005-10-27  Wim Taymans  <wim@fluendo.com>
21961
21962         * check/gst/gstbin.c: (GST_START_TEST):
21963         An extra refcount is taken in basesrc.
21964
21965         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
21966         (gst_base_src_get_range), (gst_base_src_pad_get_range),
21967         (gst_base_src_loop):
21968         Small cleanups, check for flushing after being unlocked from the 
21969         LIVE_LOCK. take refcounts correctly (not yet everywhere).
21970         Don't send out EOS when going to READY.
21971
21972 2005-10-27  Wim Taymans  <wim@fluendo.com>
21973
21974         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21975         (gst_base_sink_get_position):
21976         Some more debug.
21977
21978         * gst/gstbin.c: (message_check), (bin_replace_message),
21979         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21980         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21981         (bin_query_duration_init), (bin_query_duration_fold),
21982         (bin_query_duration_done), (bin_query_generic_fold),
21983         (gst_bin_query):
21984         * tools/gst-launch.c: (main):
21985         Remove old option.
21986
21987 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
21988
21989         * examples/controller/audio-example.c: (main):
21990         * examples/queue/queue.c: (event_loop):
21991         * gst/base/gstbasetransform.h:
21992         * gst/gstelement.c: (gst_element_send_event):
21993         * gst/gstevent.h:
21994         * gst/gstpad.c: (gst_pad_send_event):
21995           fixing examples
21996           fixing docs typos
21997           changing log priority in error situations
21998
21999 2005-10-25  Wim Taymans  <wim@fluendo.com>
22000
22001         * gst/gstbin.c: (message_check), (bin_replace_message),
22002         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22003         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22004         (bin_query_duration_init), (bin_query_duration_fold),
22005         (bin_query_duration_done), (bin_query_generic_fold),
22006         (gst_bin_query):
22007         Some doc and debug updates.
22008         Cache previously requested query DURATION for speed. invalidate
22009         cached duration if element posts a DURATION message.
22010
22011 2005-10-25  Wim Taymans  <wim@fluendo.com>
22012
22013         * docs/design/part-TODO.txt:
22014         Update TODO.
22015
22016         * gst/gstbin.c: (message_check), (bin_replace_message),
22017         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22018         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22019         (bin_query_duration_init), (bin_query_duration_fold),
22020         (bin_query_duration_done), (bin_query_generic_fold),
22021         (gst_bin_query):
22022         Handle SEGMENT_START/DONE messages correctly.
22023         More evolved query algorithm that handles duration queries
22024         correctly.
22025
22026         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22027         (gst_element_get_state_func), (gst_element_abort_state),
22028         (gst_element_commit_state), (gst_element_lost_state):
22029         Some more debugging.
22030
22031         * gst/gstmessage.h:
22032         Added doc.
22033
22034 2005-10-25  Wim Taymans  <wim@fluendo.com>
22035
22036         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22037         Don't use invalid stream_time.
22038
22039         * gst/gstevent.c: (gst_event_new_newsegment):
22040         stream_time in newsegment cannot be undefined.
22041
22042 2005-10-24  Wim Taymans  <wim@fluendo.com>
22043
22044         * gst/gstbus.c:
22045         Doc fix.
22046
22047         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22048         (gst_queue_loop):
22049         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22050
22051 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22052
22053         * docs/libs/tmpl/gstdparam.sgml:
22054         * docs/libs/tmpl/gstdplinint.sgml:
22055         * docs/libs/tmpl/gstdpman.sgml:
22056         * docs/libs/tmpl/gstdpsmooth.sgml:
22057         * docs/libs/tmpl/gstunitconvert.sgml:
22058           these are obsolete
22059
22060 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22061
22062         * configure.ac:
22063           back to HEAD
22064
22065 === release 0.9.4 ===
22066
22067 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22068
22069         * configure.ac:
22070           releasing 0.9.4, "Tyrannosaurus Rex"
22071
22072 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22073
22074         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22075         (gst_file_sink_get_current_offset):
22076           Use fseeko() and ftello() if available. When falling back on
22077           lseek() to get the current offset, fflush() first to make sure
22078           everything is up-to-date and we get the right offset.
22079
22080 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22081
22082         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22083         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22084         * gst/gsterror.c: (_gst_stream_errors_init):
22085         * gst/gsterror.h:
22086         * gst/gstqueue.c: (gst_queue_loop):
22087         * po/POTFILES.in:
22088           remove prematurely added error category and clean up the instances
22089
22090 2005-10-21  Wim Taymans  <wim@fluendo.com>
22091
22092         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22093         (gst_base_sink_get_position), (gst_base_sink_query),
22094         (gst_base_sink_change_state):
22095         Simply set the right flag when going to playing, that's all
22096         we need to do instead of calling a function inside the object
22097         lock (that could take the lock as well and deadlock)
22098
22099 2005-10-21  Wim Taymans  <wim@fluendo.com>
22100
22101         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22102         (gst_base_src_loop):
22103         Don't warn, the peer element knows what to do best when
22104         the seek failed, it might try something else.
22105
22106 2005-10-21  Wim Taymans  <wim@fluendo.com>
22107
22108         * gst/base/gstbasesrc.c: (gst_base_src_init),
22109         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22110         Fix seeking.
22111
22112 2005-10-21  Wim Taymans  <wim@fluendo.com>
22113
22114         * docs/design/part-segments.txt:
22115         More docs.
22116
22117         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22118         Correctly set caps, even on the subbufer.
22119
22120 2005-10-21  Wim Taymans  <wim@fluendo.com>
22121
22122         * docs/gst/gstreamer-docs.sgml:
22123         * docs/gst/gstreamer-sections.txt:
22124         * gst/gstelement.h:
22125         * gst/gstevent.c:
22126         * gst/gstevent.h:
22127         * gst/gstmessage.h:
22128         * gst/gstpad.h:
22129         * gst/gstparse.h:
22130         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22131         * gst/gsttask.h:
22132         * gst/gstutils.c:
22133         * gst/gstutils.h:
22134         And 2% more doc coverage.
22135
22136 2005-10-21  Andy Wingo  <wingo@pobox.com>
22137
22138         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22139         position reporting.
22140
22141 2005-10-20  Wim Taymans  <wim@fluendo.com>
22142
22143         * gst/gsterror.c: (gst_error_get_message):
22144         * gst/gstparse.h:
22145         * gst/gstquery.h:
22146         * gst/gststructure.c:
22147         * gst/gsttrace.c:
22148         * gst/gstutils.c:
22149         More docs.
22150
22151 2005-10-20  Wim Taymans  <wim@fluendo.com>
22152
22153         * gst/gstbuffer.h:
22154         * gst/gstpad.c:
22155         * gst/gstparse.c:
22156         Another 1% more coverage.
22157
22158 2005-10-20  Wim Taymans  <wim@fluendo.com>
22159
22160         * docs/gst/gstreamer-sections.txt:
22161         * gst/gstelement.c: (gst_element_get_state_func),
22162         (gst_element_abort_state), (gst_element_commit_state),
22163         (gst_element_lost_state):
22164         * gst/gstevent.h:
22165         * gst/gstquery.c: (gst_query_set_position),
22166         (gst_query_parse_position), (gst_query_set_duration),
22167         (gst_query_parse_duration), (gst_query_new_convert):
22168         * gst/gstutils.c:
22169         Yay! 1% more docs coverage.
22170
22171 2005-10-20  Wim Taymans  <wim@fluendo.com>
22172
22173         * gst/gstpad.h:
22174         * gst/gstquery.c: (gst_query_set_position),
22175         (gst_query_parse_position), (gst_query_set_duration),
22176         (gst_query_parse_duration), (gst_query_new_convert):
22177         * gst/gstquery.h:
22178         * gst/gstutils.c: (gst_element_query_convert):
22179         * gst/gstutils.h:
22180         Docs and consistency fixes.
22181
22182 2005-10-20  Wim Taymans  <wim@fluendo.com>
22183
22184         * gst/gsttask.c:
22185         * gst/gsttask.h:
22186         More docs.
22187
22188 2005-10-20  Wim Taymans  <wim@fluendo.com>
22189
22190         * gst/gstbin.c: (message_check), (bin_replace_message),
22191         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22192         (update_degree), (gst_bin_sort_iterator_next),
22193         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22194         Reworked the message handling a bit, cache the messages instead of
22195         only the senders. alows us to do more in the future.
22196
22197 2005-10-20  Wim Taymans  <wim@fluendo.com>
22198
22199         * docs/design/part-TODO.txt:
22200         Update TODO
22201
22202         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22203         (gst_base_sink_query):
22204         Don't use clock time to report position when in EOS.
22205
22206 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22207
22208         * tools/gst-inspect.c: (print_interfaces),
22209         (print_element_properties_info), (print_element_info):
22210           Fix interface output with gst-inspect -a; don't print
22211           newlines after double/float properties.
22212
22213 2005-10-20  Wim Taymans  <wim@fluendo.com>
22214
22215         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22216         (gst_base_sink_query):
22217         Speed up current position calculation.
22218
22219         * gst/base/gstbasesrc.c: (gst_base_src_query),
22220         (gst_base_src_default_newsegment):
22221         Correctly set stream position in newsegment.
22222
22223         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22224         (update_degree), (gst_bin_sort_iterator_next),
22225         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22226         * gst/gstmessage.c: (gst_message_new_custom):
22227         Clean up debugging info
22228
22229         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22230         (gst_queue_loop), (gst_queue_handle_src_query):
22231         Pause task faster.
22232
22233 2005-10-19  Wim Taymans  <wim@fluendo.com>
22234
22235         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22236         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22237         Fix query handling again.
22238
22239 2005-10-19  Wim Taymans  <wim@fluendo.com>
22240
22241         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22242         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22243         * gst/base/gstbasesrc.c: (gst_base_src_query):
22244         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22245         * gst/elements/gsttypefindelement.c:
22246         (gst_type_find_handle_src_query), (find_element_get_length),
22247         (gst_type_find_element_activate):
22248         API change fix.
22249
22250         * gst/gstquery.c: (gst_query_new_position),
22251         (gst_query_set_position), (gst_query_parse_position),
22252         (gst_query_new_duration), (gst_query_set_duration),
22253         (gst_query_parse_duration), (gst_query_set_segment),
22254         (gst_query_parse_segment):
22255         * gst/gstquery.h:
22256         Bundling query position/duration is not a good idea since duration
22257         does not change much and we don't want to recalculate it for every
22258         position query, so they are separated again..
22259         Base value in segment query is not needed.
22260
22261         * gst/gstqueue.c: (gst_queue_handle_src_query):
22262         * gst/gstutils.c: (gst_element_query_position),
22263         (gst_element_query_duration), (gst_pad_query_position),
22264         (gst_pad_query_duration):
22265         * gst/gstutils.h:
22266         Updates for query API change.
22267         Added some docs here and there.
22268
22269 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22270
22271         * check/gst/gstbin.c: (GST_START_TEST):
22272         * check/gst/gstghostpad.c: (GST_START_TEST):
22273         * check/pipelines/cleanup.c: (GST_START_TEST):
22274           wait on thread to die so we can check refcount correctly
22275
22276 2005-10-18  Wim Taymans  <wim@fluendo.com>
22277
22278         * check/pipelines/stress.c: (GST_START_TEST):
22279         Make check a little more time consuming.
22280
22281 2005-10-18  Wim Taymans  <wim@fluendo.com>
22282
22283         * check/Makefile.am:
22284         * check/pipelines/stress.c: (GST_START_TEST),
22285         (simple_launch_lines_suite), (main):
22286         Small state change torture test.
22287
22288         * docs/design/part-states.txt:
22289         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22290         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22291         (gst_base_sink_change_state):
22292         Never take state lock from streaming thread, clean up ugly
22293         hacks. Unfortunatly core does not yet support nice ways to
22294         async commit state.
22295         
22296         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22297         (bin_bus_handler):
22298         Start state recalc if a STATE_DIRTY message is posted, but only
22299         on the toplevel bin.
22300
22301         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22302         (gst_element_get_state_func), (gst_element_abort_state),
22303         (gst_element_commit_state), (gst_element_lost_state),
22304         (gst_element_set_state_func), (gst_element_change_state):
22305         * gst/gstelement.h:
22306         State variables are now protected with the LOCK, the state
22307         lock is only used to serialize _set_state().
22308
22309 2005-10-18  Wim Taymans  <wim@fluendo.com>
22310
22311         * check/gst/gstbin.c: (GST_START_TEST):
22312         * check/gst/gstmessage.c: (GST_START_TEST):
22313         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22314         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22315         (bin_bus_handler):
22316         * gst/gstelement.c: (gst_element_abort_state),
22317         (gst_element_commit_state), (gst_element_lost_state):
22318         * gst/gstmessage.c: (gst_message_new_state_changed),
22319         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22320         (gst_message_new_segment_done), (gst_message_new_duration),
22321         (gst_message_parse_state_changed),
22322         (gst_message_parse_segment_start),
22323         (gst_message_parse_segment_done), (gst_message_parse_duration):
22324         * gst/gstmessage.h:
22325         * tools/gst-launch.c: (event_loop):
22326         Seriously, this is better than a previous commit as we only need
22327         to notify the fact that an element changed state in a streaming
22328         thread, marking the state of the parents dirty, hence the 
22329         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22330         message.
22331
22332 2005-10-18  Wim Taymans  <wim@fluendo.com>
22333
22334         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22335         (gst_bin_recalc_func):
22336         * gst/gstelement.c: (gst_element_set_clock),
22337         (gst_element_abort_state), (gst_element_lost_state):
22338         Cleanups, prepare for state change fixes.
22339
22340 2005-10-18  Wim Taymans  <wim@fluendo.com>
22341
22342         * gst/gstbin.h:
22343         * gst/gstelement.c: (gst_element_class_init),
22344         (gst_element_set_state), (gst_element_set_state_func):
22345         * gst/gstelement.h:
22346         Pending ABI changes.
22347         GThreadPool in GstBinClass to monitor async state changes.
22348         state_cookie in GstElement to detect concurrent gst/set state.
22349         set_state is now virtual too in case a very complicated element
22350         has to be constructed.
22351
22352 2005-10-18  Wim Taymans  <wim@fluendo.com>
22353
22354         * check/gst/gstbin.c: (GST_START_TEST):
22355         * check/gst/gstmessage.c: (GST_START_TEST):
22356         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22357         * gst/gstbin.c: (bin_bus_handler):
22358         * gst/gstelement.c: (gst_element_commit_state),
22359         (gst_element_lost_state):
22360         * gst/gstmessage.c: (gst_message_new_state_changed),
22361         (gst_message_new_segment_start), (gst_message_new_segment_done),
22362         (gst_message_new_duration), (gst_message_parse_state_changed),
22363         (gst_message_parse_segment_start),
22364         (gst_message_parse_segment_done), (gst_message_parse_duration):
22365         * gst/gstmessage.h:
22366         * tools/gst-launch.c: (event_loop):
22367         Make messages future proof.
22368         state-change gets a flag if it was a message comming from the
22369         streaming thread.
22370         segment-start/stop can also be specified in other formats.
22371         A message to notify an app that a pipeline changed playback 
22372         duration.
22373         Also fix a GstMessage leak in -launch
22374
22375 2005-10-18  Andy Wingo  <wingo@pobox.com>
22376
22377         * gst/gstelement.c (gst_element_dispose): More helpful message.
22378
22379 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22380
22381         reviewed by: <delete if not using a buddy>
22382
22383         * common/gtk-doc.mak:
22384
22385 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22386
22387         * gst/gstregistry.c: (gst_registry_scan_path_level):
22388           unref a plug-in we get that was already initialized
22389
22390 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22391
22392         * docs/gst/gstreamer-sections.txt:
22393         * docs/libs/gstreamer-libs-sections.txt:
22394         * gst/gstelement.h:
22395           add new api entries
22396           hide internal macro
22397
22398 2005-10-17  Andy Wingo  <wingo@pobox.com>
22399
22400         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22401         cleanup.
22402
22403         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22404
22405         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22406
22407         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22408         (gst_element_get_state_func): Better debug message.
22409         (gst_element_commit_state): s/INFO/DEBUG/.
22410         (gst_element_lost_state, gst_element_change_state): 
22411
22412         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22413         (gst_message_new_custom): s/INFO/LOG/.
22414
22415 2005-10-17  Michael Smith <msmith@fluendo.com>
22416
22417         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22418           Check if end time is valid using end time, not start time.
22419
22420 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22421
22422         * check/gst-libs/controller.c: (GST_START_TEST),
22423         (gst_controller_suite):
22424         * libs/gst/controller/gstcontroller.c:
22425         (gst_controlled_property_set_interpolation_mode):
22426         * libs/gst/controller/gstcontroller.h:
22427         * libs/gst/controller/gstinterpolation.c:
22428         * testsuite/controller/.cvsignore:
22429         * testsuite/controller/Makefile.am:
22430         * testsuite/controller/interpolator.c:
22431           merge controller testsuites
22432           fix broken tests
22433           remove mem-chunk from docs
22434
22435 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22436
22437         * gst/gstmemchunk.c:
22438         * gst/gstmemchunk.h:
22439         * gst/gsttrashstack.c:
22440         * gst/gsttrashstack.h:
22441           out.  get out.  you're fired.  to the Attic !
22442
22443 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22444
22445         * gst/gstcaps.c: (gst_caps_intersect):
22446           fix signedness issues in a (hopefully) correct way
22447         * gst/gstelement.c: (gst_element_pads_activate):
22448           some debugging
22449         * gst/gstobject.c: (gst_object_set_parent):
22450           some debugging
22451
22452 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22453
22454         * gst/gstvalue.h: Fix prototypes.
22455
22456 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22457
22458         * docs/gst/gstreamer-sections.txt:
22459         * gst/gst.c: (gst_version_string):
22460         * gst/gst.h:
22461         * gst/gstversion.h.in:
22462         * win32/common/libgstreamer.def:
22463           add gst_version_string ()
22464
22465 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22466
22467         * configure.ac:
22468           clean up further
22469         * gst/gst.c: (init_post):
22470         * win32/common/config.h.in:
22471           it's PLUGINDIR now
22472         * gst/gstcaps.c: (gst_caps_intersect):
22473           use gint64, the range could be bigger than a guint
22474
22475 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22476
22477         * gst/gstclock.h:
22478           document potential problem in 2038
22479
22480 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22481
22482         * gst/gstcaps.c: (gst_caps_intersect):
22483           Fix guint j diving under 0
22484
22485 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22486
22487         * configure.ac:
22488         * win32/common/config.h:
22489         * win32/common/config.h.in:
22490           check for process.h, declares getpid() on Windows
22491         * gst/gstinfo.c:
22492           include process.h if we have it
22493         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22494         * gst/gstmemchunk.h:
22495           fix signedness issues
22496         * win32/common/libgstreamer.def:
22497           fix get_type's
22498
22499 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22500
22501         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22502         fix. Because of unsigned ints, caps intersection was going nuts and
22503         trying to access structures with G_MAXUINT index. That fixes
22504         videotestsrc ! ffmpegcolorspace ! fakesink
22505         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22506         consistency.
22507
22508 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22509
22510         * configure.ac:
22511           use the gettext macro
22512         * gst/elements/gstelements.c:
22513         * gst/gst.c:
22514         * gst/indexers/gstindexers.c:
22515           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22516         * win32/common/config.h:
22517           updated config.h
22518         * win32/common/config.h.in:
22519           add the template to generate config.h
22520         * win32/common/gstenumtypes.c:
22521         * win32/common/gstversion.h:
22522           updated copies
22523
22524 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22525
22526         * gst/gst.c: (gst_version):
22527         * gst/gstversion.h.in:
22528           add the nano
22529
22530 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22531
22532         * gst/gstevent.h:
22533           Oops, add missing closing bracket.
22534
22535 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22536
22537         * configure.ac:
22538           use common m4's for argument checking
22539
22540 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22541
22542         * docs/gst/gstreamer-sections.txt:
22543         * gst/gstevent.h:
22544           Add GST_EVENT_TYPE_NAME() macro.
22545
22546 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22547
22548         * gst/gstinfo.c:
22549         * gst/gstpluginfeature.c:
22550         * gst/gsttask.c:
22551           privatize more symbols
22552
22553 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22554
22555         * configure.ac:
22556           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22557           everything that uses GStreamer API should have the includes
22558
22559 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22560
22561         * docs/gst/gstreamer-sections.txt:
22562         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22563         * gst/gstvalue.h:
22564           give each value a _get_type, removes the DATA exports
22565
22566 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22567
22568         * gst/gst.c:
22569         * gst/gst.h:
22570           remove _gst_registry_auto_load, not used anymore
22571         * gst/gstbin.c: (gst_bin_get_type):
22572         * gst/gstbin.h:
22573         * gst/gstelement.c: (gst_element_get_type):
22574         * gst/gstelement.h:
22575         * gst/gstobject.c: (gst_object_get_type):
22576         * gst/gstobject.h:
22577         * gst/gstpad.c: (gst_pad_get_type):
22578         * gst/gstpad.h:
22579           make _get_type functions similar, fixes data export from library
22580
22581 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22582
22583         * configure.ac:
22584           correctly make conditionals
22585         * gst/elements/Makefile.am:
22586         * gst/elements/gstelements.c:
22587           fix typo causing fdsrc not to build
22588
22589 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22590
22591         * testsuite/Makefile.am:
22592         * testsuite/bytestream/.cvsignore:
22593         * testsuite/bytestream/Makefile.am:
22594         * testsuite/bytestream/filepadsink.c:
22595         * testsuite/bytestream/gstbstest.c:
22596         * testsuite/bytestream/test1.c:
22597         * testsuite/bytestream/testfile1:
22598         * testsuite/caps/normalisation.c:
22599         * testsuite/caps/random.c: (main):
22600         * testsuite/cleanup/.cvsignore:
22601         * testsuite/cleanup/Makefile.am:
22602         * testsuite/cleanup/cleanup1.c:
22603         * testsuite/cleanup/cleanup2.c:
22604         * testsuite/cleanup/cleanup3.c:
22605         * testsuite/cleanup/cleanup4.c:
22606         * testsuite/cleanup/cleanup5.c:
22607         * testsuite/controller/interpolator.c:
22608         * testsuite/debug/printf_extension.c: (main):
22609         * testsuite/elements/tee.c:
22610         * testsuite/negotiation/.cvsignore:
22611         * testsuite/negotiation/Makefile.am:
22612         * testsuite/negotiation/pad_link.c:
22613         * testsuite/pad/Makefile.am:
22614         * testsuite/pad/chainnopull.c:
22615         * testsuite/pad/getnopush.c:
22616         * testsuite/pad/link.c:
22617         * testsuite/refcounting/sched.c: (create_pipeline):
22618         * testsuite/registry/Makefile.am:
22619         * testsuite/registry/gst-print-formats.c:
22620         * testsuite/schedulers/.cvsignore:
22621         * testsuite/schedulers/142183-2.c:
22622         * testsuite/schedulers/142183.c:
22623         * testsuite/schedulers/143777-2.c:
22624         * testsuite/schedulers/143777.c:
22625         * testsuite/schedulers/147713.c:
22626         * testsuite/schedulers/147819.c:
22627         * testsuite/schedulers/147894-2.c:
22628         * testsuite/schedulers/147894.c:
22629         * testsuite/schedulers/Makefile.am:
22630         * testsuite/schedulers/group_link.c:
22631         * testsuite/schedulers/queue_link.c:
22632         * testsuite/schedulers/relink.c:
22633         * testsuite/schedulers/unlink.c:
22634         * testsuite/schedulers/unref.c:
22635         * testsuite/schedulers/useless_iteration.c:
22636         * testsuite/states/bin.c:
22637           clean out/remove some stuff from the testsuite directories
22638
22639 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22640
22641         * configure.ac:
22642           check for some headers
22643         * gst/elements/Makefile.am:
22644         * gst/elements/gstelements.c:
22645           don't compile fdsrc without sys/socket.h
22646         * gst/indexers/Makefile.am:
22647         * gst/indexers/gstindexers.c: (plugin_init):
22648           don't compile fileindex without mmap
22649
22650 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22651
22652         * configure.ac:
22653           reorganize
22654           clean up
22655           document more
22656           remove cruft
22657         * check/Makefile.am:
22658         * docs/gst/Makefile.am:
22659         * examples/helloworld/Makefile.am:
22660         * gst/Makefile.am:
22661         * gst/base/Makefile.am:
22662         * gst/check/Makefile.am:
22663         * gst/elements/Makefile.am:
22664         * gst/indexers/Makefile.am:
22665         * gst/parse/Makefile.am:
22666         * libs/gst/controller/Makefile.am:
22667         * libs/gst/dataprotocol/Makefile.am:
22668         * examples/helloworld/helloworld.c: (event_loop):
22669           compile fixes, though it's not being compiled currently
22670
22671 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22672
22673         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22674           Add some simple tests for the new taglist date API.
22675
22676 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22677
22678         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22679         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22680           Beautify 'last-message' output: print 'none' for buffer timestamps
22681           and durations if none is set; improve alignment with next messages.
22682
22683 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22684
22685         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22686         * gst/gstpluginfeature.h:
22687         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22688         * gst/gstregistry.h:
22689         * docs/gst/gstreamer-sections.txt:
22690           Add new API to check plugin feature version requirements.
22691
22692         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22693           Some basic tests for the above.         
22694
22695 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22696
22697         * gst/gststructure.c: (gst_structure_to_string):
22698           guard against NULL printf - happens when for example
22699           a message structure with GstClock gets serialized
22700
22701 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22702
22703         * gst/base/gstcollectpads.c: (gst_collectpads_event):
22704           Fix presumable copy'n'pasto.
22705
22706 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22707
22708         * gst/elements/gstfakesrc.h:
22709         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22710         * gst/elements/gsttypefindelement.c:
22711           fix some signedness
22712         * gst/elements/gstfilesink.c: (gst_file_sink_render):
22713           I wonder if this could actually write +2GB files before
22714
22715 2005-10-13  Andy Wingo  <wingo@pobox.com>
22716
22717         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22718         Fix Timmeke Waymans bug.
22719         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22720         string of the proper length to gst_caps_from_string. There's a
22721         potential for, before this fix, that this could cause someone
22722         connecting over the network to cause a segfault if the payload is
22723         not NUL-terminated.
22724
22725 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22726
22727         * docs/design/draft-push-pull.txt:
22728         * docs/design/part-overview.txt:
22729         * docs/random/TODO-pre-0.9:
22730         * docs/random/old/ChangeLog.gstreamer:
22731         * gst/base/gstpushsrc.c:
22732         * gst/gstclock.c:
22733           fixed typos
22734
22735 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22736
22737         * gst/glib-compat.c: (gst_flags_get_first_value):
22738         * gst/glib-compat.h:
22739         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22740         (gst_value_compare_double), (gst_value_serialize_flags):
22741           GLib 2.6 g_flags_get_first_value has a bug that triggers an
22742           infinite loop
22743
22744 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22745
22746         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22747         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22748           fix up debugging
22749         * tools/gst-launch.c: (event_loop):
22750           print out clock nicely
22751
22752 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22753
22754         * docs/gst/gstreamer-sections.txt:
22755         * gst/gsttaglist.h:
22756         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22757         (gst_tag_list_get_date_index):
22758           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22759           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22760
22761 2005-10-13  Julien MOUTTE  <julien@moutte.net>
22762
22763         * gst/base/gstcollectpads.c: (gst_collectpads_event),
22764         (gst_collectpads_chain):
22765         * gst/base/gstcollectpads.h: Handle newsegment and store informations
22766         in CollectData.
22767
22768 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22769
22770         * docs/gst/gstreamer-sections.txt:
22771         * gst/gst.c:
22772         * gst/gsterror.h:
22773         * tools/gst-inspect.c: (main):
22774         * tools/gst-launch.c: (main):
22775         * tools/gst-run.c: (main):
22776         * tools/gst-xmlinspect.c: (main):
22777           fix GOption context leaks
22778           doc fixes
22779
22780 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22781
22782         * gst/gstbus.c:
22783           use HAVE_UNISTD_H
22784         * win32/common/config.h:
22785           update config
22786         * win32/vs6/grammar.dsp:
22787         * win32/vs6/libgstelements.dsp:
22788         * win32/vs6/libgstreamer.dsp:
22789           update vs6 files
22790
22791 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22792
22793         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22794         * gst/base/gstbasesrc.c: (gst_base_src_query):
22795           fix more guint64<->gdouble conversions
22796
22797 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22798
22799         * Makefile.am:
22800           add win32-update target
22801         * win32/common/gstconfig.h:
22802         * win32/common/gstenumtypes.c:
22803         * win32/common/gstenumtypes.h:
22804         * win32/common/gstversion.h:
22805           add files that visual studio can't generate
22806
22807 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22808
22809         * Makefile.am:
22810           add a win32-update target
22811         * configure.ac:
22812
22813 2005-10-12  Wim Taymans  <wim@fluendo.com>
22814
22815         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22816         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22817         * gst/gstelement.c: (gst_element_commit_state),
22818         (gst_element_set_state):
22819         Protect flags with proper lock.
22820         unref provided cached clock in dispose.
22821
22822 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22823
22824         * gst/gst.c:
22825         * gst/gstminiobject.h:
22826         * gst/gstpad.h:
22827         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22828           removed unused flags from miniobject
22829           doc fixes
22830
22831 2005-10-12  Wim Taymans  <wim@fluendo.com>
22832
22833         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22834         (gst_file_sink_event), (gst_file_sink_render):
22835         Flush before seeking.
22836
22837 2005-10-12  Andy Wingo  <wingo@pobox.com>
22838
22839         * gst/gst.c (gst_init_check): Ignore unknown options, as has
22840         always been the case.
22841
22842 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22843
22844         * check/gst/gstbin.c: (GST_START_TEST):
22845         * docs/gst/gstreamer-sections.txt:
22846         * gst/base/gstbasesink.c: (gst_base_sink_init):
22847         * gst/base/gstbasesrc.c: (gst_base_src_init),
22848         (gst_base_src_get_range), (gst_base_src_check_get_range),
22849         (gst_base_src_start), (gst_base_src_stop):
22850         * gst/base/gstbasesrc.h:
22851         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
22852         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22853         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
22854         (bin_bus_handler):
22855         * gst/gstbin.h:
22856         * gst/gstbuffer.h:
22857         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
22858         * gst/gstbus.h:
22859         * gst/gstelement.c: (gst_element_is_locked_state),
22860         (gst_element_set_locked_state), (gst_element_commit_state),
22861         (gst_element_set_state):
22862         * gst/gstelement.h:
22863         * gst/gstindex.c: (gst_index_init):
22864         * gst/gstindex.h:
22865         * gst/gstminiobject.h:
22866         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
22867         (gst_object_set_parent):
22868         * gst/gstobject.h:
22869         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
22870         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
22871         * gst/gstpad.h:
22872         * gst/gstpadtemplate.h:
22873         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
22874         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
22875         * gst/gstpipeline.h:
22876         * gst/indexers/gstfileindex.c: (gst_file_index_load),
22877         (gst_file_index_commit):
22878         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
22879         * testsuite/pad/link.c: (gst_test_src_init),
22880         (gst_test_filter_init), (gst_test_sink_init):
22881         * testsuite/states/locked.c: (main):
22882           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
22883           moved bitshift from macro to enum definition
22884
22885 2005-10-12  Wim Taymans  <wim@fluendo.com>
22886
22887         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
22888         * gst/elements/gstfilesink.c: (gst_file_sink_event),
22889         (gst_file_sink_render):
22890         Some more debugging info.
22891
22892 2005-10-12  Wim Taymans  <wim@fluendo.com>
22893
22894         * docs/design/part-states.txt:
22895         * tools/gst-launch.c: (main):
22896         Some doc updates.
22897         Revert non-intentional change.
22898
22899 2005-10-12  Wim Taymans  <wim@fluendo.com>
22900
22901         * check/gst/gstbin.c: (GST_START_TEST):
22902         * check/gst/gstelement.c: (GST_START_TEST):
22903         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
22904         * check/gst/gstghostpad.c: (GST_START_TEST):
22905         * check/gst/gstpipeline.c: (GST_START_TEST):
22906         * check/pipelines/simple_launch_lines.c: (run_pipeline):
22907         * check/states/sinks.c: (GST_START_TEST):
22908         * gst/elements/gsttypefindelement.c: (stop_typefinding):
22909         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22910         (gst_bin_remove_func), (gst_bin_get_state_func),
22911         (gst_bin_recalc_state), (gst_bin_change_state_func),
22912         (bin_bus_handler):
22913         * gst/gstelement.c: (gst_element_get_state_func),
22914         (gst_element_get_state), (gst_element_abort_state),
22915         (gst_element_commit_state), (gst_element_set_state),
22916         (gst_element_change_state), (gst_element_change_state_func):
22917         * gst/gstelement.h:
22918         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
22919         (gst_pipeline_provide_clock_func):
22920         * gst/gstutils.c: (gst_element_link_pads_filtered):
22921         * tools/gst-launch.c: (main):
22922         * tools/gst-typefind.c: (main):
22923         Use GstClockTime in _get_state() instead of GTimeVal.
22924         Remove old code in gstutils.c
22925
22926 2005-10-12  Andy Wingo  <wingo@pobox.com>
22927
22928         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
22929         removed.
22930
22931         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
22932         there is no task. Shouldn't affect any code, as nothing in our
22933         plugins checks this return value.
22934         (gst_pad_stop_task): Also take the stream lock if the pad has no
22935         task. Docs updated.
22936
22937 2005-10-12  Wim Taymans  <wim@fluendo.com>
22938
22939         * gst/gstpad.c: (pre_activate), (post_activate),
22940         (gst_pad_activate_pull), (gst_pad_activate_push):
22941         Cleanup activation code. Reset old state if
22942         activation failed.
22943
22944 2005-10-12  Wim Taymans  <wim@fluendo.com>
22945
22946         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22947         (gst_base_sink_change_state):
22948         No need to prerol after receiving EOS.
22949
22950         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
22951         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
22952         * gst/elements/gstidentity.c: (gst_identity_event):
22953         Print events more verbosely.
22954
22955 2005-10-12  Wim Taymans  <wim@fluendo.com>
22956
22957         * check/Makefile.am:
22958         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
22959         * check/states/sinks2.c:
22960         Moved sinks2 testcode in sinks check.
22961
22962         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22963         (gst_bin_remove_func), (gst_bin_recalc_state),
22964         (gst_bin_change_state_func), (bin_bus_handler):
22965         Fix potential race condition when _get_state() iterated over an
22966         ASYNC element right before it posted a state completion.
22967
22968         * gst/gstclock.h:
22969         Do proper cast here.
22970
22971         * gst/gstevent.c: (gst_event_new_newsegment),
22972         (gst_event_parse_newsegment):
22973         A playback rate of 0.0 is not allowed.
22974
22975 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22976
22977         * win32/common/config.h:
22978         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
22979         (_trewinddir), (_ttelldir), (_tseekdir):
22980         * win32/common/dirent.h:
22981         * win32/common/gtchar.h:
22982         * win32/common/libgstbase.def:
22983         * win32/common/libgstreamer.def:
22984         * win32/vs6/grammar.dsp:
22985         * win32/vs6/gst_inspect.dsp:
22986         * win32/vs6/gst_launch.dsp:
22987         * win32/vs6/gstreamer.dsw:
22988         * win32/vs6/libgstbase.dsp:
22989         * win32/vs6/libgstelements.dsp:
22990         * win32/vs6/libgstreamer.dsp:
22991           Visual Studio 6 project files, and a new common directory.
22992           Phear.
22993
22994 2005-10-11  Wim Taymans  <wim@fluendo.com>
22995
22996         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22997         (gst_base_sink_do_sync), (gst_base_sink_query),
22998         (gst_base_sink_change_state):
22999         * gst/base/gstbasesink.h:
23000         Correctly parse newsegment info.
23001
23002 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23003
23004         * gst/gst.c: (init_post):
23005           split plugin paths correctly
23006
23007 2005-10-11  Wim Taymans  <wim@fluendo.com>
23008
23009         * check/gst/gstevent.c: (GST_START_TEST):
23010         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23011         (gst_base_sink_change_state):
23012         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23013         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23014         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23015         * gst/gstevent.c: (gst_event_new_newsegment),
23016         (gst_event_parse_newsegment):
23017         * gst/gstevent.h:
23018         Added extra flag to newsegment for future API freeze.
23019         Updated check and base elements.
23020
23021 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23022
23023         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23024         (gst_collectpads_add_pad), (gst_collectpads_pop),
23025         (gst_collectpads_event), (gst_collectpads_chain):
23026         * gst/base/gstcollectpads.h: Handle EOS correctly.
23027
23028 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23029
23030         * tools/gst-launch.c: (main):
23031           more null protecting
23032
23033 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23034
23035         * gst/gst-i18n-lib.h:
23036           check for ENABLE_NLS, not GETTEXT_PACKAGE
23037         * gst/gstregistry.c: (gst_registry_add_plugin),
23038         (gst_registry_scan_path_level),
23039         (_gst_registry_remove_cache_plugins):
23040           protect possibly NULL strings
23041         * gst/parse/types.h:
23042           config.h already included before
23043         * tools/gst-inspect.c: (main):
23044           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23045           check for ENABLE_NLS, not GETTEXT_PACKAGE
23046         * tools/gst-launch.c: (main):
23047           check for ENABLE_NLS, not GETTEXT_PACKAGE
23048
23049 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23050
23051         * configure.ac:
23052           if we don't have glib, fail before testing 2.8
23053         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23054           fix a leak, should fix plugins-base testsuite
23055
23056 2005-10-11  Andy Wingo  <wingo@pobox.com>
23057
23058         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23059         take the mode we're going to as an arg. Go head and set the mode
23060         and flushing flags now, so that if the activate function starts a
23061         thread all the flags will be in the right state.
23062         (post_activate): Renamed also. Just handle making sure streaming
23063         finishes for the deactivation case, and setting the deactivated
23064         mode.
23065         (gst_pad_set_active): Complain loudly if deactivation fails.
23066         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23067         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23068         remove the terrible hack.
23069
23070 2005-10-11  Wim Taymans  <wim@fluendo.com>
23071
23072         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23073         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23074         (gst_bin_recalc_state), (gst_bin_change_state_func),
23075         (gst_bin_dispose), (bin_bus_handler):
23076         * gst/gstbin.h:
23077         Prepare to make current EOS message queue more generic.
23078         Fix some typos.
23079
23080         * gst/gstevent.c: (gst_event_new_newsegment),
23081         (gst_event_parse_newsegment):
23082         * gst/gstevent.h:
23083         Rename base to stream_time.
23084
23085         * gst/gstmessage.h:
23086         Fix typo in docs.
23087
23088 2005-10-11  Wim Taymans  <wim@fluendo.com>
23089
23090         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23091         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23092         (gst_bin_change_state_func), (bin_bus_handler):
23093         * gst/gstbin.h:
23094         Work on proper clock selection.
23095
23096 2005-10-11  Edward Hervey  <edward@fluendo.com>
23097
23098         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23099         * libs/gst/controller/gstcontroller.h:
23100         Added GList* version of _remove_properties() in order to be able to wrap
23101         it in bindings.
23102
23103 2005-10-11  Wim Taymans  <wim@fluendo.com>
23104
23105         * docs/design/part-states.txt:
23106         Some more docs.
23107
23108         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23109         (gst_bin_change_state_func), (bin_bus_handler):
23110         Doc updates. Don't distribute the same clock over and over again.
23111
23112         * gst/gstclock.c:
23113         * gst/gstclock.h:
23114         Doc updates.
23115
23116         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23117         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23118         (gst_pad_send_event):
23119         * gst/gstpad.h:
23120         Make probe emission threadsafe again.
23121         Register quarks and move _get_name() from utils.
23122         Doc updates.
23123
23124         * gst/gstpipeline.c: (gst_pipeline_class_init),
23125         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23126         Only redistribute the clock of it changed.
23127
23128         * gst/gstsystemclock.h:
23129         Doc updates. 
23130
23131         * gst/gstutils.c:
23132         * gst/gstutils.h:
23133         Moved the _flow_get_name() to GstPad.
23134
23135 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23136
23137         * check/gst-libs/gdp.c: (GST_START_TEST):
23138         * check/gst/gstcaps.c: (GST_START_TEST):
23139         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23140         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23141         (gst_dp_packet_from_caps):
23142           fix more valgrind warnings before turning up the heat
23143
23144 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23145
23146         * gst/parse/grammar.y:
23147           some cleanup before the hacking
23148
23149 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23150
23151         * gst/base/gstbasesrc.c: (gst_base_src_query):
23152           use conversions
23153         * gst/gstutils.c: (gst_guint64_to_gdouble),
23154         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23155         * gst/gstutils.h:
23156           externalize, basesrc uses it
23157           obviously the implementation needs testing
23158
23159 2005-10-10  Wim Taymans  <wim@fluendo.com>
23160
23161         * tests/sched/Makefile.am:
23162         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23163         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23164
23165 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23166
23167         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23168           apparently converting from guint64 to double is not implemented
23169           on MSVC
23170
23171 2005-10-10  Wim Taymans  <wim@fluendo.com>
23172
23173         * check/Makefile.am:
23174         * check/generic/states.c: (GST_START_TEST):
23175         * check/gst/gstbin.c: (GST_START_TEST):
23176         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23177         * check/states/sinks.c: (GST_START_TEST):
23178         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23179         (main):
23180         Check fixes, use API as stated in design docs, remove hacks.
23181
23182         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23183         (gst_base_sink_change_state):
23184         Catch stopping our task while we're shutting down.
23185
23186         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23187         (gst_bin_remove_func), (gst_bin_get_state_func),
23188         (gst_bin_recalc_state), (gst_bin_change_state_func),
23189         (bin_bus_handler):
23190         * gst/gstbin.h:
23191         * gst/gstelement.c: (gst_element_init),
23192         (gst_element_get_state_func), (gst_element_abort_state),
23193         (gst_element_commit_state), (gst_element_lost_state),
23194         (gst_element_set_state), (gst_element_change_state),
23195         (gst_element_change_state_func):
23196         * gst/gstelement.h:
23197         New state change algorithm (see #318116)
23198
23199         * gst/gstpipeline.c: (gst_pipeline_class_init),
23200         (gst_pipeline_init), (gst_pipeline_set_property),
23201         (gst_pipeline_get_property), (do_pipeline_seek),
23202         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23203         * gst/gstpipeline.h:
23204         Remove crude state change hacks.
23205
23206         * gst/gstutils.h:
23207         Remove crude hacks.
23208
23209         * tools/gst-launch.c: (main):
23210         Fixes for state change. Needs some more work to fully use the
23211         new stuff.
23212
23213 2005-10-10  Andy Wingo  <wingo@pobox.com>
23214
23215         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23216
23217         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23218         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23219         issue.
23220
23221 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23222
23223         * gst/gstiterator.c: (gst_iterator_new):
23224           Fix my previous commit: GTypes passed to gst_iterator_new()
23225           can be fundamental types.
23226
23227 2005-10-10  Wim Taymans  <wim@fluendo.com>
23228
23229         * gst/gstelement.c: (gst_element_iterate_pad_list),
23230         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23231         (gst_element_iterate_sink_pads):
23232         Use src/sink pads lists for the respective iterators instead
23233         of filtering.
23234
23235 2005-10-10  Andy Wingo  <wingo@pobox.com>
23236
23237         Merged in popt removal + GOption addition patch from Ronald, bug
23238         #169772.
23239
23240         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23241         GstElement macros around, remove popt-related symbols, add goption
23242         stuff.
23243
23244         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23245         
23246         * docs/gst/Makefile.am:
23247         * docs/libs/Makefile.am: No POPT_CFLAGS.
23248         
23249         * examples/manual/Makefile.am:
23250         * docs/manual/basics-init.xml: Doc updates with an example.
23251         
23252         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23253         (gst_init), (parse_one_option), (parse_goption_arg):
23254         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23255         bit of hand merging and debugging to get the GOption stuff working
23256         tho.
23257         
23258         * tests/Makefile.am:
23259         * tools/Makefile.am:
23260         * tools/gst-inspect.c: (main):
23261         * tools/gst-launch.c: (main):
23262         * tools/gst-run.c: (main):
23263         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23264
23265 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23266
23267         * gst/gstiterator.c: (gst_iterator_new):
23268           Add assertions to make sure passed GType is likely to really
23269           be a GType (as the compiler won't catch it if the size and
23270           GType arguments get mixed up, see #318447).
23271
23272 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23273
23274         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23275
23276         * gst/gstbin.c: (gst_bin_iterate_sorted):
23277           Pass GType and size arguments to gst_iterator_new() in the right
23278           order (maybe we should make _new() take the GType as first argument
23279           just like _new_list()?) (#318447).
23280           
23281
23282 2005-10-10  Wim Taymans  <wim@fluendo.com>
23283
23284         * gst/gstelement.c: (gst_element_finalize):
23285         And free the GStaticRecMutex too
23286
23287 2005-10-10  Andy Wingo  <wingo@pobox.com>
23288
23289         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23290         Allocate and free the mutex properly.
23291
23292         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23293         New macros.
23294         (GstElement): The state_lock is now recursive. Rebuild your
23295         plugins, suckers. Old macros adapted.
23296
23297         * docs/gst/gstreamer-sections.txt: Doc updates.
23298
23299         * gst/gstutils.h:
23300         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23301         (g_static_rec_cond_wait): Ported from state changes patch, while
23302         we wait on bug #317802 to be solved in a well-distributed GLib.
23303
23304         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23305         gst_element_change_state, variable name changes.
23306         (gst_element_change_state): Split out of gst_element_set_state in
23307         preparation for the state change merge. Doesn't pay attention to
23308         the 'transition' argument.
23309         (gst_element_set_state): Updates, hopefully purely cosmetic.
23310         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23311         state change patch.
23312         (gst_element_get_state_func): Renamed from get_state, cosmetic
23313         changes.
23314
23315 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23316
23317         * gst/elements/gstelements.c:
23318         * win32/GStreamer.vcproj:
23319         * win32/config.h:
23320         * win32/dirent.c: (_tseekdir):
23321         * win32/gst-inspect.vcproj:
23322         * win32/gst-launch.vcproj:
23323         * win32/gstconfig.h:
23324         * win32/gstelements.vcproj:
23325         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23326         * win32/gstreamer.def:
23327         * win32/msvc71.sln:
23328           updates for the win32 build (patch from Sebastien Moutte)
23329
23330 2005-10-10  Andy Wingo  <wingo@pobox.com>
23331
23332         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23333         gst_bin_get_state, cleaned up (but no logic changes).
23334         (bin_element_is_sink): Comment updates.
23335         (sink_iterator_filter): Remove needless cast.
23336         (gst_bin_iterate_sinks): Doc update.
23337         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23338         cleaned up (but no logic changes).
23339
23340         * check/states/sinks.c (test_src_sink): Cleanups from the state
23341         change patch.
23342         (test_livesrc_sink): Sync on the state.
23343
23344         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23345         the state change patch.
23346
23347         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23348         change patch.
23349
23350         * check/gst/gstbin.c: Merge in some style fixes and additional
23351         checks from Wim's state change patch.
23352
23353 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23354
23355         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23356         (gst_type_find_helper):
23357           Check whether we have the requested data already in our list of
23358           cached buffers before pulling a new buffer; also make the buffer
23359           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23360
23361 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23362
23363         * gst/gstcaps.c:
23364         * gst/gstevent.c:
23365           doc updates
23366         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23367           don't use long long, it's not portable.  Replacing with
23368           gint64 seems to work; let's hope no skeletons fall out of the closet.
23369
23370 2005-10-10  Andy Wingo  <wingo@pobox.com>
23371
23372         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23373
23374 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23375
23376         * docs/gst/gstreamer-sections.txt:
23377         * gst/gstevent.c:
23378         * gst/gstevent.h:
23379         * gst/gstinfo.c:
23380         * gst/gstinfo.h:
23381         * gst/gstmessage.c: (gst_message_parse_state_changed):
23382         * gst/gstpad.c:
23383         * gst/gstpad.h:
23384           more docs, fix compilation
23385
23386 2005-10-09  Philippe Khalaf <burger@speedy.org>
23387         * gst/gstmessage.c:
23388           Fixed a few forgotten variables on previous commit
23389
23390 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23391
23392         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23393           Fix evil typefind crasher: getrange() might return a short
23394           buffer at the end of a file, but gst_type_find_peek() must
23395           either return the full data as requested or NULL, but
23396           never a short buffer.
23397
23398 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23399
23400         * gst/gstmessage.c: (gst_message_new_state_changed),
23401         (gst_message_parse_state_changed):
23402         * gst/gstmessage.h:
23403           don't use "new", it's a C++ keyword
23404
23405 2005-10-08  Wim Taymans  <wim@fluendo.com>
23406
23407         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23408         * gst/gstelement.c: (gst_element_post_message):
23409         * gst/gstpipeline.c: (gst_pipeline_change_state):
23410         Small docs and debug updates.
23411
23412 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23413
23414         * docs/gst/gstreamer-sections.txt:
23415         * gst/gstelementfactory.c:
23416         * gst/gstevent.c:
23417         * gst/gsttaglist.c:
23418           more docs
23419
23420 2005-10-08  Wim Taymans  <wim@fluendo.com>
23421
23422         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23423         (gst_bin_dispose), (bin_bus_handler):
23424         Fix typos, add comments.
23425         Clear EOS list when going to PAUSED from any direction and do it
23426         in a threadsafe way.
23427         Get base time in a threadsafe way too.
23428         Fix confusing debug in the change_state function.
23429         Various other small cleanups.
23430         
23431         * gst/gstelement.c: (gst_element_post_message):
23432         Fix very verbose bus posting code.
23433
23434         * gst/gstpipeline.c: (gst_pipeline_class_init),
23435         (gst_pipeline_set_property), (gst_pipeline_get_property),
23436         (gst_pipeline_change_state):
23437         Small ARG_ -> PROP_ cleanup
23438
23439 2005-10-08  Wim Taymans  <wim@fluendo.com>
23440
23441         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23442         Do a less CPU demanding EOS check because we can.
23443
23444 2005-10-08  Wim Taymans  <wim@fluendo.com>
23445
23446         * libs/gst/dataprotocol/dataprotocol.c:
23447         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23448         (gst_dp_packet_from_event):
23449         * libs/gst/dataprotocol/dataprotocol.h:
23450         * libs/gst/dataprotocol/dp-private.h:
23451         It's about time we bump the version number.
23452         Since event types don't fit in the guint8 anymore describing
23453         the payload type, make payload type 16 bits wide.
23454
23455 2005-10-08  Wim Taymans  <wim@fluendo.com>
23456
23457         * docs/design/part-TODO.txt:
23458         * docs/design/part-clocks.txt:
23459         * docs/design/part-events.txt:
23460         * docs/design/part-gstbin.txt:
23461         * docs/design/part-gstelement.txt:
23462         * docs/design/part-gstpipeline.txt:
23463         * docs/design/part-live-source.txt:
23464         * docs/design/part-messages.txt:
23465         * docs/design/part-overview.txt:
23466         * docs/design/part-states.txt:
23467         Many doc updates.
23468
23469 2005-10-08  Wim Taymans  <wim@fluendo.com>
23470
23471         * gst/gstevent.c:
23472         * gst/gstevent.h:
23473         Fix event quark registration.
23474         Add some space between events so we can insert them in the
23475         right groups.
23476
23477 2005-10-08  Wim Taymans  <wim@fluendo.com>
23478
23479         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23480         (gst_base_sink_handle_buffer):
23481         Better log message.
23482
23483         * gst/gstbus.h:
23484         * gst/gstelement.h:
23485         More docs.
23486
23487         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23488         (gst_queue_set_property), (gst_queue_get_property):
23489         * gst/gstqueue.h:
23490         Remove old unused properties.
23491
23492 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23493         * docs/gst/gstreamer-sections.txt:
23494         * gst/gstmessage.c:
23495         * gst/gstmessage.h:
23496         * gst/gstminiobject.c:
23497         * gst/gstminiobject.h:
23498         * gst/gstobject.h:
23499         * gst/gstpad.h:
23500         * gst/gstutils.h:
23501           lots of new docs and doc fixes
23502
23503 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23504
23505         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23506         * gst/gstplugin.h:
23507         * gst/gstregistry.c: (gst_registry_lookup_locked),
23508         (gst_registry_scan_path_level):
23509         * gst/gstregistryxml.c: (load_plugin):
23510           Only ever load one plugin for a given plugin basename.
23511           This ensures correct overriding of GST_PLUGIN_PATH over
23512           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23513           system installed plugins.
23514
23515 2005-10-08  Wim Taymans  <wim@fluendo.com>
23516
23517         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23518         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23519         Prepare for doing QOS.
23520
23521 2005-10-08  Wim Taymans  <wim@fluendo.com>
23522
23523         * check/gst/gstbin.c: (GST_START_TEST):
23524         * check/pipelines/cleanup.c: (GST_START_TEST):
23525         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23526         Allow new clock message too.
23527
23528 2005-10-08  Wim Taymans  <wim@fluendo.com>
23529
23530         * gst/gstmessage.c: (gst_message_new_error),
23531         (gst_message_new_warning), (gst_message_new_tag),
23532         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23533         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23534         (gst_message_new_segment_start), (gst_message_new_segment_done),
23535         (gst_message_parse_state_changed),
23536         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23537         (gst_message_parse_new_clock):
23538         * gst/gstmessage.h:
23539         Also carry the clock in question.
23540
23541 2005-10-08  Wim Taymans  <wim@fluendo.com>
23542
23543         * gst/gstmessage.c: (gst_message_new_custom),
23544         (gst_message_new_eos), (gst_message_new_error),
23545         (gst_message_new_warning), (gst_message_new_tag),
23546         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23547         (gst_message_new_new_clock), (gst_message_new_segment_start),
23548         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23549         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23550         * gst/gstmessage.h:
23551         Clean up.
23552         Added clock related messages.
23553
23554         * gst/gstpipeline.c: (gst_pipeline_change_state):
23555         Post message when the clock changed.
23556
23557         * tools/gst-launch.c: (event_loop):
23558         Print new clock.
23559
23560 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23561
23562         * tools/gst-inspect.c: (print_element_properties_info):
23563           Can't pass NULL strings to g_print() on windows.
23564
23565 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23566
23567         * docs/Makefile.am:
23568         * docs/gst/Makefile.am:
23569         * docs/gst/gstreamer-docs.sgml:
23570         * docs/gst/running.xml:
23571         * docs/version.entities.in:
23572           add a chapter on running GStreamer.
23573           document GST_DEBUG and GST_PLUGIN* env vars
23574
23575 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23576
23577         * Makefile.am:
23578           remove include dir
23579         * configure.ac:
23580           remove PLUGINS_BUILDDIR stuff
23581         * gst/gst.c: (init_post):
23582           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23583         * idiottest.mak:
23584           remove, it was condescending and not needed
23585
23586 2005-10-08  Wim Taymans  <wim@fluendo.com>
23587
23588         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23589         (gst_base_sink_handle_object), (gst_base_sink_event),
23590         (gst_base_sink_wait), (gst_base_sink_handle_event),
23591         (gst_base_sink_change_state):
23592         * gst/base/gstbasesink.h:
23593         Repost EOS message while going to PLAYING if still EOS.
23594         Make sure that when receiving a FLUSH_START we don't attempt
23595         to sync on the clock anymore.
23596
23597 2005-10-08  Wim Taymans  <wim@fluendo.com>
23598
23599         * tools/gst-launch.c: (event_loop):
23600         Better message printout.
23601
23602 2005-10-08  Wim Taymans  <wim@fluendo.com>
23603
23604         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23605         (gst_bin_child_proxy_get_children_count):
23606         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23607         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23608         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23609         (gst_child_proxy_set_valist):
23610         * gst/parse/grammar.y:
23611         Make ChildProxy threadsafe and fix mem leaks.
23612
23613 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23614
23615         * gst/gst.c: (init_post):
23616           debug the GST_PLUGIN_ env vars
23617
23618 2005-10-08  Wim Taymans  <wim@fluendo.com>
23619
23620         * check/gst/gstbin.c: (GST_START_TEST):
23621         * check/gst/gstmessage.c: (GST_START_TEST):
23622         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23623         * gst/gstelement.c: (gst_element_commit_state),
23624         (gst_element_lost_state):
23625         * gst/gstmessage.c: (gst_message_new_state_changed),
23626         (gst_message_parse_state_changed):
23627         * gst/gstmessage.h:
23628         * tools/gst-launch.c: (event_loop):
23629         Added extra field to STATE_CHANGE message with the pending
23630         state, which will be different from the new state soon.
23631
23632 2005-10-08  Wim Taymans  <wim@fluendo.com>
23633
23634         * gst/gstbus.c: (gst_bus_pop):
23635         * gst/gstclock.c:
23636         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23637         Small cleanups and doc updates.
23638
23639 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23640
23641         * gst/gst.c: (init_pre):
23642         * gst/gstbin.c: (gst_bin_add_func):
23643           log distributing clocks and base time
23644         * gst/gstregistry.c: (gst_registry_add_plugin),
23645         (gst_registry_scan_path_level), (gst_registry_scan_path):
23646           clean up the debugging output a little
23647         * gst/gstutils.c: (gst_element_state_get_name):
23648           warn about a memleak (I've actually seen this be used, though
23649           it was probably a bug)
23650
23651 2005-10-07  Wim Taymans  <wim@fluendo.com>
23652
23653         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23654         (gst_base_src_init), (gst_base_src_default_newsegment),
23655         (gst_base_src_newsegment), (gst_base_src_do_seek),
23656         (gst_base_src_loop), (gst_base_src_start):
23657         * gst/base/gstbasesrc.h:
23658         Make the newsegment event customizable by subclasses.
23659
23660 2005-10-07  Wim Taymans  <wim@fluendo.com>
23661
23662         * gst/gstevent.c: (gst_event_new_buffersize),
23663         (gst_event_parse_buffersize):
23664         * gst/gstevent.h:
23665         New event for future idea.
23666
23667 2005-10-07  Andy Wingo  <wingo@pobox.com>
23668
23669         * gst/gstelement.c (gst_element_post_message): Doc update.
23670
23671         * docs/gst/gstreamer-sections.txt: Update.
23672
23673         * gst/gstmessage.c (gst_message_new_application): Made into a
23674         function like honest API calls.
23675         (gst_message_new_element): New message type.
23676
23677         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23678
23679         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23680         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23681         times.
23682
23683         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23684         NO_PREROLL from gst_element_change_state to fall through.
23685
23686 2005-10-07  Wim Taymans  <wim@fluendo.com>
23687
23688         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23689         (gst_ghost_pad_do_activate_push):
23690         Activating a ghostpad with no internal pad in push mode
23691         is ok.
23692
23693 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23694
23695         * gst/gstobject.h:
23696           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23697           Fixes compilation on Windows.
23698
23699 2005-10-07  Michael Smith <msmith@fluendo.com>
23700
23701         * tools/gst-inspect.c:
23702           Print out feature and plugin count at the end when printing out
23703           all features.
23704
23705 2005-10-04  Michael Smith <msmith@fluendo.com>
23706
23707         * gst/gsterror.c: (_gst_stream_errors_init):
23708           Add another error string used in a few existing plugins.
23709
23710         * gst/gstplugin.c:
23711         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23712         * tools/gst-inspect.c: (print_element_info):
23713           When a feature disappears from a plugin (and the feature exists in
23714           the cached registry file), things went horribly wrong. This isn't a
23715           complete fix, we should actually be removing the 'missing' features
23716           from the features list when we load the actual plugin. That's not
23717           yet implemented. 
23718
23719 2005-10-04  Johan Dahlin  <johan@gnome.org>
23720
23721         * check/gst/gstiterator.c: (GST_START_TEST):
23722         * gst/gstbin.c: (gst_bin_iterate_elements),
23723         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23724         * gst/gstelement.c: (gst_element_iterate_pads):
23725         * gst/gstformat.c: (gst_format_iterate_definitions):
23726         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23727         (gst_iterator_new_list), (gst_iterator_filter):
23728         * gst/gstiterator.h:
23729         * gst/gstquery.c: (gst_query_type_iterate_definitions):
23730         Add a GType to GstIterator, update callsites and tests.
23731
23732 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23733
23734         * gst/gstpad.c: (gst_pad_event_default_dispatch):
23735           give events a chance to be handled by event probes when the pad
23736           is not linked
23737
23738 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23739
23740         * gst/gstevent.c: (gst_event_type_get_name),
23741         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23742         * gst/gstevent.h:
23743           add string representations for event types
23744
23745 2005-10-06  Wim Taymans  <wim@fluendo.com>
23746
23747         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23748         Don't use NULL pointers.
23749
23750 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23751
23752         * gst/gst_private.h:
23753         * gst/gstbus.c:
23754         * gst/gstelement.c:
23755         * gst/gstinfo.c:
23756         * gst/gstpluginfeature.c:
23757           widen the debug category in output to fit the biggest one we have
23758           add a bus category and use it
23759           play with the colors
23760           fix up some categories
23761
23762 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23763
23764         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23765           add push activation of sink ghost pads.
23766           Andye, please verify
23767
23768 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23769
23770         * gst/gstutils.c: (gst_element_link_pads):
23771           fix a bug in the case where neither element has a pad
23772         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23773           add a test for that case
23774
23775 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23776
23777         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23778           emit have-data before checking for peers.  This allows
23779           for probe handlers to connect elements.  This helps autopluggers.
23780         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23781         (gst_pad_suite):
23782           add six checks, linked/unlinked with no/true/false probe
23783
23784 2005-10-04  Wim Taymans  <wim@fluendo.com>
23785
23786         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23787         (gst_fake_sink_event), (gst_fake_sink_preroll),
23788         (gst_fake_sink_render), (gst_fake_sink_change_state):
23789         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23790         (gst_fake_src_get_property), (gst_fake_src_create),
23791         (gst_fake_src_stop):
23792         * gst/elements/gstidentity.c: (gst_identity_stop):
23793         Protect last_message with lock.
23794
23795 2005-10-04  Edward Hervey  <edward@fluendo.com>
23796
23797         * gst/gstformat.h: 
23798         Added precision in the comments for GST_FORMAT_DEFAULT
23799
23800 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
23801
23802         * tools/gst-launch.c: (main):
23803           Don't try to run erroneous pipelines.
23804
23805 2005-10-04  Julien MOUTTE  <julien@moutte.net>
23806
23807         * gst/gstbus.c: We don't need this header.
23808
23809 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23810
23811         * configure.ac:
23812           back to development
23813
23814 === release 0.9.3 ===
23815
23816 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23817
23818         * README:
23819         * configure.ac:
23820           Releasing 0.9.3, "Unregistered"
23821
23822 2005-10-03  Andy Wingo  <wingo@pobox.com>
23823
23824         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23825         whereby calling a pad's activatepush() function can start a thread
23826         that starts to push or pull before the pad gets the FLUSHING flag
23827         unset. Hack around it by holding the stream lock until the flag is
23828         set. Need to replace this with a proper solution. Together with
23829         the ghost pad fixes, this fixes mp3 playing/tagreading.
23830
23831         * docs/design/part-gstghostpad.txt: Add a note about activation of
23832         proxy pads outside of ghost pads.
23833
23834         * gst/gstghostpad.c: Implement the ghost pad activation design.
23835
23836 2005-10-02  Andy Wingo  <wingo@pobox.com>
23837
23838         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23839         It is volatile, after all.
23840
23841         * docs/design/part-gstghostpad.txt: Flesh out activation with
23842         ghost pads.
23843
23844         * gst/base/gstbasesrc.c (gst_base_src_init): Use
23845         GST_DEBUG_FUNCPTR.
23846
23847 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
23848
23849         * configure.ac:
23850           Fix (unused) AM_CONDITIONAL tests.
23851
23852 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
23853
23854         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23855
23856         * gst/gstutils.c: (gst_pad_query_convert):
23857           Add assertion that makes sure src_val is >=0, just like
23858           gst_query_new_convert() has. (#315895)
23859
23860 2005-09-30  Edward Hervey  <edward@fluendo.com>
23861
23862         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
23863         Let's not iterate pads we're not interested in, it avoids getting 
23864         sky-high refcounts on sinkpad.
23865
23866 2005-09-30  Wim Taymans  <wim@fluendo.com>
23867
23868         * gst/gstelement.c: (gst_element_set_state),
23869         (gst_element_change_state):
23870         Small tweak, element in ASYNC remains ASYNC.
23871
23872 2005-09-30  Wim Taymans  <wim@fluendo.com>
23873
23874         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
23875         Only error is an error.
23876
23877         * gst/gstbin.c: (gst_bin_change_state):
23878         Better debugging.
23879
23880         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
23881         Also call pad_block in pad alloc.
23882
23883         * gst/gstutils.c: (gst_flow_get_name):
23884         Better debugging.
23885
23886 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23887
23888         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23889         (gst_base_src_get_range):
23890           Fix documentation typos. Add some more debug info.
23891
23892 2005-09-29  David Schleef  <ds@schleef.org>
23893
23894         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
23895           more end-user friendly.
23896         * tools/gst-inspect.c: (main): Check if command-line argument is
23897           a file and attempt to load that file as a plugin.
23898
23899 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23900
23901         * check/gst/gstbin.c:
23902         * check/states/sinks.c:
23903           fix tests for the new warning
23904         * check/gst/gstpipeline.c:
23905           add a test for pipeline and bus interaction
23906         * gst/gstelement.c:
23907           elements should be NULL if they get disposed; add a warning if not
23908
23909 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23910
23911         * gst/gstobject.c:
23912           for 2.6 refcounting, make debug log more correct by printing
23913           the actual refcounts at the time of swap (Wim)
23914
23915 2005-09-29  Andy Wingo  <wingo@pobox.com>
23916
23917         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
23918         removes signal watches previously added via
23919         gst_bus_add_signal_watch.
23920         (gst_bus_add_signal_watch): Don't return the source id, just store
23921         it on the bus if there wasn't an id already.
23922
23923         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
23924         add_signal_watch and remove_signal_watch.
23925
23926 2005-09-29  Edward Hervey  <edward@fluendo.com>
23927
23928         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
23929         Better if we actually iterate the list :)
23930
23931 2005-09-29  Wim Taymans  <wim@fluendo.com>
23932
23933         * check/gst/gstbin.c: (GST_START_TEST):
23934         Change for new bus API.
23935
23936         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
23937         (send_messages), (GST_START_TEST), (gstbus_suite):
23938         Change for new bus signal API.
23939
23940         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
23941         (gst_bus_source_prepare), (gst_bus_source_check),
23942         (gst_bus_create_watch), (gst_bus_add_watch_full),
23943         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
23944         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
23945         * gst/gstbus.h:
23946         Remove support for multiple GSources operating on different
23947         message types as it is too complex and unneeded when using
23948         signals.
23949         Added support for receiving signals from the bus.
23950
23951 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23952
23953         * docs/libs/tmpl/gstdataprotocol.sgml:
23954         * docs/manual/advanced-dataaccess.xml:
23955         * gst/elements/gstcapsfilter.c:
23956         * gst/gstutils.c:
23957           rename filter-caps to caps property
23958
23959 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23960
23961         * gst/gstvalue.c: (gst_value_deserialize_fraction):
23962           More robust fraction string parsing.
23963
23964         * docs/pwg/appendix-porting.xml:
23965           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
23966
23967 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23968
23969         * gst/gstcaps.c: (gst_caps_do_simplify):
23970           Thou shalt not free a structure and then continue using it
23971           in the next loop iteration.
23972
23973         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
23974         (gst_caps_suite):
23975           Add test case for caps simplification.
23976
23977 2005-09-29  Wim Taymans  <wim@fluendo.com>
23978
23979         * check/gst/gstbin.c: (GST_START_TEST):
23980         Oops.
23981
23982 2005-09-29  Wim Taymans  <wim@fluendo.com>
23983
23984         * check/gst/gstbin.c: (GST_START_TEST):
23985         Add bus to bin.
23986
23987         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
23988         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
23989         (find_element), (gst_bin_sort_iterator_next),
23990         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23991         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23992         (gst_bin_change_state), (gst_bin_dispose):
23993         A bin does not have a bus, it gets the bus from the parent.
23994
23995         * gst/gstelement.c: (gst_element_requires_clock),
23996         (gst_element_provides_clock), (gst_element_is_indexable),
23997         (gst_element_is_locked_state), (gst_element_change_state),
23998         (gst_element_set_bus_func):
23999         Small cleanups.
24000
24001         * gst/gstpipeline.c: (gst_pipeline_class_init),
24002         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24003         The pipeline provides a bus.
24004
24005 2005-09-28  Johan Dahlin  <johan@gnome.org>
24006
24007         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24008         gst_structure_get_enum instead of gst_structure_get_int
24009
24010         * gst/gststructure.c (gst_structure_get_enum): Impl.
24011
24012         * gst/gststructure.h (gst_structure_get_enum): Add
24013
24014         * docs/gst/gstreamer-sections.txt: Ditto
24015
24016         * gst/gstmessage.c (gst_message_new_state_changed): Use
24017         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24018         which does introspection.
24019         Reviewed by Christian Schaller
24020
24021 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24022
24023         * gst/gstinfo.c: (gst_debug_log_default):
24024           don't do dummy g_strdup()s
24025         * libs/gst/controller/gstcontroller.c:
24026         (on_object_controlled_property_changed),
24027         (gst_controlled_property_new), (gst_controller_new_valist),
24028         (gst_controller_new_list),
24029         (gst_controller_remove_properties_valist), (gst_controller_set),
24030         (gst_controller_get), (gst_controller_sync_values),
24031         (gst_controller_get_value_array), (_gst_controller_class_init),
24032         (gst_controller_get_type):
24033         * libs/gst/controller/gstcontroller.h:
24034         * libs/gst/controller/gstinterpolation.c:
24035         (gst_controlled_property_find_timed_value_node):
24036           convert // to /**/ comments
24037
24038 2005-09-28  Wim Taymans  <wim@fluendo.com>
24039
24040         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24041         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24042         (gst_bus_sync_signal_handler):
24043         * gst/gstbus.h:
24044         Added async-message and sync-message signals to the bus.
24045         Added helper BusFunc to emit signals for all posted messages.
24046
24047         * gst/gstmessage.c: (gst_message_type_get_name),
24048         (gst_message_type_to_quark), (gst_message_get_type):
24049         * gst/gstmessage.h:
24050         Register quarks for message names.
24051
24052 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24053
24054         * docs/libs/gstreamer-libs-sections.txt:
24055         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24056         (gst_controller_new_list):
24057         * libs/gst/controller/gstcontroller.h:
24058           added another constructor for language bindings
24059
24060 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24061
24062         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24063           add another check
24064         * gst/gstbus.c:
24065           add some doc
24066         * gst/gstinfo.c: (_gst_debug_init):
24067           slightly more readable color for refcount debugging
24068
24069 2005-09-28  Wim Taymans  <wim@fluendo.com>
24070
24071         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24072         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24073         (find_element), (gst_bin_sort_iterator_next),
24074         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24075         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24076         (gst_bin_change_state), (gst_bin_dispose):
24077         Small doc fixes. get_clock -> provide_clock.
24078
24079         * gst/gstelement.c: (gst_element_class_init),
24080         (gst_element_provides_clock), (gst_element_provide_clock),
24081         (gst_element_get_clock), (gst_element_commit_state),
24082         (gst_element_lost_state):
24083         * gst/gstelement.h:
24084         Make get/set_clock() symetric. Add provide_clock vmethod since
24085         that is actually what this function does.
24086
24087         * gst/gstpipeline.c: (gst_pipeline_class_init),
24088         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24089         (gst_pipeline_get_clock):
24090         get_clock -> provide_clock.
24091
24092 2005-09-28  Andy Wingo  <wingo@pobox.com>
24093
24094         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24095         lieu of real docs...
24096
24097         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24098
24099 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24100
24101         * gst/elements/gstcapsfilter.c:
24102         * gst/elements/gstfakesink.c:
24103         * gst/elements/gstfakesrc.c:
24104         * gst/elements/gstfdsink.c:
24105         * gst/elements/gstfdsrc.c:
24106         * gst/elements/gstfilesink.c:
24107         * gst/elements/gstfilesrc.c:
24108         * gst/elements/gstidentity.c:
24109         * gst/elements/gsttee.c:
24110         * gst/elements/gsttypefindelement.c:
24111           Make element details static.
24112
24113 2005-09-28  Wim Taymans  <wim@fluendo.com>
24114
24115         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24116         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24117         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24118         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24119         (gst_bin_change_state), (gst_bin_dispose):
24120         Some documentation updates.
24121         Clean up dispose handlers.
24122
24123         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24124         * gst/gstpad.c: (gst_pad_dispose):
24125         Clean up dispose handler.
24126
24127         * gst/gstpipeline.c: (gst_pipeline_change_state):
24128         Removed spurious UNLOCK.
24129
24130 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24131
24132         * docs/gst/gstreamer-sections.txt:
24133         * gst/base/gstbasesrc.h:
24134         * gst/gstelement.h:
24135         * gst/gstevent.h:
24136         * gst/gstobject.h:
24137         * gst/gstpad.h:
24138         * gst/gstpipeline.c:
24139         * gst/gstpipeline.h:
24140         * gst/gstutils.h:
24141         * gst/gstxml.h:
24142           added two new functions to the docs
24143                 documents all undocumented GstXXXFlags
24144                 completed some incomplete docs 
24145
24146 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24147
24148         * gst/gstbin.c: (gst_bin_dispose):
24149         * gst/gstelement.c: (gst_element_dispose):
24150           remove now useless and leaky resurrection code in dispose
24151         * gst/base/gstbasesrc.c: (gst_base_src_init):
24152         * gst/gstelementfactory.c: (gst_element_factory_create):
24153         * gst/gstobject.c: (gst_object_set_parent):
24154           add some debugging
24155
24156 2005-09-27  Wim Taymans  <wim@fluendo.com>
24157
24158         * docs/design/part-TODO.txt:
24159         Update TODO.
24160
24161         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24162         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24163         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24164         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24165         (gst_bin_change_state):
24166         * gst/gstelement.h:
24167         Remove element variable, we keep element info in the iterator now.
24168
24169 2005-09-27  Andy Wingo  <wingo@pobox.com>
24170
24171         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24172         values.
24173
24174 2005-09-27  Wim Taymans  <wim@fluendo.com>
24175
24176         * check/gst/gstbin.c: (GST_START_TEST):
24177         Enable check that works now.
24178
24179         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24180         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24181         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24182         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24183         (gst_bin_change_state):
24184         * gst/gstbin.h:
24185         Redid the state change algorithm using a topological sort algo.
24186         Handles all cases correctly.
24187         Exposed iterator for state change order.
24188
24189         * gst/gstelement.h:
24190         Temp storage for state changes. Need to get rid of this soon.
24191
24192 2005-09-27  Wim Taymans  <wim@fluendo.com>
24193
24194         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24195         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24196         (link_fold_func), (gst_pad_proxy_setcaps):
24197         Leak fixes, the fold functions need to unref the passed object and
24198         _get_parent_*() returns ref to parent.
24199
24200 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24201
24202         * check/gst/gstbuffer.c: (test_make_writable):
24203           Plug leak in test case and fix 'make check-valgrind'
24204
24205 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24206
24207         * gst/gstbuffer.c: (gst_subbuffer_init):
24208           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24209           works correctly in all circumstances (we could have just copied
24210           the parent buffer's readonly flag, but conceptually it seems
24211           cleaner to mark all subbuffers as read-only). (based on patch
24212           by Alessandro Decina, #314710).
24213         
24214         * check/gst/gstbuffer.c: (create_read_only_buffer),
24215         (test_make_writable), (test_subbuffer_make_writable),
24216         (gst_test_suite):
24217           Add some tests for gst_buffer_make_writable().
24218
24219 2005-09-27  Wim Taymans  <wim@fluendo.com>
24220
24221         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24222         use gst_object_has_ancestor().
24223
24224         * gst/gstobject.c: (gst_object_has_ancestor):
24225         * gst/gstobject.h:
24226         gst_object_has_ancestor() copied from gstbin.c as it is a
24227         useful function.
24228
24229         * tests/instantiate/create.c: (create_all_elements):
24230         * tests/lat.c: (handoff_src), (handoff_sink):
24231         * tests/sched/runxml.c: (main):
24232         * tests/seeking/seeking1.c: (main):
24233         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24234         (main):
24235         Fix compilation of some tests.
24236
24237 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24238
24239         * gst/gsterror.h:
24240           Remove comment. GST_TYPE_G_ERROR is here to stay,
24241           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24242           (#316961, #300610).
24243
24244 2005-09-26  Wim Taymans  <wim@fluendo.com>
24245
24246         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24247         Added check that shows error in state change order.
24248
24249 2005-09-26  Wim Taymans  <wim@fluendo.com>
24250
24251         * gst/gstbin.c: (gst_bin_change_state):
24252         Make state change function use 3 queues again, we were
24253         adding elements in the wrong order.
24254
24255         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24256         Some debug info,
24257
24258         * gst/gstpad.c: (gst_pad_dispose):
24259         Added some debug info first.
24260
24261 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24262
24263         * docs/design/draft-push-pull.txt:
24264         * docs/design/part-events.txt:
24265         * docs/design/part-overview.txt:
24266         * docs/design/part-scheduling.txt:
24267           Replace all _pull_region() with _pull_range()
24268           
24269 2005-09-26  Andy Wingo  <wingo@pobox.com>
24270
24271         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24272
24273         * check/gst-libs/controller.c: Update for controller api change.
24274
24275         * configure.ac: 
24276         * tests/Makefile.am:
24277         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24278         over by GLib bug 118439.
24279         
24280         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24281         routines to a function.
24282
24283         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24284
24285         * libs/gst/controller/gsthelper.c:
24286         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24287         (gst_object_sync_values): Renamed from sink_values. Ugh.
24288
24289         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24290
24291         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24292         Renamed from controller_key, as it is exported.
24293
24294         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24295
24296 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24297
24298         * gst/Makefile.am:
24299         * gst/gst.h:
24300         * gst/gstpad.h:
24301         * gst/gstpadtemplate.h:
24302         * gst/gstquery.c:
24303         * gst/gstquery.h:
24304         * gst/gstqueryutils.c:
24305         * gst/gstqueryutils.h:
24306           remove queryutils headers after moving the two used functions
24307           to gstquery.  also fixes build problem for gstsiddec
24308
24309 2005-09-26  Michael Smith <msmith@fluendo.com>
24310
24311         * tools/gst-launch.1.in:
24312         Correct documentation in manpage of debug syntax
24313
24314 2005-09-26  Wim Taymans  <wim@fluendo.com>
24315
24316         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24317         (gst_base_src_is_seekable), (gst_base_src_change_state):
24318         Some more debugging info.
24319
24320 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24321
24322         * docs/gst/gstreamer-sections.txt:
24323         * gst/base/gstbasetransform.h:
24324         * gst/gstindex.h:
24325           added more docs
24326
24327 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24328
24329         * docs/gst/.cvsignore:
24330         * docs/gst/tmpl/.cvsignore:
24331         * docs/gst/tmpl/gstpipeline.sgml:
24332         * docs/gst/tmpl/gstplugin.sgml:
24333         * gst/gstpipeline.c:
24334         * gst/gstplugin.c:
24335         * gst/gstplugin.h:
24336           inlined the last two docs files
24337           removed the tmpl directory from cvs (no more conflicts here!)
24338
24339 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24340
24341         * docs/gst/gstreamer-sections.txt:
24342         * docs/gst/tmpl/.cvsignore:
24343         * docs/gst/tmpl/gstpad.sgml:
24344         * docs/gst/tmpl/gstpadtemplate.sgml:
24345         * gst/Makefile.am:
24346         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24347         (gst_pad_finalize), (gst_pad_set_pad_template):
24348         * gst/gstpad.h:
24349         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24350         (gst_pad_template_class_init), (gst_pad_template_init),
24351         (gst_pad_template_dispose), (name_is_valid),
24352         (gst_static_pad_template_get), (gst_pad_template_new),
24353         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24354         (gst_pad_template_pad_created):
24355         * gst/gstpadtemplate.h:
24356           inlined two more docs
24357           factored gstpadtemplate out of gstpad
24358
24359 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24360
24361         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24362         (test_children_state_change_order_semi_sink):
24363           Fix test case: we can't rely on a fixed state change order when
24364           going from READY => PAUSED because the sink might commit its 
24365           new state first when the first buffer created by the source 
24366           reaches the sink before the source has finished its change state.
24367           (Test case still fails at times, see #316856, comment 5 onwards)
24368
24369 2005-09-24  Wim Taymans  <wim@fluendo.com>
24370
24371         * docs/design/part-events.txt:
24372         * docs/design/part-gstbus.txt:
24373         * docs/design/part-gstpipeline.txt:
24374         * docs/design/part-messages.txt:
24375         * docs/design/part-overview.txt:
24376         * docs/design/part-segments.txt:
24377         * gst/gstbin.c:
24378         * gst/gstbuffer.c:
24379         * gst/gstclock.c:
24380         * gst/gstelement.c:
24381         * gst/gstevent.c:
24382         * gst/gstfilter.c:
24383         * gst/gstiterator.c:
24384         Various documentation updates.
24385
24386 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24387
24388         * gst/gstclock.h:
24389           Well, that's embarassing.  Luckily we weren't using
24390           GST_CLOCK_DIFF anywhere.
24391
24392 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24393
24394         * common/gtk-doc.mak:
24395           don't fail on building XML, FC4 slave shows a bunch of doc
24396           missing bits that I don't get
24397         * gst/gstpad.c:
24398         * gst/gstpipeline.c:
24399         * gst/gststructure.c:
24400           some doc updates
24401
24402 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24403
24404         * docs/design/part-gstbin.txt:
24405         * docs/design/part-gstbus.txt:
24406         * gst/gstbus.c:
24407           Add blurb about how the bus goes into flushing mode and
24408           drops all messages when its bin goes from READY into NULL 
24409           state.
24410
24411 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24412
24413         * docs/gst/gstreamer-sections.txt:
24414         * gst/gststructure.c: (gst_structure_get_clock_time):
24415         * gst/gststructure.h:
24416           add a method to get a GstClockTime out of a structure
24417
24418 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24419
24420         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24421         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24422           Added test to check state change order in bins (can still be made
24423           to fail here under heavy disk load; bails out with 'Push on pad
24424           fakesink:sink0, but it was not activated in push mode').
24425
24426         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24427           Fix state change order when there is only a semi sink (#316856)
24428
24429         * gst/gstbus.c: (gst_bus_class_init):
24430           Use _class_peek_parent(), not _class_ref(); fix docs to say
24431           'default main context' instead of 'mainloop' where that is
24432           what's meant.
24433
24434         * gst/gstelement.c: (gst_element_commit_state),
24435         (gst_element_set_state):
24436           Fix typos in debug messages
24437
24438 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24439
24440         * docs/README:
24441         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24442         * gst/gstpluginfeature.c:
24443         * gst/gstutils.c:
24444           various doc updates
24445         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24446           change an assert into an error until it gets fixed properly
24447
24448 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24449
24450         * docs/gst/gstreamer-sections.txt:
24451         * docs/gst/tmpl/.cvsignore:
24452         * docs/gst/tmpl/gstelement.sgml:
24453         * docs/gst/tmpl/gstinfo.sgml:
24454         * docs/gst/tmpl/gstobject.sgml:
24455         * gst/gstelement.c:
24456         * gst/gstelement.h:
24457         * gst/gstinfo.c:
24458         * gst/gstinfo.h:
24459         * gst/gstobject.c: (gst_object_class_init):
24460         * gst/gstobject.h:
24461           inlined 3 more biiiig doc files and added some missing docs on the fly
24462
24463 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24464
24465         * check/gst/.cvsignore:
24466         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24467         * gst/gstregistryxml.c: (load_plugin),
24468         (gst_registry_xml_save_plugin):
24469           put back source in registry.  add checks for find_plugin.
24470         * testsuite/states/bin.c: (assert_state), (empty_bin),
24471         (test_adding_one_element), (main):
24472         * testsuite/states/locked.c: (main):
24473           some compile/run fixes
24474
24475 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24476
24477         * check/gst/gstvalue.c: (GST_START_TEST):
24478           fix leaks in the test itself
24479
24480 2005-09-22  Wim Taymans  <wim@fluendo.com>
24481
24482         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24483         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24484         (gst_base_sink_query):
24485         Prepare for more accurate position reporting and query
24486         handling.
24487
24488         * gst/gstelement.c: (gst_element_send_event),
24489         (gst_element_set_state):
24490         Add some comment.
24491
24492 2005-09-22  Wim Taymans  <wim@fluendo.com>
24493
24494         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24495         (gst_query_parse_segment):
24496         * gst/gstquery.h:
24497         More documentation.
24498         Add segment query for future use.
24499
24500 2005-09-22  Wim Taymans  <wim@fluendo.com>
24501
24502         * gst/gstbin.c: (gst_bin_add_func):
24503         Some more debug info.
24504
24505         * gst/gstelement.c: (gst_element_send_event):
24506         Simplify send_event
24507
24508         * gst/gstelement.h:
24509         Don't know how flags got broken.
24510
24511         * gst/gstquery.h:
24512         Added new query.
24513
24514 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24515
24516         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24517           Add simplistic test suite for GST_TYPE_DATE serialisation and
24518           deserialisation.
24519
24520 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24521
24522         * docs/gst/gstreamer-sections.txt:
24523         * gst/gststructure.c: (gst_structure_set_valist),
24524         (gst_structure_get_date):
24525         * gst/gststructure.h:
24526         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24527         (gst_date_copy), (gst_value_compare_date),
24528         (gst_value_serialize_date), (gst_value_deserialize_date),
24529         (gst_value_transform_date_string),
24530         (gst_value_transform_string_date), (_gst_value_initialize):
24531         * gst/gstvalue.h:
24532           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24533           bunch of utility functions along with a hack that checks that
24534           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24535           is required. Part of the grand scheme in #170777.
24536
24537 2005-09-22  Andy Wingo  <wingo@pobox.com>
24538
24539         * gst/gstconfig.h.in: Psych out gtk-doc.
24540
24541         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24542
24543         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24544
24545         * tools/gst-inspect.c (print_element_list): Plug some
24546         inconsequential leaks.
24547
24548         * gst/gstregistry.c (gst_registry_get_default): Doc.
24549
24550         * check/gst/gstplugin.c: 
24551         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24552         * gst/gstelementfactory.c (gst_element_factory_create): 
24553         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24554         refcount changes.
24555
24556         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24557         (gst_plugin_feature_load): Doc, don't eat refs.
24558
24559         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24560         (gst_plugin_list_free): Doc.
24561         (gst_plugin_load_file): Doc updates.
24562
24563         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24564         accessors returning refcounted objects, return a ref.
24565
24566         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24567         accessor for caps. IDEMPOTENCE. Oh yes.
24568
24569 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24570
24571         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24572
24573         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24574         (_gst_debug_register_funcptr):
24575           Add mutex to serialise access to the hash table with
24576           the function pointer => function name string mapping;
24577           make that hash table static scope (#316809).
24578
24579         * gst/registries/.cvsignore:
24580           Remove left-over file.
24581
24582 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24583
24584         * docs/pwg/appendix-porting.xml:
24585           And something about newsegment events and caps-on-buffers to
24586           the porting guide (feel free to improve).
24587
24588 2005-09-21  Andy Wingo  <wingo@pobox.com>
24589
24590         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24591         data and event probes on the same pad.
24592         (test_buffer_probe_once): Test that removing probes from within
24593         the probe functions works.
24594
24595 2005-09-21  Andy Wingo  <wingo@pobox.com>
24596
24597         * check/gst/gstutils.c: New file.
24598         (test_buffer_probe_n_times): A simple buffer probe test. More to
24599         come, foolios.
24600
24601         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24602         have-data::buffer, not have-data.
24603         (gst_pad_add_event_probe): Likewise for have-data::event.
24604         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24605         peer' isn't quite right yet though.
24606         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24607         (gst_pad_remove_data_probe): Change to take the guint handler_id
24608         as their arg, not the function+data, which is more glib-like.
24609
24610         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24611         the signal emission to indicate if the data is a buffer or an
24612         event.
24613         (gst_pad_get_type): Initialize buffer and event quarks.
24614         (gst_pad_class_init): have-data is now a detailed signal, yes it
24615         is.
24616
24617 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24618
24619         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24620         * gst/gstutils.c: (gst_util_set_value_from_string),
24621         (gst_util_set_object_arg):
24622           Don't put functional code in g_return_if_fail() or
24623           g_return_val_if_fail() statements, otherwise things will 
24624           break when G_DISABLE_CHECKS is defined during compilation.
24625
24626 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24627
24628         * docs/gst/tmpl/.cvsignore:
24629         * docs/gst/tmpl/gstvalue.sgml:
24630         * gst/gstvalue.c:
24631         * gst/gstvalue.h:
24632           inlied another one and added  some obvious docs
24633
24634 2005-09-21  Wim Taymans  <wim@fluendo.com>
24635
24636         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24637         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24638         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24639         (gst_fdsrc_get_property), (gst_fdsrc_create):
24640         * gst/elements/gstfdsrc.h:
24641         Properly implement fdsrc. Removed signal and timeout,
24642         better implemented somewhere else.
24643
24644 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24645
24646         * docs/gst/tmpl/.cvsignore:
24647         * docs/gst/tmpl/gstimplementsinterface.sgml:
24648         * gst/gstinterface.c:
24649           inlined more docs
24650
24651 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24652
24653         * docs/gst/gstreamer-sections.txt:
24654         * docs/gst/tmpl/.cvsignore:
24655         * docs/gst/tmpl/gstenumtypes.sgml:
24656           remove obsolete doc file
24657
24658 2005-09-21  David Schleef  <ds@schleef.org>
24659
24660         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24661         little beer, fix a little leak.
24662
24663 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24664
24665         * docs/gst/gstreamer-docs.sgml:
24666         * docs/gst/gstreamer-sections.txt:
24667         * docs/gst/tmpl/.cvsignore:
24668         * gst/Makefile.am:
24669         * gst/gst.h:
24670         * gst/gstbin.c:
24671         * gst/gstelement.h:
24672         * gst/gstindex.c: (gst_index_class_init):
24673         * gst/gstindex.h:
24674         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24675         (gst_index_factory_class_init), (gst_index_factory_init),
24676         (gst_index_factory_finalize), (gst_index_factory_new),
24677         (gst_index_factory_destroy), (gst_index_factory_find),
24678         (gst_index_factory_create), (gst_index_factory_make):
24679         * gst/gstindexfactory.h:
24680         * gst/gstpluginfeature.c:
24681         * gst/gstpluginfeature.h:
24682         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24683           more docs inlined, splitted gstindex.{c,h}
24684
24685 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24686
24687         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24688           fix a leak
24689
24690 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24691
24692         * gst/elements/gstfilesink.c: (gst_file_sink_init):
24693           Set sync to FALSE by default.
24694
24695 2005-09-20  Wim Taymans  <wim@fluendo.com>
24696
24697         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24698         (gst_base_sink_init):
24699         Make sync property settable from subclass.
24700
24701         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24702         (gst_fake_sink_change_state):
24703         Set sync to FALSE by default.
24704
24705 2005-09-20  Wim Taymans  <wim@fluendo.com>
24706
24707         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24708         * tools/gst-launch.c: (main):
24709         The timeout handler should have lower priority than the source
24710         so we don't timeout before popping a message with 0 timeout.
24711         Dump error messages after failed state change.
24712
24713 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24714
24715         * tools/gst-inspect.c: (print_element_properties_info):
24716           Fix two typos.
24717
24718 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24719
24720         * check/gst/gstevent.c:
24721         * gst/elements/gstfakesink.c:
24722         * gst/elements/gstfakesink.h:
24723           remove the sync property from fakesink.
24724           has the side effect of setting sync TRUE
24725           for fakesink, which is a change.  Anyone who knows how
24726           to fix this nicely in a GObject-y way, feel free.
24727
24728 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24729
24730         * docs/gst/gstreamer-docs.sgml:
24731           remove probe refsection
24732
24733 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24734
24735         * check/Makefile.am:
24736           disable valgrinding the controller test again
24737         * docs/gst/gstreamer-sections.txt:
24738           update for api-changes
24739
24740 2005-09-20  Wim Taymans  <wim@fluendo.com>
24741
24742         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24743         (gst_base_sink_set_property), (gst_base_sink_get_property),
24744         (gst_base_sink_do_sync):
24745         * gst/base/gstbasesink.h:
24746         Added sync property to basesink to disable clock sync.
24747
24748 2005-09-20  Andy Wingo  <wingo@pobox.com>
24749
24750         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24751         eating the caller's refcount.
24752
24753         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
24754         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24755         refcount.
24756
24757         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24758         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24759         of GLib 2.8 public, so we can know which refcount to check in
24760         tests.
24761
24762         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24763         (gst_object_init): Only set the gst refcount if we're going ahead
24764         with the refcount hack.
24765
24766 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24767
24768         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24769         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24770           more leaks plumbed, added more debug-logging
24771         * gst/gstmacros.h:
24772           whitespace fix
24773
24774 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24775
24776         * gst/gstmessage.c:
24777           remove include of gstmemchunk.h
24778
24779 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24780
24781         * gst/gstclock.c: (_gst_clock_id_free):
24782           Commit from the Political Party For More Atomic CVS Commits,
24783           so that people don't waste too much of their day fishing
24784           out obvious leaks out of massive commits.
24785           Oh, and fix a pretty damn obvious leak in the memchunk
24786           removal code.
24787
24788 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24789
24790         * check/Makefile.am:
24791         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24792           plug mem-leak, re-add to valgrindable tests
24793
24794 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24795
24796         * gst/gstplugin.h:
24797           unbreak the build for those who have chronic arthritis
24798           and typing "make check" is just too taxing on the hands
24799
24800 2005-09-20  Andy Wingo  <wingo@pobox.com>
24801
24802         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24803         really want it out, you should fix plugins at the same time.
24804
24805 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
24806
24807         * configure.ac:
24808         * docs/gst/gstreamer-sections.txt:
24809         * gst/gstobject.c:
24810           added missing symbols to api docs
24811           disable ref-count hack if we have glib >= 2.8
24812
24813 2005-09-19  David Schleef  <ds@schleef.org>
24814
24815         * docs/gst/Makefile.am: Ignore a few more internal headers
24816         * docs/gst/gstreamer-docs.sgml: Remove old sections
24817         * docs/gst/gstreamer-sections.txt: Remove old sections
24818         * docs/gst/tmpl/gstobject.sgml: update
24819         * docs/gst/tmpl/gstplugin.sgml: update
24820         * docs/gst/tmpl/gstpluginfeature.sgml: update
24821         * docs/random/ds/0.9-suggested-changes: update.
24822         * gst/Makefile.am: remove memchunk and trashstack, since they're
24823           not used.
24824         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24825         * gst/gst.h: don't include some headers
24826         * gst/gstchildproxy.c: add gstmarshal.h
24827         * gst/gstclock.c: Don't use memchunks
24828         * gst/gstminiobject.c: Add some docs
24829         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24830         * gst/gstobject.h: same
24831         * gst/gstplugin.c: include gstmacros.h
24832         * gst/gstplugin.h: don't include gstmacros.h, since it's private
24833         * gst/gstquery.c: don't use memchunks
24834         * gst/gstregistry.c: rename gst_registry_deinit()
24835         * gst/gstregistry.h: same
24836
24837 2005-09-19  David Schleef  <ds@schleef.org>
24838
24839         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24840         * docs/libs/gstreamer-libs-sections.txt:
24841         * docs/libs/tmpl/gstgetbits.sgml:
24842         * docs/libs/tmpl/gstputbits.sgml:
24843
24844 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
24845
24846         * win32/gstenumtypes.c:
24847         * win32/gstenumtypes.h:
24848           Update.
24849
24850 2005-09-19  Wim Taymans  <wim@fluendo.com>
24851
24852         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
24853         Automatically PAUSE and RESUME a pipeline when a flushing seek
24854         is performed.
24855
24856 2005-09-19  Andy Wingo  <wingo@pobox.com>
24857
24858         * gst/gstregistry.h: Spacing fixen.
24859
24860 2005-09-19  Wim Taymans  <wim@fluendo.com>
24861
24862         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
24863         Handle state change failure more correctly.
24864
24865 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24866
24867         * check/Makefile.am:
24868         * check/pipelines/cleanup.c: (run_pipeline):
24869         * check/pipelines/simple_launch_lines.c: (run_pipeline),
24870         (GST_START_TEST):
24871           enable cleanup again after fixing the leak
24872         * docs/README:
24873           some more info on docs
24874
24875 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24876
24877         * check/Makefile.am:
24878           re-enable tests now that leaks are plugged
24879         * check/gst/gst.c:
24880         * check/gst/gstbin.c:
24881         * check/gst/gstpipeline.c:
24882           add some more tests while fixing leaks
24883         * common/check.mak:
24884           make sure binaries are uptodate when valgrinding/gdbing
24885         * gst/gst.c:
24886         * gst/gstelementfactory.c:
24887           remove a ref too many, and add a FIXME for when we get
24888           round to disposing of classes
24889         * gst/gstplugin.c:
24890           fix the refcounting when loading a plugin from a file and
24891           the code pretends that the pointer is the same even though
24892           of course it can change
24893         * gst/gstpluginfeature.c:
24894           unref plugins marked cached (a bit confusing as a name)
24895           as the docs state should be done
24896           various doc additions to explain refcounting
24897         * gst/gstregistry.c:
24898         * gst/gstregistryxml.c:
24899           debugging
24900
24901 2005-09-19  Wim Taymans  <wim@fluendo.com>
24902
24903         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24904         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24905         (send_messages), (GST_START_TEST), (gstbus_suite):
24906         * check/gst/gstpipeline.c: (GST_START_TEST):
24907         * check/pipelines/cleanup.c: (run_pipeline):
24908         * check/pipelines/simple_launch_lines.c: (run_pipeline),
24909         (GST_START_TEST):
24910         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
24911         (gst_bus_source_check), (gst_bus_source_dispatch),
24912         (gst_bus_create_watch), (gst_bus_add_watch_full),
24913         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
24914         * gst/gstbus.h:
24915         * tools/gst-launch.c: (event_loop):
24916         * tools/gst-md5sum.c: (event_loop):
24917         GstBusHandler -> GstBusFunc, return value has the same meaning as
24918         any other GSource (FALSE == remove source).
24919         _add_watch() and _add_watch_full() now take a MessageType mask to
24920         only handle specific types of messages.
24921         _poll() returns the GstMessage instead of the message type to avoid
24922         race conditions.
24923         _have_pending() takes a MessageType mask now too.
24924         Added testsuite for multiple bus watches.
24925         Fix testsuites and applications for new bus API.
24926
24927 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24928
24929         * check/Makefile.am:
24930           mark a bunch of the tests as to fix until we fix them
24931
24932 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24933
24934         * common/check.mak:
24935           use GST_PLUGIN settings for valgrind tests as well, so we're
24936           valgrinding the correct thing
24937         * gst/gst.c: (init_post):
24938           plug another leak
24939
24940 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24941
24942         * gst/gst.c: (init_post), (gst_deinit):
24943         * gst/gstelementfactory.c: (gst_element_factory_class_init),
24944         (gst_element_factory_finalize), (gst_element_factory_cleanup):
24945         * gst/gstindex.c: (gst_index_factory_class_init),
24946         (gst_index_factory_finalize):
24947         * gst/gstobject.c: (gst_object_dispose):
24948         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
24949         (gst_plugin_load_file), (gst_plugin_desc_free):
24950         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
24951         (gst_plugin_feature_finalize):
24952         * gst/gstregistry.c: (gst_registry_class_init),
24953         (gst_registry_init), (gst_registry_finalize),
24954         (gst_registry_get_default), (gst_registry_deinit):
24955         * gst/gstregistry.h:
24956         * gst/gstregistryxml.c: (load_feature), (load_plugin):
24957           various cleanups and memleak plugging.  make valgrind is happy now.
24958
24959 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24960
24961         * common/check.mak:
24962           add a check-valgrind target
24963
24964 2005-09-18  David Schleef  <ds@schleef.org>
24965
24966         * tools/gst-inspect.c: Revert the GOption code.
24967
24968 2005-09-17  David Schleef  <ds@schleef.org>
24969
24970         * check/Makefile.am: Fix environment variables.
24971         * check/gst/gstplugin.c: Fix for API changes.
24972         * tools/gst-inspect.c: Fix for API changes.
24973         * tools/gst-xmlinspect.c: Fix for API changes.
24974         * gst/gstelementfactory.c:
24975         * gst/gstplugin.c:
24976         * gst/gstplugin.h:
24977         * gst/gstpluginfeature.c:
24978         * gst/gstpluginfeature.h:
24979         * gst/gstregistry.c:
24980         * gst/gstregistry.h:
24981         * gst/gstregistryxml.c:
24982         * gst/gsttypefind.c:
24983         * gst/gsttypefindfactory.c:
24984         * gst/indexers/gstfileindex.c:
24985         * gst/indexers/gstmemindex.c:
24986         * gst/schedulers/Makefile.am:
24987           Change registry to keep track of both plugins and features,
24988           removing the feature tracking from plugins themselves.
24989
24990 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
24991
24992         * check/Makefile.am:
24993         * tools/gst-register.1.in:
24994           remove gst-register
24995
24996 2005-09-15  David Schleef  <ds@schleef.org>
24997
24998         * check/gst/gstplugin.c:
24999         * gst/gstelementfactory.c:
25000         * gst/gstplugin.c:
25001         * gst/gstpluginfeature.c:
25002         * gst/gstregistry.c:
25003           Getting tired of debugging.  Disabled all the unreffing of
25004           plugins and features, which fixes the segfaults, but of
25005           course leaks like crazy.  At least playbin works.
25006
25007 2005-09-15  David Schleef  <ds@schleef.org>
25008
25009         * check/gst/gstplugin.c: (register_check_elements),
25010         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25011         More testing
25012         * gst/elements/gsttypefindelement.c: Fix refcounting.
25013         * gst/gsttypefind.c:
25014         * gst/gsttypefindfactory.c:
25015         * gst/gsttypefindfactory.h:
25016
25017 2005-09-15  David Schleef  <ds@schleef.org>
25018
25019         * gst/gstindex.c: get refcounting correct.
25020         * gst/gstregistry.c: Handle the case where a feature/plugin is
25021           not found.
25022
25023 2005-09-15  David Schleef  <ds@schleef.org>
25024
25025         * check/Makefile.am:
25026         * check/gst/gstplugin.c: Add test
25027         * gst/gstplugin.c: Fix problems noticed by testsuite
25028         * gst/gstplugin.h:
25029         * gst/gstregistry.c: 
25030         * gst/gstregistry.h:
25031
25032 2005-09-15  David Schleef  <ds@schleef.org>
25033
25034         * gst/gstplugin.c: Implement semi-decent recounting and locking
25035           in plugins and plugin features.
25036         * gst/gstplugin.h:
25037         * gst/gstpluginfeature.c:
25038         * gst/gstpluginfeature.h:
25039         * gst/gstregistry.c:
25040
25041 2005-09-15  Michael Smith <msmith@fluendo.com>
25042
25043         * gst/gstregistry.c: (gst_registry_get_feature_list):
25044           Implement this. Makes oggdemux work; decodebin still broken.
25045
25046 2005-09-14  David Schleef  <ds@schleef.org>
25047
25048         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25049           #316076)
25050         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25051         * gst/check/Makefile.am:
25052         * libs/gst/controller/Makefile.am:
25053         * libs/gst/dataprotocol/Makefile.am:
25054
25055 2005-09-14  David Schleef  <ds@schleef.org>
25056
25057         * configure.ac: Remove getbits library.  Nothing uses it, and
25058           it should be in something like liboil if someone did want
25059           to use it.
25060         * libs/gst/Makefile.am:
25061         * libs/gst/getbits/Makefile.am:
25062         * libs/gst/getbits/gbtest.c:
25063         * libs/gst/getbits/getbits.c:
25064         * libs/gst/getbits/getbits.h:
25065         * libs/gst/getbits/gstgetbits_generic.c:
25066         * libs/gst/getbits/gstgetbits_i386.s:
25067         * libs/gst/getbits/gstgetbits_inl.h:
25068
25069 2005-09-14  David Schleef  <ds@schleef.org>
25070
25071         * gst/Makefile.am: Dist glib-compat.h
25072
25073 2005-09-14  David Schleef  <ds@schleef.org>
25074
25075         * configure.ac: Remove gst/registries, since it's no longer used.
25076         * gst/registries/Makefile.am:
25077         * gst/registries/gstlibxmlregistry.c:
25078         * gst/registries/gstlibxmlregistry.h:
25079         * gst/registries/gstxmlregistry.c:
25080         * gst/registries/gstxmlregistry.h:
25081         * gst/registries/registrytest.c:
25082
25083 2005-09-14  David Schleef  <ds@schleef.org>
25084
25085         * gst/glib-compat.h:
25086         * gst/gstregistryxml.c:
25087           Convergence is near.  Seriously.
25088
25089 2005-09-14  David Schleef  <ds@schleef.org>
25090
25091         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25092         * gst/glib-compat.h:
25093           Attempt #4 to appease the buildbots.
25094
25095 2005-09-14  David Schleef  <ds@schleef.org>
25096
25097         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25098           Attempt #3.
25099
25100 2005-09-14  David Schleef  <ds@schleef.org>
25101
25102         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25103         Attempt #2.
25104
25105 2005-09-14  David Schleef  <ds@schleef.org>
25106
25107         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25108           the new functions.
25109
25110 2005-09-14  David Schleef  <ds@schleef.org>
25111
25112         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25113         * gst/glib-compat.h: Add some functions that are in newer versions
25114           of glib than we care to require.
25115         * gst/gstregistryxml.c: Use them.
25116
25117 2005-09-14  David Schleef  <ds@schleef.org>
25118
25119         * po/POTFILES.in: remove gst-register.c
25120
25121 2005-09-14  David Schleef  <ds@schleef.org>
25122
25123         * docs/gst/gstreamer-docs.sgml:
25124         * docs/gst/gstreamer-sections.txt:
25125         * docs/gst/gstreamer.types:
25126         * docs/gst/tmpl/gstelement.sgml:
25127         * docs/gst/tmpl/gstplugin.sgml:
25128         * docs/gst/tmpl/gstpluginfeature.sgml:
25129           Documentation updates for registry changes.
25130
25131 2005-09-14  David Schleef  <ds@schleef.org>
25132
25133         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25134           because we don't require glib-2.8.
25135
25136 2005-09-14  David Schleef  <ds@schleef.org>
25137
25138         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25139           registries directory.
25140
25141 2005-09-14  David Schleef  <ds@schleef.org>
25142
25143         * check/Makefile.am:
25144         * check/generic/states.c:
25145         * gst/Makefile.am:
25146         * gst/gst.c:
25147         * gst/gst.h:
25148         * gst/gst_private.h:
25149         * gst/gstelementfactory.c:
25150         * gst/gstindex.c:
25151         * gst/gstinfo.c:
25152         * gst/gstplugin.c:
25153         * gst/gstplugin.h:
25154         * gst/gstpluginfeature.c:
25155         * gst/gstpluginfeature.h:
25156         * gst/gstregistry.c:
25157         * gst/gstregistry.h:
25158         * gst/gstregistrypool.c: remove
25159         * gst/gstregistrypool.h: remove
25160         * gst/gsttypefind.c:
25161         * gst/gsttypefindfactory.c:
25162         * gst/gsturi.c:
25163         * tools/Makefile.am:
25164         * tools/gst-compprep.c:
25165         * tools/gst-inspect.c:
25166         * tools/gst-register.c: remove
25167         * tools/gst-xmlinspect.c:
25168           Registry rewrite.  Changes registry from being a file created
25169           by a tool into a simple cache file created automatically by 
25170           libgstreamer.  Removed gst-register (because it's no longer
25171           needed).  Remove registry pools, because we only have one
25172           registry implementation (XML).  Fix up other subsystems as
25173           necessary.
25174
25175 2005-09-13  Michael Smith <msmith@fluendo.com>
25176
25177         * gst/gstconfig.h.in:
25178           Don't Use windows linking attributes for MinGW. Fixes #316157
25179
25180 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25181
25182         * gst/gstutils.c: (set_state_async_thread_func),
25183         (gst_element_set_state_async):
25184           Apparently people think it's better if this function doesn't
25185           try to set the state to whatever state was asked for on the first
25186           call to this function for any object.  Seriously.
25187
25188 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25189
25190         * check/gst/gstpipeline.c: (GST_START_TEST):
25191         * docs/gst/gstreamer-sections.txt:
25192         * gst/gstutils.c: (set_state_async_thread_func),
25193         (gst_element_set_state_async):
25194         * gst/gstutils.h:
25195           add a "gst_element_set_state_async" method that
25196           sets the state and starts a thread to make sure the state
25197           change completes as best as it can
25198
25199 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25200
25201         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25202           codify design+behaviour in testsuite after discussion
25203
25204 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25205
25206         * docs/gst/tmpl/gstelement.sgml:
25207         * docs/manual/appendix-quotes.xml:
25208           add a quote
25209         * gst/gstelement.c: (gst_element_set_state):
25210           add some debug
25211
25212 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25213
25214         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25215         (gst_base_transform_prepare_output_buf),
25216         (gst_base_transform_handle_buffer):
25217         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25218         (gst_capsfilter_prepare_buf):
25219           Remove the requirement for sub-classes to call the parent
25220           implementation of prepare_output_buffer with a wrapper function.
25221           
25222         * gst/gsttaglist.h:
25223         * gst/gsttagsetter.h:
25224           Fix #define wrapper
25225
25226 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25227
25228         * docs/gst/gstreamer-sections.txt:
25229           more doc cleanups
25230
25231 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25232
25233         * docs/gst/gstreamer-sections.txt:
25234         * docs/gst/tmpl/gstelement.sgml:
25235         * docs/gst/tmpl/gstplugin.sgml:
25236         * gst/gstminiobject.c:
25237         * gst/gstvalue.h:
25238           docs now stop throwing warnings
25239
25240 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25241
25242         * docs/gst/gstreamer-sections.txt:
25243         * docs/gst/gstreamer.types:
25244         * docs/gst/tmpl/gstpad.sgml:
25245         * docs/gst/tmpl/gsttypes.sgml:
25246         * gst/base/gstadapter.h:
25247         * gst/base/gstbasesink.h:
25248         * gst/base/gstbasesrc.h:
25249         * gst/gstbin.h:
25250         * gst/gstbuffer.h:
25251         * gst/gstbus.h:
25252         * gst/gstcaps.h:
25253         * gst/gstclock.h:
25254         * gst/gstelement.h:
25255         * gst/gstevent.h:
25256         * gst/gstmessage.h:
25257         * gst/gstpad.h:
25258         * gst/gststructure.c:
25259         * gst/registries/gstlibxmlregistry.h:
25260           various documentation fixes
25261
25262 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25263
25264         * docs/gst/gstreamer-sections.txt:
25265         * docs/gst/tmpl/gstvalue.sgml:
25266           rearrange gstvalue section
25267         * gst/gstutils.c: (gst_element_state_get_name):
25268           NONE -> VOID
25269         * gst/gstvalue.c: (_gst_value_initialize):
25270         * gst/gstvalue.h:
25271           doc updates
25272
25273 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25274
25275         * check/gst-libs/controller.c:
25276           Header include fix.
25277         * gst/base/gstbasetransform.c:
25278         (gst_base_transform_default_prepare_buf),
25279         (gst_base_transform_handle_buffer):
25280         * gst/base/gstbasetransform.h:
25281           Some more basetransform changes and fixes to enable sub-classes
25282           that modify buffer metadata only.
25283         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25284         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25285         (gst_capsfilter_prepare_buf):
25286           If the output pad has fixed allowed caps and input buffers 
25287           don't have any, set the fixed caps on outgoing buffers.
25288
25289 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25290         * check/elements/identity.c: (GST_START_TEST):
25291           Make the error a little clearer when the test fails because
25292           identity made a copy of the buffer.
25293         * docs/gst/gstreamer-sections.txt:
25294           New symbols in gstbasetransform.h
25295         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25296         (gst_base_transform_init), (gst_base_transform_transform_size),
25297         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25298         (gst_base_transform_default_prepare_buf),
25299         (gst_base_transform_get_unit_size),
25300         (gst_base_transform_buffer_alloc),
25301         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25302         (gst_base_transform_change_state),
25303         (gst_base_transform_set_passthrough),
25304         (gst_base_transform_set_in_place),
25305         (gst_base_transform_is_in_place):
25306         * gst/base/gstbasetransform.h:
25307           Change BaseTransform to separate in_place operate from same_caps
25308           output. in_place implies that the element can perform the transform
25309           on incoming buffers in-place, even if the caps on the output are
25310           different.
25311           Sub-class elements can now implement special buffer allocation
25312           methods for outgoing buffers if they wish to.
25313           Big documentation addition.
25314         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25315         * gst/elements/gstelements.c:
25316           Changes for basetransform modifications.
25317         * gst/elements/Makefile.am:
25318         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25319           Compile fix. Extra debug output.
25320
25321 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25322
25323         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25324         (gst_pad_suite):
25325           add tests for valid pad naming
25326         * gst/check/gstcheck.c: (gst_check_log_message_func),
25327         (gst_check_log_critical_func):
25328           add ASSERT_WARNING
25329           remove printing of code, it is fragile when the code contains
25330           % and the line number is enough info
25331         * gst/check/gstcheck.h:
25332         * gst/gstpad.c: (gst_pad_template_new):
25333           fix memleaks
25334
25335 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25336
25337         * configure.ac:
25338           say what CHECK flags we use
25339         * docs/libs/gstreamer-libs.types:
25340         * libs/gst/controller/Makefile.am:
25341         * libs/gst/controller/gst-controller.c:
25342         * libs/gst/controller/gst-controller.h:
25343         * libs/gst/controller/gst-helper.c:
25344         * libs/gst/controller/gst-interpolation.c:
25345         * libs/gst/controller/gstcontroller.c:
25346         * libs/gst/controller/gsthelper.c:
25347         * libs/gst/controller/gstinterpolation.c:
25348         * tools/gst-inspect.c: (print_plugin_info):
25349           we don't use dashes in header names
25350
25351 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25352
25353         * check/Makefile.am:
25354         * check/gst/.cvsignore:
25355         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25356         (gst_pipeline_suite), (main):
25357           adding a test for pipelines and state changes
25358         * gst/gstutils.c: (get_state_func):
25359           add some debugging
25360         * gstreamer.spec.in:
25361           fix up spec file
25362
25363 2005-09-08  Michael Smith <msmith@fluendo.com>
25364
25365         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25366         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25367         (gst_file_src_is_seekable), (gst_file_src_get_size),
25368         (gst_file_src_start):
25369         * gst/elements/gstfilesrc.h:
25370           Various fixes for unseekable, unmmapable, and non-normal files, so
25371           that fallback to read() rather than mmap() works.
25372         * gst/gstevent.c: (gst_event_new_newsegment):
25373           Allow newsegment events with segment_start == segment_end, as will
25374           correctly happen if you use filesrc on a zero-size file, for
25375           example.
25376
25377 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25378
25379         * gst/gstplugin.c: (gst_plugin_load_file):
25380           Call g_module_close when we don't load the module
25381
25382         * gst/registries/gstlibxmlregistry.c:
25383         (gst_xml_registry_get_property):
25384           Port leak fix from 0.8
25385
25386 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25387
25388         * docs/gst/gstreamer-docs.sgml:
25389         * docs/gst/tmpl/.cvsignore:
25390         * docs/gst/tmpl/gsttrace.sgml:
25391         * docs/gst/tmpl/gsttrashstack.sgml:
25392         * gst/Makefile.am:
25393         * gst/gst.h:
25394         * gst/gstelement.h:
25395         * gst/gstevent.h:
25396         * gst/gstmessage.c:
25397         * gst/gstmessage.h:
25398         * gst/gsttag.c:
25399         * gst/gsttag.h:
25400         * gst/gsttaginterface.c:
25401         * gst/gsttaginterface.h:
25402         * gst/gsttaglist.c:
25403         * gst/gsttaglist.h:
25404         * gst/gsttagsetter.c:
25405         * gst/gsttagsetter.h:
25406         * gst/gsttrace.c:
25407         * gst/gsttrace.h:
25408         * gst/gsttrashstack.c:
25409           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25410           inlined docs for gsttrace, gsttrashstack
25411
25412 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25413
25414         * gst/Makefile.am:
25415         * gst/elements/gstbufferstore.h:
25416         * gst/elements/gsttypefindelement.c:
25417         * gst/elements/gsttypefindelement.h:
25418         * gst/gst.h:
25419         * gst/gsttypefind.c:
25420         * gst/gsttypefind.h:
25421         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25422         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25423         (gst_type_find_factory_dispose),
25424         (gst_type_find_factory_unload_thyself),
25425         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25426         (gst_type_find_factory_get_caps),
25427         (gst_type_find_factory_get_extensions),
25428         (gst_type_find_factory_call_function):
25429         * gst/gsttypefindfactory.h:
25430         * gst/registries/gstlibxmlregistry.c:
25431         * gst/registries/gstxmlregistry.c:
25432           splitted gsttypefind into gsttypefind, gsttypefindfactory
25433
25434 2005-09-07  Andy Wingo  <wingo@pobox.com>
25435
25436         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25437         condition whereby the pad's task function is entered before the
25438         pad_mode variable was set.
25439
25440 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25441
25442         * gst/gstpad.c: (gst_pad_alloc_buffer):
25443           Catch misbehaving pad_alloc functions that don't
25444           set up caps and do it for them.
25445
25446 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25447
25448         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25449           test for pipe!=NULL
25450         * docs/gst/tmpl/.cvsignore:
25451         * docs/gst/tmpl/gstmemchunk.sgml:
25452         * docs/gst/tmpl/gstparse.sgml:
25453         * docs/gst/tmpl/gsttaglist.sgml:
25454         * docs/gst/tmpl/gsttagsetter.sgml:
25455         * docs/gst/tmpl/gsttypefind.sgml:
25456         * docs/gst/tmpl/gsttypefindfactory.sgml:
25457         * gst/gstmemchunk.c:
25458         * gst/gstparse.c:
25459         * gst/gsttag.c:
25460         * gst/gsttaginterface.c:
25461         * gst/gsttypefind.c:
25462         * gst/gsttypefind.h:
25463           inlined more docs
25464
25465 === release 0.9.2 ===
25466
25467 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25468
25469         * NEWS:
25470         * RELEASE:
25471         * configure.ac:
25472           releasing 0.9.2, "South"
25473
25474 2005-09-05  Andy Wingo  <wingo@pobox.com>
25475
25476         * gst/registries/gstxmlregistry.h:
25477         * gst/registries/gstxmlregistry.c: Um... resurrect...
25478         
25479         * gst/registries/gstxmlregistry.h:
25480         * gst/registries/gstxmlregistry.c: and update to newer API.
25481         Incidentally they should be a bit faster now that they don't have
25482         to parse the caps.
25483         
25484 2005-09-05  Andy Wingo  <wingo@pobox.com>
25485
25486         * gst/registries/gstxmlregistry.h:
25487         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25488         replaced by the libxml registry a while back
25489
25490 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25491
25492         * docs/gst/tmpl/gstplugin.sgml:
25493         * gst/elements/gstelements.c:
25494         * gst/gst.c:
25495         * gst/gstplugin.c: (gst_plugin_register_func),
25496         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25497         (gst_plugin_get_source):
25498         * gst/gstplugin.h:
25499         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25500         (gst_xml_registry_save_plugin):
25501         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25502         (gst_xml_registry_save_plugin):
25503         * tools/gst-inspect.c: (print_plugin_info):
25504           add a "source" plugin description field, to represent the source
25505           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25506           will set it to PACKAGE, which is automake's idea of the name of
25507           the source project.
25508
25509 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25510
25511         * Makefile.am:
25512         * autogen.sh:
25513         * configure.ac:
25514         * docs/Makefile.am:
25515         * docs/faq/Makefile.am:
25516         * docs/gst/tmpl/gstelement.sgml:
25517         * docs/gst/tmpl/gsttypes.sgml:
25518         * docs/htmlinstall.mak:
25519         * docs/manual/Makefile.am:
25520         * docs/pwg/Makefile.am:
25521           reorganize doc build a little
25522           split out docbook and gtk-doc stuff
25523           have two separate --enable's and enable them through autogen
25524           but disable by default in configure (to be similar to other
25525           projects)
25526         * gstreamer.spec.in:
25527           clean up docs install
25528         * po/af.po:
25529         * po/az.po:
25530         * po/ca.po:
25531         * po/cs.po:
25532         * po/de.po:
25533         * po/en_GB.po:
25534         * po/fr.po:
25535         * po/it.po:
25536         * po/nb.po:
25537         * po/nl.po:
25538         * po/ru.po:
25539         * po/sq.po:
25540         * po/sr.po:
25541         * po/sv.po:
25542         * po/tr.po:
25543         * po/uk.po:
25544         * po/vi.po:
25545           translation updates
25546
25547 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25548
25549         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25550           Add comment.
25551           
25552         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25553         (gst_fake_sink_change_state):
25554           Make state change function thread-safe.
25555           
25556         * gst/gstpad.c: (gst_pad_alloc_buffer):
25557           Set offset on generic buffer allocated by fallback.
25558
25559 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25560
25561         * docs/gst/gstreamer-sections.txt:
25562         * docs/gst/tmpl/gstelement.sgml:
25563         * gst/gstpad.c:
25564         * libs/gst/controller/gst-controller.c:
25565         (gst_controlled_property_set_interpolation_mode),
25566         (gst_controlled_property_new),
25567         (gst_controller_find_controlled_property):
25568          run the wingo-magic script against the docs
25569
25570 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25571
25572         * docs/gst/gstreamer-docs.sgml:
25573         * docs/gst/gstreamer-sections.txt:
25574         * docs/gst/tmpl/.cvsignore:
25575         * docs/gst/tmpl/gstelementdetails.sgml:
25576         * docs/gst/tmpl/gstelementfactory.sgml:
25577         * gst/gst.c:
25578         * gst/gstbus.c:
25579         * gst/gstelementfactory.c:
25580         * gst/gstelementfactory.h:
25581           merged elementdetails docs into elementfactory docs
25582           inlined both
25583
25584 2005-09-02  Andy Wingo  <wingo@pobox.com>
25585
25586         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25587         consider this enum an enum and not a flags.
25588
25589 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25590
25591         * docs/gst/gstreamer-docs.sgml:
25592         * docs/gst/tmpl/.cvsignore:
25593         * docs/gst/tmpl/gstghostpad.sgml:
25594         * docs/gst/tmpl/gstiterator.sgml:
25595         * docs/gst/tmpl/gstmacros.sgml:
25596         * docs/gst/tmpl/gstrealpad.sgml:
25597         * docs/gst/tmpl/gstregistry.sgml:
25598         * docs/gst/tmpl/gstregistrypool.sgml:
25599         * docs/gst/tmpl/gststructure.sgml:
25600         * docs/gst/tmpl/gstsystemclock.sgml:
25601         * docs/gst/tmpl/gsttrace.sgml:
25602         * gst/gstghostpad.c:
25603         * gst/gstmacros.h:
25604         * gst/gstmemchunk.c:
25605         * gst/gstmemchunk.h:
25606         * gst/gstqueue.c:
25607         * gst/gstregistry.c:
25608         * gst/gstregistrypool.c:
25609         * gst/gststructure.c:
25610         * gst/gstsystemclock.c:
25611           more docs inlined
25612
25613 2005-09-02  Andy Wingo  <wingo@pobox.com>
25614
25615         * gst/gstelement.h (GstState): Renamed from GstElementState,
25616         changed to be a normal enum instead of flags.
25617         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25618         munged to be GST_STATE_CHANGE_*.
25619         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25620         work with the new state representation.
25621         (GstStateChange): New enumeration of possible state transitions.
25622         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25623         (GstElementClass::change_state): Pass the GstStateChange along as
25624         an argument. Helps language bindings, so they don't have to use
25625         tricky lock-needing macros like GST_STATE_CHANGE ().
25626
25627         * scripts/update-states (file): New script. Run it on a file to
25628         update it for state naming and API changes. Updates files in
25629         place.
25630
25631         * All files updated for the new API.
25632
25633 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25634
25635         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25636         * gst/gstutils.c: (gst_util_set_value_from_string),
25637         (gst_util_set_object_arg):
25638           fix a bunch of unchecked return values
25639         * tools/gst-complete.c: (main):
25640         * gstreamer.spec.in:
25641           clean up a little
25642
25643 2005-09-01  Wim Taymans  <wim@fluendo.com>
25644
25645         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25646         (gst_base_sink_event), (gst_base_sink_do_sync),
25647         (gst_base_sink_handle_event):
25648         * gst/base/gstbasesink.h:
25649         Handle newsegments more correctly.
25650
25651         * gst/gstbus.c:
25652         Fix docs.
25653
25654         * gst/gstevent.c: (gst_event_new_newsegment):
25655         A newsegment cannot have a start_time of -1
25656
25657 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25658
25659         * win32/gstenumtypes.c:
25660         * win32/gstenumtypes.h:
25661           Update
25662
25663 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25664
25665         * libs/gst/controller/gst-controller.c:
25666         (gst_controlled_property_set_interpolation_mode),
25667         (gst_controlled_property_new):
25668          fixed boolean again
25669
25670 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25671
25672         * docs/faq/gst-uninstalled:
25673           add -good
25674         * gst/gstevent.c:
25675         * gst/gstevent.h:
25676           remove wrong docs
25677         * gst/gstutils.c: (gst_element_link_filtered):
25678         * gst/gstutils.h:
25679           add gst_element_link_filtered
25680
25681 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25682
25683         * docs/gst/gstreamer-docs.sgml:
25684         * docs/gst/gstreamer-sections.txt:
25685         * docs/gst/tmpl/.cvsignore:
25686         * docs/gst/tmpl/gsterror.sgml:
25687         * docs/gst/tmpl/gstfilter.sgml:
25688         * docs/gst/tmpl/gsturihandler.sgml:
25689         * docs/gst/tmpl/gsturitype.sgml:
25690         * docs/gst/tmpl/gstutils.sgml:
25691         * docs/gst/tmpl/gstxml.sgml:
25692         * gst/gsterror.c:
25693         * gst/gsterror.h:
25694         * gst/gstfilter.c:
25695         * gst/gsturi.c:
25696         * gst/gsturitype.c:
25697         * gst/gstutils.c:
25698         * gst/gstxml.c:
25699           inlined more docs, fixed double id-ref
25700
25701 2005-08-31  Wim Taymans  <wim@fluendo.com>
25702
25703         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25704         (gst_base_transform_handle_buffer):
25705         Passthrough elements don't need the caps as they don't care.
25706
25707 2005-08-31  Wim Taymans  <wim@fluendo.com>
25708
25709         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25710         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25711         Don't leak refcounts on buffers.
25712
25713 2005-08-31  Wim Taymans  <wim@fluendo.com>
25714
25715         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25716         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25717         (gst_base_transform_chain), (gst_base_transform_change_state):
25718         * gst/base/gstbasetransform.h:
25719         Handle the case where we are not negotiated more gracefully.
25720
25721 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
25722
25723         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25724         (gst_file_src_map_region):
25725           Set READONLY flag on mmap'ed buffers, otherwise
25726           gst_buffer_make_writable() won't work properly (#314708).
25727
25728 2005-08-31  Wim Taymans  <wim@fluendo.com>
25729
25730         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25731         passthrough elements can even do inplace on non writable
25732         buffers (as they don't touch them).
25733
25734 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25735
25736         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25737         (gst_test_mono_source_set_property),
25738         (gst_test_mono_source_class_init), (GST_START_TEST),
25739         (gst_controller_suite):
25740           more tests (hehe I have the most)
25741         * gst/gstbus.c:
25742           describe popping messages whenusing mulltiple sources
25743         * libs/gst/controller/gst-controller.c:
25744         (gst_controlled_property_set_interpolation_mode),
25745         (gst_controlled_property_new):
25746         * libs/gst/controller/gst-controller.h:
25747         * libs/gst/controller/gst-interpolation.c:
25748           implement boolean properties
25749
25750 2005-08-31  Wim Taymans  <wim@fluendo.com>
25751
25752         * gst/gstminiobject.c: (gst_mini_object_ref):
25753         Cannot assert that the refcount has to be positive
25754         since a disposed object can be resurrected.
25755
25756 2005-08-31  Wim Taymans  <wim@fluendo.com>
25757
25758         * gst/gstpad.c: (gst_pad_init):
25759         Revert change, need to first fix badly behaving 
25760         apps.
25761
25762 2005-08-30  Wim Taymans  <wim@fluendo.com>
25763
25764         * check/elements/fakesrc.c: (setup_fakesrc):
25765         * check/elements/identity.c: (setup_identity):
25766         Activate pads before using them.
25767
25768 2005-08-30  Wim Taymans  <wim@fluendo.com>
25769
25770         * gst/base/gstadapter.c: (gst_adapter_flush):
25771         Flushing out 0 bytes is ok for this function.
25772
25773         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25774         no newsegment gives a warning and sets the start/stop to 
25775         invalid.
25776
25777         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25778         (gst_base_transform_set_passthrough):
25779         Some debug info.
25780
25781         * gst/gstminiobject.c: (gst_mini_object_ref):
25782         Check refcount here too.
25783
25784         * gst/gstpad.c: (gst_pad_init):
25785         Pads are initially flushing and refusing data.
25786
25787         * gst/gstutils.c: (gst_element_link_pads_filtered):
25788         When adding a capsfilter element make sure it has the
25789         same state as the parent bin.
25790
25791 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25792
25793         * docs/gst/tmpl/.cvsignore:
25794         * docs/gst/tmpl/gstformat.sgml:
25795         * docs/gst/tmpl/gstversion.sgml:
25796         * gst/gstbus.h:
25797         * gst/gstformat.c:
25798         * gst/gstformat.h:
25799         * gst/gstversion.h.in:
25800           more docs and two more inlined
25801
25802 2005-08-30  Wim Taymans  <wim@fluendo.com>
25803
25804         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25805         Don't sync to clock.
25806
25807 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25808
25809         * docs/gst/gstreamer-sections.txt:
25810           ultral33t func10ns deserve to appear in the docs actually
25811         * docs/gst/tmpl/.cvsignore:
25812         * docs/gst/tmpl/gstcompat.sgml:
25813         * docs/gst/tmpl/gstconfig.sgml:
25814         * gst/check/gstcheck.c:
25815         * gst/gstcompat.h:
25816         * gst/gstconfig.h.in:
25817           inlined more docs
25818
25819 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25820
25821         * docs/gst/tmpl/.cvsignore:
25822         * docs/gst/tmpl/gstquery.sgml:
25823         * docs/gst/tmpl/gstutils.sgml:
25824         * gst/gstquery.c:
25825         * gst/gstquery.h:
25826           inlined and extended docs
25827
25828 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25829
25830         * check/gst-libs/controller.c: (GST_START_TEST),
25831         (gst_controller_suite):
25832           more tests
25833         * docs/gst/tmpl/gstutils.sgml:
25834         * docs/libs/gstreamer-libs-sections.txt:
25835         * docs/libs/tmpl/gstdataprotocol.sgml:
25836           include path fixes
25837         * examples/controller/audio-example.c: (main):
25838           controller example works now
25839         * gst/gstclock.h:
25840           doc fixes
25841         * tools/gst-inspect.c: (print_element_properties_info):
25842           show param spec flags
25843
25844 2005-08-29  Andy Wingo  <wingo@pobox.com>
25845
25846         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
25847
25848 2005-08-28  Andy Wingo  <wingo@pobox.com>
25849
25850         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
25851         as having two arguments instead of just one. Allows superclasses
25852         to access information on subclasses -- see the terrible for() loop
25853         in gtype.c:g_type_create_instance for the reason why. All callers
25854         changed.
25855
25856 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25857
25858         * docs/design/part-messages.txt:
25859           update info
25860         * docs/gst/tmpl/.cvsignore:
25861         * docs/gst/tmpl/gstcaps.sgml:
25862         * docs/gst/tmpl/gstclock.sgml:
25863         * gst/gstbus.c:
25864         * gst/gstcaps.c:
25865         * gst/gstcaps.h:
25866         * gst/gstclock.c:
25867         * gst/gstclock.h:
25868         * gst/gstmessage.c:
25869           added descriptions for bus and message
25870           inline caps and clock docs
25871
25872 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25873
25874         * gst/gstmessage.c:
25875         * gst/gstmessage.h:
25876           doc fixes
25877
25878 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25879
25880         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25881           fix div-by-zero
25882
25883 2005-08-26  Andy Wingo  <wingo@pobox.com>
25884
25885         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
25886         element_set_state's return val.
25887         (test_2_elements): Add test that's been disabled for months.
25888
25889         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
25890         can-activate-pull properties.
25891
25892         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
25893         can-activate-pull properties. Implement is_seekable so fakesrc can
25894         operate in pull mode.
25895
25896         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
25897         properties.
25898         (gst_base_sink_activate, gst_base_sink_activate_pull)
25899         (gst_base_sink_activate_push): Make activation mode choosing work.
25900         Cleanups.
25901         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
25902         is right. Make pull mode work. Post an eos before pausing in pull
25903         mode.
25904         (gst_base_sink_change_state): Pay attention to the core's
25905         change_state() return val.
25906         
25907         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
25908         has-getrange properties. Cleanups.
25909         
25910         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
25911         has_getrange and replace with can_activate_pull and
25912         can_activate_push.
25913
25914         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
25915         locking comments. Remove has_loop, has_chain and replace with
25916         can_activate_pull and can_activate_push.
25917
25918 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
25919
25920         * configure.ac:
25921         * examples/Makefile.am:
25922         * examples/metadata/Makefile.am:
25923         * examples/metadata/read-metadata.c: (message_loop),
25924         (have_pad_handler), (make_pipeline), (print_tag), (main):
25925           Add metadata reading example that loops over a list of filenames,
25926           dumping any tags found.
25927
25928         * gst/gstbus.c: (gst_bus_dispose):
25929         * gst/gstelement.c: (gst_element_dispose):
25930           Release a few potentially-held references in dispose.
25931
25932 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25933
25934         * docs/gst/tmpl/gstminiobject.sgml:
25935           do *not* add tmpl/*.sgml files to CVS!
25936
25937 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25938
25939         * libs/gst/bytestream/.cvsignore:
25940         * libs/gst/bytestream/Makefile.am:
25941         * libs/gst/bytestream/adapter.c:
25942         * libs/gst/bytestream/adapter.h:
25943         * libs/gst/bytestream/bytestream.c:
25944         * libs/gst/bytestream/bytestream.h:
25945         * libs/gst/bytestream/filepad.c:
25946         * libs/gst/bytestream/filepad.h:
25947           removing obsolete files
25948
25949 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25950
25951         * docs/gst/gstreamer-docs.sgml:
25952         * docs/libs/gstreamer-libs-docs.sgml:
25953           disabed additional index entries again, as this makes docs-gen just
25954           slow and they aren't useful yet
25955         * docs/libs/gstreamer-libs-sections.txt:
25956           little -section.txt cleanup for libs
25957
25958 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
25959
25960         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25961         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
25962           fix up some debugging
25963         (gst_base_transform_get_unit_size),
25964         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
25965         (gst_base_transform_handle_buffer):
25966         * gst/base/gstbasetransform.h:
25967           handle and store timed NEWSEGMENT events so that subclasses that
25968           calculate time by counting samples have a segment_start time they
25969           need to add to their timestamps - see audioresample
25970
25971 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25972
25973         * gst/gstbin.h:
25974           removed ';' from the end of macro defs
25975         * docs/gst/gstreamer-docs.sgml:
25976         * docs/gst/gstreamer-sections.txt:
25977         * docs/gst/tmpl/.cvsignore:
25978         * gst/gstbus.h:
25979         * gst/gstelement.c: (gst_element_class_init),
25980         (gst_element_set_state), (activate_pads),
25981         (gst_element_save_thyself):
25982         * gst/gstevent.c: (gst_event_new_newsegment):
25983         * gst/gstevent.h:
25984         * gst/gstiterator.c:
25985         * gst/gstiterator.h:
25986         * gst/gstpad.c:
25987         * gst/gstprobe.h:
25988         * gst/gstutils.c: (gst_pad_query_convert):
25989         * gst/gstutils.h:
25990           fixed parameter name mismatches between source, header and docs
25991           added some more docs, resolved the last batch of unused elements in
25992           docs (now someone needs to doc them)
25993
25994 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25995
25996         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
25997         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
25998           don't walk through the plugins backwards.  Where is all this
25999           reversed logic coming from ?
26000
26001 2005-08-25  Wim Taymans  <wim@fluendo.com>
26002
26003         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26004         (gst_base_transform_transform_size),
26005         (gst_base_transform_configure_caps),
26006         (gst_base_transform_get_unit_size),
26007         (gst_base_transform_buffer_alloc),
26008         (gst_base_transform_change_state):
26009         * gst/base/gstbasetransform.h:
26010         Cache caps unit_size.
26011         Make sure we cannot negotiate up and downstream at the
26012         same time.
26013
26014 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26015
26016         * gst/gst.c: (init_pre), (init_post):
26017           register the installed plugin path after the env var
26018         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26019         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26020           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26021           directories, so the tests can prefer uninstalled over installed
26022
26023 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26024
26025         * gst/base/gstbasetransform.h:
26026           comment
26027         * gst/gstpad.c:
26028           add to docs
26029
26030 2005-08-25  Wim Taymans  <wim@fluendo.com>
26031
26032         * gst/gstbin.c: (bin_bus_handler):
26033         Be a bit more conservative about the posted message.
26034         
26035         * gst/gstbus.c: (gst_bus_post):
26036         Some cleanups, warn wrong return values.
26037
26038 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26039
26040         * check/gst/gstbin.c: (GST_START_TEST):
26041         * gst/gstbin.c: (bin_bus_handler):
26042         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26043         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26044         (gst_message_new_warning), (gst_message_new_tag),
26045         (gst_message_new_state_changed), (gst_message_new_segment_start),
26046         (gst_message_new_segment_done), (gst_message_new_custom):
26047         * gst/gstmessage.h:
26048         * tools/gst-launch.c: (event_loop):
26049         * tools/gst-md5sum.c: (event_loop):
26050           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26051
26052 2005-08-25  Wim Taymans  <wim@fluendo.com>
26053
26054         * check/generic/states.c: (GST_START_TEST):
26055         Cleanup can be done at the end.
26056
26057         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26058         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26059         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26060         Oh boy.. Thanks for finding this, Thomas. 
26061
26062 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26063
26064         * docs/gst/gstreamer.types:
26065           added missing types
26066
26067 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26068
26069         * docs/gst/gstreamer-docs.sgml:
26070         * docs/gst/gstreamer-sections.txt:
26071         * docs/gst/tmpl/.cvsignore:
26072         * gst/gstbin.c:
26073         * gst/gstiterator.c:
26074         * gst/gstutils.c:
26075         * gst/registries/gstxmlregistry.h:
26076           added missing classes and symbols (123 more to go)
26077           removed removed symbols from section file
26078           fixed many doc-comments
26079
26080 2005-08-24  Wim Taymans  <wim@fluendo.com>
26081
26082         * check/generic/states.c: (GST_START_TEST):
26083         Make sure all tasks are stopped.
26084
26085         * check/gst/gstbin.c: (GST_START_TEST):
26086         Unref after usage for proper valgrinding.
26087
26088         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26089         Really wait for the task to stop before destroying the
26090         mutex.
26091
26092         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26093         (gst_queue_src_activate_push):
26094         Small cleanups. Don't stop the task when we did not start
26095         it.
26096
26097         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26098         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26099         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26100         (gst_task_join):
26101         * gst/gsttask.h:
26102         Protect the stream lock with the object lock.
26103         Disallow setting the stream lock when running.
26104         Add cleanup_all to wait for the threadpool to finish.
26105         Remove code to autoallocate a mutex if none was provided.
26106         Add _join() to wait for a task to stop.
26107         Protect the thread pool with a global lock.
26108
26109 2005-08-24  Wim Taymans  <wim@fluendo.com>
26110
26111         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26112         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26113         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26114         * gst/base/gstbasesink.h:
26115         Handle newsegment events correctly.
26116         Drop buffers out of the segment range.
26117
26118 2005-08-22  Andy Wingo  <wingo@pobox.com>
26119
26120         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26121         macro, implements an interface and gstimplementsinterface for a
26122         new type.
26123
26124 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26125
26126         * check/Makefile.am:
26127         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26128           add a test that does a bunch of state changes on elements
26129           needs some fixing for valgrind
26130         * check/states/sinks.c: (gst_object_suite):
26131           whitespace
26132         * gst/gstcaps.h:
26133           add prototype for gst_caps_is_equal_fixed
26134         * gst/gstplugin.c:
26135         * gst/gstregistrypool.c:
26136           doc fixes
26137
26138 2005-08-24  Andy Wingo  <wingo@pobox.com>
26139
26140         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26141         convert a negative value. Doesn't make much sense. Mostly this is
26142         here to force callers to ensure -1 maps to -1.
26143
26144 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26145
26146         * docs/pwg/advanced-types.xml:
26147           Well done to Michael for catching my deliberate introduction
26148           of this spelling mistake. 
26149         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26150         * gst/gstelement.h:
26151           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26152           unlink pads before removing the element from the bin.
26153
26154 2005-08-24  Andy Wingo  <wingo@pobox.com>
26155
26156         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26157         the same thing as GST_DEBUG=*:4.
26158         (parse_debug_level, parse_debug_category): New helper parsers.
26159
26160 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26161
26162         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26163         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26164         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26165         (gst_base_transform_buffer_alloc),
26166         (gst_base_transform_handle_buffer):
26167           use gboolean return values and pointers to size so we can use the
26168           full GST_BUFFER_SIZE range (guint) for buffer sizes
26169           use GstPadDirection for transform_caps
26170         * gst/base/gstbasetransform.h:
26171           rename get_size to get_unit_size since that's what it is
26172         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26173           use GstPadDirection for transform_caps
26174         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26175         * gst/gstutils.h:
26176           cleanup and debugging
26177
26178 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26179
26180         * gst/gstelement.c: (gst_element_class_init),
26181         (gst_element_set_state), (activate_pads),
26182         (gst_element_save_thyself):
26183         * tools/gst-compprep.c: (main):
26184         * tools/gst-inspect.c: (print_element_properties_info):
26185         * tools/gst-xmlinspect.c: (print_element_properties):
26186           Fixed long standing mem-leak
26187
26188 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26189
26190         * check/gst/gstbin.c: (GST_START_TEST):
26191         * gst/gstbin.c: (bin_bus_handler):
26192         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26193         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26194         (gst_message_new_warning), (gst_message_new_tag),
26195         (gst_message_new_state_changed), (gst_message_new_segment_start),
26196         (gst_message_new_segment_done), (gst_message_new_custom):
26197         * gst/gstmessage.h:
26198         * tools/gst-launch.c: (event_loop):
26199         * tools/gst-md5sum.c: (event_loop):
26200           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26201           that applications can sensibly post custom messages with references
26202           to their own objects.
26203
26204 2005-08-24  Andy Wingo  <wingo@pobox.com>
26205
26206         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26207         already.
26208
26209 2005-08-24  Wim Taymans  <wim@fluendo.com>
26210
26211         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26212         (gst_base_transform_transform_caps),
26213         (gst_base_transform_transform_size),
26214         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26215         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26216         (gst_base_transform_handle_buffer):
26217         * gst/base/gstbasetransform.h:
26218         Many fixes and new features added by Thomas. Can now also do
26219         transforms with variable sizes and a custom fixate_caps function.
26220
26221 2005-08-24  Wim Taymans  <wim@fluendo.com>
26222
26223         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26224         Some debugging.
26225
26226         * gst/gstclock.h:
26227         Cast to ClockTime before formatting to time.
26228
26229         * gst/gstutils.h:
26230         Cleanups.
26231
26232 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26233
26234         * check/gst-libs/controller.c: (GST_START_TEST),
26235         (gst_controller_suite):
26236         * docs/gst/tmpl/gstcaps.sgml:
26237         * docs/gst/tmpl/gstghostpad.sgml:
26238         * docs/gst/tmpl/gstquery.sgml:
26239         * docs/gst/tmpl/gstutils.sgml:
26240         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26241         (gst_object_sink_values), (gst_object_get_value_arrays),
26242         (gst_object_get_value_array):
26243           gracefully handle helper method calls to objects that are not beeing
26244           controlled, added test case for that          
26245
26246 2005-08-23  Wim Taymans  <wim@fluendo.com>
26247
26248         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26249         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26250         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26251         (gst_event_parse_qos), (gst_event_new_seek),
26252         (gst_event_parse_seek):
26253         * gst/gstevent.h:
26254         Some more debugging output and doc cleanups.
26255
26256         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26257         Fix possible deadlock.
26258
26259 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26260
26261         * docs/gst/gstreamer-docs.sgml:
26262         * docs/gst/gstreamer-sections.txt:
26263         * docs/gst/gstreamer.types:
26264         * docs/gst/tmpl/.cvsignore:
26265         * gst/gstbin.h:
26266         * gst/gstbus.c:
26267         * gst/gstelement.c:
26268         * gst/gstevent.h:
26269           added 100 symbols from gstreamer-unused.txt to the right sections
26270           fixed more broken comments
26271           added GstBus to docs
26272
26273 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26274
26275         * docs/gst/gstreamer-sections.txt:
26276         * docs/gst/tmpl/.cvsignore:
26277         * docs/gst/tmpl/gstbin.sgml:
26278         * docs/gst/tmpl/gstbuffer.sgml:
26279         * gst/base/gstbasesrc.c:
26280         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26281         * gst/gstbuffer.c:
26282         * gst/gstbuffer.h:
26283         * tools/gst-launch.1.in:
26284           inlined more doc comments, added missing comments and fixed comments
26285           fixed typos
26286
26287 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26288
26289         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26290           some debugging
26291         * gst/gstcaps.h:
26292           whitespace fixes
26293         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26294           more debugging
26295         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26296         * gst/gststructure.h:
26297           add a fixate function for booleans; add a FIXME that these func
26298           names should probably be gst_structure_fixate_*
26299
26300 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26301
26302         * docs/gst/gstreamer-docs.sgml:
26303         * docs/gst/gstreamer-sections.txt:
26304         * gst/Makefile.am:
26305         * gst/gstbin.c: (gst_bin_get_type),
26306         (gst_bin_child_proxy_get_child_by_index),
26307         (gst_bin_child_proxy_get_children_count),
26308         (gst_bin_child_proxy_init):
26309         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26310         (gst_child_proxy_get_child_by_index),
26311         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26312         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26313         (gst_child_proxy_get), (gst_child_proxy_set_property),
26314         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26315         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26316         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26317         * gst/gstchildproxy.h:
26318         * gst/parse/grammar.y:
26319         * tools/gst-inspect.c: (print_interfaces),
26320         (print_element_properties_info), (print_element_info):
26321           ported gstchildproxy over from 0.8
26322           ported gst-inspect fixes and enhancements over from 0.8
26323
26324 2005-08-22  Wim Taymans  <wim@fluendo.com>
26325
26326         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26327         (gst_base_transform_handle_buffer):
26328         Also call the transform function if we have ANY caps.
26329
26330         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26331         Fix debug info.
26332
26333 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26334
26335         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26336           Don't pretend to handle seek events if the source is not seekable
26337
26338 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26339
26340         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26341           Remove extra parameter to debug output
26342
26343         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26344         (gst_base_src_do_seek), (gst_base_src_activate_push):
26345           Fix seek event handling.
26346
26347         * gst/gstpipeline.c: (gst_pipeline_change_state):
26348         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26349         (gst_queue_src_activate_push):
26350           Don't start the src pad task on FLUSH_STOP if the pad
26351           isn't linked.
26352           Debug changes.
26353
26354 2005-08-22  Wim Taymans  <wim@fluendo.com>
26355
26356         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26357         Added check for gst_static_caps_get() refcounting.
26358
26359 2005-08-22  Wim Taymans  <wim@fluendo.com>
26360
26361         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26362         Make _static_caps_get() refcounting sane.
26363         
26364         * gst/gstelement.c: (gst_element_set_state):
26365         Add g_return_val_if_fail() to protect against segfaults.
26366
26367 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26368
26369         * docs/gst/tmpl/gstevent.sgml:
26370         * gst/gstevent.c:
26371         * gst/gstevent.h:
26372           inlined remaining docs, added missing doc comments
26373
26374 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26375
26376         * check/gst/gstbin.c: (GST_START_TEST):
26377           since we don't know when preroll is done, use refcount range
26378           check for the sink
26379         * gst/check/gstcheck.h:
26380           add macro for checking refcount range
26381
26382 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26383
26384         * check/Makefile.am:
26385           clean up environment for when registry gets built versus
26386           when actual tests are run; valgrind seems to not report
26387           leaks if GST_PLUGIN_PATH is set to some specific values
26388         * check/gst/gstbin.c: (GST_START_TEST):
26389           add more refcounting checks; maybe this exposes a
26390           preroll lock bug ?
26391         * common/check.mak:
26392         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26393         * gst/check/gstcheck.h:
26394         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26395         (gst_bin_change_state):
26396         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26397           add/fix debugging/whitespace
26398
26399 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26400
26401         * check/gst/gstevent.c: (event_probe), (test_event),
26402         (GST_START_TEST):
26403          Er, don't call gst_bin_watch_for_state_change you idiot.
26404
26405 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26406
26407         * check/Makefile.am:
26408           Use CHECK_CFLAGS and CHECK_LIBS
26409         * check/gst/gstevent.c: (event_probe), (test_event),
26410         (GST_START_TEST):
26411           Don't leak events.
26412         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26413         (gst_base_src_start), (gst_base_src_stop),
26414         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26415         (gst_base_src_change_state):
26416           Sprinkle gst_base_src_stop liberally around error paths to fix
26417           problems reusing a source after failed state changes.
26418         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26419         (helper_find_suggest), (gst_type_find_helper):
26420           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26421         * gst/gstevent.h:
26422         * docs/gst/tmpl/gstevent.sgml:
26423           Migrate part of the docs from the SGML file. Wait for ensonic to
26424           tell me how I did it wrong ;)
26425         * tools/gst-typefind.c: (main):
26426           Extra robustness to state changes between files.
26427
26428 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26429
26430         * check/Makefile.am:
26431           don't valgrind the controller test - it's leaking - Stefan, HELP
26432         * gst/check/gstcheck.c: (gst_check_message_error),
26433         (gst_check_chain_func), (gst_check_setup_element),
26434         (gst_check_teardown_element), (gst_check_setup_src_pad),
26435         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26436         (gst_check_teardown_sink_pad):
26437         * gst/check/gstcheck.h:
26438           add a bunch of methods to set up elements, and src and sink pads
26439         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26440         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26441         (GST_START_TEST):
26442           use them
26443         * gst/gstmessage.c:
26444         * gst/gsttag.h:
26445           whitespace/doc fixes
26446
26447 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26448
26449         * gst/gstelement.h:
26450           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26451           be handled by the application and not always printed as well
26452
26453 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26454
26455         * check/Makefile.am:
26456           set GST_TOOLS_DIR
26457         * gst/check/gstcheck.c: (gst_check_message_error):
26458         * gst/check/gstcheck.h:
26459           add a fail_unless_equals_int
26460           add fail_unless for error messages
26461
26462 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26463
26464         * check/Makefile.am:
26465         * check/gst.supp:
26466         * common/Makefile.am:
26467         * common/check.mak:
26468         * common/gst.supp:
26469           factor out some of the common stuff so we can use it
26470
26471 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26472
26473         * check/Makefile.am:
26474         * check/gst/gstiterator.c: (GST_START_TEST):
26475         * check/gst/gstsystemclock.c: (GST_START_TEST),
26476         (gst_systemclock_suite):
26477         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26478         * gst/gstclock.c:
26479           valgrind more tests
26480
26481 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26482
26483         * check/elements/.cvsignore:
26484         * check/elements/gstfakesrc.c:
26485           rename to name of element
26486         * check/elements/identity.c: (chain_func), (event_func),
26487         (setup_identity), (cleanup_identity), (GST_START_TEST),
26488         (identity_suite), (main):
26489           add a test for identity
26490         * check/Makefile.am:
26491         * pkgconfig/Makefile.am:
26492         * pkgconfig/gstreamer-check.pc.in:
26493         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26494         * gst/check:
26495         * gst/Makefile.am:
26496         * configure.ac:
26497           move the check stuff to a library that gets installed
26498         * check/gst-libs/controller.c: (GST_START_TEST):
26499         * check/gst-libs/gdp.c:
26500         * check/gst/gst.c: (GST_START_TEST):
26501         * check/gst/gstbin.c:
26502         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26503         * check/gst/gstbus.c:
26504         * check/gst/gstcaps.c: (GST_START_TEST):
26505         * check/gst/gstelement.c:
26506         * check/gst/gstghostpad.c:
26507         * check/gst/gstiterator.c:
26508         * check/gst/gstmessage.c:
26509         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26510         * check/gst/gstobject.c:
26511         * check/gst/gstpad.c: (GST_START_TEST):
26512         * check/gst/gststructure.c: (GST_START_TEST):
26513         * check/gst/gstsystemclock.c: (GST_START_TEST),
26514         (gst_systemclock_suite):
26515         * check/gst/gsttag.c: (gst_tag_suite):
26516         * check/gst/gstvalue.c:
26517         * check/pipelines/cleanup.c:
26518         * check/pipelines/simple_launch_lines.c:
26519         * check/states/sinks.c:
26520           change include statement
26521
26522         * docs/gst/gstreamer-sections.txt:
26523         * docs/gst/tmpl/gstpad.sgml:
26524           document more pad stuff
26525         * gst/gstminiobject.c: (gst_mini_object_ref),
26526         (gst_mini_object_unref):
26527           debug refcounting
26528
26529 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26530
26531         * docs/gst/tmpl/gst.sgml:
26532         * gst/gst.c:
26533           eliminate another tmpl file, fix spelling in the long-description
26534
26535 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26536
26537         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26538         (test_event), (timediff), (gstevents_suite):
26539           Should fix build on 64-bit arch's
26540
26541 2005-08-18  Andy Wingo  <wingo@pobox.com>
26542
26543         Make sure that when a pipeline goes to PLAYING, that data has
26544         actually hit the sink.
26545
26546         * check/states/sinks.c (test_sink): A sink that doesn't get any
26547         data shouldn't return SUCCESS for going to either PLAYING or
26548         PAUSED. Test also the return values on the way back down.
26549
26550         * gst/gstelement.c (gst_element_set_state): When changing the
26551         state of an element currently changing state asynchronously, go to
26552         lost-state after commiting the pending state. Makes future calls
26553         to get_state continue to return ASYNC.
26554
26555         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26556         ASYNC when going to PLAYING if we still don't have preroll, as can
26557         happen with live sources.
26558
26559 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26560
26561         * docs/pwg/advanced-types.xml:
26562           Hack long paragraph into 2 chunks as a workaround for buggy
26563           jadetex version in sid and breezy that loops infinitely and
26564           eats all RAM.
26565
26566 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26567
26568         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26569         (test_event), (timediff), (gstevents_suite):
26570           Provide more error margin in clock measurements to allow for 
26571           g_get_current_time inaccuracies.
26572
26573 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26574
26575         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26576         (test_event), (timediff), (gstevents_suite):
26577            Fix error message output so I might be able to tell why the
26578            test works here but fails on the build farm.
26579
26580 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26581
26582         * check/Makefile.am:
26583         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26584         (test_event), (timediff), (gstevents_suite), (main):
26585           I wrote a test!
26586
26587         * docs/design/part-seeking.txt:
26588           Spelling correction
26589
26590         * docs/gst/tmpl/gstevent.sgml:
26591         * docs/gst/tmpl/gstfakesrc.sgml:
26592           Docs updates.
26593
26594         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26595           Treat a buffer-without-newsegment the same as a receiving 
26596           a newsegment not in time format, and disable syncing to the clock
26597           with a warning.
26598
26599         * gst/gstbus.c: (gst_bus_set_sync_handler):
26600           Assert if anyone tries to replace the existing sync_handler for bus, 
26601           as only the owner should be setting it.
26602
26603         * gst/gstevent.h:
26604           Have a fixed set of custom event enums with events identified by
26605           their structure name (as in 0.8), rather than a free-for-all
26606           allowing collisions between enum values from different plugins.
26607
26608         * gst/gstpad.c: (gst_pad_class_init):
26609           Docs change.
26610           
26611         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26612           Handle out-of-band downstream events from the sending thread.
26613
26614 2005-08-17  Andy Wingo  <wingo@pobox.com>
26615
26616         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26617         play-timeout==0 to mean no timeout at all. In that case, don't
26618         bother with a get_state or a warning, just return directly, even
26619         if it's ASYNC.
26620
26621         * gst/base/gstbasetransform.c: Debug changes.
26622
26623         * gst/gstutils.h:
26624         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26625         ensure bins post state change messages. A bit of a hack but I can't
26626         think of a way to avoid it.
26627
26628         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26629
26630 2005-08-16  Andy Wingo  <wingo@pobox.com>
26631
26632         * gst/base/gstadapter.h:
26633         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26634         peek() but you own the data. Not terribly efficient atm.
26635
26636 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26637
26638         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26639         (gst_element_found_tags):
26640         * gst/gstutils.h:
26641           Add two utility functions for tag handling.
26642
26643 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26644
26645         * docs/manual/advanced-dataaccess.xml:
26646         * docs/manual/basics-helloworld.xml:
26647           Fix docs to use _bin_add() before _link(), which fixes the examples
26648           with recent core versions (reported by Madhan Raj M
26649           <raj_madan@rediffmail.com>, #313199).
26650
26651 2005-08-16  Wim Taymans  <wim@fluendo.com>
26652
26653         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26654         Added subtract checks.
26655
26656         * docs/design/part-events.txt:
26657         Some more docs about newsegment
26658
26659         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26660         Fix FIXME
26661
26662         * gst/gstcaps.c: (gst_caps_to_string):
26663         Add comments, cleanups.
26664         
26665         * gst/gstelement.c: (gst_element_save_thyself):
26666         cleanups
26667         
26668         * gst/gstvalue.c: (gst_value_collect_int_range),
26669         (gst_string_unwrap), (gst_value_union_int_int_range),
26670         (gst_value_union_int_range_int_range),
26671         (gst_value_intersect_int_int_range),
26672         (gst_value_intersect_int_range_int_range),
26673         (gst_value_intersect_double_double_range),
26674         (gst_value_intersect_double_range_double_range),
26675         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26676         (gst_value_subtract_int_range_int),
26677         (gst_value_subtract_double_range_double),
26678         (gst_value_subtract_double_range_double_range),
26679         (gst_value_subtract_from_list), (gst_value_subtract_list),
26680         (gst_value_can_compare), (gst_value_compare_fraction):
26681         Cleanups, add comments, remove unneeded asserts.
26682
26683 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26684
26685         * tools/gst-launch.c: (event_loop):
26686           don't convert NULL structures to strings
26687
26688 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
26689
26690         * docs/gst/gstreamer-sections.txt:
26691           made some defines private
26692         * docs/gst/tmpl/gstconfig.sgml:
26693         * docs/gst/tmpl/gstqueue.sgml:
26694         * docs/gst/tmpl/gsttaglist.sgml:
26695         * docs/gst/tmpl/gsttypes.sgml:
26696         * docs/gst/tmpl/gstutils.sgml:
26697         * docs/pwg/appendix-porting.xml:
26698         * gst/base/gstbasesink.h:
26699         * gst/base/gstbasesrc.c:
26700         * gst/base/gstbasesrc.h:
26701         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26702         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26703         * gst/gstelement.c: (gst_element_class_init):
26704         * gst/gstpad.c: (gst_pad_class_init):
26705         * gst/gstqueue.c: (gst_queue_class_init):
26706         * gst/gstxml.c: (gst_xml_class_init):
26707           documented all undocumented signal inline
26708         * libs/gst/controller/gst-controller.h:
26709           added padding
26710
26711 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26712
26713         * docs/pwg/appendix-porting.xml:
26714           Document _set_link_function -> _set_setcaps_function.
26715
26716 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26717
26718         * check/Makefile.am:
26719           add a .check target for running the check
26720         * check/gst-libs/controller.c: (GST_START_TEST):
26721           cosmetic fixups
26722         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26723           complete checks for gstbuffer; would be nice if I could get the
26724           gcov stuff to work so I can see if I actually completed gstbuffer.c
26725         * check/gstcheck.h:
26726           add ASSERT_BUFFER_REFCOUNT
26727
26728 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
26729
26730         * docs/gst/gstreamer-sections.txt:
26731         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26732         * gst/gsttag.h:
26733           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26734           spew out a warning if a tag that is already registered
26735           is re-registered, unless it is re-registered with a 
26736           different type (#308438).
26737
26738 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
26739
26740         * docs/pwg/appendix-porting.xml:
26741         * docs/pwg/building-state.xml:
26742           Add some paragraphs about state changes in 0.9 to the PWG
26743           and the porting guide, in particular about the new meaning
26744           of GST_STATE_PAUSED and how to write state change functions
26745           with concurrent access by multiple threads in mind.
26746
26747 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
26748
26749         * docs/gst/gstreamer-docs.sgml:
26750         * docs/libs/gstreamer-libs-docs.sgml:
26751           added deprecation and since indexes
26752         * libs/gst/controller/gst-controller.c:
26753         * libs/gst/controller/gst-helper.c:
26754           added since tags
26755
26756
26757 2005-08-11  Wim Taymans  <wim@fluendo.com>
26758
26759         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26760         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26761         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26762         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26763         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26764         (gst_ghost_pad_set_target):
26765         Actually implement (re)setting the target on a ghostpad
26766         as described in the docs.
26767
26768 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26769
26770         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26771           Check whether GST_DEBUG_NO_COLOR environment variable is
26772           set and disable coloured debug output if that is the case.
26773
26774 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26775
26776         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26777         (gst_type_find_helper):
26778           The memory returned by gst_type_find_peek() needs to
26779           stay valid until the end of a typefind function, and
26780           typefind functions may keep results from different 
26781           offsets around, so we can't just unref the buffer from
26782           the previous _peek(), but have to save all buffers 
26783           returned by _peek() until typefinding is done and only
26784           free them then.
26785
26786 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
26787
26788         * docs/gst/gstreamer-sections.txt:
26789         * gst/gstutils.h:
26790           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26791
26792 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26793
26794         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26795           Fix a pretty good memleak.
26796
26797 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26798
26799         * gst/gstiterator.h:
26800           Fix wrong include and 'make distcheck'.
26801
26802 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26803
26804         * gst/gstbin.c: (bin_bus_handler):
26805           Use gst_element_post_message() instead.
26806
26807 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26808
26809         * gst/base/gstadapter.h:
26810         * gst/base/gstbasesink.h:
26811         * gst/base/gstbasesrc.h:
26812         * gst/base/gstbasetransform.h:
26813         * gst/base/gstcollectpads.h:
26814         * gst/base/gstpushsrc.h:
26815         * gst/gstiterator.h:
26816           Add padding to our base elements' class and instance structs and
26817           to GstIterator (you will need to rebuild all plugins and apps!)
26818
26819 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26820
26821         * gst/gstbin.c: (bin_bus_handler):
26822           Make default message forwarding from child->bus to bin->bus
26823           threadsafe and make it not emit warnings if the parent has no bus.
26824
26825 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26826
26827         * gst/gstelement.c: (activate_pads):
26828           On paused->ready, set pad->caps to NULL, as is the documented
26829           behaviour in this state change. Fixes playback of series of
26830           media files when visualization is enabled in Totem.
26831
26832 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26833
26834         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26835           Allow NULL as filter-caps (which means "any").
26836
26837 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26838
26839         * docs/libs/gstreamer-libs-sections.txt:
26840         * libs/gst/controller/gst-controller.c:
26841         * libs/gst/controller/gst-controller.h:
26842         * libs/gst/controller/gst-helper.c:
26843           adding more entries to the docs and fix small doc-bugs
26844
26845 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26846
26847         * docs/gst/gstreamer-docs.sgml:
26848         * docs/gst/gstreamer-sections.txt:
26849         * docs/gst/gstreamer.types:
26850         * docs/gst/tmpl/gstbasesink.sgml:
26851         * docs/gst/tmpl/gstbasesrc.sgml:
26852         * docs/gst/tmpl/gstbasetransform.sgml:
26853         * docs/gst/tmpl/gstfakesrc.sgml:
26854         * gst/base/gstcollectpads.c:
26855         * gst/base/gstcollectpads.h:
26856         * libs/gst/controller/gst-controller.c:
26857         * libs/gst/controller/gst-controller.h:
26858         * libs/gst/controller/gst-helper.c:
26859         * libs/gst/controller/gst-interpolation.c:
26860         * libs/gst/controller/lib.c:
26861           added long/short desc for controller docs
26862           added collectpads base class docs
26863           added correct includes to base-class docs
26864
26865 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26866
26867         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26868         (gst_test_mono_source_set_property),
26869         (gst_test_mono_source_class_init), (GST_START_TEST),
26870         (gst_controller_suite):
26871         * docs/gst/gstreamer-docs.sgml:
26872         * docs/gst/gstreamer-sections.txt:
26873         * docs/gst/gstreamer.types:
26874         * docs/libs/gstreamer-libs-docs.sgml:
26875         * docs/libs/gstreamer-libs-sections.txt:
26876         * gst/base/gstadapter.c:
26877         * libs/gst/controller/gst-controller.c:
26878         (gst_controlled_property_new), (gst_controlled_property_free),
26879         (gst_controller_new_valist),
26880         (gst_controller_remove_properties_valist),
26881         (gst_controller_sink_values), (_gst_controller_finalize):
26882         * libs/gst/controller/gst-controller.h:
26883         * libs/gst/controller/gst-helper.c:
26884         (gst_object_control_properties), (gst_object_uncontrol_properties),
26885         (gst_object_get_controller), (gst_object_set_controller),
26886         (gst_object_sink_values), (gst_object_get_value_arrays),
26887         (gst_object_get_value_array):
26888           more tests (and fixes) for the controller
26889           more docs for the controller
26890           integrated companies docs for the adapter 
26891
26892 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
26893
26894         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
26895         (GST_START_TEST), (fakesrc_suite):
26896           add tests for sizetype
26897
26898 2005-08-04  Andy Wingo  <wingo@pobox.com>
26899
26900         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
26901         fixes buffer_alloc proxying among other things.
26902
26903         * gst/base/gstbasetransform.c:
26904         * gst/base/gstbasetransform.h:
26905         Revert patch to gstbasetransform from 7-28 removing
26906         delay_configure.
26907
26908         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
26909         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
26910         Semantics changed, should return not the size of the output buffer
26911         but the byte size of a buffer with a given caps.
26912
26913         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
26914         debug object.
26915         (gst_base_transform_configure_caps): Don't set out_size here: (in,
26916         out) are not the pad caps until setcaps finishes.
26917         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
26918         not-in-place case as well. Deal with changing from in-place to
26919         not-in-place within calling pad_alloc_buffer. Still a bit
26920         concerned about the overhead here...
26921
26922 2005-08-03  Andy Wingo  <wingo@pobox.com>
26923
26924         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
26925         fixating is an error.
26926
26927 2005-08-04  Edward Hervey  <edward@fluendo.com>
26928
26929         * gst/base/gstadapter.h: 
26930         Added gst_adapter_get_type() to the header
26931
26932 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26933
26934         * check/Makefile.am:
26935         * check/gst-libs/controller.c:
26936         * libs/gst/controller/gst-controller.c:
26937         (gst_controller_new_valist):
26938           added check test suite for the controller
26939         * gst/base/gstpushsrc.c:
26940           fixed a doc typo
26941
26942 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26943
26944         * docs/gst/Makefile.am:
26945         * docs/gst/gstreamer-docs.sgml:
26946         * docs/gst/gstreamer-sections.txt:
26947         * docs/gst/gstreamer.types:
26948         * docs/gst/tmpl/gstfakesrc.sgml:
26949         * gst/base/README:
26950         * gst/base/gstbasesink.c:
26951         * gst/base/gstbasesink.h:
26952         * gst/base/gstbasesrc.c:
26953         * gst/base/gstbasesrc.h:
26954         * gst/base/gstbasetransform.c:
26955         * gst/base/gstpushsrc.c:
26956         * gst/base/gstpushsrc.h:
26957           add short/long description docs to base classes
26958           add pushsrc to the docs
26959           remove consolidated doc fragments
26960
26961 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26962
26963         * configure.ac:
26964         * docs/libs/Makefile.am:
26965         * docs/libs/gstreamer-libs-docs.sgml:
26966         * docs/libs/gstreamer-libs-sections.txt:
26967         * docs/libs/gstreamer-libs.types:
26968         * examples/Makefile.am:
26969         * examples/controller/.cvsignore:
26970         * examples/controller/Makefile.am:
26971         * examples/controller/audio-example.c: (main):
26972         * libs/gst/Makefile.am:
26973         * libs/gst/controller/.cvsignore:
26974         * libs/gst/controller/Makefile.am:
26975         * libs/gst/controller/gst-controller.c:
26976         (on_object_controlled_property_changed), (gst_timed_value_compare),
26977         (gst_timed_value_find),
26978         (gst_controlled_property_set_interpolation_mode),
26979         (gst_controlled_property_new), (gst_controlled_property_free),
26980         (gst_controller_find_controlled_property),
26981         (gst_controller_new_valist), (gst_controller_new),
26982         (gst_controller_remove_properties_valist),
26983         (gst_controller_remove_properties), (gst_controller_set),
26984         (gst_controller_set_from_list), (gst_controller_unset),
26985         (gst_controller_get), (gst_controller_get_all),
26986         (gst_controller_sink_values), (gst_controller_get_value_arrays),
26987         (gst_controller_get_value_array),
26988         (gst_controller_set_interpolation_mode),
26989         (_gst_controller_finalize), (_gst_controller_init),
26990         (_gst_controller_class_init), (gst_controller_get_type):
26991         * libs/gst/controller/gst-controller.h:
26992         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
26993         (g_object_uncontrol_properties), (g_object_get_controller),
26994         (g_object_set_controller), (g_object_sink_values),
26995         (g_object_get_value_arrays), (g_object_get_value_array):
26996         * libs/gst/controller/gst-interpolation.c:
26997         (gst_controlled_property_find_timed_value_node),
26998         (interpolate_none_get), (interpolate_trigger_get),
26999         (interpolate_trigger_get_value_array):
27000         * libs/gst/controller/lib.c: (gst_controller_init):
27001         * pkgconfig/Makefile.am:
27002         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27003         * pkgconfig/gstreamer-control.pc.in:
27004         * testsuite/Makefile.am:
27005         * testsuite/controller/.cvsignore:
27006         * testsuite/controller/Makefile.am:
27007         * testsuite/controller/interpolator.c: (main):
27008           added controller code
27009           removed dparam pc files
27010
27011 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27012         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27013         (gst_collectpads_stop):
27014           Broadcast the condition when shutting down, to make sure we wake all
27015           threads up. Shut down pads on finalize, for safety.
27016
27017 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27018         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27019         (gst_base_transform_handle_buffer),
27020         (gst_base_transform_change_state):
27021           Handle PAUSED->READY->PAUSED transition after negotiation
27022           occurred already.
27023         * gst/gstmessage.c: (gst_message_init):
27024           Extra piece of debug for new messages.
27025
27026 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27027
27028         * configure.ac:
27029         * docs/gst/tmpl/gstbasesrc.sgml:
27030         * docs/gst/tmpl/gstelement.sgml:
27031         * docs/gst/tmpl/gstevent.sgml:
27032         * docs/gst/tmpl/gstfakesrc.sgml:
27033         * docs/gst/tmpl/gstformat.sgml:
27034         * docs/gst/tmpl/gstghostpad.sgml:
27035         * docs/gst/tmpl/gstpad.sgml:
27036         * docs/gst/tmpl/gstquery.sgml:
27037         * docs/gst/tmpl/gststructure.sgml:
27038         * docs/gst/tmpl/gsttaglist.sgml:
27039         * docs/gst/tmpl/gstvalue.sgml:
27040         * docs/libs/gstreamer-libs-docs.sgml:
27041         * docs/libs/gstreamer-libs-sections.txt:
27042         * docs/libs/gstreamer-libs.types:
27043         * libs/gst/Makefile.am:
27044         * libs/gst/control/.cvsignore:
27045         * libs/gst/control/Makefile.am:
27046         * libs/gst/control/control.c:
27047         * libs/gst/control/control.h:
27048         * libs/gst/control/dparam.c:
27049         * libs/gst/control/dparam.h:
27050         * libs/gst/control/dparam_smooth.c:
27051         * libs/gst/control/dparam_smooth.h:
27052         * libs/gst/control/dparamcommon.h:
27053         * libs/gst/control/dparammanager.c:
27054         * libs/gst/control/dparammanager.h:
27055         * libs/gst/control/dplinearinterp.c:
27056         * libs/gst/control/dplinearinterp.h:
27057         * libs/gst/control/unitconvert.c:
27058         * libs/gst/control/unitconvert.h:
27059         * testsuite/Makefile.am:
27060         * testsuite/dynparams/.cvsignore:
27061         * testsuite/dynparams/Makefile.am:
27062         * testsuite/dynparams/dparamstest.c:
27063         * tools/Makefile.am:
27064         * tools/gst-inspect.c: (print_element_info), (main):
27065         * tools/gst-xmlinspect.c: (print_element_info), (main):
27066           deactivate and remove dparams (libgstcontrol)
27067
27068 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27069
27070         * gst/elements/gsttypefindelement.c:
27071         (gst_type_find_element_have_type), (gst_type_find_element_init),
27072         (stop_typefinding), (gst_type_find_element_handle_event),
27073         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27074         * gst/elements/gsttypefindelement.h:
27075           Set caps on all outgoing buffers, not just the first one.
27076
27077 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27078
27079         * gst/elements/gsttypefindelement.c:
27080         (gst_type_find_element_have_type),
27081         (gst_type_find_element_check_set_buffer_caps),
27082         (gst_type_find_element_init), (stop_typefinding),
27083         (gst_type_find_element_handle_event),
27084         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27085         * gst/elements/gsttypefindelement.h:
27086           Set caps on first outgoing buffer when we've found the type.
27087
27088 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27089
27090         * docs/gst/gstreamer-docs.sgml:
27091         * docs/gst/gstreamer-sections.txt:
27092         * docs/gst/tmpl/gstscheduler.sgml:
27093         * docs/gst/tmpl/gstschedulerfactory.sgml:
27094           Remove some old cruft from docs.
27095
27096 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27097
27098         * gst/gstpad.h:
27099           Fix inline docs for GstPadLinkReturn.
27100           
27101         * gst/gststructure.c: (gst_structure_has_name):
27102         * gst/gststructure.h:
27103         * docs/gst/gstreamer-sections.txt:
27104           New API: gst_structure_has_name().
27105
27106 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27107
27108         * configure.ac:
27109           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27110           and _LARGEFILE_SOURCE in config.h as required. Do not 
27111           export those flags in our .pc files any longer (#142209).
27112
27113           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27114
27115         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27116         (gst_file_sink_do_seek), (gst_file_sink_event),
27117         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27118           Redo seek/tell calls with large file support in mind; add some
27119           debugging messages; add log message that tells us when large
27120           file support is unavailable or not enabled for some reason.
27121
27122         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27123           Add log message that tells us when large file support 
27124           is unavailable or not enabled for some reason.
27125
27126 2005-07-29  Wim Taymans  <wim@fluendo.com>
27127
27128         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27129         Added test for removing an element with ghostpad from a bin.
27130         Fixed test as current implementation does the right thing.
27131
27132         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27133         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27134         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27135         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27136         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27137         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27138         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27139         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27140         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27141         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27142         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27143         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27144         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27145         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27146         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27147         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27148         * gst/gstghostpad.h:
27149         Clean up ghostpads, remove properties for internal stuff.
27150         Make threadsafe.
27151         Fix refcounting.
27152         Prepare for switching targets, not all use cases work yet.
27153
27154 2005-07-29  Wim Taymans  <wim@fluendo.com>
27155
27156         * docs/design/part-gstghostpad.txt:
27157         Small update.
27158
27159         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27160         (gst_bin_remove_func):
27161         Unlinking pads while holding the bin LOCK is not a good
27162         idea.
27163
27164         * gst/gstpad.c: (gst_pad_class_init),
27165         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27166         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27167         No prob setting template after creating the pad.
27168
27169 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27170
27171         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27172         (gst_bus_peek), (gst_bus_source_dispatch),
27173         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27174         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27175           gst_bus_poll may be called from other threads. Handle
27176           this nicely by not making poll_data disappear off the
27177           stack once gst_bus_poll returns.
27178           gst_bus_peek now increments the refcount on the returned
27179           message.
27180
27181 2005-07-29  Wim Taymans  <wim@fluendo.com>
27182
27183         * docs/design/part-gstghostpad.txt:
27184         Overview of current GhostPad datastructures and use
27185         cases for changing the target.
27186
27187 2005-07-28  Wim Taymans  <wim@fluendo.com>
27188
27189         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27190         Added checks for hierarchy consistency whan adding linked
27191         elements to bins.
27192
27193         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27194         Added check to test element scheduling without bin/pipeline.
27195
27196         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27197         First add elements to bin, then link.
27198         
27199         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27200         (gst_bin_remove_func):
27201         Unlink pads from elements added/removed from bin to maintain
27202         hierarchy consistency.
27203
27204 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27205
27206         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27207         (gst_base_transform_handle_buffer):
27208         * gst/base/gstbasetransform.h:
27209           Remove broken delay_configure (fixes renegotiation of software
27210           scaling pipelines); remove some leftover printf()s.
27211
27212 2005-07-28  Wim Taymans  <wim@fluendo.com>
27213
27214         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27215         Added some more tests for wrong hierarchy
27216
27217         * docs/design/part-overview.txt:
27218         Some updates.
27219
27220         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27221         Cleanups.
27222
27223         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27224         (gst_element_dispose):
27225         Some more cleanups.
27226
27227         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27228         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27229         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27230         (gst_pad_set_caps), (gst_pad_send_event):
27231         Check for correct hierarchy when linking pads. Moving to
27232         strict requirement for ghostpads when linking elements in
27233         different bins.
27234
27235         * gst/gstpad.h:
27236         Clean ups. Added WRONG_HIERARCHY return value.
27237
27238 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27239
27240         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27241           Better debug if no transform is possible.
27242
27243 2005-07-27  Wim Taymans  <wim@fluendo.com>
27244
27245         * docs/random/wtay/network-transp:
27246         Some old doc I had.
27247
27248 2005-07-27  Wim Taymans  <wim@fluendo.com>
27249
27250         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27251         (gst_dp_event_from_packet):
27252         Fix serialization of seek events.
27253
27254 2005-07-27  Wim Taymans  <wim@fluendo.com>
27255
27256         * check/gst-libs/gdp.c: (GST_START_TEST):
27257         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27258         Fix compilation and fix event serialization.
27259
27260 2005-07-27  Wim Taymans  <wim@fluendo.com>
27261
27262         * CHANGES-0.9:
27263         * docs/design/part-TODO.txt:
27264         * docs/design/part-events.txt:
27265         Some docs updates
27266
27267         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27268         (gst_base_sink_event), (gst_base_sink_do_sync),
27269         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27270         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27271         (gst_base_src_do_seek), (gst_base_src_event_handler),
27272         (gst_base_src_loop):
27273         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27274         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27275         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27276         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27277         (gst_base_transform_set_passthrough),
27278         (gst_base_transform_is_passthrough):
27279         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27280         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27281         Event updates.
27282
27283         * gst/gstbuffer.h:
27284         Use faster casts.
27285
27286         * gst/gstelement.c: (gst_element_seek):
27287         * gst/gstelement.h:
27288         Update gst_element_seek.
27289
27290         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27291         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27292         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27293         (gst_event_new_eos), (gst_event_new_newsegment),
27294         (gst_event_parse_newsegment), (gst_event_new_tag),
27295         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27296         (gst_event_parse_qos), (gst_event_new_seek),
27297         (gst_event_parse_seek), (gst_event_new_navigation):
27298         * gst/gstevent.h:
27299         Make GstEvent use GstStructure. Add parsing code, make sure the
27300         API is sufficiently generic.
27301         Mark possible directions of events and serialization.
27302
27303         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27304         (_gst_message_copy), (gst_message_new_segment_start),
27305         (gst_message_new_segment_done), (gst_message_new_custom),
27306         (gst_message_parse_segment_start),
27307         (gst_message_parse_segment_done):
27308         Small cleanups.
27309
27310         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27311         (gst_pad_set_caps), (gst_pad_send_event):
27312         Update for new events. 
27313         Catch events sent in wrong directions.
27314
27315         * gst/gstqueue.c: (gst_queue_link_src),
27316         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27317         (gst_queue_handle_src_query):
27318         Event updates.
27319
27320         * gst/gsttag.c:
27321         * gst/gsttag.h:
27322         Remove event code from this file.
27323
27324         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27325         (gst_dp_event_from_packet):
27326         Event updates.
27327
27328 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27329
27330         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27331         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27332         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27333           Make debugging actually useful.
27334
27335 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27336
27337         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27338         (gst_pad_fixate_caps):
27339           Implement default fixation once again, so that gst_pad_fixate()
27340           actually does anything at all. This probably needs to be some
27341           sort of a last resort, and use profile-based fixation first, but
27342           since that doesn't exist yet, this is the best we have. Fixes
27343           visualization in Totem.
27344
27345 2005-07-22  Wim Taymans  <wim@fluendo.com>
27346
27347         * docs/design/part-events.txt:
27348         Small update.
27349
27350         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27351         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27352         (gst_base_sink_activate_pull):
27353         Some more comments.
27354
27355         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27356         (gst_fake_src_create):
27357         Fix handoff marshall.
27358
27359         * gst/elements/gstidentity.c: (gst_identity_class_init),
27360         (gst_identity_transform_ip):
27361         We're a real inplace element.
27362
27363         * gst/gstbus.c: (gst_bus_post):
27364         Added some comments.
27365
27366         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27367         * tests/muxing/case1.c: (main):
27368         * tests/sched/dynamic-pipeline.c: (main):
27369         * tests/sched/interrupt1.c: (main):
27370         * tests/sched/interrupt2.c: (main):
27371         * tests/sched/interrupt3.c: (main):
27372         * tests/sched/runxml.c: (main):
27373         * tests/sched/sched-stress.c: (main):
27374         * tests/seeking/seeking1.c: (event_received), (main):
27375         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27376         (main):
27377         * tests/threadstate/threadstate3.c: (main):
27378         * tests/threadstate/threadstate4.c: (main):
27379         * tests/threadstate/threadstate5.c: (main):
27380         Fix the tests.
27381
27382 2005-07-21  Wim Taymans  <wim@fluendo.com>
27383
27384         * docs/design/part-seeking.txt:
27385         Some small additions.
27386
27387         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27388         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27389         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27390         * gst/base/gstbasesink.h:
27391         discont values are gint64, handle the math correctly.
27392
27393         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27394         Make the basesrc report error if the source pad is not linked.
27395
27396         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27397         (gst_queue_loop), (gst_queue_handle_src_query),
27398         (gst_queue_src_activate_push):
27399         Make queue collect data even if the srcpad is not linked.
27400         Start pushing out data as soon as it is linked.
27401
27402         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27403         * gst/gstutils.h:
27404         Added gst_flow_get_name() to ease error reporting.
27405
27406 2005-07-20  Wim Taymans  <wim@fluendo.com>
27407
27408         * gst/gstmessage.c: (gst_message_new_segment_start),
27409         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27410         (gst_message_parse_segment_done):
27411         * gst/gstmessage.h:
27412         Added a bunch of messages for advanced seeking.
27413
27414         * gst/parse/grammar.y:
27415         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27416         (gst_dpman_state_changed):
27417         Fix some new-pad -> pad-added signals
27418
27419 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27420
27421         * docs/manual/appendix-porting.xml:
27422         * docs/pwg/appendix-porting.xml:
27423           Document new-pad/state-change signal renames and the FixedList
27424           type rename.
27425
27426 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27427
27428         * docs/manual/advanced-autoplugging.xml:
27429         * docs/manual/basics-helloworld.xml:
27430         * docs/manual/basics-pads.xml:
27431         * docs/random/ds/0.9-suggested-changes:
27432         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27433         * gst/gstelement.h:
27434         * gst/gstevent.h:
27435         * gst/gstformat.h:
27436         * gst/gstquery.h:
27437         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27438         (gst_structure_parse_array), (gst_structure_parse_value):
27439         * gst/gstvalue.c: (gst_type_is_fixed),
27440         (gst_value_list_prepend_value), (gst_value_list_append_value),
27441         (gst_value_list_get_size), (gst_value_list_get_value),
27442         (gst_value_transform_array_string), (gst_value_serialize_array),
27443         (gst_value_deserialize_array), (gst_value_intersect_array),
27444         (gst_value_is_fixed), (_gst_value_initialize):
27445         * gst/gstvalue.h:
27446           GstElement::new-pad -> pad-added, GstElement::state-change ->
27447           state-changed, GstValueFixedList -> GstValueArray, add format and
27448           flags as their own arguments in gst_element_seek() (should improve
27449           "bindeability"), remove function generators since they don't work
27450           under a whole bunch of compilers (they were deprecated already
27451           anyway).
27452
27453 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27454
27455         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27456         (_gst_debug_register_funcptr):
27457         * gst/gstinfo.h:
27458           Fix illegal cast on some platforms (#309253).
27459
27460 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27461
27462         * gst/gstmessage.c: (gst_message_new_custom):
27463         * gst/gstmessage.h:
27464           Add _new_custom, make _new_application a macro to _new_custom.
27465
27466 2005-07-20  Wim Taymans  <wim@fluendo.com>
27467
27468         * gst/base/gstbasesrc.c: (gst_base_src_init),
27469         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27470         * gst/base/gstbasesrc.h:
27471         Add a gboolean to decide when to push out a discont.
27472
27473         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27474         (gst_queue_loop), (gst_queue_handle_src_query),
27475         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27476         (gst_queue_set_property), (gst_queue_get_property):
27477         Some cleanups.
27478
27479         * tests/threadstate/threadstate1.c: (main):
27480         Make a thread test compile and run... very silly..
27481
27482
27483 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27484
27485         * docs/manual/appendix-porting.xml:
27486           Mention removal of libgstgconf-0.9.la and existence of gconf
27487           elements.
27488
27489 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27490
27491         * docs/pwg/advanced-clock.xml:
27492         * docs/pwg/appendix-porting.xml:
27493         * docs/pwg/intro-preface.xml:
27494         * docs/pwg/other-base.xml:
27495         * docs/pwg/other-manager.xml:
27496         * docs/pwg/other-nton.xml:
27497         * docs/pwg/other-ntoone.xml:
27498         * docs/pwg/other-oneton.xml:
27499         * docs/pwg/pwg.xml:
27500           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27501           demuxer), remove n-to-n (was never written), fix some code examples
27502           and links and update the porting section to include all this.
27503
27504 2005-07-19  Wim Taymans  <wim@fluendo.com>
27505
27506         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27507         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27508         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27509         (gst_queue_src_activate_push), (gst_queue_change_state),
27510         (gst_queue_get_property):
27511         * gst/gstqueue.h:
27512         Propagate GstFlowReturn more intelligently upstream and output
27513         an ERROR/EOS when streaming stopped due to fatal error.
27514
27515 2005-07-19  Wim Taymans  <wim@fluendo.com>
27516
27517         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27518         Don't block forever for the state change to complete, the
27519         pipeline already did with a sensible timeout.
27520
27521 2005-07-19  Wim Taymans  <wim@fluendo.com>
27522
27523         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27524         Make sure we never call the create function is we
27525         got deactivated.
27526
27527 2005-07-19  Andy Wingo  <wingo@pobox.com>
27528
27529         * gst/parse/parse.l: Attempt to solve bug #172815.
27530
27531 2005-07-19  Wim Taymans  <wim@fluendo.com>
27532
27533         * docs/design/part-clocks.txt:
27534         * docs/design/part-events.txt:
27535         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27536         Small docs updates.
27537         Only update the seeking values when we are not
27538         busy streaming.
27539
27540 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27541
27542         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27543           Oops, ignore the result of gst_pad_push_event here.
27544
27545 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27546
27547         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27548         (gst_base_src_activate_push):
27549           Send discont event from the loop function, as pads
27550           aren't activated yet in the activate_push handler.
27551
27552         * gst/gstbin.c: (bin_bus_handler):
27553           Don't leak element name.
27554
27555 2005-07-18  Andy Wingo  <wingo@pobox.com>
27556
27557         * configure.ac: Use AS_LIBTOOL_TAGS.
27558
27559 2005-07-18  Wim Taymans  <wim@fluendo.com>
27560
27561         * docs/gst/gstreamer.types:
27562         Remove deleted types.
27563
27564 2005-07-18  Wim Taymans  <wim@fluendo.com>
27565
27566         * check/elements/gstfakesrc.c: (GST_START_TEST):
27567         * configure.ac:
27568         * gst/Makefile.am:
27569         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27570         (init_popt_callback):
27571         * gst/gst.h:
27572         * gst/gst_private.h:
27573         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27574         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27575         * gst/gstbin.h:
27576         * gst/gstbus.h:
27577         * gst/gstconfig.h.in:
27578         * gst/gstelement.c: (gst_element_class_init),
27579         (gst_element_set_base_time), (gst_element_get_base_time),
27580         (iterator_fold_with_resync), (gst_element_change_state),
27581         (gst_element_dispose), (gst_element_get_bus):
27582         * gst/gstelement.h:
27583         * gst/gstelementfactory.h:
27584         * gst/gsterror.c: (_gst_core_errors_init):
27585         * gst/gsterror.h:
27586         * gst/gstevent.h:
27587         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27588         * gst/gstindex.c:
27589         * gst/gstinfo.c: (_gst_debug_init):
27590         * gst/gstmessage.c: (_gst_message_copy):
27591         * gst/gstmessage.h:
27592         * gst/gstminiobject.h:
27593         * gst/gstobject.c:
27594         * gst/gstobject.h:
27595         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27596         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27597         * gst/gstpad.h:
27598         * gst/gstparse.h:
27599         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27600         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27601         (gst_pipeline_get_last_stream_time):
27602         * gst/gstpipeline.h:
27603         * gst/gstpluginfeature.h:
27604         * gst/gstquery.h:
27605         * gst/gstscheduler.c:
27606         * gst/gstscheduler.h:
27607         * gst/gststructure.h:
27608         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27609         (gst_task_finalize), (gst_task_func), (gst_task_create),
27610         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27611         (gst_task_stop), (gst_task_pause):
27612         * gst/gsttask.h:
27613         * gst/gsttypefind.h:
27614         * gst/gsttypes.h:
27615         * gst/registries/gstlibxmlregistry.c: (load_feature),
27616         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27617         * gst/registries/gstxmlregistry.c:
27618         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27619         * gst/schedulers/threadscheduler.c:
27620         * libs/gst/control/dparammanager.h:
27621         * tools/gst-inspect.c: (print_element_list),
27622         (print_plugin_features), (print_element_features):
27623         * tools/gst-xmlinspect.c: (print_element_list),
27624         (print_plugin_info), (main):
27625         Removed plugable schedulers.
27626         Removed Scheduler/Manager from elements.
27627         Removed gsttypes.h, rearranged includes.
27628         Removed dependency pad<->element, element<>pipeline, and
27629         various others,  fix includes.
27630         implement gst_pad_get_parent() with gst_object_get_parent()
27631         Make GstTask sefcontained.
27632         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27633         timeout.
27634         Fix endless loop in iterator_fold_with_resync.
27635
27636
27637 2005-07-18  Wim Taymans  <wim@fluendo.com>
27638
27639         * gst/Makefile.am:
27640         * gst/gstarch.h:
27641         Remove old file.
27642
27643 2005-07-18  Wim Taymans  <wim@fluendo.com>
27644
27645         * gst/Makefile.am:
27646         No more cothreads.h
27647
27648 2005-07-18  Wim Taymans  <wim@fluendo.com>
27649
27650         * gst/cothreads.c:
27651         * gst/cothreads.h:
27652         Let's remove these.
27653
27654 2005-07-18  Wim Taymans  <wim@fluendo.com>
27655
27656         * docs/design/part-dynamic.txt:
27657         * docs/design/part-events.txt:
27658         * docs/design/part-seeking.txt:
27659         Some more docs in the works.
27660
27661         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27662         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27663         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27664         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27665         (gst_base_transform_handle_buffer),
27666         (gst_base_transform_sink_activate_push),
27667         (gst_base_transform_src_activate_pull),
27668         (gst_base_transform_set_passthrough),
27669         (gst_base_transform_is_passthrough):
27670         Refcounting fixes.
27671
27672         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27673         Cleanups.
27674
27675         * gst/gstevent.c: (gst_event_finalize):
27676         Set SRC to NULL.
27677
27678         * gst/gstutils.c: (gst_element_unlink),
27679         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27680         (gst_pad_proxy_setcaps):
27681         * gst/gstutils.h:
27682         Add _get_parent_element() to get a pads parent as an element.
27683
27684 2005-07-18  Wim Taymans  <wim@fluendo.com>
27685
27686         * check/gst/gstbin.c: (GST_START_TEST):
27687         Remove bogus test.
27688
27689 2005-07-18  Wim Taymans  <wim@fluendo.com>
27690
27691         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27692         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27693         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27694         (gst_base_sink_event), (gst_base_sink_do_sync),
27695         (gst_base_sink_chain), (gst_base_sink_loop),
27696         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27697         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27698         Refcounting fixes.
27699         Fix logic for returning ASYNC when not prerolled.
27700
27701 2005-07-18  Wim Taymans  <wim@fluendo.com>
27702
27703         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27704         Fix nasty refcount bug.
27705
27706 2005-07-16 Philippe Khalaf <burger@speedy.org>
27707
27708         * gst/elements/gstfdsrc.c:
27709         * gst/elements/gstfdsrc.h:
27710         * gst/elements/gstelements.c:
27711         * gst/elements/Makefile.am:
27712         Ported fdsrc to 0.9.
27713
27714 2005-07-16  Wim Taymans  <wim@fluendo.com>
27715
27716         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27717         (gst_base_sink_do_sync):
27718         Fix compile error.
27719
27720 2005-07-16  Wim Taymans  <wim@fluendo.com>
27721
27722         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27723         (gst_base_sink_event), (gst_base_sink_get_times),
27724         (gst_base_sink_do_sync), (gst_base_sink_change_state):
27725         * gst/base/gstbasesink.h:
27726         Store and use discont values when syncing buffers as described
27727         in design docs.
27728         
27729         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27730         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27731         (gst_base_src_activate_push):
27732         Push discont event when starting.
27733
27734         * gst/elements/gstidentity.c: (gst_identity_transform):
27735         Small cleanups.
27736
27737         * gst/gstbin.c: (gst_bin_change_state):
27738         Small cleanups in base_time  distribution.
27739
27740         * gst/gstelement.c: (gst_element_set_base_time),
27741         (gst_element_get_base_time), (gst_element_change_state):
27742         * gst/gstelement.h:
27743         Added methods for the base_time of the element.
27744         Some MT fixes.
27745
27746         * gst/gstpipeline.c: (gst_pipeline_send_event),
27747         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27748         (gst_pipeline_get_last_stream_time):
27749         * gst/gstpipeline.h:
27750         MT fixes.
27751         Handle seeking as described in design doc, remove stream_time
27752         hack.
27753         Cleanups clock and stream_time selection code. Added accessors
27754         for the stream_time.
27755         
27756
27757 2005-07-16  Andy Wingo  <wingo@pobox.com>
27758
27759         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27760         (#305291).
27761
27762 2005-07-16  Wim Taymans  <wim@fluendo.com>
27763
27764         * check/gst/gstbin.c: (GST_START_TEST):
27765         Make elements silent as the deep_notify refs the
27766         parent, which might make the test fail.
27767
27768         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27769         Don't hold the lock for too long.
27770
27771 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
27772
27773         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27774           Don't unref the caps we passed to gst_caps_make_writable() after
27775           passing them. gst_caps_make_writable() will do that for us.
27776
27777 2005-07-15  Andy Wingo  <wingo@pobox.com>
27778
27779         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27780         (#157311).
27781
27782         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27783         own marshalling function for the handoff signal. Properly type the
27784         buffer as a buffer. Fixes some warnings. Should do a more general
27785         solution.
27786         (gst_identity_class_init): Plug into the right marshaller.
27787
27788 2005-07-15  Wim Taymans  <wim@fluendo.com>
27789
27790         * docs/design/part-TODO.txt:
27791         * docs/design/part-clocks.txt:
27792         * docs/design/part-element-sink.txt:
27793         * docs/design/part-events.txt:
27794         * docs/design/part-gstpipeline.txt:
27795         Updated docs, mostly DISCONT related.
27796
27797 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
27798
27799         * docs/pwg/building-pads.xml:
27800           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27801
27802 2005-07-15  Andy Wingo  <wingo@pobox.com>
27803
27804         * tools/gst-typefind.c: Update, add copyright block.
27805
27806         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27807         Normalize and truncate caps before fixation.
27808
27809         * gst/gstcaps.h:
27810         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27811         discards all but the first structure from its argument.
27812
27813 2005-07-15  Wim Taymans  <wim@fluendo.com>
27814
27815         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27816         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27817         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27818         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27819         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27820         (gst_base_transform_chain), (gst_base_transform_change_state),
27821         (gst_base_transform_set_passthrough),
27822         (gst_base_transform_is_passthrough):
27823         * gst/base/gstbasetransform.h:
27824         Make passthrough work using the bufferpools.
27825         Changed API a bit, subclasses have to write into a buffer
27826         provided by the base class.
27827         More debug info in nego functions.
27828         
27829         * gst/elements/gstidentity.c: (gst_identity_init),
27830         (gst_identity_transform):
27831         Port to new base class.
27832
27833 2005-07-15  Wim Taymans  <wim@fluendo.com>
27834
27835         * gst/gstmessage.c: (gst_message_new_state_changed):
27836         * tools/gst-launch.c: (event_loop), (main):
27837         Totally dump messages in -launch with the -m option.
27838         Fix message name for State messages,
27839
27840 2005-07-14  Wim Taymans  <wim@fluendo.com>
27841
27842         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27843         Post error messages on errors.
27844
27845 2005-07-14  Wim Taymans  <wim@fluendo.com>
27846
27847         * gst/gstcaps.c: (gst_caps_do_simplify):
27848         Remove debug info.
27849
27850         * gst/gsterror.h:
27851         Define error for stream stopped.
27852
27853         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27854         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
27855         Do proper return values.
27856
27857         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27858         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
27859         (gst_pad_get_range):
27860         Better return values.
27861
27862         * gst/gstpad.h:
27863         Reorganise return values, add macro to check for fatal errors.
27864
27865         * gst/gstqueue.c: (gst_queue_chain):
27866         Return proper GstFlowReturn values,
27867
27868 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
27869
27870         * docs/gst/gstreamer-sections.txt:
27871         * docs/gst/gstreamer.types:
27872         * docs/gst/tmpl/gst.sgml:
27873         * docs/gst/tmpl/gstbasesink.sgml:
27874         * docs/gst/tmpl/gstbasesrc.sgml:
27875         * docs/gst/tmpl/gstbasetransform.sgml:
27876         * docs/gst/tmpl/gstbin.sgml:
27877         * docs/gst/tmpl/gstbuffer.sgml:
27878         * docs/gst/tmpl/gstcaps.sgml:
27879         * docs/gst/tmpl/gstclock.sgml:
27880         * docs/gst/tmpl/gstcompat.sgml:
27881         * docs/gst/tmpl/gstconfig.sgml:
27882         * docs/gst/tmpl/gstelement.sgml:
27883         * docs/gst/tmpl/gstelementdetails.sgml:
27884         * docs/gst/tmpl/gstelementfactory.sgml:
27885         * docs/gst/tmpl/gstenumtypes.sgml:
27886         * docs/gst/tmpl/gsterror.sgml:
27887         * docs/gst/tmpl/gstevent.sgml:
27888         * docs/gst/tmpl/gstfakesink.sgml:
27889         * docs/gst/tmpl/gstfakesrc.sgml:
27890         * docs/gst/tmpl/gstfilesink.sgml:
27891         * docs/gst/tmpl/gstfilesrc.sgml:
27892         * docs/gst/tmpl/gstfilter.sgml:
27893         * docs/gst/tmpl/gstformat.sgml:
27894         * docs/gst/tmpl/gstghostpad.sgml:
27895         * docs/gst/tmpl/gstimplementsinterface.sgml:
27896         * docs/gst/tmpl/gstindex.sgml:
27897         * docs/gst/tmpl/gstindexfactory.sgml:
27898         * docs/gst/tmpl/gstinfo.sgml:
27899         * docs/gst/tmpl/gstiterator.sgml:
27900         * docs/gst/tmpl/gstmacros.sgml:
27901         * docs/gst/tmpl/gstmemchunk.sgml:
27902         * docs/gst/tmpl/gstminiobject.sgml:
27903         * docs/gst/tmpl/gstobject.sgml:
27904         * docs/gst/tmpl/gstpad.sgml:
27905         * docs/gst/tmpl/gstpadtemplate.sgml:
27906         * docs/gst/tmpl/gstparse.sgml:
27907         * docs/gst/tmpl/gstpipeline.sgml:
27908         * docs/gst/tmpl/gstplugin.sgml:
27909         * docs/gst/tmpl/gstpluginfeature.sgml:
27910         * docs/gst/tmpl/gstquery.sgml:
27911         * docs/gst/tmpl/gstqueue.sgml:
27912         * docs/gst/tmpl/gstregistry.sgml:
27913         * docs/gst/tmpl/gstregistrypool.sgml:
27914         * docs/gst/tmpl/gstscheduler.sgml:
27915         * docs/gst/tmpl/gstschedulerfactory.sgml:
27916         * docs/gst/tmpl/gststructure.sgml:
27917         * docs/gst/tmpl/gstsystemclock.sgml:
27918         * docs/gst/tmpl/gsttaglist.sgml:
27919         * docs/gst/tmpl/gsttagsetter.sgml:
27920         * docs/gst/tmpl/gsttrace.sgml:
27921         * docs/gst/tmpl/gsttrashstack.sgml:
27922         * docs/gst/tmpl/gsttypefind.sgml:
27923         * docs/gst/tmpl/gsttypefindfactory.sgml:
27924         * docs/gst/tmpl/gsttypes.sgml:
27925         * docs/gst/tmpl/gsturihandler.sgml:
27926         * docs/gst/tmpl/gsturitype.sgml:
27927         * docs/gst/tmpl/gstutils.sgml:
27928         * docs/gst/tmpl/gstvalue.sgml:
27929         * docs/gst/tmpl/gstversion.sgml:
27930         * docs/gst/tmpl/gstxml.sgml:
27931         * docs/libs/tmpl/gstcontrol.sgml:
27932         * docs/libs/tmpl/gstdataprotocol.sgml:
27933         * docs/libs/tmpl/gstdparam.sgml:
27934         * docs/libs/tmpl/gstdplinint.sgml:
27935         * docs/libs/tmpl/gstdpman.sgml:
27936         * docs/libs/tmpl/gstdpsmooth.sgml:
27937         * docs/libs/tmpl/gstgetbits.sgml:
27938         * docs/libs/tmpl/gstunitconvert.sgml:
27939         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
27940         (gst_push_src_base_init), (gst_push_src_class_init),
27941         (gst_push_src_init), (gst_push_src_create):
27942         * gst/base/gstpushsrc.h:
27943         * gst/elements/gstelements.c:
27944         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
27945         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
27946         (gst_fake_sink_init), (gst_fake_sink_set_property),
27947         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
27948         (gst_fake_sink_event), (gst_fake_sink_preroll),
27949         (gst_fake_sink_render), (gst_fake_sink_change_state):
27950         * gst/elements/gstfakesink.h:
27951         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
27952         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
27953         (gst_fake_src_base_init), (gst_fake_src_class_init),
27954         (gst_fake_src_init), (gst_fake_src_event_handler),
27955         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
27956         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
27957         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
27958         (gst_fake_src_create_buffer), (gst_fake_src_create),
27959         (gst_fake_src_start), (gst_fake_src_stop):
27960         * gst/elements/gstfakesrc.h:
27961         * gst/elements/gstfilesink.c: (_do_init),
27962         (gst_file_sink_base_init), (gst_file_sink_class_init),
27963         (gst_file_sink_init), (gst_file_sink_dispose),
27964         (gst_file_sink_set_location), (gst_file_sink_set_property),
27965         (gst_file_sink_get_property), (gst_file_sink_open_file),
27966         (gst_file_sink_close_file), (gst_file_sink_query),
27967         (gst_file_sink_event), (gst_file_sink_render),
27968         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
27969         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
27970         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
27971         * gst/elements/gstfilesink.h:
27972         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
27973         (gst_file_src_class_init), (gst_file_src_init),
27974         (gst_file_src_finalize), (gst_file_src_set_location),
27975         (gst_file_src_set_property), (gst_file_src_get_property),
27976         (gst_file_src_map_region), (gst_file_src_map_small_region),
27977         (gst_file_src_create_mmap), (gst_file_src_create_read),
27978         (gst_file_src_create), (gst_file_src_is_seekable),
27979         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
27980         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
27981         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
27982         (gst_file_src_uri_handler_init):
27983         * gst/elements/gstfilesrc.h:
27984           more autistic cleanliness in functions/names/defines
27985
27986 2005-07-13  Andy Wingo  <wingo@pobox.com>
27987
27988         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
27989         source couldn't negotiate.
27990
27991         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
27992         connections again.
27993
27994         * gst/gstutils.h:
27995         * gst/gstutils.c (gst_element_link_pads_filtered): New old
27996         function. I am channeling Hades. Put your boots on suckers!!!
27997
27998 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
27999
28000         * testsuite/caps/Makefile.am:
28001         * testsuite/caps/value_compare.c:
28002         * testsuite/caps/value_intersect.c:
28003         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28004           move two testsuite apps over to the check dir
28005
28006 2005-07-12  Wim Taymans  <wim@fluendo.com>
28007
28008         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28009         Added more debug info in the negotiate process.
28010
28011         * gst/gstmessage.h:
28012         Prepare for segment playback.
28013
28014         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28015         Better debugging.
28016
28017         * gst/gstutils.c:
28018         Some more docs.
28019
28020         * tools/gst-launch.c: (main):
28021         NULL pipeline on errors.
28022
28023 2005-07-12  Andy Wingo  <wingo@pobox.com>
28024
28025         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28026         not it comes from a malloc region. Make sure our copy gets freed.
28027
28028 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28029
28030         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28031         * check/gst/gstmessage.c: (GST_START_TEST):
28032         * check/gst/gststructure.c: (GST_START_TEST),
28033         (gst_structure_suite), (main):
28034           more testing
28035         * gst/gstelement.c: (gst_element_message_full):
28036           clean up GError and debug string now that they get copied
28037         * gst/gstmessage.c: (gst_message_new_error),
28038         (gst_message_new_warning), (gst_message_parse_error),
28039         (gst_message_parse_warning):
28040           use GST_TYPE_G_ERROR for structure_new, and take copies of
28041           arguments, so that we don't mess up refcounting
28042
28043 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28044
28045         * check/Makefile.am:
28046           add per-test valgrind targets
28047         * check/gst-libs/gdp.c: (GST_START_TEST),
28048         (gst_data_protocol_suite), (main):
28049           clean up
28050
28051 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28052
28053         * check/Makefile.am:
28054           instate more valgrindable tests
28055         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28056         (GST_START_TEST), (fakesrc_suite):
28057         * check/gst/gstpad.c: (GST_START_TEST):
28058         * check/gst/gststructure.c: (GST_START_TEST):
28059           fix test leaks
28060         * docs/gst/tmpl/gstminiobject.sgml:
28061         * gst/gstpad.c: (gst_pad_finalize):
28062           fix the static mutex leak
28063
28064 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28065
28066         * check/Makefile.am:
28067           add two more tests for valgrinding
28068         * check/gst/gstvalue.c: (GST_START_TEST):
28069           test refcount of deserialized buffer, found a leak
28070         * docs/gst/gstreamer-docs.sgml:
28071         * docs/gst/gstreamer-sections.txt:
28072         * docs/gst/gstreamer.types:
28073         * docs/gst/tmpl/gstminiobject.sgml:
28074           add miniobject to docs
28075         * gst/gstminiobject.c:
28076           add some docs
28077         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28078         (gst_string_unwrap):
28079           fix a hard-to-find invalid write for one of the tests
28080           fix a leak for deserialized buffers
28081
28082 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28083
28084         * docs/pwg/advanced-events.xml:
28085         * docs/pwg/advanced-request.xml:
28086         * docs/pwg/advanced-scheduling.xml:
28087         * docs/pwg/appendix-porting.xml:
28088         * docs/pwg/building-boiler.xml:
28089         * docs/pwg/intro-preface.xml:
28090         * docs/pwg/other-ntoone.xml:
28091           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28092           of example code and explanation for pad activation, loop() and
28093           getrange() functions and a bit more. Remove old comments pointing
28094           to loop-functions.
28095         * examples/pwg/Makefile.am:
28096           Add loop/getrange examples.
28097
28098 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28099
28100         * configure.ac:
28101           check for valgrind binary + some fixes
28102         * check/gst.supp:
28103           valgrind suppressions for the tests
28104         * check/Makefile.am:
28105           add a valgrind: target that valgrinds the unit tests
28106         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28107         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28108         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28109         * check/gst/gstghostpad.c:
28110           added some cleanup
28111         * check/gst/gstdata.c:
28112           removed
28113         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28114         (thread_unref), (gst_mini_object_suite), (main):
28115           added
28116         * gst/gst.c: (gst_deinit):
28117         * gst/gst.h:
28118           add a method to clean up.
28119         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28120         (gst_system_clock_obtain):
28121           allow for disposing the system clock.
28122         * tools/gst-launch.c: (main):
28123           deinit
28124
28125 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28126
28127         * docs/gst/tmpl/gstbasesrc.sgml:
28128         * docs/gst/tmpl/gstfakesrc.sgml:
28129         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28130         (gst_base_src_init), (gst_base_src_set_property),
28131         (gst_base_src_get_property), (gst_base_src_get_range),
28132         (gst_base_src_start):
28133         * gst/base/gstbasesrc.h:
28134           add num-buffers property
28135         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28136         (gst_fakesrc_init), (gst_fakesrc_set_property),
28137         (gst_fakesrc_get_property), (gst_fakesrc_create),
28138         (gst_fakesrc_start):
28139           remove num-buffers property
28140
28141 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28142
28143         * docs/gst/gstreamer-sections.txt:
28144         * docs/gst/tmpl/gstbasesink.sgml:
28145         * docs/gst/tmpl/gstbasesrc.sgml:
28146         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28147         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28148         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28149         (gst_base_sink_set_property), (gst_base_sink_get_property),
28150         (gst_base_sink_handle_object), (gst_base_sink_event),
28151         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28152         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28153         (gst_base_sink_loop), (gst_base_sink_deactivate),
28154         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28155         (gst_base_sink_change_state):
28156         * gst/base/gstbasesink.h:
28157         * gst/base/gstbasesrc.h:
28158         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28159         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28160         (gst_filesink_init):
28161           more macro splitting
28162
28163 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28164
28165         * gst/gstelement.c: (gst_element_get_bus):
28166           add debug
28167         * tools/gst-launch.c: (check_intr), (event_loop):
28168           fix bus leaks
28169
28170 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28171
28172         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28173           fix a caps leak
28174
28175 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28176
28177         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28178         (gst_base_src_finalize):
28179           add finalize method and clean up properly
28180         * gst/gstpipeline.c: (gst_pipeline_dispose):
28181           add debug
28182
28183 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28184
28185         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28186         (gst_bin_suite):
28187           add more things to check
28188         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28189         * gst/gstelement.c:
28190           more debug
28191
28192 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28193
28194         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28195         (GST_START_TEST), (fakesrc_suite):
28196         * check/gst-libs/gdp.c: (GST_START_TEST):
28197         * check/gst/gst.c: (GST_START_TEST):
28198         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28199         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28200         * check/gst/gstbus.c: (GST_START_TEST):
28201         * check/gst/gstcaps.c: (GST_START_TEST):
28202         * check/gst/gstdata.c: (GST_START_TEST):
28203         * check/gst/gstelement.c: (GST_START_TEST):
28204         * check/gst/gstghostpad.c: (GST_START_TEST):
28205         * check/gst/gstiterator.c: (GST_START_TEST):
28206         * check/gst/gstmessage.c: (GST_START_TEST):
28207         * check/gst/gstobject.c: (GST_START_TEST):
28208         * check/gst/gstpad.c: (GST_START_TEST):
28209         * check/gst/gststructure.c: (GST_START_TEST):
28210         * check/gst/gstsystemclock.c: (GST_START_TEST),
28211         (gst_systemclock_suite):
28212         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28213         * check/gst/gstvalue.c: (GST_START_TEST):
28214         * check/pipelines/cleanup.c: (GST_START_TEST):
28215         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28216         * check/states/sinks.c: (GST_START_TEST):
28217         * check/gstcheck.c: (gst_check_init):
28218         * check/gstcheck.h:
28219           add debugging category
28220           use GST_START_TEST now, so we add a debug line
28221
28222 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28223
28224         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28225           add test for state change message on a bin
28226         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28227           add another test
28228         * gst/gstbin.c: (gst_bin_init):
28229         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28230         * gst/gstelement.c: (gst_element_post_message),
28231         (gst_element_set_state):
28232         * gst/gstelementfactory.c: (gst_element_factory_create):
28233         * gst/gstmessage.c: (gst_message_new):
28234         * gst/gstscheduler.c:
28235           various debugging additions and cleanups
28236
28237 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28238
28239         * check/Makefile.am:
28240         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28241         (main):
28242           adding tests for elements
28243         * gst/gstelement.c: (gst_element_dispose):
28244
28245 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28246
28247         * gst/registries/gstlibxmlregistry.c: (load_feature):
28248           plug more leaks.  A simple gst_init() now is leakfree, yay.
28249
28250 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28251
28252         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28253         (gst_xml_registry_load):
28254           plug another memleak
28255
28256 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28257
28258         * configure.ac:
28259           use GST_SET_ERROR_CFLAGS
28260         * docs/faq/cvs.xml:
28261           change to ERROR_CFLAGS
28262
28263 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28264
28265         * configure.ac:
28266           make GST_ERROR_CFLAGS overridable and re-enable Werror
28267         * docs/faq/cvs.xml:
28268           add a note about error CFLAGS
28269         * docs/gst/tmpl/gstfakesrc.sgml:
28270         * gst/elements/gstfakesrc.c:
28271           comment out some unused code
28272         * gst/gst.c: (split_and_iterate):
28273         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28274         (load_feature):
28275           plug some memleaks
28276
28277 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28278
28279         * common/Makefile.am:
28280         * common/gtk-doc.mak:
28281         * docs/gst/Makefile.am:
28282           factor out gtk-doc.mak
28283
28284 2005-07-07  Wim Taymans  <wim@fluendo.com>
28285
28286         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28287         (gst_thread_scheduler_dispose):
28288         Unlock the STREAM_LOCK completely.
28289
28290 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28291
28292         * check/Makefile.am:
28293         * check/elements/.cvsignore:
28294         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28295         (START_TEST), (fakesrc_suite), (main):
28296         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28297         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28298         (gst_fakesrc_create), (gst_fakesrc_start):
28299         * gst/elements/gstfakesrc.h:
28300           adding a first element test
28301
28302 2005-07-07  Andy Wingo  <wingo@pobox.com>
28303
28304         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28305         debug message.
28306
28307 2005-07-07  Wim Taymans  <wim@fluendo.com>
28308
28309         * gst/gstquery.c:
28310         * gst/gstquery.h:
28311         Remove old types
28312
28313 2005-07-07  Wim Taymans  <wim@fluendo.com>
28314
28315         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28316         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28317         Allow subclasses to implement their own negotiation.
28318
28319 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28320
28321         * docs/design/part-gstbin.txt:
28322         * docs/design/part-gstpipeline.txt:
28323           Update design notes to reflect the movement of
28324           responsibility for bus handling from GstPipeline to
28325           GstBin
28326
28327 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28328
28329         * configure.ac:
28330           Remove unnecessary queue2/3/4 examples.
28331
28332 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28333
28334         * examples/Makefile.am:
28335         * examples/helloworld/helloworld.c: (event_loop), (main):
28336         * examples/queue/queue.c: (event_loop), (main):
28337         * examples/queue2/queue2.c: (main):
28338           Update a couple of the examples to work again.
28339
28340         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28341         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28342          Spelling corrections and extra debug.
28343         
28344         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28345         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28346         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28347         * gst/gstbin.h:
28348         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28349         (gst_pipeline_change_state):
28350         * gst/gstpipeline.h:
28351           Move the bus handler for children to the GstBin, and create a
28352           separate bus for receiving messages from children to the one the
28353           bus sends 'upwards' on.
28354
28355 2005-07-06  Wim Taymans  <wim@fluendo.com>
28356
28357         * gst/base/README:
28358         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28359         (gst_base_sink_handle_object), (gst_base_sink_loop),
28360         (gst_base_sink_change_state):
28361         * gst/base/gstbasesink.h:
28362         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28363         (gst_base_src_init), (gst_base_src_setcaps),
28364         (gst_base_src_getcaps), (gst_base_src_loop),
28365         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28366         (gst_base_src_start), (gst_base_src_change_state):
28367         * gst/base/gstbasesrc.h:
28368         Make basesrc negotiate.
28369         Handle the case where preroll fails in basesink.
28370         Update README.
28371
28372 2005-07-06  Wim Taymans  <wim@fluendo.com>
28373
28374         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28375         Implement the fixate function.
28376         Clean up acceptcaps.
28377
28378 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28379
28380         * docs/pwg/building-filterfactory.xml:
28381         * docs/pwg/pwg.xml:
28382           Remove never-written filter-factory chapter; I'll add the various
28383           base classes to part 4 ("other element types") later on.
28384
28385 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28386
28387         * docs/pwg/advanced-negotiation.xml:
28388         * docs/pwg/building-boiler.xml:
28389         * docs/pwg/building-pads.xml:
28390         * docs/pwg/pwg.xml:
28391         * examples/pwg/Makefile.am:
28392           Add a chapter on caps negotiation, simplify the original code
28393           samples a bit w.r.t. caps negotiation, add link to the advanced
28394           section. Add a bunch of examples showing different use cases of
28395           different types of caps negotiation. Upstream renegotiation isn't
28396           fully documented yet since nobody knows how that works.
28397
28398 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28399
28400         * check/gst/gstpad.c:
28401         * check/gstcheck.c:
28402         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28403           if pad has no parent, return NULL as list of internal links
28404
28405 2005-07-05  Andy Wingo  <wingo@pobox.com>
28406
28407         * gst/elements/gstfilesrc.c:
28408         * gst/elements/gstfakesrc.c: 
28409         * gst/base/gstpushsrc.c:
28410         * gst/base/gstbasesrc.h: 
28411         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28412         
28413 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28414
28415         * Makefile.am:
28416           better report generation target (lcov needs a patch)
28417
28418 2005-07-05  Andy Wingo  <wingo@pobox.com>
28419
28420         * gst/elements, testsuite: Null if we got it...
28421
28422 2005-07-05  Wim Taymans  <wim@fluendo.com>
28423
28424         * configure.ac:
28425         * libs/gst/dataprotocol/Makefile.am:
28426         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28427         * libs/gst/dataprotocol/dataprotocol.h:
28428         * pkgconfig/Makefile.am:
28429         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28430         * pkgconfig/gstreamer-dataprotocol.pc.in:
28431         Ported dataprotol to 0.9. 
28432         Added pkgconfig files.
28433
28434 2005-07-05  Andy Wingo  <wingo@pobox.com>
28435
28436         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28437         Default to returning TRUE for the case when tranform_caps returns
28438         a fixed caps, like for identity or volume.
28439
28440         * check/gst/gstbus.c (pound_bus_with_messages): 
28441         * check/gst/gstmessage.c (START_TEST): 
28442         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28443         message API change.
28444
28445         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28446         logic weaks here: always run transform_caps, trying passthrough
28447         operation only if the original caps intersects with the transform.
28448
28449         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28450         source and sink caps.
28451
28452         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28453         Intersect the peer caps with the pad template before going into
28454         transform_caps.
28455         (gst_base_transform_transform_caps): More debugging.
28456
28457         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28458         src argument.
28459
28460 2005-07-04  Edward Hervey  <edward@fluendo.com>
28461
28462         * gst/gstutils.c:
28463         * gst/gstutils.h:
28464         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28465         in bindings.
28466
28467 2005-07-04  Andy Wingo  <wingo@pobox.com>
28468
28469         * check/gst/gstpad.c: Only set explicit caps on pads.
28470
28471 2005-07-01  Andy Wingo  <wingo@pobox.com>
28472
28473         * tests/network-clock.scm: Commentary update.
28474
28475         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28476         Didn't really make sense, not implementable with basetransform,
28477         etc.
28478         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28479         attempt at implementing the sync property, needs an unlock method.
28480
28481         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28482         New func, by default returns the same caps (the identity
28483         transformation).
28484         (gst_base_transform_getcaps): Uses transform_caps to return
28485         something sensible.
28486         (gst_base_transform_setcaps): Complicated logic to get caps on
28487         both pads, even if they are different, and to call set_caps once
28488         for every time both pads get their caps set.
28489         (gst_base_transform_handle_buffer): Give the ref to the transform
28490         function. Allows in-place modification of the buffer.
28491
28492         * gst/base/gstbasetransform.h (transform_caps): New class method.
28493         Given caps on one side, what can I do on the other.
28494         (set_caps): Take two caps, one for each side of the element.
28495
28496         * gst/gstpad.h:
28497         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28498         caps in place. This is safe because we can check the mutability of
28499         the caps, and a good idea because fixate functions are just called
28500         as a matter of last resort. (Not actually implemented.)
28501         (gst_pad_set_caps): If the caps we're setting is actually the same
28502         as the existing pad caps, just update the pointer without calling
28503         setcaps. Assert that caps is either NULL or fixed, as per the
28504         docs.
28505
28506         * gst/gstghostpad.c: Update for fixate changes.
28507
28508 2005-07-02  Andy Wingo  <wingo@pobox.com>
28509
28510         * gst/gstcaps.c:
28511         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28512         two refcounts makes it immutable, which is enough. Doc more.
28513
28514 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28515
28516         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28517           Put the mini_object into GValue as a mini_object,
28518           not a gpointer, since that's how we declared
28519           the signal.
28520
28521 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28522
28523         * examples/pwg/Makefile.am:
28524           Fix buildbot again.
28525
28526 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28527
28528         * docs/pwg/building-testapp.xml:
28529           Add extra check.
28530         * examples/pwg/Makefile.am:
28531           Fix buildbot.
28532
28533 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28534
28535         * configure.ac:
28536         * examples/Makefile.am:
28537         * examples/pwg/Makefile.am:
28538         * examples/pwg/extract.pl:
28539           Enable building the PWG examples.
28540         * docs/pwg/advanced-interfaces.xml:
28541           Add URI interface stub.
28542         * docs/pwg/advanced-types.xml:
28543         * docs/pwg/other-autoplugger.xml:
28544         * docs/pwg/appendix-porting.xml:
28545         * docs/pwg/pwg.xml:
28546           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28547         * docs/pwg/building-boiler.xml:
28548         * docs/pwg/building-chainfn.xml:
28549         * docs/pwg/building-pads.xml:
28550         * docs/pwg/building-props.xml:
28551         * docs/pwg/building-state.xml:
28552         * docs/pwg/building-testapp.xml:
28553           Update the building-*.xml parts for 0.9 changes. All examples
28554           code blocks compile in examples/pwg/*.
28555
28556 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28557
28558         * docs/manual/advanced-autoplugging.xml:
28559         * docs/manual/appendix-checklist.xml:
28560         * docs/manual/appendix-integration.xml:
28561         * docs/manual/highlevel-components.xml:
28562           Fix playbin/decodebin examples, update docs a bit, mention bus
28563           instead of signals in various places, mention kmplayer and
28564           kaffeine since they have a working GStreamer backend in the KDE
28565           section.
28566
28567 2005-06-30  Wim Taymans  <wim@fluendo.com>
28568
28569         * CHANGES-0.9:
28570         * docs/design/draft-ghostpads.txt:
28571         * docs/design/draft-push-pull.txt:
28572         * docs/design/draft-query.txt:
28573         * docs/design/part-TODO.txt:
28574         * docs/design/part-query.txt:
28575         Added CHANGES-0.9 doc, updated status of other docs.
28576         
28577         * gst/gstquery.h:
28578         Remove "hmm" macro
28579
28580 2005-06-30  Wim Taymans  <wim@fluendo.com>
28581
28582         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28583         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28584         (gst_base_sink_change_state):
28585         * gst/base/gstbasesink.h:
28586         Some tweaks, only EOS and a buffer complete a preroll.
28587
28588 2005-06-30  Andy Wingo  <wingo@pobox.com>
28589
28590         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28591         activate_push down to the internal pad as well.
28592
28593 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28594
28595         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28596
28597         * gst/gsttaginterface.c:
28598           Some documentation fixes (#307394 and #307397).
28599
28600 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28601
28602         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28603
28604         * gst/gstvalue.c: (gst_value_intersect_list):
28605           Fix memleak (#309125).
28606
28607 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28608
28609         * docs/manual/advanced-dataaccess.xml:
28610           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28611         * docs/manual/basics-pads.xml:
28612           Add reference for filtered caps to above chapter.
28613
28614 2005-06-30  Wim Taymans  <wim@fluendo.com>
28615
28616         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28617         (gst_bin_change_state):
28618         Probes are gone.
28619         Lame attempt at making the state change function a bit
28620         more readable.
28621
28622 2005-06-30  Wim Taymans  <wim@fluendo.com>
28623
28624         * docs/design/part-clocks.txt:
28625         * docs/design/part-element-sink.txt:
28626         * docs/design/part-events.txt:
28627         * docs/design/part-preroll.txt:
28628         * docs/design/part-states.txt:
28629         Some more tweeks and additions to the docs.
28630
28631 2005-06-30  Wim Taymans  <wim@fluendo.com>
28632
28633         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28634         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28635         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28636         (gst_pad_check_pull_range), (gst_pad_get_range),
28637         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28638         * gst/gstpad.h:
28639         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28640         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28641         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28642         (gst_pad_remove_buffer_probe):
28643         Removed atomic operations, use existing LOCK.
28644         Move exception handling out of main code path.
28645
28646 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28647
28648         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28649         (silly_return_true_function), (gst_pad_class_init),
28650         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28651         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28652         (gst_pad_send_event):
28653           Fix accumulator, add default value by using _emitv() instead
28654           of _emit() for signal emission.
28655
28656 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28657
28658         * docs/manual/advanced-dataaccess.xml:
28659         * examples/manual/Makefile.am:
28660           Add probe example.
28661         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28662           Make work (??).
28663
28664 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28665
28666         * gst/elements/gstfilesink.c: (gst_filesink_render):
28667           Simplify code so that we don't have to handle short
28668           writes and return GST_FLOW_ERROR if an error occured.
28669
28670 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28671
28672         * docs/gst/gstreamer-docs.sgml:
28673           Remove probes more.
28674
28675 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28676
28677         * docs/gst/gstreamer-sections.txt:
28678         * docs/gst/tmpl/gstpad.sgml:
28679         * docs/gst/tmpl/gstprobe.sgml:
28680         * gst/Makefile.am:
28681         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28682         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28683         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28684         (gst_pad_push_event), (gst_pad_send_event):
28685         * gst/gstpad.h:
28686         * gst/gstutils.c: (gst_pad_add_data_probe),
28687         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28688         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28689         (gst_pad_remove_buffer_probe):
28690         * gst/gstutils.h:
28691           Remove old probes, add new g-signal-based probes and some utility
28692           functions.
28693
28694 2005-06-29  Edward Hervey  <edward@fluendo.com>
28695
28696         * gst/gstelementfactory.c:
28697         * gst/gstutils.h:
28698         * gst/gstutils.c:
28699         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28700         the definition to the header file.
28701
28702 2005-06-29  Andy Wingo  <wingo@pobox.com>
28703
28704         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28705         plugins from the source directory.
28706
28707 2005-06-29  Wim Taymans  <wim@fluendo.com>
28708
28709         * docs/gst/tmpl/gstbuffer.sgml:
28710         * docs/gst/tmpl/gstclock.sgml:
28711         Some fixings for blantently wrong text.
28712
28713 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28714
28715         * check/Makefile.am:
28716         * gst/gst.c: (add_path_func), (init_pre):
28717         * gst/gstregistry.c: (gst_registry_add_path):
28718           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28719           only scan the GST_PLUGIN_PATH locations, and not add
28720           system locations
28721
28722 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28723
28724         * docs/gst/gstreamer-sections.txt:
28725         * docs/gst/tmpl/gstbasesrc.sgml:
28726         * gst/gstelement.c:
28727         * gst/gstelement.h:
28728         * gst/gstevent.c:
28729         * gst/gstutils.c:
28730           doc fixes
28731
28732 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28733
28734         * docs/manual/advanced-autoplugging.xml:
28735           Fix autoplugging example.
28736
28737 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28738
28739         * docs/manual/advanced-autoplugging.xml:
28740         * docs/manual/mime-world.fig:
28741           Try to get autoplugging working, fix type detection. Fix text
28742           in hello-world image.
28743
28744 2005-06-29  Wim Taymans  <wim@fluendo.com>
28745
28746         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28747         (gst_base_sink_change_state):
28748         Small debug line.
28749
28750         * gst/gstclock.h:
28751         map SIGNAL and BROADCAST to the right function.
28752
28753         * gst/gstobject.h:
28754         Remove redundant braces.
28755
28756         * gst/gstpad.c: (gst_pad_set_caps):
28757         Don't call setcaps function when reseting caps to NULL.
28758
28759         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28760         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28761         (gst_system_clock_id_unschedule):
28762         Use BROADCAST as this is what we do.
28763
28764 2005-06-29  Wim Taymans  <wim@fluendo.com>
28765
28766         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28767         We are actually prerolling before commiting the state
28768         change. 
28769
28770 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28771
28772         * docs/manual/advanced-clocks.xml:
28773         * docs/manual/advanced-interfaces.xml:
28774         * docs/manual/advanced-metadata.xml:
28775         * docs/manual/advanced-position.xml:
28776         * docs/manual/advanced-schedulers.xml:
28777         * docs/manual/advanced-threads.xml:
28778         * docs/manual/appendix-porting.xml:
28779         * docs/manual/basics-bins.xml:
28780         * docs/manual/basics-bus.xml:
28781         * docs/manual/basics-elements.xml:
28782         * docs/manual/basics-helloworld.xml:
28783         * docs/manual/basics-pads.xml:
28784         * docs/manual/highlevel-components.xml:
28785         * docs/manual/manual.xml:
28786         * docs/manual/thread.fig:
28787           Update (until threads/scheduling) Application Development Manual;
28788           remove GstThread, add GstBus, add simple porting checklist, add
28789           documentation for tag writing, clocks, make all examples until this
28790           part compile and run.
28791         * examples/manual/Makefile.am:
28792           Update from changes to Application Development Manual; add bus
28793           example, remove thread example.
28794
28795 2005-06-28  Wim Taymans  <wim@fluendo.com>
28796
28797         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28798         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28799         (gst_bus_source_dispatch):
28800         Add debugging messages.
28801         Make internal methods static.
28802         Handle the case where the bus is flushed in the handler.
28803         
28804         * gst/gstelement.c: (gst_element_get_bus):
28805         Fix refcount in _get_bus();
28806
28807         * gst/gstpipeline.c: (gst_pipeline_change_state),
28808         (gst_pipeline_get_clock_func):
28809         Clock refcounting fixes.
28810         Handle the case where preroll timed out more gracefully.
28811         
28812         * gst/gstsystemclock.c: (gst_system_clock_dispose):
28813         Clean up the internal thread in dispose. This is needed
28814         for subclasses that actually get disposed.
28815         
28816         * gst/schedulers/threadscheduler.c:
28817         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28818         (gst_thread_scheduler_dispose):
28819         Free thread pool in dispose.
28820
28821 2005-06-28  Andy Wingo  <wingo@pobox.com>
28822
28823         * tests/network-clock-utils.scm (debug, print-event): New utils.
28824
28825         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28826         (*packet-loss*): Unified loss probability.
28827         (network-time): Report out-of-band events.
28828
28829         * tests/plot-data: Add support for out-of-band events. Hack it
28830         into this script instead of passing it down the pipe; should fix
28831         this later.
28832
28833 2005-06-28  Wim Taymans  <wim@fluendo.com>
28834
28835         * docs/gst/gstreamer.types:
28836         * docs/gst/tmpl/gstbasesrc.sgml:
28837         * docs/gst/tmpl/gstpad.sgml:
28838         Docs fixes.
28839
28840 2005-06-28  Wim Taymans  <wim@fluendo.com>
28841
28842         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28843         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
28844         (gst_proxy_pad_do_fixatecaps):
28845         Correctly proxy the check_pull_range function.
28846
28847 2005-06-28  Andy Wingo  <wingo@pobox.com>
28848
28849         * tests/network-clock.scm: Removed need for slib.
28850         
28851 2005-06-28  Wim Taymans  <wim@fluendo.com>
28852
28853         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
28854         (gst_basesink_preroll_queue_flush):
28855         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
28856         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
28857         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28858         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
28859         (gst_proxy_pad_set_property):
28860         * gst/gstpad.c:
28861         * gst/gstpad.h:
28862         * gst/gstqueue.c: (gst_queue_init):
28863         The deprecated pad loop function is removed now.
28864
28865 2005-06-28  Andy Wingo  <wingo@pobox.com>
28866
28867         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
28868         New parameters, simulate network packet loss.
28869
28870         * tests/network-clock-utils.scm: Initialize the RNG.
28871
28872 2005-06-28  Wim Taymans  <wim@fluendo.com>
28873
28874         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
28875         (gst_basesink_event), (gst_basesink_deactivate):
28876         Flushing the preroll queue always needs to unlock the waiters.
28877
28878 2005-06-28  Edward Hervey  <edward@fluendo.com>
28879
28880         * gst/gstpipeline.c: (gst_pipeline_send_event): 
28881         Wheen a seek was successful on a pipeline, set the stream_time to the
28882         seek offset in order to have a synchronized stream_time.
28883
28884 2005-06-28  Wim Taymans  <wim@fluendo.com>
28885
28886         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28887         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
28888         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
28889         (gst_proxy_pad_do_fixatecaps):
28890         Call wrapper function instead of just calling the function
28891         pointers. This takes care of any locking and whatmore.
28892
28893 2005-06-28  Wim Taymans  <wim@fluendo.com>
28894
28895         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
28896         (gst_pad_pull_range):
28897         * gst/gstpad.h:
28898         CONNECTED -> LINKED.
28899
28900 2005-06-28  Andy Wingo  <wingo@pobox.com>
28901
28902         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
28903         source-munging commit!!!
28904
28905         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
28906         (gst_object_sink): Take gpointer arguments, not GstObject --
28907         avoids casts. Like GLib.
28908
28909         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
28910         activate.
28911
28912 2005-06-27  Andy Wingo  <wingo@pobox.com>
28913
28914         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
28915         remaining buffer.
28916
28917         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
28918         returns a sorted copy of the trace list.
28919         (gst_alloc_trace_print_live): New API, only prints traces with
28920         live objects. Sort the list.
28921         (gst_alloc_trace_print_all): Sort the list.
28922         (gst_alloc_trace_print): Align columns.
28923
28924         * gst/elements/gstttypefindelement.c:
28925         * gst/elements/gsttee.c:
28926         * gst/base/gstbasesrc.c:
28927         * gst/base/gstbasesink.c:
28928         * gst/base/gstbasetransform.c:
28929         * gst/gstqueue.c: Adapt for pad activation changes.
28930
28931         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
28932         sched.
28933         (gst_pipeline_dispose): Drop ref on sched.
28934
28935         * gst/gstpad.c (gst_pad_init): Set the default activate func.
28936         (gst_pad_activate_default): Push mode by default.
28937         (pre_activate_switch, post_activate_switch): New stubs, things to
28938         do before and after switching activation modes on pads.
28939         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
28940         the pad's activate function to choose which mode to activate.
28941         Shortcut on deactivation and call the right function directly.
28942         (gst_pad_activate_pull): New API, (de)activates a pad in pull
28943         mode.
28944         (gst_pad_activate_push): New API, same for push mode.
28945         (gst_pad_set_activate_function) 
28946         (gst_pad_set_activatepull_function) 
28947         (gst_pad_set_activatepush_function): Setters for new API.
28948
28949         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
28950         Trace all miniobjects.
28951         (gst_mini_object_make_writable): Unref the arg if we copy, like
28952         gst_caps_make_writable.
28953
28954         * gst/gstmessage.c (_gst_message_initialize): No trace init.
28955
28956         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
28957         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
28958         Adapt for new pad API.
28959
28960         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
28961
28962         * gst/gstelement.h:
28963         * gst/gstelement.c (gst_element_iterate_src_pads) 
28964         (gst_element_iterate_sink_pads): New API functions.
28965         
28966         * gst/gstelement.c (iterator_fold_with_resync): New utility,
28967         should fold into gstiterator.c in some form.
28968         (gst_element_pads_activate): Simplified via use of fold and
28969         delegation of decisions to gstpad->activate.
28970
28971         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
28972         help in debugging.
28973
28974         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
28975         class once in init, like gstmessage. Didn't run into this issue
28976         but it seems correct. Don't initialize a trace, gstminiobject does
28977         that.
28978
28979         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
28980         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
28981         to the bus.
28982         (assert_live_count): New util function, uses alloc traces to check
28983         cleanup.
28984
28985         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
28986         To be modified when unlink drops the internal pad.
28987
28988 2005-06-27  Wim Taymans  <wim@fluendo.com>
28989
28990         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
28991         (gst_bin_change_state):
28992         Cleanup the get_state() function a little, make sure it
28993         iterates the same set of elements.
28994         Added stub iterate_state_order().
28995
28996 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
28997
28998         * docs/gst/gstreamer-docs.sgml:
28999         * docs/gst/gstreamer-sections.txt:
29000         * docs/gst/gstreamer.types:
29001         * docs/gst/tmpl/gstbasesink.sgml:
29002         * docs/gst/tmpl/gstbasesrc.sgml:
29003         * docs/gst/tmpl/gstbasetransform.sgml:
29004         * docs/gst/tmpl/gstelement.sgml:
29005         * docs/gst/tmpl/gstiterator.sgml:
29006         * gst/base/gstbasesrc.c:
29007         * gst/base/gstbasesrc.h:
29008         * gst/base/gstbasetransform.h:
29009         * gst/gstelement.c:
29010         * gst/gstiterator.h:
29011           adding basetransform and iterator docs
29012
29013 2005-06-27  Andy Wingo  <wingo@pobox.com>
29014
29015         * docs/design/part-activation.txt: Notes on how activation should
29016         work -- not quite implemented yet.
29017
29018 2005-06-25  Wim Taymans  <wim@fluendo.com>
29019
29020         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29021         At least get the chain function correct, needs more
29022         fixing.
29023
29024 2005-06-25  Wim Taymans  <wim@fluendo.com>
29025
29026         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29027         (gst_basesink_handle_object), (gst_basesink_event),
29028         (gst_basesink_do_sync), (gst_basesink_handle_event),
29029         (gst_basesink_change_state):
29030         * gst/gsttask.h:
29031         Right, two problems here: ghostpads don't take locks and
29032         glib _rec_mutex_lock_full() with depth==0 still locks.
29033         Catch illegal locking and g_warn them.
29034
29035 2005-06-25  Wim Taymans  <wim@fluendo.com>
29036
29037         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29038         Have to check for completion now...
29039
29040 2005-06-25  Wim Taymans  <wim@fluendo.com>
29041
29042         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29043         (gst_basesink_handle_object), (gst_basesink_event),
29044         (gst_basesink_do_sync), (gst_basesink_handle_event),
29045         (gst_basesink_change_state):
29046         * gst/gstpad.h:
29047         Unlock STREAM_LOCK whatever the recursion was.
29048
29049 2005-06-25  Wim Taymans  <wim@fluendo.com>
29050
29051         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29052         (gst_basesink_preroll_queue_empty),
29053         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29054         (gst_basesink_event), (gst_basesink_do_sync),
29055         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29056         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29057         (gst_basesink_change_state):
29058         Reworked the base sink, handle event and buffer serialisation
29059         correctly and removed possible deadlock.
29060         Handle EOS correctly.
29061
29062 2005-06-25  Wim Taymans  <wim@fluendo.com>
29063
29064         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29065         (gst_pipeline_change_state):
29066         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29067         Allow elements to post EOS in the state change function.
29068         Fix up -launch, make it exit the poll loop when the
29069         pipeline actually changed state.
29070         Fix up warning parsing in -launch.
29071
29072 2005-06-25  Wim Taymans  <wim@fluendo.com>
29073
29074         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29075         (gst_tee_sink_activate):
29076         Core takes STREAM_LOCK for us now.
29077
29078 2005-06-25  Wim Taymans  <wim@fluendo.com>
29079
29080         * gst/gstelement.c: (gst_element_get_state_func),
29081         (gst_element_set_state):
29082         * gst/gstelement.h:
29083         * gst/gstmessage.c: (gst_message_parse_error),
29084         (gst_message_parse_warning):
29085         Keep track of current target state while performing a state
29086         change so that subclasses can do something interesting.
29087         Fix parsing of warning/error messages when GError is NULL.
29088
29089 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29090
29091         * docs/gst/Makefile.am:
29092         * docs/gst/gstreamer-docs.sgml:
29093         * docs/gst/gstreamer-sections.txt:
29094         * docs/gst/gstreamer.types:
29095         * docs/gst/tmpl/gstbasesink.sgml:
29096         * docs/gst/tmpl/gstbasesrc.sgml:
29097         * docs/gst/tmpl/gstbin.sgml:
29098         * docs/gst/tmpl/gstcompat.sgml:
29099         * docs/gst/tmpl/gstfakesink.sgml:
29100         * docs/gst/tmpl/gstfakesrc.sgml:
29101         * docs/gst/tmpl/gstfilesink.sgml:
29102         * docs/gst/tmpl/gstfilesrc.sgml:
29103         * docs/gst/tmpl/gstindex.sgml:
29104         * docs/manual/appendix-quotes.xml:
29105         * gst/base/gstbasesrc.h:
29106         * gst/elements/gstfakesrc.h:
29107         * gst/gstmessage.h:
29108           start pulling in base classes and elements in our docs
29109
29110 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29111
29112         * docs/gst/Makefile.am:
29113         * docs/libs/Makefile.am:
29114           fixed make distcheck with gtk-doc 1.3
29115
29116 2005-06-23  Wim Taymans  <wim@fluendo.com>
29117
29118         * gst/gstelement.c: (gst_element_get_state_func),
29119         (gst_element_set_state), (gst_element_change_state):
29120         When the state did not change, also report NO_PREROLL
29121         when it matters.
29122
29123 2005-06-23  Wim Taymans  <wim@fluendo.com>
29124
29125         * gst/gstpad.c: (gst_pad_event_default):
29126         * gst/gstqueue.c: (gst_queue_loop):
29127         No unsafe task pausing please.
29128
29129 2005-06-23  Wim Taymans  <wim@fluendo.com>
29130
29131         * gst/schedulers/threadscheduler.c:
29132         (gst_thread_scheduler_task_start),
29133         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29134         Ref the task before pushing it on the threadpool. This
29135         makes sure that we have a ref when the threadfunction is
29136         actually called.
29137
29138 2005-06-23  Andy Wingo  <wingo@pobox.com>
29139
29140         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29141         offset is greater than the file's size.
29142
29143         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29144         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29145         * gst/gstobject.c (gst_object_class_init): Make the class lock
29146         recursive. Wim won't let me drop deep_notify. Decodebin works
29147         again, whoopdy doo.
29148
29149         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29150         internal pad, and hacks accordingly. Doesn't do it on the target
29151         pad because we change its caps. Probably catches all cases of
29152         interest tho.
29153         (gst_ghost_pad_set_property): Connect to notify::caps as
29154         appropritate.
29155
29156         * tests/network-clock.scm (plot-simulation): Pipe data to the
29157         elite python skript.
29158
29159         * tests/network-clock-utils.scm (define-parameter): New macro,
29160         defines a parameter that can be set via the command line.
29161         (set-parameter!, parse-parameter-arguments): Command line args
29162         parser.
29163
29164         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29165         stdin.
29166
29167 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29168
29169         * gst/elements/gsttypefindelement.c:
29170         (gst_type_find_element_handle_event):
29171           Don't restart typefinding on a discont.
29172         * gst/gstelement.c: (gst_element_set_state):
29173           Debug spelling fix.
29174         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29175           Allow changing mode of an active pad.
29176           Debug output fixes.
29177         * gst/registries/gstlibxmlregistry.c: (load_feature):
29178           Don't cast a static pad template to a normal pad template.
29179
29180 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29181
29182         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29183         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29184           remove gst_strtoll completely, since it didn't actually do
29185           anything more than what g_ascii_strtoull already does.
29186           check for range errors when deserializing
29187           do a cast for the unsigned cases; but further fixing needs
29188           a decision on what the interpretation of "(int)" and
29189           deserialization should be for values that fall outside the
29190           type's boundaries (ie, refuse, or interpret as casting)
29191
29192 2005-06-23  Wim Taymans  <wim@fluendo.com>
29193
29194         * check/Makefile.am:
29195         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29196         * docs/design/part-live-source.txt:
29197         * docs/design/part-states.txt:
29198         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29199         (gst_basesrc_set_live), (gst_basesrc_is_live),
29200         (gst_basesrc_get_range), (gst_basesrc_activate),
29201         (gst_basesrc_change_state):
29202         * gst/base/gstbasesrc.h:
29203         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29204         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29205         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29206         * gst/gstelement.c: (gst_element_get_state_func),
29207         (gst_element_set_state):
29208         * gst/gstelement.h:
29209         * gst/gsttypes.h:
29210         * tools/gst-launch.c: (event_loop), (main):
29211         Added support for live sources and other elements that
29212         cannot do preroll.
29213         Updated design docs, added live-source design doc.
29214         Implemented live source functionality in basesrc
29215         Fix error condition in _bin_get_state()
29216         Implement live source handling in -launch.
29217         Added check for live sources.
29218         Fixed case in GstBin where elements were changed state
29219         multiple times.
29220
29221
29222 2005-06-23  Andy Wingo  <wingo@pobox.com>
29223
29224         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29225         borken refcounting.
29226
29227         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29228         gst_caps_replace takes care of this for us.
29229
29230         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29231         gst_pad_set_caps on the target, not just its setcaps() function.
29232
29233         * tests/network-clock.scm: 
29234         * tests/network-clock-utils.scm: A network clock simulator.
29235         Something of an algorithmic testbed before doing something in C.
29236
29237 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29238
29239         * check/Makefile.am:
29240         * check/gst/capslist.h:
29241           copy over from 0.8, and add two with bitmasks specified with
29242           (int) 0xFF...
29243         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29244           add test to parse everything from capslist.h
29245         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29246         (main):
29247           add test for structure deserialization
29248         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29249           add tests for deserialization of strings to int types
29250         * gst/gststructure.c: (gst_structure_nth_field_name):
29251         * gst/gststructure.h:
29252           add a way to get the name of a field referenced by index
29253         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29254           instead of checking if the resulting long long lies between
29255           min and max, we check if the long long would fit into
29256           a number of bytes for the final type.
29257           This fixes cases where a string represents 2^32 - 1, which
29258           when cast to int would be the (valid) -1, but is bigger than
29259           G_MAXINT
29260
29261 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29262
29263         * gst/parse/grammar.y:
29264           add a log line for type deserialization
29265
29266 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29267
29268         * check/gst/gstvalue.c: (START_TEST):
29269         * gst/gstvalue.c: (gst_value_deserialize):
29270           return long long, not int, so gint64 deserialization actually
29271           works.  Is there any flag that makes the compiler check this ?
29272           Fixes #308559
29273
29274 2005-06-22  Wim Taymans  <wim@fluendo.com>
29275
29276         * gst/gstbuffer.h:
29277         Added convenience macros for setting buffers in GValue.
29278
29279 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29280
29281         * check/gst/.cvsignore:
29282         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29283           add a test deserializing int64, and comment part out because
29284           it fails, yay !
29285
29286 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29287
29288         * check/Makefile.am:
29289         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29290         * testsuite/Makefile.am:
29291         * testsuite/caps/Makefile.am:
29292         * testsuite/caps/value_serialize.c:
29293         * testsuite/test_gst_init.c:
29294           move a value_serialize test over
29295
29296 2005-06-20  Wim Taymans  <wim@fluendo.com>
29297
29298         * gst/gstpad.c:
29299         Small doc updates.
29300         
29301         * gst/gstvalue.c: (gst_value_compare_buffer),
29302         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29303         (gst_value_compare_flags), (gst_value_serialize_flags),
29304         (gst_value_deserialize_flags), (_gst_value_initialize):
29305         Fix serialisation of buffers, they are not boxed types anymore
29306
29307 2005-06-20  Wim Taymans  <wim@fluendo.com>
29308
29309         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29310         Testcase to show error in buffer-on-caps serialisation.
29311
29312 2005-06-20  Andy Wingo  <wingo@pobox.com>
29313
29314         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29315         will be adding to later.
29316
29317         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29318         if its socks fill with rocks.
29319         (gst_system_clock_obtain): Set the name on object construction.
29320         Avoid double-checked locking.
29321
29322 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29323
29324         * gst/gsturi.c: (gst_element_make_from_uri):
29325           Fix potential endless loop.
29326
29327 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29328
29329         * check/Makefile.am:
29330           add gsttag
29331         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29332         (main):
29333           move over from testsuite dir and clean up
29334         * configure.ac:
29335         * gst/gsttag.c:
29336         * testsuite/Makefile.am:
29337         * testsuite/tags/.cvsignore:
29338         * testsuite/tags/Makefile.am:
29339         * testsuite/tags/merge.c:
29340           remove testsuite/tags
29341
29342 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29343
29344         * docs/gst/gstreamer-sections.txt:
29345         * docs/gst/tmpl/gstenumtypes.sgml:
29346         * win32/gstenumtypes.c:
29347           clean up documentation build a little
29348
29349 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29350
29351         * check/gstcheck.h:
29352           add macros for checking refcounts on objects and caps
29353         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29354           add some more unit tests
29355         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29356         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29357           fix leaked refcounts (I hope :)) so unittest works
29358         * gst/gstpad.h:
29359           whitespace removal
29360
29361 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29362
29363         * configure.ac: back to HEAD
29364
29365 === release 0.9.1 ===
29366
29367 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29368
29369         * NEWS:
29370         * RELEASE:
29371           updated
29372
29373 2005-06-17  Andy Wingo  <wingo@pobox.com>
29374
29375         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29376         assert; it's always possible that the pad gets deactivated in
29377         between the checks in gstpad.c and the implementation. Rely on
29378         finish_preroll() to return a FLUSHING or similar instead of on the
29379         assert.
29380         
29381         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29382         clock and post an EOS message if we come out of finish_preroll in
29383         the playing state.
29384
29385 2005-06-16  David Schleef  <ds@schleef.org>
29386
29387         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29388         (gst_capsfilter_set_property): Allow NULL as possible value
29389         for filter_caps property, indicating GST_CAPS_ANY.
29390
29391 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29392
29393         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29394           fix debug output
29395         * gst/schedulers/Makefile.am:
29396           use libgst prefix
29397         * gstreamer.spec.in:
29398           fix spec for it
29399
29400 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29401
29402         * gstreamer.spec.in:
29403           clean up
29404
29405 2005-06-08  Andy Wingo  <wingo@pobox.com>
29406
29407         * gst/gstutils.c: RPAD fixes all around.
29408         (gst_element_link_pads): Refcounting fixes.
29409
29410         * tools/gst-inspect.c:
29411         * tools/gst-xmlinspect.c:
29412         * parse/grammar.y:
29413         * gst/base/gsttypefindhelper.c:
29414         * gst/base/gstbasesink.c:
29415         * gst/gstqueue.c: RPAD fixes.
29416
29417         * gst/gstghostpad.h:
29418         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29419         pads. The tricky thing is they provide both source and sink
29420         interfaces, since they proxy the internal pad for the external
29421         pad, and vice versa. Implement with lower-level ProxyPad objects,
29422         with the interior proxy pad as a child of the exterior ghost pad.
29423         Should write a doc on this.
29424         
29425         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29426         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29427         gst_object API.
29428         
29429         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29430         pads are real pads. No ghost pads in this file. Not documenting
29431         the myriad s/RPAD/PAD/ and REALIZE fixes.
29432         (gst_pad_class_init): Add properties for "direction" and
29433         "template". Both are construct-only, so they can't change during
29434         the life of the pad. Fixes properly deriving from GstPad.
29435         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29436         derived objects, just set properties when creating the objects via
29437         g_object_new.
29438         (gst_pad_get_parent): Implement as a function, return NULL if the
29439         parent is not an element.
29440         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29441         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29442         
29443         * gst/gstobject.c (gst_object_class_init): Make name a construct
29444         property. Don't set it in the object init.
29445
29446         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29447         with UNKNOWN direction.
29448         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29449         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29450         (gst_element_remove_pad): Remove ghost-pad special cases.
29451         (gst_element_pads_activate): Remove rpad cruft.
29452
29453         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29454         catch the pad's-parent-not-an-element case.
29455
29456         * gst/gst.h: Include gstghostpad.h.
29457
29458         * gst/gst.c (init_post): No more real, ghost pads.
29459
29460         * gst/Makefile.am: Add gstghostpad.[ch].
29461
29462         * check/Makefile.am:
29463         * check/gst/gstbin.c:
29464         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29465         into a bin creates ghost pads, and that the refcounts are right.
29466         Partly moved from gstbin.c.
29467
29468 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29469
29470         * check/gst-libs/.cvsignore:
29471         * check/gst/.cvsignore:
29472         * check/pipelines/.cvsignore:
29473           ignore more
29474         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29475         (START_TEST), (cleanup_suite), (main):
29476           add some tests related to cleanup after running pipelines
29477
29478 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29479
29480         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29481           add a testsuite for GstBuffer
29482
29483 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29484
29485         * gst/gstminiobject.h:
29486           add defines for accessing the refcount
29487
29488 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29489
29490         * Makefile.am: added support for html unit test coverage reports
29491
29492 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29493
29494         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29495           Free existing caps if the capsfilter changes. Add a FIXME about
29496           setting those caps on the pads.
29497
29498         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29499           Before adding a ghost pad to a parent bin, check that there isn't
29500           already one for the element on the bin. Prevents infinite recursion
29501           when using decodebin in parse pipelines. Andy says he'll rewrite the
29502           way this works anyway, so ignore the hack.
29503
29504 2005-06-02  Andy Wingo  <wingo@pobox.com>
29505
29506         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29507         file size, pass it on to the type find helper.
29508
29509         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29510         segment_start and segment_end properly according to the seek
29511         method. Segment_end is still a bit flaky because offset can be
29512         negative for CUR and END cases, but it takes -1 as an "unset"
29513         value.
29514
29515 2005-06-02  Wim Taymans  <wim@fluendo.com>
29516
29517         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29518         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29519         (gst_basesink_activate):
29520         * gst/base/gstbasesink.h:
29521         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29522         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29523         (gst_pad_query), (gst_pad_start_task):
29524         * gst/gstpad.h:
29525         * gst/gstqueue.c: (gst_queue_bufferalloc),
29526         (gst_queue_handle_sink_event), (gst_queue_chain):
29527         Bufferalloc: return GstFlowReturn to more accuratly report
29528         why allocation failed.
29529
29530 2005-06-02  Wim Taymans  <wim@fluendo.com>
29531
29532         * gst/gstpipeline.c: (gst_pipeline_send_event):
29533         Take snapshot of state without blocking.
29534
29535 2005-06-02  Wim Taymans  <wim@fluendo.com>
29536
29537         * docs/design/part-TODO.txt:
29538         * docs/design/part-caps.txt:
29539         * docs/design/part-clocks.txt:
29540         * docs/design/part-negotiation.txt:
29541         * docs/design/part-preroll.txt:
29542         Small doc updates 
29543
29544 2005-05-30  Wim Taymans  <wim@fluendo.com>
29545
29546         * gst/elements/gstidentity.c: (gst_identity_event),
29547         (gst_identity_transform), (gst_identity_get_property):
29548         Protect last_message property as it is accessed from
29549         multiple threads.
29550
29551 2005-05-30  Wim Taymans  <wim@fluendo.com>
29552
29553         * gst/gstelement.c: (gst_element_init),
29554         (gst_element_pads_activate), (gst_element_change_state):
29555         Slicker pad activation code.
29556
29557 2005-05-30  Wim Taymans  <wim@fluendo.com>
29558
29559         * gst/Makefile.am:
29560         * gst/gstelement.h:
29561         * gst/gstelementfactory.h:
29562         * gst/gsttypes.h:
29563         Move elementfactory methods to separate .h file.
29564
29565 2005-05-30  Wim Taymans  <wim@fluendo.com>
29566
29567         * docs/design/part-overview.txt:
29568         * gst/gstsystemclock.h:
29569         Small typo fixes, doc updates.
29570
29571 2005-05-30  Wim Taymans  <wim@fluendo.com>
29572
29573         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29574         (init_popt_callback):
29575         Remove cpu-opt flag.
29576
29577 2005-05-30  Wim Taymans  <wim@fluendo.com>
29578
29579         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29580         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29581         * gst/gstbuffer.h:
29582         Avoid typechecking in places where not needed.
29583         Added accessor for malloc_data.
29584
29585 2005-05-30  Wim Taymans  <wim@fluendo.com>
29586
29587         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29588         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29589         (gst_pad_configure_sink), (gst_pad_configure_src),
29590         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29591         (gst_pad_start_task):
29592         Propagate errors from _set_caps() in configure_src/sink
29593         functions instead of returning TRUE.
29594         FLUSH events can travel up and downstream
29595
29596
29597 2005-05-30  Wim Taymans  <wim@fluendo.com>
29598
29599         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29600         (gst_basesink_activate):
29601         Handle EOS in preroll.
29602
29603 2005-05-30  Wim Taymans  <wim@fluendo.com>
29604
29605         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29606         (gst_queue_loop), (gst_queue_handle_src_event):
29607         Remove old pieces of code
29608         Flushing the queue in an upstream event is a very bad idea.
29609
29610 2005-05-26  Andy Wingo  <wingo@pobox.com>
29611
29612         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29613         gst_value_set_mini_object so as to add a ref on the object (which
29614         will be removed when the value is unset).
29615
29616         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29617         arg type in ::handoff.
29618
29619         * gst/gstelement.c (gst_element_change_state): Also deactivate
29620         pads in READY->NULL, just in case the element didn't make it to
29621         PAUSED. Wingo tested, Wim approved.
29622
29623 2005-05-26  Wim Taymans  <wim@fluendo.com>
29624
29625         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29626         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29627         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29628         A flushing pad cannot be used to alloc_buffer from.
29629
29630 2005-05-26  Wim Taymans  <wim@fluendo.com>
29631
29632         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29633         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29634         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29635         (gst_bus_create_watch), (gst_bus_add_watch_full):
29636         * gst/gstbus.h:
29637         Implement a real GSource and use g_main_context_wakeup() to
29638         signal new messages instead of the socketpair.
29639
29640 2005-05-25  Wim Taymans  <wim@fluendo.com>
29641
29642         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29643         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29644         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29645         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29646         (gst_pad_send_event), (gst_pad_start_task):
29647         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29648         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29649         (gst_queue_sink_activate), (gst_queue_src_activate),
29650         (gst_queue_change_state):
29651         * gst/gstqueue.h:
29652         Fix state changes for non sinks. We now change sinks, then elements
29653         with unconnected srcpads, then the rest.
29654         More efficient queue unlocking in flush and state changes.
29655         Set the pad activate mode even if it does not have an activate
29656         function.
29657
29658 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29659
29660         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29661           Don't go in pull mode for non-seekable sources.
29662         * gst/elements/gsttypefindelement.h:
29663         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29664         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29665         (free_entry), (stop_typefinding),
29666         (gst_type_find_element_handle_event), (find_peek),
29667         (gst_type_find_element_chain), (do_pull_typefind),
29668         (gst_type_find_element_change_state):
29669           Allow typefinding (w/o seeking) in push-mode, simplified version
29670           of what was in 0.8.
29671         * gst/gstutils.c: (gst_buffer_join):
29672         * gst/gstutils.h:
29673           gst_buffer_join() from 0.8.
29674
29675 2005-05-25  Wim Taymans  <wim@fluendo.com>
29676
29677         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29678         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29679         (gst_pad_send_event), (gst_pad_start_task):
29680         Disable attempt at mode switching until it is figured out.
29681
29682 2005-05-25  Wim Taymans  <wim@fluendo.com>
29683
29684         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29685         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29686         (gst_basesink_finish_preroll), (gst_basesink_chain),
29687         (gst_basesink_loop), (gst_basesink_activate),
29688         (gst_basesink_change_state):
29689         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29690         (gst_basesrc_get_range), (gst_basesrc_loop),
29691         (gst_basesrc_activate):
29692         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29693         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29694         (gst_real_pad_init), (gst_real_pad_set_property),
29695         (gst_real_pad_get_property), (gst_pad_set_active),
29696         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29697         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29698         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29699         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29700         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29701         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29702         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29703         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29704         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29705         (gst_pad_stop_task):
29706         * gst/gstpad.h:
29707         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29708         (gst_queue_loop), (gst_queue_src_activate):
29709         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29710         (gst_task_get_state):
29711         * gst/gsttask.h:
29712         * gst/schedulers/threadscheduler.c:
29713         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29714         Implement gst_pad_pause/start/stop_task(), take STREAM lock
29715         in task function.
29716         Remove ACTIVE pad flag, use FLUSHING everywhere
29717         Added _pad_chain(), _pad_get_range() to call chain/getrange 
29718         functions.
29719         Add locks around IS_FLUSHING when reading.
29720         Take STREAM lock in chain(), get_range() functions so plugins
29721         don't need to take it anymore.
29722         
29723
29724
29725 2005-05-25  Wim Taymans  <wim@fluendo.com>
29726
29727         * tools/gst-launch.c: (event_loop):
29728         Unref message after using its contents instead of
29729         before.
29730
29731 2005-05-24  Wim Taymans  <wim@fluendo.com>
29732
29733         * docs/design/draft-ghostpads.txt:
29734         * docs/design/draft-push-pull.txt:
29735         * docs/design/draft-query.txt:
29736         * docs/design/part-overview.txt:
29737         Docs updates, added general overview doc.
29738
29739 2005-05-21  David Schleef  <ds@schleef.org>
29740
29741         * docs/gst/tmpl/old/GstBin.sgml:
29742         * docs/gst/tmpl/old/GstBuffer.sgml:
29743         * docs/gst/tmpl/old/GstCaps.sgml:
29744         * docs/gst/tmpl/old/GstClock.sgml:
29745         * docs/gst/tmpl/old/GstCompat.sgml:
29746         * docs/gst/tmpl/old/GstData.sgml:
29747         * docs/gst/tmpl/old/GstElement.sgml:
29748         * docs/gst/tmpl/old/GstEvent.sgml:
29749         * docs/gst/tmpl/old/GstIndex.sgml:
29750         * docs/gst/tmpl/old/GstStructure.sgml:
29751         * docs/gst/tmpl/old/GstTag.sgml:
29752         * docs/gst/tmpl/old/cothreads.sgml:
29753         * docs/gst/tmpl/old/cothreads_compat.sgml:
29754         * docs/gst/tmpl/old/gettext.sgml:
29755         * docs/gst/tmpl/old/gobject2gtk.sgml:
29756         * docs/gst/tmpl/old/grammar.tab.sgml:
29757         * docs/gst/tmpl/old/gst-i18n-app.sgml:
29758         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29759         * docs/gst/tmpl/old/gst_private.sgml:
29760         * docs/gst/tmpl/old/gstaggregator.sgml:
29761         * docs/gst/tmpl/old/gstarch.sgml:
29762         * docs/gst/tmpl/old/gstatomic_impl.sgml:
29763         * docs/gst/tmpl/old/gstbufferstore.sgml:
29764         * docs/gst/tmpl/old/gstdata_private.sgml:
29765         * docs/gst/tmpl/old/gstdisksink.sgml:
29766         * docs/gst/tmpl/old/gstdisksrc.sgml:
29767         * docs/gst/tmpl/old/gstelementfactory.sgml:
29768         * docs/gst/tmpl/old/gstextratypes.sgml:
29769         * docs/gst/tmpl/old/gstfakesink.sgml:
29770         * docs/gst/tmpl/old/gstfakesrc.sgml:
29771         * docs/gst/tmpl/old/gstfdsink.sgml:
29772         * docs/gst/tmpl/old/gstfdsrc.sgml:
29773         * docs/gst/tmpl/old/gstfilesink.sgml:
29774         * docs/gst/tmpl/old/gstfilesrc.sgml:
29775         * docs/gst/tmpl/old/gsthttpsrc.sgml:
29776         * docs/gst/tmpl/old/gstidentity.sgml:
29777         * docs/gst/tmpl/old/gstindexfactory.sgml:
29778         * docs/gst/tmpl/old/gstmarshal.sgml:
29779         * docs/gst/tmpl/old/gstmd5sink.sgml:
29780         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29781         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29782         * docs/gst/tmpl/old/gstpadtemplate.sgml:
29783         * docs/gst/tmpl/old/gstpipefilter.sgml:
29784         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29785         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29786         * docs/gst/tmpl/old/gstshaper.sgml:
29787         * docs/gst/tmpl/old/gstspider.sgml:
29788         * docs/gst/tmpl/old/gstspideridentity.sgml:
29789         * docs/gst/tmpl/old/gststatistics.sgml:
29790         * docs/gst/tmpl/old/gsttee.sgml:
29791         * docs/gst/tmpl/old/gsttimecache.sgml:
29792         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29793         * docs/gst/tmpl/old/gstxmlregistry.sgml:
29794         * docs/gst/tmpl/old/gthread-cothreads.sgml:
29795         * docs/gst/tmpl/old/types.sgml:
29796           I didn't intend to add these or check them in.
29797
29798 2005-05-19  David Schleef  <ds@schleef.org>
29799
29800         * configure.ac: Use -no-common everywhere.  In a sane world, it
29801           would be the default in libtool, because without it, you can't
29802           build DLLs on Windows.
29803         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29804         * docs/gst/gstreamer-sections.txt:
29805         * docs/gst/tmpl/gstcpu.sgml:
29806         * docs/gst/tmpl/gstdata.sgml:
29807         * docs/gst/tmpl/gstthread.sgml:
29808
29809 2005-05-19  David Schleef  <ds@schleef.org>
29810
29811         * gst/gstminiobject.c: (gst_value_set_mini_object),
29812         (gst_value_take_mini_object), (gst_value_get_mini_object):
29813         * gst/gstminiobject.h: Add GValue set/get functions.
29814
29815 2005-05-19  Wim Taymans  <wim@fluendo.com>
29816
29817         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29818         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29819         (gst_subbuffer_init), (gst_buffer_is_span_fast):
29820         * gst/gstbuffer.h:
29821         * gst/gstbus.c: (gst_bus_post):
29822         * gst/gstelement.c: (gst_element_get_random_pad):
29823         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29824         Make subbufer unref the parent in finalize.
29825         some more debugging info.
29826
29827
29828 2005-05-19  Wim Taymans  <wim@fluendo.com>
29829
29830         * gst/base/gstbasesink.c: (gst_basesink_class_init),
29831         (gst_basesink_init), (gst_basesink_finalize),
29832         (gst_basesink_activate), (gst_basesink_change_state):
29833         Don't free preroll queue too early.
29834
29835 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29836
29837         * gst/Makefile.am:
29838         * gst/ROADMAP:
29839           Hi, I'm outdated. Please shoot me.
29840
29841 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29842
29843         * gst/gstpipeline.c: (gst_pipeline_send_event):
29844           Do not access variables after they have been deleted.
29845
29846 2005-05-19  Wim Taymans  <wim@fluendo.com>
29847
29848         * tools/gst-inspect.c: (print_plugin_features):
29849         A plugin feature does unfortunatly not use the
29850         object name yet...
29851
29852 2005-05-18  Wim Taymans  <wim@fluendo.com>
29853
29854         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
29855         Port _span() functions to new subbuffers.
29856
29857 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29858
29859         * gst/gstbin.c: (gst_bin_add_func):
29860           Fix clock settery in bins when adding kids after the clock has
29861           been selected.
29862
29863 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29864
29865         * gst/elements/gstidentity.c: (gst_identity_class_init):
29866           Workaround until signals support GstMiniObject.
29867
29868 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
29869
29870         * gst/gstbuffer.c:
29871         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
29872
29873 2005-05-18  Wim Taymans  <wim@fluendo.com>
29874
29875         * gst/base/Makefile.am:
29876         * gst/base/gstadapter.c: (gst_adapter_base_init),
29877         (gst_adapter_class_init), (gst_adapter_init),
29878         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
29879         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
29880         (gst_adapter_flush), (gst_adapter_available),
29881         (gst_adapter_available_fast):
29882         * gst/base/gstadapter.h:
29883         Ported and added adapter to the base classes.
29884
29885 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
29886
29887         * gst/gst.c:
29888         * gst/gstmessage.c:
29889           Make sure the class is reffed/unreffed once before threads can be
29890           used.  Fixes #304551.
29891
29892 2005-05-17  Wim Taymans  <wim@fluendo.com>
29893
29894         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
29895         (gst_basesink_chain_unlocked), (gst_basesink_activate):
29896         * gst/gstminiobject.c: (gst_mini_object_get_type),
29897         (gst_mini_object_free):
29898         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
29899         (gst_pad_push), (gst_pad_push_event):
29900         * gst/gstqueue.c: (gst_queue_change_state):
29901         Don't queue buffers in basesink when we are flushing.
29902         Unref buffer when flushing in basesink.
29903         Flush queue when going to READY
29904         Unref buffer when _push() returns an error.
29905         Don't free MiniObject instance when refcount is incremented
29906         in _finalize() so that we can recover objects.
29907
29908 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29909
29910         * docs/manual/advanced-schedulers.xml:
29911         * docs/manual/appendix-checklist.xml:
29912         * docs/pwg/advanced-clock.xml:
29913         * docs/pwg/advanced-interfaces.xml:
29914         * docs/pwg/advanced-request.xml:
29915         * docs/pwg/advanced-types.xml:
29916         * docs/pwg/intro-preface.xml:
29917         * examples/plugins/example.c: (gst_example_get_type),
29918         (gst_example_class_init), (gst_example_chain),
29919         (gst_example_set_property), (gst_example_get_property),
29920         (gst_example_change_state), (plugin_init):
29921         * examples/plugins/example.h:
29922           small doc fixes
29923
29924 2005-05-17  Wim Taymans  <wim@fluendo.com>
29925
29926         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
29927         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
29928         * gst/gstqueue.c: (gst_queue_change_state):
29929         Clear queue when going to READY.
29930         Remove IN_SETCAPS flag too.
29931
29932 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
29933
29934         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
29935           Remove implicit cast from gboolean to GstElementStateReturn;
29936           make sure we still return failure in paused => ready case if
29937           the parent class fails to change state and our own stop 
29938           vfunc succeeds.
29939
29940 2005-05-17  Wim Taymans  <wim@fluendo.com>
29941
29942         * tools/gst-launch.c: (event_loop):
29943         Message was unreffed too soon.
29944
29945 2005-05-16  Andy Wingo  <wingo@pobox.com>
29946
29947         * gst/gstbin.c (sink_iterator_filter): Err... um...
29948
29949         * check/gst/gstbin.c (test_ghost_pads): New test for the
29950         ghosting-if-elements-not-in-same-bin behavior.
29951
29952 2005-05-16  David Schleef  <ds@schleef.org>
29953
29954         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
29955         accessing refcount directly.
29956
29957 2005-05-15  David Schleef  <ds@schleef.org>
29958
29959         * check/Makefile.am: remove GstData checks
29960         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
29961         * gst/Makefile.am: add miniobject, remove data
29962         * gst/gst.h: add miniobject, remove data
29963         * gst/gstdata.c: remove
29964         * gst/gstdata.h: remove
29965         * gst/gstdata_private.h: remove
29966         * gst/gsttypes.h: remove GstEvent and GstMessage
29967         * gst/gstelement.c: (gst_element_post_message): fix for API changes
29968         * gst/gstmarshal.list: change BOXED -> OBJECT
29969
29970         Implement GstMiniObject.
29971         * gst/gstminiobject.c:
29972         * gst/gstminiobject.h:
29973
29974         Modify to be subclasses of GstMiniObject.
29975         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
29976         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
29977         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
29978         (gst_subbuffer_get_type), (gst_subbuffer_init),
29979         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
29980         (gst_buffer_span):
29981         * gst/gstbuffer.h:
29982         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
29983         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
29984         (_gst_event_copy), (gst_event_new):
29985         * gst/gstevent.h:
29986         * gst/gstmessage.c: (_gst_message_initialize),
29987         (gst_message_get_type), (gst_message_class_init),
29988         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
29989         (gst_message_new), (gst_message_new_error),
29990         (gst_message_new_warning), (gst_message_new_tag),
29991         (gst_message_new_state_changed), (gst_message_new_application):
29992         * gst/gstmessage.h:
29993         * gst/gstprobe.c: (gst_probe_perform),
29994         (gst_probe_dispatcher_dispatch):
29995         * gst/gstprobe.h:
29996         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
29997         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
29998         (_gst_query_copy), (gst_query_new):
29999
30000         Update elements for GstData -> GstMiniObject changes
30001         * gst/gstquery.h:
30002         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30003         (gst_queue_chain), (gst_queue_loop):
30004         * gst/elements/gstbufferstore.c:
30005         (gst_buffer_store_add_buffer_func),
30006         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30007         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30008         (gst_fakesink_render):
30009         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30010         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30011         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30012         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30013         (gst_filesrc_create_read):
30014         * gst/elements/gstidentity.c: (gst_identity_class_init):
30015         * gst/elements/gsttypefindelement.c:
30016         (gst_type_find_element_src_event), (free_entry_buffers),
30017         (gst_type_find_element_handle_event):
30018         * libs/gst/dataprotocol/dataprotocol.c:
30019         (gst_dp_header_from_buffer):
30020         * libs/gst/dataprotocol/dataprotocol.h:
30021         * libs/gst/dataprotocol/dp-private.h:
30022
30023 2005-05-15  David Schleef  <ds@schleef.org>
30024
30025         * gst/elements/gstelements.c: Don't include headers that were
30026         just removed.
30027
30028 2005-05-15  David Schleef  <ds@schleef.org>
30029
30030         * gst/elements/Makefile.am: Remove some elements that don't
30031         need to be in the core (or even exist at all).
30032         * gst/elements/gstaggregator.c:
30033         * gst/elements/gstaggregator.h:
30034         * gst/elements/gstmd5sink.c:
30035         * gst/elements/gstmd5sink.h:
30036         * gst/elements/gstmultifilesrc.c:
30037         * gst/elements/gstmultifilesrc.h:
30038         * gst/elements/gstpipefilter.c:
30039         * gst/elements/gstpipefilter.h:
30040         * gst/elements/gstshaper.c:
30041         * gst/elements/gstshaper.h:
30042         * gst/elements/gststatistics.c:
30043         * gst/elements/gststatistics.h:
30044         * po/POTFILES.in: Remove above files.
30045
30046 2005-05-14  Andy Wingo  <wingo@pobox.com>
30047
30048         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30049         so as to get the refs right.
30050         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30051         unreffing objects that don't pass the filter.
30052
30053         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30054         gst_element_set_bus.
30055         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30056         normal cases, this will destroy the bus.
30057
30058         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30059         object.
30060
30061         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30062         has no sinks.
30063
30064 2005-05-13  Andy Wingo  <wingo@pobox.com>
30065
30066         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30067         gst_pad_link, call pad_link_maybe_ghosting,
30068         (pad_link_maybe_ghosting): Links pads, making sure that the
30069         elements being linked are in the same bin.
30070         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30071         Helpers for pad_link_maybe_ghosting.
30072
30073 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30074
30075         * configure.ac:
30076           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30077
30078 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30079
30080         * docs/design/part-element-source.txt:
30081           Mention GstPushSrc
30082
30083 2005-05-12  Wim Taymans  <wim@fluendo.com>
30084
30085         * gst/base/gstbasesink.c: (gst_basesink_init),
30086         (gst_basesink_activate):
30087         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30088         (gst_basesrc_is_seekable):
30089         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30090         (bin_element_is_sink), (gst_bin_change_state):
30091         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30092         * gst/gstelement.h:
30093         Identify sinks by their flag to avoid overly complicated
30094         checks (fow now).
30095         Do state changes even for elements not reachable from the
30096         sinks.
30097         BaseSink is a sink now :)
30098         Some more debugging info in the basesrc.
30099
30100
30101 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30102
30103         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30104           Implement _query on a bin, similar to _send_event.
30105
30106 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30107
30108         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30109           Discont event offset format should be GST_FORMAT_BYTES,
30110           not GST_FORMAT_TIME.
30111
30112 2005-05-12  Wim Taymans  <wim@fluendo.com>
30113
30114         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30115         Same fix as Ronald's but without the signal. 
30116
30117 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30118
30119         * gst/gstutils.c: (gst_element_query_position):
30120           No, an element is not a pad.
30121
30122 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30123
30124         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30125         (gst_bin_get_state):
30126           If a child is removed from a bin while we remove the child from
30127           the bin and while we're retrieving its state, signal this to the
30128           get_state function so we abort the wait (instead of waiting for
30129           a timeout) and can immediately re-iterate over all other elements.
30130
30131 2005-05-12  Wim Taymans  <wim@fluendo.com>
30132
30133         * gst/base/Makefile.am:
30134         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30135         (gst_basesrc_start):
30136         * gst/base/gstbasesrc.h:
30137         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30138         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30139         (gst_pushsrc_init), (gst_pushsrc_create):
30140         * gst/base/gstpushsrc.h:
30141         Added is_seekable to BaseSrc
30142         Added simple PushSrc.
30143
30144 2005-05-11  Wim Taymans  <wim@fluendo.com>
30145
30146         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30147         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30148         (gst_element_link_pads), (gst_element_query_position),
30149         (gst_element_query_convert), (intersect_caps_func),
30150         (gst_pad_query_position), (gst_pad_query_convert):
30151         Fix refcounting in utils function.
30152         No point in trying to activate a pad when it's added, it could
30153         be added from the state change function and then we deadlock, the
30154         element has to decide what to do.
30155
30156 2005-05-10  Andy Wingo  <wingo@pobox.com>
30157
30158         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30159         *all* the arguments.
30160
30161         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30162         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30163         lock (according to the docs -- if this is wrong change the docs).
30164
30165         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30166         flush messages in the NULL state.
30167
30168         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30169         message immediately and return.
30170         (gst_bus_set_flushing): New function. If a bus is flushing, it
30171         flushes out any queued messages and immediately unrefs new
30172         messages. This is so when an element goes to NULL, all of the
30173         unhandled messages coming from it can be freed, and their
30174         references to the element dropped. In other words: message source
30175         ref considered harmful :P
30176
30177         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30178         we're finished with it.
30179
30180         * gst/gstmessage.c (gst_message_new_state_changed): 
30181
30182 2005-05-10  Wim Taymans  <wim@fluendo.com>
30183
30184         * gst/gstvalue.c: (gst_value_compare_flags),
30185         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30186         (_gst_value_initialize):
30187         Added flags serialize/deserialize/compare code.
30188
30189 2005-05-09  Andy Wingo  <wingo@pobox.com>
30190
30191         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30192         Intersect the peer's caps with our caps.
30193
30194 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30195
30196         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30197         * gst/elements/gsttypefindelement.c: (find_peek):
30198           Handle negative offsets better. Fixes decodebin.
30199
30200 2005-05-09  Wim Taymans  <wim@fluendo.com>
30201
30202         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30203         (gst_base_transform_event):
30204         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30205         Implement accept_caps.
30206         Fix silly lock/unlock mismatch in base class.
30207
30208 2005-05-09  Wim Taymans  <wim@fluendo.com>
30209
30210         * docs/design/draft-push-pull.txt:
30211         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30212         * gst/elements/gstfilesink.c: (gst_filesink_init),
30213         (gst_filesink_query):
30214         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30215         (gst_type_find_handle_src_query), (find_element_get_length):
30216         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30217         * gst/gstelement.h:
30218         * gst/gstmessage.c:
30219         * gst/gstmessage.h:
30220         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30221         (gst_real_pad_get_caps_unlocked),
30222         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30223         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30224         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30225         (gst_real_pad_dispose), (gst_real_pad_finalize),
30226         (gst_pad_load_and_link), (gst_pad_save_thyself),
30227         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30228         (gst_pad_check_pull_range), (gst_pad_pull_range),
30229         (gst_pad_template_get_type), (gst_pad_template_class_init),
30230         (gst_pad_template_init), (gst_pad_template_dispose),
30231         (name_is_valid), (gst_static_pad_template_get),
30232         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30233         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30234         (gst_pad_get_element_private), (gst_pad_start_task),
30235         (gst_pad_pause_task), (gst_pad_stop_task),
30236         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30237         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30238         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30239         (gst_ghost_pad_new):
30240         * gst/gstpad.h:
30241         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30242         (gst_query_new_position), (gst_query_set_position),
30243         (gst_query_parse_position), (gst_query_new_convert),
30244         (gst_query_set_convert), (gst_query_parse_convert):
30245         * gst/gstquery.h:
30246         * gst/gstqueryutils.c:
30247         * gst/gstqueryutils.h:
30248         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30249         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30250         (gst_queue_handle_src_query):
30251         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30252         (gst_element_query_position), (gst_element_query_convert),
30253         (intersect_caps_func), (gst_pad_query_position),
30254         (gst_pad_query_convert):
30255         * gst/gstutils.h:
30256         * tools/gst-inspect.c: (print_pad_info):
30257         * tools/gst-xmlinspect.c: (print_element_info):
30258         Remove old query functions. Ported old code.
30259         Added position/convert helper functions to gstutils.
30260         Reordered gstpad.c code, grouping relevant things.
30261         Remove gst_message_new(), always need to speficy a specific
30262         message.
30263
30264
30265 2005-05-09  Andy Wingo  <wingo@pobox.com>
30266
30267         * gst/gstiterator.h: Add some includes.
30268
30269         * gst/gstqueryutils.h: Include more headers.
30270
30271         * gst/gstpad.h:
30272         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30273         some uses of gst_pad_query.
30274
30275         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30276         NULL out parameters.
30277         (gst_query_new_position): New proc, allocates a new position
30278         query.
30279
30280         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30281         gstqueryutils.c to the build.
30282
30283         * gst/gststructure.c (gst_structure_set_valist): Implement with
30284         the generic G_VALUE_COLLECT.
30285         
30286 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30287
30288         * gst/Makefile.am: (gst_headers):
30289         Added gstqueryutils.h to the list of headers to install, that was
30290         a 'nachty' move wingo :)
30291
30292 2005-05-06  Andy Wingo  <wingo@pobox.com>
30293
30294         * gst/gstquery.h
30295         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30296         GstData, init a memchunk.
30297         (standard_definitions): Add a few query types, deprecate a few.
30298         (gst_query_get_type): New proc.
30299         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30300         implementation.
30301         (gst_query_new_application, gst_query_get_structure): New public
30302         procs.
30303
30304         * docs/design/draft-query.txt: Removed LINKS from the query types,
30305         because all the rest can be dispatched to other pads -- seemed
30306         ugly to have a query that couldn't be dispatched. internal_links
30307         is fine as a pad method.
30308
30309         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30310         in gstpad.c, but maintain binary compatibility for the moment.
30311         Will fix before 0.9 is out.
30312
30313         * gst/gstqueryutils.c: 
30314         * gst/gstqueryutils.h: New files, implement 3 methods for each
30315         query type: parse_query, parse_response, and set. Probably need an
30316         allocator as well.
30317
30318         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30319
30320         * gst/elements/gstfilesink.c (gst_filesink_query2):
30321         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30322         query_types, and formats methods.
30323
30324         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30325         (gst_pad_set_query2_function): New functions.
30326         (gst_real_pad_init): Set query2_default as the default query2
30327         function. Basically just dispatches to internally linked pads.
30328
30329         Needs review!
30330         
30331         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30332         without using the atomic operations. Only one thread can possibly
30333         be accessing the data at this point. Changed so as to avoid
30334         gst_atomic operations.
30335
30336 2005-05-06  Wim Taymans  <wim@fluendo.com>
30337
30338         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30339         Also set caps if we use the fallback buffer alloc.
30340
30341 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30342
30343         * docs/gst/Makefile.am:
30344         * docs/gst/gstreamer-docs.sgml:
30345         * docs/gst/gstreamer-sections.txt:
30346         * docs/gst/tmpl/gstatomic.sgml:
30347         * docs/gst/tmpl/gstmemchunk.sgml:
30348         * testsuite/elements/struct_i386.h:
30349         * win32/GStreamer.vcproj:
30350         * win32/Makefile:
30351           Purge GstAtomic stuff from docs and win32 makefiles as well
30352
30353 2005-05-06  Wim Taymans  <wim@fluendo.com>
30354
30355         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30356         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30357         * gst/gstpad.c: (gst_pad_peer_get_caps):
30358         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30359         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30360         (gst_queue_src_activate), (gst_queue_change_state):
30361         * gst/gstqueue.h:
30362         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30363         (intersect_caps_func):
30364         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30365         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30366         Some fixes for the peer_get_caps() change.
30367
30368 2005-05-06  Wim Taymans  <wim@fluendo.com>
30369
30370         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30371         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30372         (gst_basesink_activate):
30373         Actually do something with error codes returned from the push
30374         functions.
30375
30376 2005-05-06  Wim Taymans  <wim@fluendo.com>
30377
30378         * docs/design/part-element-sink.txt:
30379         * docs/design/part-element-source.txt:
30380         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30381         (gst_basesink_event), (gst_basesink_activate):
30382         * gst/base/gstbasesink.h:
30383         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30384         (gst_basesrc_activate):
30385         * gst/base/gstbasesrc.h:
30386         * gst/gstelement.c: (gst_element_pads_activate):
30387         Some more documentation.
30388         Fixed scheduling decision in _pads_activate().
30389
30390 2005-05-05  Andy Wingo  <wingo@pobox.com>
30391
30392         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30393         the test suite.
30394
30395 2005-05-05  Wim Taymans  <wim@fluendo.com>
30396
30397         * gst/base/Makefile.am:
30398         * gst/base/gstbasesink.h:
30399         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30400         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30401         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30402         (gst_collectpads_class_init), (gst_collectpads_init),
30403         (gst_collectpads_finalize), (gst_collectpads_new),
30404         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30405         (find_pad), (gst_collectpads_remove_pad),
30406         (gst_collectpads_is_active), (gst_collectpads_collect),
30407         (gst_collectpads_collect_range), (gst_collectpads_start),
30408         (gst_collectpads_stop), (gst_collectpads_peek),
30409         (gst_collectpads_pop), (gst_collectpads_available),
30410         (gst_collectpads_read), (gst_collectpads_flush),
30411         (gst_collectpads_chain):
30412         * gst/base/gstcollectpads.h:
30413         * gst/elements/Makefile.am:
30414         * gst/elements/gstelements.c:
30415         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30416         (gst_fakesink_get_times), (gst_fakesink_event),
30417         (gst_fakesink_preroll), (gst_fakesink_render):
30418         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30419         (gst_filesink_init), (gst_filesink_set_location),
30420         (gst_filesink_open_file), (gst_filesink_close_file),
30421         (gst_filesink_pad_query), (gst_filesink_event),
30422         (gst_filesink_render), (gst_filesink_change_state):
30423         * gst/elements/gstfilesink.h:
30424         Added object to help in making collect pad based elements.
30425         Ported filesink.
30426         Make event function in sink baseclass return gboolean.
30427
30428 2005-05-05  Wim Taymans  <wim@fluendo.com>
30429
30430         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30431         (gst_bin_get_by_name):
30432         * gst/gstbuffer.h:
30433         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30434         (gst_clock_finalize):
30435         * gst/gstdata.c: (gst_data_replace):
30436         * gst/gstdata.h:
30437         * gst/gstelement.c: (gst_element_request_pad),
30438         (gst_element_pads_activate):
30439         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30440         (gst_object_unref):
30441         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30442         (gst_pad_set_checkgetrange_function),
30443         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30444         (gst_pad_check_pull_range), (gst_pad_pull_range),
30445         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30446         (gst_pad_pause_task), (gst_pad_stop_task):
30447         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30448         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30449         Fix name lookup in GstBin.
30450         Added _data_replace() function and _buffer_replace()
30451         Use finalize method to clean up clock.
30452         Fix refcounting on request pads.
30453         Fix pad schedule mode error.
30454         Some more object refcounting debug info,
30455
30456
30457 2005-05-04  Andy Wingo <wingo@pobox.com>
30458
30459         * check/Makefile.am:
30460         * docs/gst/tmpl/gstatomic.sgml:
30461         * docs/gst/tmpl/gstplugin.sgml:
30462         * gst/base/gstbasesink.c: (gst_basesink_activate):
30463         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30464         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30465         (gst_basesrc_query), (gst_basesrc_set_property),
30466         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30467         (gst_basesrc_activate):
30468         * gst/base/gstbasesrc.h:
30469         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30470         (gst_base_transform_src_activate):
30471         * gst/elements/gstelements.c:
30472         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30473         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30474         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30475         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30476         (gst_type_find_element_checkgetrange),
30477         (gst_type_find_element_activate):
30478         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30479         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30480         (gst_caps_load_thyself):
30481         * gst/gstelement.c: (gst_element_pads_activate),
30482         (gst_element_save_thyself), (gst_element_restore_thyself):
30483         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30484         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30485         * gst/gstpad.h:
30486         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30487         (gst_xml_parse_file), (gst_xml_parse_memory),
30488         (gst_xml_get_element), (gst_xml_make_element):
30489         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30490         (_file_index_id_save_xml), (gst_file_index_commit):
30491         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30492         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30493         (load_paths):
30494         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30495         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30496         * tools/gst-complete.c: (main):
30497         * tools/gst-compprep.c: (main):
30498         * tools/gst-inspect.c: (print_element_properties_info):
30499         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30500         * tools/gst-xmlinspect.c: (print_element_properties):
30501         GCC 4 fixen.
30502         
30503 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30504
30505         * gst/gstplugin.c: (gst_plugin_check_module),
30506         (gst_plugin_check_file), (gst_plugin_load_file):
30507             apply patch from #172526 to make register work on MacOSX
30508
30509 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30510
30511         * docs/gst/tmpl/gstconfig.sgml:
30512         * gst/gstconfig.h.in:
30513           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30514         * testsuite/debug/printf_extension.c: (main):
30515           Do not use GST_PTR_FORMAT on pointers to types with
30516           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30517         * testsuite/elements/property.h:
30518           use correct printf format
30519
30520 2005-05-02  Wim Taymans  <wim@fluendo.com>
30521
30522         * docs/design/draft-push-pull.txt:
30523         * docs/design/draft-query.txt:
30524         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30525         (gst_basesrc_start):
30526         Added draft for new query API.
30527         Added draft for better selecting scheduling methods.
30528         Make basesrc ignore length if the subclass does not support
30529         it.
30530
30531 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30532
30533         * gst/Makefile.am:
30534           possible fixes for automake-1.5 - _LIBADD is reserved
30535
30536 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30537
30538         * docs/faq/Makefile.am:
30539         * docs/manual/Makefile.am:
30540         * docs/manuals.mak:
30541         * docs/pwg/Makefile.am:
30542         * gst/Makefile.am:
30543           possible fixes for automake-1.5
30544
30545 2005-04-28  Wim Taymans  <wim@fluendo.com>
30546
30547         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30548         (gst_basesink_pad_getcaps), (gst_basesink_init),
30549         (gst_basesink_do_sync):
30550         * gst/gstclock.c: (gst_clock_entry_new):
30551         * gst/gstevent.c: (gst_event_discont_get_value):
30552         * gst/gstpipeline.c: (pipeline_bus_handler),
30553         (gst_pipeline_change_state):
30554         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30555         Better debugging of clocking info.
30556         Allow NULL values when getting discont values.
30557
30558 2005-04-27  Wim Taymans  <wim@fluendo.com>
30559
30560         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30561         * check/gst/gstpad.c: (gst_pad_suite):
30562         Increase timeout for checks.
30563
30564 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30565
30566         * check/Makefile.am:
30567           fix the broken rule for cleanup.  Apparently this rule is
30568           only needed on FC2, so maybe this warrants further autotool
30569           inspection.
30570
30571 2005-04-26  Wim Taymans  <wim@fluendo.com>
30572
30573         * gst/gsttrashstack.h:
30574         Ooohh. a nasty one! After having a failed pop() from the stack,
30575         it's possible that the stack is empty. In that case, don't
30576         follow the NULL pointer.
30577
30578 2005-04-25  Wim Taymans  <wim@fluendo.com>
30579
30580         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30581         (gst_pad_set_checkgetrange_function),
30582         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30583         (gst_pad_check_pull_range), (gst_pad_pull_range),
30584         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30585         (gst_pad_pause_task), (gst_pad_stop_task):
30586         * gst/gstplugin.c: (gst_plugin_load):
30587         * gst/gstplugin.h:
30588         Remove gst_library_load as it does more harm than good with
30589         the new g_module flags.
30590         Revert bogus caps template check in pad linking, pad caps
30591         are important when linking not the template, which is more
30592         general than the current caps.
30593
30594 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30595
30596         * gst/autoplug/.cvsignore:
30597         * gst/autoplug/Makefile.am:
30598         * gst/autoplug/gstsearchfuncs.c:
30599         * gst/autoplug/gstsearchfuncs.h:
30600         * gst/autoplug/gstspider.c:
30601         * gst/autoplug/gstspider.h:
30602         * gst/autoplug/gstspideridentity.c:
30603         * gst/autoplug/gstspideridentity.h:
30604         * gst/autoplug/spidertest.c:
30605           Die, spider, die.
30606
30607 2005-04-25  Wim Taymans  <wim@fluendo.com>
30608
30609         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30610         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30611         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30612         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30613         * gst/gstpad.h:
30614         Added stubs for unimplemented functions. 
30615
30616 2005-04-24  David Schleef  <ds@schleef.org>
30617
30618         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30619         please fix.
30620
30621 2005-04-24  David Schleef  <ds@schleef.org>
30622
30623         Convert everything from GstAtomicInt to g_atomic_int_*, and
30624         remove gstatomic.
30625         * gst/Makefile.am:
30626         * gst/gstatomic.c:
30627         * gst/gstatomic.h:
30628         * gst/gstatomic_impl.h:
30629         * gst/gstbuffer.c:
30630         * gst/gstcaps.c:
30631         * gst/gstcaps.h:
30632         * gst/gstclock.c:
30633         * gst/gstclock.h:
30634         * gst/gstdata.c:
30635         * gst/gstdata.h:
30636         * gst/gstdata_private.h:
30637         * gst/gstevent.c:
30638         * gst/gstinfo.c:
30639         * gst/gstinfo.h:
30640         * gst/gstmessage.c:
30641         * gst/gstobject.c:
30642         * gst/gstobject.h:
30643         * gst/gststructure.c:
30644         * gst/gststructure.h:
30645         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30646         * gst/gstutils.h:
30647
30648 2005-04-24  David Schleef  <ds@schleef.org>
30649
30650         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30651         make the regressions tests work.  Remove some code that is no
30652         longer true.
30653         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30654         Disable warning for pads without templates.
30655
30656 2005-04-24  David Schleef  <ds@schleef.org>
30657
30658         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30659         functions that handle filtered links.
30660         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30661         removed functions.
30662         * gst/gstutils.c: Fix/remove utility functions that handle
30663         filtered caps.
30664         * gst/gstutils.h:
30665         * gst/gstvalue.c: Add serialization/deserialization of caps
30666         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30667         requires fixing so that the filter caps notation creates
30668         a capsfilter element and sets the filter_caps property.  I
30669         think everyone probably wants to keep the shorthand notation.
30670         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30671         * docs/gst/tmpl/gstpad.sgml:
30672
30673         * gst/elements/gstelements.c: Register capsfilter element.
30674         * gst/Makefile.am: fix spacing
30675         * docs/random/ds/0.9-suggested-changes: random
30676
30677 2005-04-23  David Schleef  <ds@schleef.org>
30678
30679         * gst/elements/Makefile.am:
30680         * gst/elements/gstcapsfilter.c: New element that acts like an
30681         identity, but filters caps.  Will eventually replace filtered
30682         caps in pad linking.
30683         * gst/gstutils.c: (gst_element_create_all_pads): New function
30684         to create all the ALWAYS pads that are registered with an
30685         element class.  This functionality should eventually be
30686         merged in with GstElement initialization.
30687         * gst/gstutils.h:
30688         * testsuite/trigger/README: part of trigger test code that should
30689         have been checked in a long time ago.
30690
30691 2005-04-23  David Schleef  <ds@schleef.org>
30692
30693         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
30694         needed with new versions of libtool (nobody will confirm this),
30695         and hard to carry around.
30696         * gst/autoplug/Makefile.am:
30697         * gst/base/Makefile.am:
30698         * gst/elements/Makefile.am:
30699         * gst/indexers/Makefile.am:
30700         * gst/schedulers/Makefile.am:
30701         * libs/gst/bytestream/Makefile.am:
30702         * libs/gst/control/Makefile.am:
30703         * libs/gst/dataprotocol/Makefile.am:
30704         * libs/gst/getbits/Makefile.am:
30705
30706 2005-04-21  Wim Taymans  <wim@fluendo.com>
30707
30708         * docs/design/draft-push-pull.txt:
30709         * docs/design/part-MT-refcounting.txt:
30710         * docs/design/part-TODO.txt:
30711         * docs/design/part-caps.txt:
30712         * docs/design/part-events.txt:
30713         * docs/design/part-gstbus.txt:
30714         * docs/design/part-gstpipeline.txt:
30715         * docs/design/part-messages.txt:
30716         * docs/design/part-push-pull.txt:
30717         * docs/design/part-query.txt:
30718         Some more docs.
30719
30720 2005-04-21  Wim Taymans  <wim@fluendo.com>
30721
30722         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30723         (gst_message_new), (gst_message_new_error),
30724         (gst_message_new_warning), (gst_message_new_tag),
30725         (gst_message_new_state_changed), (gst_message_new_application),
30726         (gst_message_get_structure):
30727         * gst/gstmessage.h:
30728         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30729         (gst_structure_copy_conditional):
30730         Use parent refcount in GstMessage to ensure GstStructure
30731         consistency.
30732         Cleaned up headers a bit.
30733         
30734
30735 2005-04-20  Wim Taymans  <wim@fluendo.com>
30736
30737         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30738         (gst_basesink_pad_getcaps), (gst_basesink_init),
30739         (gst_basesink_chain_unlocked):
30740         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30741         (gst_type_find_helper):
30742         * gst/elements/gsttypefindelement.c:
30743         (gst_type_find_element_have_type), (gst_type_find_element_init),
30744         (stop_typefinding), (gst_type_find_element_handle_event),
30745         (find_suggest), (gst_type_find_element_chain),
30746         (gst_type_find_element_checkgetrange),
30747         (gst_type_find_element_getrange), (do_typefind),
30748         (gst_type_find_element_activate):
30749         * gst/gstbuffer.c: (_gst_buffer_sub_free),
30750         (gst_buffer_default_free), (gst_buffer_default_copy),
30751         (gst_buffer_set_caps):
30752         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30753         (gst_caps_replace):
30754         * gst/gstmessage.c: (gst_message_new),
30755         (gst_message_new_state_changed):
30756         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30757         (gst_pad_set_checkgetrange_function),
30758         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30759         (gst_pad_set_caps), (gst_pad_check_pull_range),
30760         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30761         * gst/gstpad.h:
30762         * gst/gsttypefind.c: (gst_type_find_register):
30763         Make gst_caps_replace() work like other _replace() functions.
30764         Use _caps_replace() where possible.
30765         Make sure _message_new() initialises its field.
30766         Add gst_static_pad_template_get_caps()
30767
30768
30769 2005-04-18  Andy Wingo  <wingo@pobox.com>
30770
30771         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30772         on the peer, not the pad. I think that was a typo. Pass an extra
30773         arg to see if random access is possible. Activate the pads as
30774         PULL_RANGE if possible.
30775
30776         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30777
30778         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
30779         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30780         to PROP_....
30781
30782 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30783
30784         * docs/faq/using.xml:
30785           Add note on gstreamer-properties (#154996).
30786
30787 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30788
30789         * docs/random/bbb/optional-properties:
30790           Some analysis on optional properties.
30791
30792 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30793
30794         * docs/gst/tmpl/gstelementfactory.sgml:
30795         * gst/gstelement.h:
30796         * gst/gstelementfactory.c: (gst_element_factory_init),
30797         (gst_element_factory_cleanup), (gst_element_register),
30798         (__gst_element_factory_add_static_pad_template),
30799         (gst_element_factory_get_static_pad_templates),
30800         (gst_element_factory_can_src_caps),
30801         (gst_element_factory_can_sink_caps):
30802         * gst/registries/Makefile.am:
30803         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30804         (gst_xml_registry_class_init), (gst_xml_registry_init),
30805         (gst_xml_registry_new), (gst_xml_registry_set_property),
30806         (gst_xml_registry_get_property), (get_time), (make_dir),
30807         (gst_xml_registry_get_perms_func),
30808         (plugin_times_older_than_recurse), (plugin_times_older_than),
30809         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30810         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30811         (add_to_char_array), (read_string), (read_uint), (read_enum),
30812         (load_pad_template), (load_feature), (load_plugin), (load_paths),
30813         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30814         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30815         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30816         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30817         (gst_xml_registry_rebuild):
30818         * gst/registries/gstlibxmlregistry.h:
30819         * tools/gst-compprep.c: (main):
30820         * tools/gst-inspect.c: (print_pad_templates_info):
30821         * tools/gst-xmlinspect.c: (print_element_info):
30822           Use libxml2 for registry parsing, use staticpadtemplates in
30823           elementfactories. Makes gst_init() +/- 10x faster.
30824
30825 2005-04-12  Wim Taymans  <wim@fluendo.com>
30826
30827         * gst/base/Makefile.am:
30828         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30829         (gst_basesink_pad_getcaps), (gst_basesink_init),
30830         (gst_basesink_event), (gst_basesink_change_state):
30831         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30832         (gst_basesrc_init), (gst_basesrc_query),
30833         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30834         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30835         (gst_basesrc_check_get_range), (gst_basesrc_loop),
30836         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30837         (gst_basesrc_stop), (gst_basesrc_activate),
30838         (gst_basesrc_change_state):
30839         * gst/base/gsttypefindhelper.c: (helper_find_peek),
30840         (helper_find_suggest), (gst_type_find_helper):
30841         * gst/base/gsttypefindhelper.h:
30842         * gst/elements/Makefile.am:
30843         * gst/elements/gstelements.c:
30844         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30845         (gst_fakesink_get_times), (gst_fakesink_event),
30846         (gst_fakesink_preroll), (gst_fakesink_render):
30847         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30848         (gst_fakesrc_init), (gst_fakesrc_event_handler),
30849         (gst_fakesrc_get_property), (gst_fakesrc_create),
30850         (gst_fakesrc_start), (gst_fakesrc_stop):
30851         * gst/elements/gstfakesrc.h:
30852         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
30853         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30854         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30855         (gst_filesrc_create_read), (gst_filesrc_create),
30856         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
30857         (gst_filesrc_start):
30858         * gst/elements/gsttypefindelement.c:
30859         (gst_type_find_element_have_type), (gst_type_find_element_init),
30860         (start_typefinding), (stop_typefinding), (push_buffer_store),
30861         (gst_type_find_element_handle_event),
30862         (gst_type_find_element_chain),
30863         (gst_type_find_element_checkgetrange),
30864         (gst_type_find_element_getrange), (do_typefind),
30865         (gst_type_find_element_activate),
30866         (gst_type_find_element_change_state):
30867         * gst/elements/gsttypefindelement.h:
30868         * gst/gstpipeline.c: (pipeline_bus_handler):
30869         Added typefind helper.
30870         Small preroll fix in the base sink.
30871         Disable typefind code in basesrc.
30872         Crude port of typefindelement.
30873         Fakesrc cleanups.
30874
30875
30876 2005-04-11  Wim Taymans  <wim@fluendo.com>
30877
30878         * check/gst/gstbus.c: (gstbus_suite):
30879         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
30880         * check/gstcheck.h:
30881           Fix up the timeout so that the test does not fail.
30882
30883 2005-04-06  Wim Taymans  <wim@fluendo.com>
30884
30885         * gst/base/README:
30886         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30887         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
30888         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30889         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30890         (gst_basesrc_check_get_range), (gst_basesrc_loop),
30891         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30892         (gst_basesrc_stop), (gst_basesrc_activate),
30893         (gst_basesrc_change_state), (basesrc_find_peek),
30894         (basesrc_find_suggest), (gst_basesrc_type_find):
30895         * gst/base/gstbasesrc.h:
30896         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
30897         (gst_filesrc_class_init), (gst_filesrc_init),
30898         (gst_filesrc_finalize), (gst_filesrc_set_location),
30899         (gst_filesrc_set_property), (gst_filesrc_get_property),
30900         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30901         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30902         (gst_filesrc_create_read), (gst_filesrc_create),
30903         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
30904         * gst/elements/gstfilesrc.h:
30905         * gst/gstelement.c: (gst_element_get_state_func),
30906         (gst_element_lost_state), (gst_element_pads_activate):
30907         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30908         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30909         (gst_pad_pull_range):
30910         * gst/gstpad.h:
30911         More work on the generic source base class, implement seeking,
30912         query.
30913         Make filesrc extend the base source class.
30914         Added gst_pad_set_checkgetrange_function to GstPad.
30915
30916 2005-04-06  Andy Wingo  <wingo@pobox.com>
30917
30918         * pkgconfig/gstreamer-base.pc.in:
30919         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
30920
30921         * pkgconfig/Makefile.am:
30922         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
30923
30924 2005-04-04  Wim Taymans  <wim@fluendo.com>
30925
30926         * gst/base/Makefile.am:
30927         * gst/base/README:
30928         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30929         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30930         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30931         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
30932         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30933         (gst_basesrc_base_init), (gst_basesrc_class_init),
30934         (gst_basesrc_init), (gst_basesrc_get_formats),
30935         (gst_basesrc_get_query_types), (gst_basesrc_query),
30936         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
30937         (gst_basesrc_set_property), (gst_basesrc_get_property),
30938         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
30939         (gst_basesrc_loop), (gst_basesrc_activate),
30940         (gst_basesrc_change_state):
30941         * gst/base/gstbasesrc.h:
30942         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
30943         (gst_fakesrc_class_init), (gst_fakesrc_init),
30944         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
30945         (gst_fakesrc_get_property), (gst_fakesrc_create):
30946         * gst/elements/gstfakesrc.h:
30947         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
30948         (gst_filesrc_open_file), (gst_filesrc_loop),
30949         (gst_filesrc_activate), (filesrc_find_peek),
30950         (gst_filesrc_type_find):
30951         Made base source class, make fakesrc extend it.
30952         Add comments to basesink class.
30953         Some filesrc cleanup.
30954
30955 2005-03-31  David Schleef  <ds@schleef.org>
30956
30957         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
30958         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
30959         expected to link against libgstreamer.
30960         * gst/base/Makefile.am: link against libgstreamer
30961         * gst/elements/Makefile.am: same
30962
30963 2005-03-31  Andy Wingo  <wingo@pobox.com>
30964
30965         * tests/instantiate/Makefile.am:
30966         * tests/instantiate/caps.c: Add test to test speed of caps copy
30967         and free.
30968
30969         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
30970         GMemChunk to be fair.
30971
30972         * gst/gsttrashstack.h: Remove warning about using the fallback
30973         trash stack implementation, it's still faster than malloc.
30974
30975 2005-03-30  Andy Wingo  <wingo@pobox.com>
30976
30977         * tests/complexity.c: Add a copyright.
30978
30979 2005-03-31  Wim Taymans  <wim@fluendo.com>
30980
30981         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
30982         (gst_base_transform_class_init), (gst_base_transform_init),
30983         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
30984         (gst_base_transform_get_property),
30985         (gst_base_transform_sink_activate),
30986         (gst_base_transform_src_activate),
30987         (gst_base_transform_change_state):
30988         * gst/base/gstbasetransform.h:
30989         * gst/elements/gstidentity.c: (gst_identity_class_init),
30990         (gst_identity_event), (gst_identity_check_perfect),
30991         (gst_identity_transform), (gst_identity_start),
30992         (gst_identity_stop):
30993         Added start/stop methods to transform base class so subclasses 
30994         don't need to deal with state changes even.
30995
30996 2005-03-31  Wim Taymans  <wim@fluendo.com>
30997
30998         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
30999         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31000         * gst/gstevent.h:
31001         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31002         (gst_pad_pull_range):
31003         Added rate to the discont event to prepare for variable speed
31004         and reverse playback.
31005
31006 2005-03-29  David Schleef  <ds@schleef.org>
31007
31008         * configure.ac:
31009         * testsuite/trigger/Makefile.am:
31010         * testsuite/trigger/trigger.c: A little example program to show
31011         how trigger-based elements can work.
31012
31013 2005-03-29  Wim Taymans  <wim@fluendo.com>
31014
31015         * gst/base/Makefile.am:
31016         * gst/base/README:
31017         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31018         (gst_basesink_base_init), (gst_basesink_class_init),
31019         (gst_basesink_pad_getcaps), (gst_basesink_init),
31020         (gst_basesink_activate), (gst_basesink_change_state):
31021         * gst/base/gstbasesink.h:
31022         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31023         (gst_base_transform_base_init), (gst_base_transform_finalize),
31024         (gst_base_transform_class_init), (gst_base_transform_init),
31025         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31026         (gst_base_transform_event), (gst_base_transform_getrange),
31027         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31028         (gst_base_transform_set_property),
31029         (gst_base_transform_get_property),
31030         (gst_base_transform_sink_activate),
31031         (gst_base_transform_src_activate),
31032         (gst_base_transform_change_state):
31033         * gst/base/gstbasetransform.h:
31034         * gst/elements/gstidentity.c: (gst_identity_finalize),
31035         (gst_identity_class_init), (gst_identity_init),
31036         (gst_identity_event), (gst_identity_check_perfect),
31037         (gst_identity_transform), (gst_identity_set_property),
31038         (gst_identity_get_property), (gst_identity_change_state):
31039         * gst/elements/gstidentity.h:
31040         * gst/gstelement.c: (gst_element_get_state_func),
31041         (gst_element_lost_state), (gst_element_pads_activate):
31042         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31043         (gst_pad_check_pull_range), (gst_pad_pull_range):
31044         * gst/gstpad.h:
31045         Simplify pad activation.
31046         Added function to check if pull_range can be performed.
31047         Error out when pulling inactive or flushing pads.
31048         Removed const from refcounted types as it does not make sense.
31049         Simplify pad templates in basesink
31050         Added base class for simple 1-to-1 transforms.
31051         Make identity subclass the base transform.
31052
31053 2005-03-29  Andy Wingo  <wingo@pobox.com>
31054
31055         * docs/libs/gstreamer-libs-overrides.txt: 
31056         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31057         really don't understand what's going on, but like whatever. I want
31058         green buildbot!
31059
31060         * docs/gst/Makefile.am:
31061         * docs/libs/Makefile.am: Dist the overrides files.
31062
31063         * check/Makefile.am (clean-local): Remove .libs directories.
31064
31065         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31066         elements to EXTRA_DIST, so po/ files are happy.
31067
31068         * po/POTFILES.in: Er, remove it here.
31069
31070         * po/POTFILES: Remove gstspider.c.
31071
31072         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31073
31074         * docs/libs/gstreamer-libs-docs.sgml: 
31075         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31076         bytestream.
31077
31078         * tests/complexity.c (main): Set the length of the preroll queue
31079         on the sinks to prevent a lockup.
31080
31081         * libs/gst/dataprotocol/Makefile.am: 
31082         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31083         the same as the one in check/gst-libs/gdp.c.
31084
31085         * po/, docs/gst/: Commit automatic changes to docs and po files.
31086
31087         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31088         the versioned libgstbase.
31089
31090         * check/Makefile.am: Depend on an unversioned gst-register, seems
31091         to make autoconf happier.
31092
31093         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31094
31095 2005-03-28  Wim Taymans  <wim@fluendo.com>
31096
31097         * configure.ac:
31098         * docs/design/part-gstelement.txt:
31099         * docs/design/part-negotiation.txt:
31100         * docs/design/part-preroll.txt:
31101         * docs/design/part-scheduling.txt:
31102         * docs/design/part-states.txt:
31103         * gst/Makefile.am:
31104         * gst/base/Makefile.am:
31105         * gst/base/README:
31106         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31107         (gst_basesink_base_init), (gst_basesink_class_init),
31108         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31109         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31110         (gst_basesink_set_pad_functions),
31111         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31112         (gst_basesink_set_property), (gst_basesink_get_property),
31113         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31114         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31115         (gst_basesink_preroll_queue_push),
31116         (gst_basesink_preroll_queue_empty),
31117         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31118         (gst_basesink_event), (gst_basesink_get_times),
31119         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31120         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31121         (gst_basesink_loop), (gst_basesink_activate),
31122         (gst_basesink_change_state):
31123         * gst/base/gstbasesink.h:
31124         * gst/elements/Makefile.am:
31125         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31126         (gst_fakesink_class_init), (gst_fakesink_init),
31127         (gst_fakesink_set_property), (gst_fakesink_get_property),
31128         (gst_fakesink_get_times), (gst_fakesink_event),
31129         (gst_fakesink_preroll), (gst_fakesink_render),
31130         (gst_fakesink_change_state):
31131         * gst/elements/gstfakesink.h:
31132         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31133         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31134         * gst/gstelement.c: (gst_element_add_pad),
31135         (gst_element_get_state_func), (gst_element_abort_state),
31136         (gst_element_commit_state), (gst_element_lost_state),
31137         (gst_element_set_state), (gst_element_pads_activate):
31138         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31139         * gst/gstpipeline.c: (gst_pipeline_send_event),
31140         (gst_pipeline_change_state):
31141         Added state change code.
31142         Added/updated docs.
31143         Added sink base class, make fakesink extend the base class.
31144         Small cleanups in GstPipeline.
31145
31146 2005-03-26  David Schleef  <ds@schleef.org>
31147
31148         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31149         is broken and should be implemented in a different library.
31150         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31151         * gst/gst.h: remove gstcpu.h
31152         * gst/gstcpu.c: remove
31153         * gst/gstcpu.h: remove
31154         * gst/Makefile.am.future: Remove this file.  It's ancient.
31155
31156 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31157
31158         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31159         (gst_bin_send_event):
31160           Add default event/set_manager handlers. The set_manager handler
31161           takes care that the manager is distributed over kids that were
31162           already in the bin before the manager was set. The event handler
31163           is a utility virtual function that sends the event over all sinks,
31164           so that gst_element_send_event (bin, event); has the expected
31165           behaviour.
31166         * gst/gstpad.c: (gst_pad_event_default):
31167           Re-install default event handling for discontinuities, so that
31168           seeking works without requiring hacks in applications or extra
31169           code in sinks.
31170         * gst/gstpipeline.c: (gst_pipeline_class_init),
31171         (gst_pipeline_send_event):
31172           Half hack, half utility: set a pipeline to PAUSED for seek events,
31173           since that is the only way we can guarantee a/v sync. Means that
31174           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31175           and it "just works".
31176
31177 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31178
31179         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31180           Lock/unlock mismatch.
31181
31182 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31183
31184         * docs/faq/gst-uninstalled:
31185           add gst-plugins-base
31186         * docs/gst/Makefile.am:
31187           don't error out until docs are fixed
31188         * docs/gst/gstreamer.types:
31189           remove thread
31190
31191 2005-03-22  Wim Taymans  <wim@fluendo.com>
31192
31193         * check/Makefile.am:
31194         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31195         * gst/gststructure.c: (gst_structure_set_valist),
31196         (gst_structure_copy_conditional):
31197         Activated more tests.
31198         Added message test.
31199         Added G_TYPE_POINTER to GstStructure.
31200         
31201
31202 2005-03-22  Wim Taymans  <wim@fluendo.com>
31203
31204         * docs/design/part-TODO.txt:
31205         * docs/design/part-events.txt:
31206         * docs/design/part-gstbin.txt:
31207         * docs/design/part-gstbus.txt:
31208         * docs/design/part-gstpipeline.txt:
31209         * docs/design/part-messages.txt:
31210         * gst/gstbus.c:
31211         * gst/gstmessage.c:
31212         Docs updates
31213
31214 2005-03-21  Wim Taymans  <wim@fluendo.com>
31215
31216         * gst/gstbus.c: (gst_bus_post):
31217         Fix copy-and-paste error.
31218
31219 2005-03-21  Wim Taymans  <wim@fluendo.com>
31220
31221         * check/Makefile.am:
31222         * gst/Makefile.am:
31223         * gst/elements/Makefile.am:
31224         * gst/elements/gstelements.c:
31225         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31226         (gst_fakesink_event), (gst_fakesink_chain):
31227         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31228         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31229         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31230         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31231         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31232         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31233         (gst_fakesrc_loop), (gst_fakesrc_activate),
31234         (gst_fakesrc_change_state):
31235         * gst/elements/gstfakesrc.h:
31236         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31237         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31238         (gst_filesrc_open_file), (gst_filesrc_loop),
31239         (gst_filesrc_activate), (gst_filesrc_change_state),
31240         (filesrc_find_peek), (filesrc_find_suggest),
31241         (gst_filesrc_type_find):
31242         * gst/elements/gstidentity.c: (gst_identity_finalize),
31243         (gst_identity_class_init), (gst_identity_init),
31244         (gst_identity_proxy_getcaps), (identity_queue_push),
31245         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31246         (gst_identity_getrange), (gst_identity_chain),
31247         (gst_identity_sink_loop), (gst_identity_src_loop),
31248         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31249         (gst_identity_set_property), (gst_identity_get_property),
31250         (gst_identity_change_state):
31251         * gst/elements/gstidentity.h:
31252         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31253         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31254         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31255         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31256         (gst_tee_sink_activate):
31257         * gst/elements/gsttee.h:
31258         * gst/gst.c: (gst_register_core_elements), (init_post):
31259         * gst/gst.h:
31260         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31261         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31262         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31263         (gst_bin_change_state):
31264         * gst/gstbin.h:
31265         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31266         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31267         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31268         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31269         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31270         (bus_watch_callback), (bus_watch_destroy),
31271         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31272         (poll_timeout), (gst_bus_poll):
31273         * gst/gstbus.h:
31274         * gst/gstcaps.h:
31275         * gst/gstdata.h:
31276         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31277         (gst_element_post_message), (gst_element_message_full),
31278         (gst_element_get_state_func), (gst_element_get_state),
31279         (gst_element_abort_state), (gst_element_commit_state),
31280         (gst_element_lost_state), (gst_element_set_state),
31281         (gst_element_pads_activate), (gst_element_change_state),
31282         (gst_element_dispose), (gst_element_set_manager_func),
31283         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31284         (gst_element_set_manager), (gst_element_get_manager),
31285         (gst_element_set_bus), (gst_element_get_bus),
31286         (gst_element_set_scheduler), (gst_element_get_scheduler):
31287         * gst/gstelement.h:
31288         * gst/gstevent.c: (gst_event_new_segment_seek),
31289         (gst_event_new_flush):
31290         * gst/gstevent.h:
31291         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31292         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31293         (gst_message_new_eos), (gst_message_new_error),
31294         (gst_message_new_warning), (gst_message_new_tag),
31295         (gst_message_new_state_changed), (gst_message_new_application),
31296         (gst_message_get_structure), (gst_message_parse_tag),
31297         (gst_message_parse_state_changed), (gst_message_parse_error),
31298         (gst_message_parse_warning):
31299         * gst/gstmessage.h:
31300         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31301         (gst_real_pad_set_property), (gst_pad_set_active),
31302         (gst_pad_is_active), (gst_pad_set_blocked_async),
31303         (gst_pad_set_blocked), (gst_pad_is_blocked),
31304         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31305         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31306         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31307         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31308         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31309         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31310         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31311         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31312         (gst_pad_set_caps), (gst_pad_configure_sink),
31313         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31314         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31315         (gst_real_pad_dispose), (gst_real_pad_finalize),
31316         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31317         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31318         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31319         * gst/gstpad.h:
31320         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31321         (pipeline_bus_handler), (gst_pipeline_change_state),
31322         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31323         * gst/gstpipeline.h:
31324         * gst/gstprobe.h:
31325         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31326         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31327         (gst_queue_link_src), (gst_queue_bufferalloc),
31328         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31329         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31330         (gst_queue_loop), (gst_queue_handle_src_event),
31331         (gst_queue_handle_src_query), (gst_queue_src_activate),
31332         (gst_queue_change_state):
31333         * gst/gstqueue.h:
31334         * gst/gstscheduler.c: (gst_scheduler_init),
31335         (gst_scheduler_dispose), (gst_scheduler_create_task),
31336         (gst_scheduler_factory_create):
31337         * gst/gstscheduler.h:
31338         * gst/gststructure.c: (gst_structure_get_type),
31339         (gst_structure_copy_conditional):
31340         * gst/gststructure.h:
31341         * gst/gsttaginterface.h:
31342         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31343         (gst_task_init), (gst_task_dispose), (gst_task_create),
31344         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31345         (gst_task_pause):
31346         * gst/gsttask.h:
31347         * gst/gstthread.c:
31348         * gst/gstthread.h:
31349         * gst/gsttypes.h:
31350         * gst/schedulers/Makefile.am:
31351         * gst/schedulers/cothreads_compat.h:
31352         * gst/schedulers/entryscheduler.c:
31353         * gst/schedulers/faircothreads.c:
31354         * gst/schedulers/faircothreads.h:
31355         * gst/schedulers/fairscheduler.c:
31356         * gst/schedulers/gstbasicscheduler.c:
31357         * gst/schedulers/gstoptimalscheduler.c:
31358         * gst/schedulers/gthread-cothreads.h:
31359         * gst/schedulers/threadscheduler.c:
31360         (gst_thread_scheduler_task_get_type),
31361         (gst_thread_scheduler_task_class_init),
31362         (gst_thread_scheduler_task_init),
31363         (gst_thread_scheduler_task_start),
31364         (gst_thread_scheduler_task_stop),
31365         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31366         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31367         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31368         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31369         (plugin_init):
31370         * libs/gst/Makefile.am:
31371         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31372         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31373         (gst_file_pad_parent_set):
31374         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31375         (gst_dp_event_from_packet):
31376         * tests/complexity.c: (main):
31377         * tests/mass_elements.c: (main):
31378         * testsuite/states/locked.c: (message_received), (main):
31379         * testsuite/states/parent.c: (main):
31380         * tools/gst-inspect.c: (print_element_flag_info),
31381         (print_implementation_info), (print_pad_info):
31382         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31383         (main):
31384         * tools/gst-md5sum.c: (event_loop), (main):
31385         * tools/gst-typefind.c: (main):
31386         * tools/gst-xmlinspect.c: (print_element_info):
31387         Next big merge.
31388         Added GstBus for mainloop integration.
31389         Added GstMessage for sending notifications on the bus.
31390         Added GstTask as an abstraction for pipeline entry points.
31391         Removed GstThread.
31392         Removed Schedulers.
31393         Simplified GstQueue for multithreaded core.
31394         Made _link threadsafe, removed old capsnego.
31395         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31396         Added pad blocking functions.
31397         Reworked scheduling functions in GstPad to prepare for
31398         scheduling updates soon.
31399         Moved events out of data stream.
31400         Simplified GstEvent types.
31401         Added return values to push/pull.
31402         Removed clocking from GstElement.
31403         Added prototypes for state change function for next merge.
31404         Removed iterate from bins and state change management.
31405         Fixed some elements, disabled others for now.
31406         Fixed -inspect and -launch.
31407         Added check for GstBus.
31408
31409 2005-03-10  Wim Taymans  <wim@fluendo.com>
31410
31411         * docs/design/part-MT-refcounting.txt:
31412         * docs/design/part-clocks.txt:
31413         * docs/design/part-gstelement.txt:
31414         * docs/design/part-gstobject.txt:
31415         * docs/design/part-standards.txt:
31416         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31417         (gst_bin_remove_func), (gst_bin_remove):
31418         * gst/gstbin.h:
31419         * gst/gstbuffer.c:
31420         * gst/gstcaps.h:
31421         * testsuite/clock/clock1.c: (main):
31422         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31423         (main):
31424         * testsuite/dlopen/loadgst.c: (do_test):
31425         * testsuite/refcounting/bin.c: (add_remove_test1),
31426         (add_remove_test2), (main):
31427         * testsuite/refcounting/element.c: (main):
31428         * testsuite/refcounting/element_pad.c: (main):
31429         * testsuite/refcounting/pad.c: (main):
31430         * tools/gst-launch.c: (sigint_handler_sighandler):
31431         * tools/gst-typefind.c: (main):
31432         Doc updates.
31433         Added doc about clock.
31434         removed gst_bin_iterate_recurse_up(), marked methods
31435         for removal.
31436         Fix more testsuites.
31437
31438 2005-03-09  Wim Taymans  <wim@fluendo.com>
31439
31440         * gst/gstpad.c: (gst_pad_get_direction),
31441         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31442         (gst_pad_collect_valist):
31443         * testsuite/bins/interface.c: (main):
31444         * testsuite/caps/audioscale.c: (test_caps):
31445         * testsuite/caps/caps.c: (test1), (test2), (test3):
31446         * testsuite/caps/deserialize.c: (main):
31447         * testsuite/caps/enumcaps.c: (main):
31448         * testsuite/caps/filtercaps.c: (main):
31449         * testsuite/caps/intersect2.c: (main):
31450         * testsuite/caps/random.c: (main):
31451         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31452         * testsuite/caps/sets.c: (check_caps):
31453         * testsuite/caps/simplify.c: (check_caps), (main):
31454         * testsuite/caps/subtract.c: (check_caps):
31455         Fix _pad_get_direction wrt ghostpads.
31456         Fix caps testsuite.
31457
31458 2005-03-09  Wim Taymans  <wim@fluendo.com>
31459
31460         * check/Makefile.am:
31461         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31462         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31463         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31464         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31465         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31466         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31467         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31468         (bin_element_is_sink), (gst_bin_iterate_sinks),
31469         (gst_bin_iterate_all_by_interface):
31470         * gst/gstbin.h:
31471         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31472         (gst_element_change_state), (gst_element_dispose),
31473         (gst_element_finalize), (gst_element_set_loop_function):
31474         * gst/gstelement.h:
31475         * gst/gstiterator.c: (find_custom_fold_func):
31476         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31477         (gst_pad_collectv), (gst_pad_collect_valist),
31478         (gst_pad_template_new):
31479         * gst/gstpipeline.c: (gst_pipeline_class_init),
31480         (gst_pipeline_dispose), (gst_pipeline_set_property),
31481         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31482         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31483         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31484         * gst/gstutils.h:
31485         * gst/schedulers/entryscheduler.c:
31486         * gst/schedulers/gstbasicscheduler.c:
31487         (gst_basic_scheduler_cothreaded_chain),
31488         (gst_basic_scheduler_chain_add_element):
31489         * testsuite/bins/interface.c: (main):
31490         Added GstBin test.
31491         Added GstSystemClock test.
31492         Implemented clock distribution code in GstBin.
31493         Implemented iterate sinks method for future use.
31494         Rearranged gstelement.h
31495         Fix GstIterator comparison bug.
31496         Moved some code to GstPipeline, mostly clocking related.
31497
31498 2005-03-09  Wim Taymans  <wim@fluendo.com>
31499
31500         * configure.ac:
31501         * gst/gst_private.h:
31502         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31503         (gst_bin_remove_func), (gst_bin_remove),
31504         (gst_bin_get_by_name_recurse_up):
31505         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31506         (gst_clock_id_compare_func), (gst_clock_id_wait),
31507         (gst_clock_id_wait_async), (gst_clock_init),
31508         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31509         * gst/gstelement.h:
31510         * gst/gstinfo.c: (_gst_debug_init):
31511         * gst/gstobject.h:
31512         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31513         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31514         * gst/gstpad.h:
31515         Bump version number, we're now 0.9.0
31516         Add future debugging category.
31517         Fix NULL _unref() in _get_by_name_recurse_up
31518         Rearrange gstpad.h.
31519         Update some docs.
31520
31521 2005-03-08  Wim Taymans  <wim@fluendo.com>
31522
31523         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31524         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31525         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31526         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31527         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31528         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31529         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31530         * gst/elements/gstidentity.c: (gst_identity_class_init):
31531         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31532         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31533         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31534         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31535         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31536         (gst_tee_link):
31537         * gst/gstelement.c: (gst_element_class_init),
31538         (gst_element_base_class_init), (gst_element_init),
31539         (gst_element_get_random_pad), (gst_element_wait_state_change),
31540         (gst_element_change_state), (gst_element_dispose),
31541         (gst_element_finalize), (gst_element_set_loop_function):
31542         * gst/gstelement.h:
31543         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31544         * gst/gstthread.c: (gst_thread_class_init),
31545         (gst_thread_release_children_locks), (gst_thread_change_state):
31546         * gst/schedulers/gstbasicscheduler.c:
31547         (gst_basic_scheduler_loopfunc_wrapper),
31548         (gst_basic_scheduler_chain_wrapper),
31549         (gst_basic_scheduler_src_wrapper),
31550         (gst_basic_scheduler_remove_element):
31551         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31552         Remove threadsafe properties. Fix elements because GObject
31553         complains when installing a property before declaring a
31554         set/get_property handler.
31555         Rearrange gstelement.h file, use STATE macros for state locks.
31556         Free mutexes in the finalize method instead of dispose.
31557
31558 2005-03-08  Wim Taymans  <wim@fluendo.com>
31559
31560         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31561         * gst/gstthread.c: (gst_thread_release_children_locks):
31562         Added parentage check.
31563         Fix build og GstThread again.
31564
31565 2005-03-08  Wim Taymans  <wim@fluendo.com>
31566
31567         * docs/design/part-MT-refcounting.txt:
31568         * docs/design/part-conventions.txt:
31569         * docs/design/part-gstobject.txt:
31570         * docs/design/part-relations.txt:
31571         * docs/design/part-standards.txt:
31572         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31573         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31574         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31575         (gst_bin_iterate_all_by_interface):
31576         * gst/gstbuffer.h:
31577         * gst/gstclock.h:
31578         * gst/gstelement.c: (gst_element_class_init),
31579         (gst_element_change_state), (gst_element_set_loop_function):
31580         * gst/gstelement.h:
31581         * gst/gstiterator.c:
31582         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31583         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31584         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31585         (gst_object_set_parent), (gst_object_unparent),
31586         (gst_object_check_uniqueness):
31587         * gst/gstobject.h:
31588         Docs updates, clean up some headers.
31589
31590 2005-03-07  Wim Taymans  <wim@fluendo.com>
31591
31592         * check/.cvsignore:
31593         * check/Makefile.am:
31594         * check/gst-libs/.cvsignore:
31595         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31596         * check/gst/.cvsignore:
31597         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31598         (START_TEST), (gstbus_suite), (main):
31599         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31600         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31601         (gst_data_suite), (main):
31602         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31603         (add_fold_func), (gstiterator_suite), (main):
31604         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31605         (thread_name_object), (thread_name_object_default),
31606         (gst_object_name_compare), (gst_object_suite), (main):
31607         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31608         (gst_pad_suite), (main):
31609         * check/gstcheck.c: (gst_check_log_message_func),
31610         (gst_check_log_critical_func), (gst_check_init):
31611         * check/gstcheck.h:
31612         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31613         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31614         Added checks.
31615
31616 2005-03-07  Wim Taymans  <wim@fluendo.com>
31617
31618         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31619         (gst_list_iterator_next), (gst_list_iterator_resync),
31620         (gst_list_iterator_free), (gst_iterator_new_list),
31621         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31622         (gst_iterator_free), (gst_iterator_push), (filter_next),
31623         (filter_resync), (filter_uninit), (filter_free),
31624         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31625         (gst_iterator_foreach), (find_custom_fold_func),
31626         (gst_iterator_find_custom):
31627         * gst/gstiterator.h:
31628         Added missing files.
31629
31630 2005-03-07  Wim Taymans  <wim@fluendo.com>
31631
31632         * Makefile.am:
31633         * configure.ac:
31634         * docs/design/part-MT-refcounting.txt:
31635         * docs/design/part-conventions.txt:
31636         * docs/design/part-gstobject.txt:
31637         * docs/design/part-relations.txt:
31638         * examples/mixer/mixer.c: (main):
31639         * examples/thread/thread.c: (eos), (main):
31640         * gst/Makefile.am:
31641         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31642         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31643         (gst_spider_plug_from_srcpad):
31644         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31645         (gst_spider_identity_change_state),
31646         (gst_spider_identity_sink_loop_type_finding):
31647         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31648         * gst/elements/gstidentity.c: (gst_identity_init):
31649         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31650         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31651         * gst/elements/gsttypefindelement.c: (free_entry):
31652         * gst/gst.c:
31653         * gst/gst.h:
31654         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31655         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31656         (gst_bin_set_index), (gst_bin_set_element_sched),
31657         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31658         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31659         (gst_bin_iterate_elements), (iterate_child_recurse),
31660         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31661         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31662         (compare_interface), (gst_bin_get_by_interface),
31663         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31664         * gst/gstbin.h:
31665         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31666         (gst_buffer_default_free), (gst_buffer_default_copy),
31667         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31668         (gst_buffer_create_sub):
31669         * gst/gstbuffer.h:
31670         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31671         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31672         (gst_caps_unref), (gst_static_caps_get),
31673         (gst_caps_remove_and_get_structure), (gst_caps_append),
31674         (gst_caps_append_structure), (gst_caps_remove_structure),
31675         (gst_caps_copy_nth), (gst_caps_set_simple),
31676         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31677         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31678         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31679         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31680         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31681         (gst_caps_structure_figure_out_union),
31682         (gst_caps_switch_structures), (gst_caps_do_simplify),
31683         (gst_caps_replace), (gst_caps_from_string),
31684         (gst_caps_copy_conditional):
31685         * gst/gstcaps.h:
31686         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31687         (_gst_clock_id_free), (gst_clock_id_unref),
31688         (gst_clock_id_compare_func), (gst_clock_id_wait),
31689         (gst_clock_id_wait_async), (gst_clock_class_init),
31690         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31691         (gst_clock_get_time), (gst_clock_set_time_adjust),
31692         (gst_clock_set_property), (gst_clock_get_property):
31693         * gst/gstclock.h:
31694         * gst/gstcompat.h:
31695         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31696         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31697         * gst/gstdata.h:
31698         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31699         (gst_element_requires_clock), (gst_element_provides_clock),
31700         (gst_element_set_clock), (gst_element_clock_wait),
31701         (gst_element_wait), (gst_element_set_time_delay),
31702         (gst_element_is_indexable), (gst_element_add_pad),
31703         (gst_element_add_ghost_pad), (gst_element_remove_pad),
31704         (pad_compare_name), (gst_element_get_static_pad),
31705         (gst_element_request_pad), (gst_element_get_request_pad),
31706         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31707         (gst_element_class_get_pad_template_list),
31708         (gst_element_class_get_pad_template), (gst_element_error_func),
31709         (gst_element_get_random_pad), (gst_element_get_event_masks),
31710         (gst_element_send_event), (gst_element_seek),
31711         (gst_element_get_query_types), (gst_element_query),
31712         (gst_element_get_formats), (gst_element_convert),
31713         (gst_element_is_locked_state), (gst_element_set_locked_state),
31714         (gst_element_sync_state_with_parent), (gst_element_change_state),
31715         (gst_element_finalize), (gst_element_yield),
31716         (gst_element_interrupt), (gst_element_set_scheduler),
31717         (gst_element_get_scheduler), (gst_element_set_loop_function):
31718         * gst/gstelement.h:
31719         * gst/gstevent.h:
31720         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31721         (gst_format_get_by_nick), (gst_format_get_details),
31722         (gst_format_iterate_definitions):
31723         * gst/gstformat.h:
31724         * gst/gstindex.c: (gst_index_gtype_resolver):
31725         * gst/gstinfo.c:
31726         * gst/gstinfo.h:
31727         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31728         (gst_mem_chunk_free):
31729         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31730         (gst_object_ref), (gst_object_unref), (gst_object_sink),
31731         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31732         (gst_object_dispatch_properties_changed),
31733         (gst_object_set_name_default), (gst_object_set_name),
31734         (gst_object_get_name), (gst_object_set_name_prefix),
31735         (gst_object_get_name_prefix), (gst_object_set_parent),
31736         (gst_object_get_parent), (gst_object_unparent),
31737         (gst_object_check_uniqueness), (gst_object_save_thyself),
31738         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31739         (gst_object_set_property), (gst_object_get_property),
31740         (gst_object_get_path_string):
31741         * gst/gstobject.h:
31742         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31743         (gst_real_pad_init), (gst_real_pad_get_property),
31744         (gst_pad_custom_new), (gst_pad_get_direction),
31745         (gst_pad_set_active), (gst_pad_is_active),
31746         (gst_pad_set_event_function), (gst_pad_is_linked),
31747         (gst_pad_link_free), (gst_pad_link_intersect),
31748         (gst_pad_link_fixate), (gst_pad_set_caps),
31749         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31750         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31751         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31752         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31753         (gst_pad_get_caps), (gst_pad_peer_get_caps),
31754         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31755         (gst_pad_realize), (gst_pad_get_allowed_caps),
31756         (gst_real_pad_dispose), (gst_real_pad_finalize),
31757         (gst_pad_collectv), (gst_pad_collect_valist),
31758         (gst_pad_template_dispose), (gst_pad_template_new),
31759         (gst_pad_get_internal_links):
31760         * gst/gstpad.h:
31761         * gst/gstpipeline.c: (gst_pipeline_dispose),
31762         (gst_pipeline_change_state):
31763         * gst/gstpipeline.h:
31764         * gst/gstplugin.c:
31765         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31766         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31767         * gst/gstpluginfeature.h:
31768         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31769         * gst/gstquery.c: (_gst_query_type_initialize),
31770         (gst_query_type_register), (gst_query_type_get_by_nick),
31771         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31772         * gst/gstquery.h:
31773         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31774         * gst/gstscheduler.c: (gst_scheduler_add_element),
31775         (gst_scheduler_factory_create):
31776         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31777         (gst_structure_free), (gst_structure_set_name),
31778         (gst_structure_id_set_value), (gst_structure_set_value),
31779         (gst_structure_set_valist), (gst_structure_remove_field),
31780         (gst_structure_remove_fields),
31781         (gst_structure_remove_fields_valist),
31782         (gst_structure_remove_all_fields), (gst_structure_foreach),
31783         (gst_structure_map_in_place),
31784         (gst_caps_structure_fixate_field_nearest_int),
31785         (gst_caps_structure_fixate_field_nearest_double):
31786         * gst/gststructure.h:
31787         * gst/gstsystemclock.c: (gst_system_clock_class_init),
31788         (gst_system_clock_init), (gst_system_clock_dispose),
31789         (gst_system_clock_async_thread),
31790         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31791         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31792         * gst/gstsystemclock.h:
31793         * gst/gsttag.c: (gst_tag_list_add_value_internal),
31794         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31795         * gst/gsttaginterface.c:
31796         * gst/gstthread.c: (gst_thread_dispose),
31797         (gst_thread_release_children_locks), (gst_thread_change_state),
31798         (gst_thread_main_loop):
31799         * gst/gsttrashstack.h:
31800         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31801         * gst/gsttypes.h:
31802         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31803         (gst_element_request_pad), (gst_element_get_pad_from_template),
31804         (gst_element_request_compatible_pad),
31805         (gst_element_get_compatible_pad_filtered),
31806         (gst_element_get_compatible_pad), (gst_element_state_get_name),
31807         (gst_element_link_pads_filtered), (gst_element_link_filtered),
31808         (gst_element_link_many), (gst_element_link),
31809         (gst_element_link_pads), (gst_element_unlink_pads),
31810         (gst_element_unlink_many), (gst_element_unlink),
31811         (gst_pad_can_link_filtered), (gst_pad_can_link),
31812         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31813         (gst_object_default_error), (gst_bin_add_many),
31814         (gst_bin_remove_many), (gst_element_populate_std_props),
31815         (gst_element_class_install_std_props), (gst_buffer_merge),
31816         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31817         (link_fold_func), (gst_pad_proxy_setcaps):
31818         * gst/gstutils.h:
31819         * gst/gstvalue.c: (gst_value_deserialize_string):
31820         * gst/parse/grammar.y:
31821         * gst/schedulers/gstbasicscheduler.c:
31822         (gst_basic_scheduler_cothreaded_chain),
31823         (gst_basic_scheduler_chain_recursive_add),
31824         (gst_basic_scheduler_pad_link):
31825         * gst/schedulers/gstoptimalscheduler.c:
31826         (get_group_schedule_function),
31827         (gst_opt_scheduler_state_transition),
31828         (gst_opt_scheduler_add_element), (element_get_reachables_func):
31829         * libs/gst/bytestream/bytestream.c:
31830         * libs/gst/dataprotocol/dataprotocol.c:
31831         (gst_dp_header_from_buffer):
31832         * po/nb.po:
31833         * po/ru.po:
31834         * tests/threadstate/threadstate2.c: (eos):
31835         * tools/gst-compprep.c: (main):
31836         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31837         (print_pad_info), (print_children_info):
31838         * tools/gst-launch.c: (idle_func), (main):
31839         * tools/gst-md5sum.c: (idle_func), (main):
31840         * tools/gst-xmlinspect.c: (print_element_info):
31841         First THREADED backport attempt, focusing on adding locks and
31842         making sure the API is threadsafe. Needs more work. More docs
31843         follow this week.
31844
31845 2005-02-24  Andy Wingo  <wingo@pobox.com>
31846
31847         * tests/bench-complexity.scm:
31848         * tests/complexity.gnuplot: New files, good for running complexity
31849         benchmarks.
31850
31851         * tests/Makefile.am:
31852         * tests/complexity.c: New test, sets up N elements, at each level
31853         teeing into M streams per element. Eeeenteresting.
31854
31855         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
31856         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
31857         running bench-mass_elements.scm.
31858
31859         * tests/bench-mass_elements.scm: New script, runs mass_elements
31860         for various numbers of identities, outputting the results to a
31861         file. Requires guile 1.6. Just for testing.
31862
31863 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
31864
31865         * gst/schedulers/fairscheduler.c:
31866           compile with debug disabled
31867
31868 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
31869
31870         * configure.ac:
31871           hunting season on 0.9 is now OPEN